Skip to content

randajan/simple-lib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simple node.js lib

NPM JavaScript Style Guide

Goal is to provide supersimple start for developing custom js library.

Instalation

npm install -D @randajan/simple-lib;

or

yarn add -D @randajan/simple-lib;

Usage

import slib from "@randajan/simple-lib";
import fs from "fs-extra"; // optional

//those values are default values

slib(
    isBuild=true,                       //true = generate build; false = start dev server;
    {
        port:3000,                      //port of dev server
        mode:"web",                     //"web"=frontend lib, "node"=backend lib
        rebuildBuffer:100,              //delay between src changed and rebuild happens
        minify:false,                   //global minify - true = generate minify build
        external:[],                    //global esbuild external libraries
        plugins:[],                     //global esbuild plugins
        loader:{},                      //global esbuild loader
        info:{},                        //global package info
        jsx:{                           //global jsx config
            transform:undefined,        //global es-build jsx
            dev:undefined,              //global es-build jsxDev
            factory:undefined,          //global es-build jsxFactory
            fragment:jsx.factory,       //global es-build jsxFragment; if null then jsx.factory will be set
            importSource:undefined      //global es-build jsxImportSource
        },
        lib:{
            dir:"",                     //lib root directory
            srcdir:"src",               //lib source code directory
            distdir:"dist",             //lib build directory
            minify:false,               //lib minify - true = generate minify build
            entries:["index.js"],       //lib entries files
            external:[],                //lib esbuild external libraries
            plugins:[],                 //lib esbuild plugins
            loader:{},                  //lib exbuild loader
            info:{},                    //lib package info
            jsx:{                       //lib jsx config
                transform:undefined,    //lib es-build jsx
                dev:undefined,          //lib es-build jsxDev
                factory:undefined,      //lib es-build jsxFactory
                fragment:jsx.factory,   //lib es-build jsxFragment; if null then jsx.factory will be set
                importSource:undefined  //lib es-build jsxImportSource
            },
        },                                        
        demo:{                          
            dir:"demo",                 //demo root directory
            srcdir:"src",               //demo source code directory
            distdir:"dist",             //demo build directory
            minify:false,               //demo minify - true = generate minify build
            entries:["index.js"],       //demo entries files
            external:[],                //demo esbuild external libraries
            plugins:[],                 //demo esbuild plugins
            loader:{},                  //demo esbuild loader
            info:{},                    //demo package info
            jsx:{                       //demo jsx config
                transform:undefined,    //demo es-build jsx
                dev:undefined,          //demo es-build jsxDev
                factory:undefined,      //demo es-build jsxFactory
                fragment:jsx.factory,   //demo es-build jsxFragment; if null then jsx.factory will be set
                importSource:undefined  //demo es-build jsxImportSource
            },
        }
    }
)

Requirements

...
    "app-root-path": "^3.1.0",
    "chalk": "^5.2.0",
    "chokidar": "^3.6.0",
    "esbuild": "0.16.17",
    "esbuild-node-externals": "^1.13.0",
    "fs-extra": "^11.2.0",
    "live-server": "^1.2.2"
...

Happy hacking

License

MIT © randajan

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published