npm-client-modules

NPM client modules let you move the npm module to the public folder (the files that will send to clients) so be accessible from the index.html file

Usage no npm install needed!

<script type="module">
  import npmClientModules from 'https://cdn.skypack.dev/npm-client-modules';
</script>

README

NPM CLIENT MODULES ( $ npm-cm )

Description

NPM Client Modules is a tool to move the client modules like bootstrap or angular ... to the public folder.

We have the following structure to a project,

    root

    o- client
       |
       o- index.html
       |
       o- scripts
       |
       o- styles

    o- server
       |
       o- module
       |
       o-controller

    o- node_modules
       |
       o- bootstrap
       |
       o- express

The question is:

How you can have access to the bootstrap folder ?

You cannot

***Using npm-cm (npm client module) command will create a new folder into root/client//bootstrap ***, so you will able to have access from index.html file. npm-cm will transfer only the modules that you want.

How to use it

First of all you have to install it.

Step 1 - Install it

If you want to install the module globally run:

$ npm install npm-client-modules -g

or you can just install it as dev dependency locally in your project so your partners get it.

$ npm install npm-client-modules --save-dev

also if you run in locally you with need to register a script into package.json file

"scripts": {
    ...,
    "npm-cm": "node ./node_modules/npm-client-modules/index.js"
  }

Step 2 - Configuration

You have to create a json file with name package-client.json

{
  "options": {
    "destination_path": "./public/lib", // WHERE DO YOU WANT TO MOVE THE FOLDERS
    "source_path": "./node_modules" // LOCATION OF THE NODE MODULES
  },
  "client-dependencies":[
    "bootstrap" // WHICH MODULES ARE FOR CLIENT, ONLY THE NAME
  ]
}

Step 3 - Run it

Now you have to run the command $ npm-cm or if you run it locally $ npm run npm-cm

Examples

Look at the test folder