@randajan/simple-app

3.0.1 • Public • Published

Simple node.js app

NPM JavaScript Style Guide

Goal is to provide supersimple start for developing and deploying full stack app in one package

Instalation

npm install -D @randajan/simple-app;

or

yarn add -D @randajan/simple-app;

Usage

import sapp from "@randajan/simple-app";

//those values are default values

sapp(
  isProd=true                           //false = start dev server; true = generate minify build and start prod server
  {
    port:3000,                          //port of server
    srcdir:"src",                       //directory of source code
    distdir:"dist",                     //directory of build
    rebuildBuffer:100,                  //delay between src changed and rebuild happend
    external:[],                        //global esbuild external libraries
    plugins:[],                         //global esbuild plugins
    loader:{},                          //global esbuild loader
    info:{
      home:`http://localhost:${port}`   //home url
    },                                  //variables accessible via import info from "@randajan/simple-app/info"
    injects:["index.html"],             //dist/frontend files where info variables will be injected between brackets {{name}}
    be:{                                //backend options
      dir:"backend",                    //backend subdirectory
      minify:isProd,                    //backend minify - true = generate minify build; if null then isProd 
      entries:["index.js"],             //backend entry files
      external:[],                      //backend esbuild external libraries
      plugins:[],                       //backend esbuild plugins
      loader:{},                        //backend esbuild loader
      info:{},                          //variables accessible only at backend via import info from "@randajan/simple-app/info"
    },
    fe:{                                //frontend options
      dir:"frontend",                   //frontend subdirectory
      minify:isProd,                    //frontend minify - true = generate minify build; if null then isProd 
      entries:["index.js"],             //frontend entry files
      external:[],                      //frontend esbuild external libraries
      plugins:[],                       //frontend esbuild plugins
      loader:{},                        //frontend esbuild loader
      info:{},                          //variables accessible only at frontend via import info from "@randajan/simple-app/info"
    }
  }
)

After run will be generated necessary file structure.

Requirements

...
    "app-root-path": "^3.0.0",
    "chalk": "^5.2.0",
    "chokidar": "^3.5.3",
    "esbuild": "^0.14.28",
    "esbuild-node-externals": "^1.7.0",
    "express": "^4.17.3",
    "fs-extra": "^10.0.0",
    "open": "^8.4.0",
    "socket.io": "^4.4.1",
    "socket.io-client": "^4.4.1"
...

Backend

Prepared servers:

  • @randajan/simple-app/be/express
  • @randajan/simple-app/be/koa

Or you can implement your own

  • @randajan/simple-app/be

Happy hacking

License

MIT © randajan

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 3.0.1
    10
    • latest

Version History

Package Sidebar

Install

npm i @randajan/simple-app

Weekly Downloads

9

Version

3.0.1

License

MIT

Unpacked Size

93 kB

Total Files

15

Last publish

Collaborators

  • randajan