A lightweight CLI to recursively include all file from a directory in a single source file.
- install package
~ npm i @randomsts/code-generator
# or~ yarn add @randomsts/code-generator importCodeGeneratorfrom'@randomsts/code-generator';constcodeGenerator=newCodeGenerator();codeGenerator.writeToFile();- Add
randoms.config.jsonfile in the root of the project
{
"target": "./src",
"include": "^(?:[a-zA-Z0-9]+|\\[(?:\\.{3})?[a-zA-Z0-9]+\\])\\.js$",
"outputDir": "./dist",
"outputFile": "output.js"
}- install package as a dev dependency
~ npm i @randomsts/code-generator -D
# or~ yarn add @randomsts/code-generator -D- Add
randoms.config.jsonfile in the root of the project
{
"target": "./src",
"include": "^(?:[a-zA-Z0-9]+|\\[(?:\\.{3})?[a-zA-Z0-9]+\\])\\.js$",
"outputDir": "./dist",
"outputFile": "output.js"
}- Add CLI in scripts
"scripts": {
"dev": "randoms-generator"
},- test
~ npm run dev
# or~ yarn dev{
"target": "./src",
"include": "^(?:[a-zA-Z0-9]+|\\[(?:\\.{3})?[a-zA-Z0-9]+\\])\\.js$",
"outputDir": "./dist",
"outputFile": "output.js",
"preservedFiles": {
"./_index.js": ["getProps"],
"./server/_server.js": ["getServerSideProps"]
}
}randoms.config.json
| Key | DESCRIPTION |
|---|---|
| target | Target folder from where to include files E.g./src |
| include | determines which files to include in the target folder. E.gRegex Exp. |
| outputDir | Assign folder where to create output file. E.g./dist |
| outputFile | output file name. E.g./output.js |
| preservedFiles | Optional field! |
Preserved Files:-
| Key | Expected named import |
|---|---|
file relative pathE.g./_index.js | arrays of expected import name E.g["getProps"] |
Example:-
/// file: randoms.config.json"preservedFiles": {"./_index.js": ["getProps"]}/// file: output.js // outut fileconst_=require("./index.js");module.exports={getProps: _.getProps,}// output.jsconst_=require("./index.js");const__=require("./products/apis/mine.js");const___=require("./products/index.js");const____=require("./products/products.js");const_____=require("./products/store/index.js");const______=require("./server/_server.js");const_______=require("./server.js");const________=require("./tester/index.js");const_________=require("./[...index].js");const__________=require("./_index.js");module.exports={default: [_,__,___,____,_____,_______,________,_________],/* preserved exports */getServerSideProps: ______.getServerSideProps,getProps: __________.getProps};This repository is maintained by Zain-Ul-Din
Show some ❤️ by starring this awesome repository!