node.jsnpmecmascript-6webpacksinopia

Using require() and import for private npm modules failing


I was trying import my private npm module hosted in sinopia. I can see that my module is available in sinopia folder structure.

Able to install module via "npm install --save". I can see it picks it from local registry.

But when I to use it anywhere I am getting "Error: Cannot find module ''

var module = require('some-module'); 
(tried both)
import module from 'some-module';

 ERROR in ./app/index.js
Module not found: Error: Cannot resolve 'file' or 'directory' ../node_modules/test-module in c:\yotest\app
 @ ./app/index.js 39:34-77

P.S: I did try installing it as a global node module and it again failed.

EDIT:

This is my package.json of the private module which is a clone from the github project.

    {
  "_args": [
    [
      "react-worker-dom",
      ""
    ]
  ],
  "_from": "react-worker-dom@latest",
  "_id": "react-worker-dom@0.0.3",
  "_inCache": true,
  "_installable": true,
  "_location": "/react-worker-dom",
  "_nodeVersion": "5.7.1",
  "_npmUser": {},
  "_npmVersion": "3.6.0",
  "_phantomChildren": {},
  "_requested": {
    "name": "react-worker-dom",
    "raw": "react-worker-dom",
    "rawSpec": "",
    "scope": null,
    "spec": "latest",
    "type": "tag"
  },
  "_requiredBy": [
    "#USER"
  ],
  "_shasum": "01b520589b7fd9d5533f911108ac6e1f774dab79",
  "_shrinkwrap": null,
  "_spec": "react-worker-dom",
  "_where": "",
  "author": {
    "email": "******************",
    "name": "********************"
  },
  "bugs": {
    "url": "https://github.com/web-perf/react-worker-dom/issues"
  },
  "dependencies": {
    "invariant": "^2.2.0",
    "react": "^0.14.3"
  },
  "description": "ReactJS renderer using Web Workers",
  "devDependencies": {
    "babel-core": "^6.2.1",
    "babel-loader": "^6.2.0",
    "babel-preset-es2015": "^6.1.18",
    "babel-preset-react": "^6.1.18",
    "babel-preset-stage-0": "^6.1.18",
    "browser-perf": "^1.4.3",
    "react-dom": "^0.14.3",
    "webpack": "^1.12.8",
    "webpack-dev-server": "^1.14.1"
  },
  "directories": {
    "test": "test"
  },
  "dist": {
    "shasum": "01b520589b7fd9d5533f911108ac6e1f774dab79",
    "tarball": "http://localhost:4873/react-worker-dom/-/react-worker-dom-0.0.3.tgz"
  },
  "gitHead": "8c8fb15e793151e0169aac82537f4efe628d9986",
  "homepage": "http://web-perf.github.io/react-worker-dom",
  "license": "BSD-3-Clause",
  "main": "dist/worker.js",
  "name": "react-worker-dom",
  "optionalDependencies": {},
  "publishConfig": {
    "registry": "http://localhost:4873/"
  },
  "readme": "ERROR: No README data found!",
  "readmeFilename": "README.md",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/web-perf/react-worker-dom.git"
  },
  "scripts": {
    "build-demo": "webpack --config test/webpack.config.js",
    "demo": "webpack-dev-server --config test/webpack.config.js",
    "perf": "node test/perf.js"
  },
  "version": "0.0.3"
}

Webpack config of main project

module.exports = {
  entry: './app/index.js',
  output: {
    filename: 'public/bundle.js'
  },
  module: {
    loaders: [
      {
        test: /\.jsx?$/,
        exclude: /(node_modules|bower_components)/,
        loader: 'babel'
      }
    ]
  }
}

Package.json file of the main project

{
  "name": "yotest",
  "version": "0.0.1",
  "main": "index.js",
  "scripts": {
    "start": "node bin/dev-server"
  },
  "keywords": [
    "webpack",
    "redux",
    "react",
    "react-router",
    "kyper"
  ],
  "license": "MIT",
  "dependencies": {
    "babel-core": "^5.8.22",
    "babel-loader": "^5.3.2",
    "express": "^4.13.3",
    "extract-text-webpack-plugin": "^0.8.2",
    "history": "^1.9.1",
    "kyper-matter": "^0.1.2",
    "lodash": "^3.10.1",
    "proxy-middleware": "^0.13.1",
    "react": "^0.14.0-rc1",
    "react-dom": "^0.14.0-rc1",
    "react-hot-loader": "^1.2.8",
    "react-redux": "^2.1.2",
    "react-router": "^1.0.0-rc1",
    "react-worker-dom": "0.0.3",
    "redux": "^3.0.0",
    "redux-router": "^1.0.0-beta3",
    "redux-thunk": "^1.0.0"
  },
  "devDependencies": {
    "css-loader": "^0.16.0",
    "eslint": "^1.4.1",
    "eslint-config-airbnb": "0.0.8",
    "eslint-plugin-react": "^3.2.3",
    "node-sass": "^3.3.2",
    "redux-devtools": "^2.1.2",
    "sass-loader": "^2.0.1",
    "style-loader": "^0.12.3",
    "webpack": "^1.12.2",
    "webpack-dev-server": "^1.12.0"
  }
}

Solution

  • I have reconfigured my NPM private registry and there was a port mismatch which was causing the problem.