@randajan/simple-app v6.2.7
Simple node.js app
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
7 months ago
8 months ago
8 months ago
8 months ago
7 months ago
7 months ago
7 months ago
6 months ago
6 months ago
7 months ago
5 months ago
6 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
6 months ago
7 months ago
7 months ago
7 months ago
8 months ago
8 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago