6.2.7 • Published 5 months ago

@randajan/simple-app v6.2.7

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

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({
  isBuild:false,            //false = start dev server; true = generate minify build
  distdir:"dist",           //directory of build
  srcdir:"src",             //directory of source code
  arcdir:"arc",             //directory for shared code by frontend and backend
  staticdir:"static",       //static src folder name for files/folders structure that will be copied as distdir 
  rebuildBuffer:100,        //delay between src changed and rebuild happend
  plugins:[],               //global esbuild plugins
  loader:{},                //global esbuild loader
  info:{},                  //variables accessible via import info from "@randajan/simple-app/info"           
  env:{                     //optional config for maitained env file
    name:undefined,         //env file that will be used (when isBuild=true this is ignored)
    dir:"env",              //directory for all used env files
  },
  static:{
    dir:"static",
    injects:[],             //backend files where info variables will be injected between brackets {{name}}
  },
  be:{                      //backend options
    dir:"backend",          //backend subdirectory
    format:"esm",           //backend format
    minify:isBuild,         //backend minify - true = generate minify build; if null then isProd 
    entries:["index.js"],   //backend entry files
    external:undefined,     //backend if not provided esbuild will keep all node_modules external
    plugins:[],             //backend esbuild plugins
    loader:{},              //backend esbuild loader
    io:{},                  //backend default io config
    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
    plugins:[],             //frontend esbuild plugins
    loader:{},              //frontend esbuild loader
    io:{},                  //frontend default io config
    injects:["index.html"], //frontend files where info variables will be injected between brackets {{name}}
    info:{},                //variables accessible only at frontend via import info from "@randajan/simple-app/info"
  }
})

After run will be generated necessary file structure.

Requirements

...
    "@randajan/std-io": "^1.0.2",
    "chalk": "^5.3.0",
    "chokidar": "^3.6.0",
    "detect-port": "^2.1.0",
    "esbuild": "^0.25.1",
    "esbuild-node-externals": "^1.18.0",
    "fs-extra": "^11.2.0",
    "open": "^10.1.0",
    "socket.io": "^4.7.5",
    "socket.io-client": "^4.7.5"
...

Backend

Prepared servers:

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

Or you can implement your own

  • @randajan/simple-app/be/server

Or you can use it even without http server at all

  • @randajan/simple-app/be

Env

Happy hacking

License

MIT © randajan

5.3.0

7 months ago

5.1.2

8 months ago

5.1.1

8 months ago

5.1.0

8 months ago

6.1.0

7 months ago

6.1.2

7 months ago

6.1.1

7 months ago

6.2.5

6 months ago

6.2.4

6 months ago

6.0.6

7 months ago

6.2.7

5 months ago

6.2.6

6 months ago

4.0.1

8 months ago

4.0.0

8 months ago

4.0.2

8 months ago

5.2.1

8 months ago

5.2.0

8 months ago

5.0.0

8 months ago

6.0.1

7 months ago

6.0.0

7 months ago

6.2.1

7 months ago

6.0.3

7 months ago

6.2.0

7 months ago

6.0.2

7 months ago

6.2.3

6 months ago

6.0.5

7 months ago

6.2.2

7 months ago

6.0.4

7 months ago

3.1.7

8 months ago

3.1.6

8 months ago

3.1.5

1 year ago

3.1.3

1 year ago

3.1.4

1 year ago

3.1.2

1 year ago

3.1.1

1 year ago

3.1.0

1 year ago

3.0.1

2 years ago

3.0.0

2 years ago

2.1.6

2 years ago

2.1.7

2 years ago

2.1.5

2 years ago

2.1.4

2 years ago

2.1.3

2 years ago

2.1.1-0

2 years ago

2.1.0-0

2 years ago

2.1.3-0

2 years ago

2.1.2-0

2 years ago

2.0.7

2 years ago

2.0.6

2 years ago

2.0.9

2 years ago

2.0.8

2 years ago

2.0.3

2 years ago

2.0.2

2 years ago

2.0.5

2 years ago

2.0.4

2 years ago

2.0.1

2 years ago

2.0.0

2 years ago

1.7.2

3 years ago

1.6.4

3 years ago

1.7.1

3 years ago

1.6.2

3 years ago

1.7.0

3 years ago

1.5.3

3 years ago

1.6.1

3 years ago

1.6.0

3 years ago

1.5.2

4 years ago

1.5.1

4 years ago

1.5.0

4 years ago

1.4.2

4 years ago

1.4.1

4 years ago

1.4.0

4 years ago

1.4.0-0

4 years ago

1.3.0

4 years ago

1.2.1-0

4 years ago

1.2.0-0

4 years ago

1.1.7-0

4 years ago

1.1.6-0

4 years ago

1.1.5-0

4 years ago

1.1.4-0

4 years ago

1.1.3

4 years ago

1.1.2

4 years ago

1.1.1

4 years ago

1.1.0

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago