aseemk / requireDir

Node.js helper to require() directories.
MIT License
484 stars 59 forks source link

Invalid Readme #40

Closed machineghost closed 8 years ago

machineghost commented 8 years ago

When I try to use your library (installed via NPM) with Webpack I get:

WARNING in ./~/require-dir/package.json Module parse failed: /home/me/project/node_modules/require-dir/package.json Unexpected token (2:9) You may need an appropriate loader to handle this file type. SyntaxError: Unexpected token (2:9)

(presumably because of the processing instructions).

aseemk commented 8 years ago

Weird! The package.json is valid/well-formed JSON.

Line 2 column 9 seems to refer to the i in "description".

Can you paste the package.json you see at that path?

/home/me/project/node_modules/require-dir/package.json

machineghost commented 8 years ago

Here's the first few lines of my node_modules/require-dir/README.md:

[![Build Status](https://travis-ci.org/aseemk/requireDir.svg?branch=master)](https://travis-ci.org/aseemk/requireDir)
[![npm version](https://badge.fury.io/js/require-dir.svg)](http://badge.fury.io/js/require-dir)

# requireDir()

Node helper to `require()` directories. The directory's files are examined,
and each one that can be `require()`'d is `require()`'d and returned as part
of a hash from that file's basename to its exported contents.
aseemk commented 8 years ago

What about your node_modules/require-dir/package.json?

machineghost commented 8 years ago

Here you go:

{
  "_args": [
    [
      {
        "raw": "require-dir@^0.3.0",
        "scope": null,
        "escapedName": "require-dir",
        "name": "require-dir",
        "rawSpec": "^0.3.0",
        "spec": ">=0.3.0 <0.4.0",
        "type": "range"
      },
      "/home/me/project/darwin/web/client"
    ]
  ],
  "_from": "require-dir@>=0.3.0 <0.4.0",
  "_id": "require-dir@0.3.0",
  "_inCache": true,
  "_installable": true,
  "_location": "/require-dir",
  "_npmUser": {
    "name": "aseemk",
    "email": "aseem.kishore@gmail.com"
  },
  "_npmVersion": "1.4.28",
  "_phantomChildren": {},
  "_requested": {
    "raw": "require-dir@^0.3.0",
    "scope": null,
    "escapedName": "require-dir",
    "name": "require-dir",
    "rawSpec": "^0.3.0",
    "spec": ">=0.3.0 <0.4.0",
    "type": "range"
  },
  "_requiredBy": [
    "/"
  ],
  "_resolved": "https://registry.npmjs.org/require-dir/-/require-dir-0.3.0.tgz",
  "_shasum": "89f074a85638b07c20a4fb94c93b5db635a64781",
  "_shrinkwrap": null,
  "_spec": "require-dir@^0.3.0",
  "_where": "/home/jeremy/WebstormProjects/Legoly/darwin/web/client",
  "author": {
    "name": "Aseem Kishore",
    "email": "aseem.kishore@gmail.com"
  },
  "bugs": {
    "url": "https://github.com/aseemk/requireDir/issues"
  },
  "dependencies": {},
  "description": "Helper to require() directories.",
  "devDependencies": {
    "coffee-script": "~1.3.3",
    "mkdirp": "^0.5.0"
  },
  "directories": {},
  "dist": {
    "shasum": "89f074a85638b07c20a4fb94c93b5db635a64781",
    "tarball": "https://registry.npmjs.org/require-dir/-/require-dir-0.3.0.tgz"
  },
  "engines": {
    "node": "*"
  },
  "gitHead": "824b9f101c1469f92c342e749c490e3640c85bc3",
  "homepage": "https://github.com/aseemk/requireDir",
  "license": "MIT",
  "maintainers": [
    {
      "name": "aseemk",
      "email": "aseem.kishore@gmail.com"
    }
  ],
  "name": "require-dir",
  "optionalDependencies": {},
  "readme": "ERROR: No README data found!",
  "repository": {
    "type": "git",
    "url": "git://github.com/aseemk/requireDir.git"
  },
  "scripts": {
    "test": "node test"
  },
  "version": "0.3.0"
}
aseemk commented 8 years ago

Weird, I don't know. That's also valid JSON, and line 2 also seems fine. Consider asking this question to the Webpack group?

machineghost commented 8 years ago

I just realized I only pasted one of the three warnings; sorry about that (you were probably wondering why I included the first few lines of the README ...)

WARNING in ./~/require-dir/LICENSE
Module parse failed: /home/me/project/web/client/node_modules/require-dir/LICENSE Unexpected token (1:4)
You may need an appropriate loader to handle this file type.
SyntaxError: Unexpected token (1:4)
    at Parser.pp$4.raise (/home/me/project/web/client/node_modules/webpack/node_modules/acorn/dist/acorn.js:2221:15)
    at Parser.pp.unexpected (/home/me/project/web/client/node_modules/webpack/node_modules/acorn/dist/acorn.js:603:10)
    at Parser.pp.semicolon (/home/me/project/web/client/node_modules/webpack/node_modules/acorn/dist/acorn.js:581:61)
    at Parser.pp$1.parseExpressionStatement (/home/me/project/web/client/node_modules/webpack/node_modules/acorn/dist/acorn.js:966:10)
    at Parser.pp$1.parseStatement (/home/me/project/web/client/node_modules/webpack/node_modules/acorn/dist/acorn.js:730:24)
    at Parser.pp$1.parseTopLevel (/home/me/project/web/client/node_modules/webpack/node_modules/acorn/dist/acorn.js:638:25)
    at Parser.parse (/home/me/project/web/client/node_modules/webpack/node_modules/acorn/dist/acorn.js:516:17)
    at Object.parse (/home/me/project/web/client/node_modules/webpack/node_modules/acorn/dist/acorn.js:3098:39)
    at Parser.parse (/home/me/project/web/client/node_modules/webpack/lib/Parser.js:902:15)
    at DependenciesBlock.<anonymous> (/home/me/project/web/client/node_modules/webpack/lib/NormalModule.js:104:16)
 @ ./~/require-dir ^\.\/.*$

WARNING in ./~/require-dir/README.md
Module parse failed: /home/me/project/web/client/node_modules/require-dir/README.md Unexpected token (1:9)
You may need an appropriate loader to handle this file type.
SyntaxError: Unexpected token (1:9)
    at Parser.pp$4.raise (/home/me/project/web/client/node_modules/webpack/node_modules/acorn/dist/acorn.js:2221:15)
    at Parser.pp.unexpected (/home/me/project/web/client/node_modules/webpack/node_modules/acorn/dist/acorn.js:603:10)
    at Parser.pp.expect (/home/me/project/web/client/node_modules/webpack/node_modules/acorn/dist/acorn.js:597:28)
    at Parser.pp$3.parseExprList (/home/me/project/web/client/node_modules/webpack/node_modules/acorn/dist/acorn.js:2152:16)
    at Parser.pp$3.parseExprAtom (/home/me/project/web/client/node_modules/webpack/node_modules/acorn/dist/acorn.js:1801:28)
    at Parser.pp$3.parseExprSubscripts (/home/me/project/web/client/node_modules/webpack/node_modules/acorn/dist/acorn.js:1715:21)
    at Parser.pp$3.parseMaybeUnary (/home/me/project/web/client/node_modules/webpack/node_modules/acorn/dist/acorn.js:1692:19)
    at Parser.pp$3.parseMaybeUnary (/home/me/project/web/client/node_modules/webpack/node_modules/acorn/dist/acorn.js:1683:28)
    at Parser.pp$3.parseExprOps (/home/me/project/web/client/node_modules/webpack/node_modules/acorn/dist/acorn.js:1637:21)
    at Parser.pp$3.parseMaybeConditional (/home/me/project/web/client/node_modules/webpack/node_modules/acorn/dist/acorn.js:1620:21)
    at Parser.pp$3.parseMaybeAssign (/home/me/project/web/client/node_modules/webpack/node_modules/acorn/dist/acorn.js:1597:21)
 @ ./~/require-dir ^\.\/.*$

It was because of that last warning, and the processing instructions in the README, that I thought this was a library issue. But if you don't think so I'll happily close the ticket.

aseemk commented 8 years ago

It looks like Webpack is trying to interpret the README and LICENSE as JavaScript files, which is what's behind the issues. That sounds like an issue with your Webpack config. So yep, try reaching out to the Webpack community to debug this. Good luck!

aseemk commented 8 years ago

And definitely feel free to re-open this if I'm wrong and they tell you it's an issue here. =)

machineghost commented 8 years ago

K, thanks for the help.