{"_id":"@awesome-nodes/build-system","_rev":"1-69ee40eba580cd547de32cf22d6ba944","name":"@awesome-nodes/build-system","dist-tags":{"latest":"0.3.2"},"versions":{"0.3.2":{"name":"@awesome-nodes/build-system","version":"0.3.2","description":"Integrated Zero Configuration Build System for Awesome Nodes Apps and Framework Components","main":"bs.js","bin":{"bs":"bin/bs.js"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","prepack":"tsc","build":"tsc","build:watch":"npm run build -- --watch","clean":"rimraf bin lib tsconfig.js tsconfig.js.map","eslint":"eslint --report-unused-disable-directives \"src/**/*.{ts,tsx}\"","eslint:fix":"npm run eslint -- --fix","prestart":"npm run build","start":"node bin/bs demo -p -v"},"repository":{"type":"git","url":"git+ssh://git@gitlab.com/awesome-nodes/build-system.git"},"keywords":["zero","configuration","cli","integrated","build","system","awesome","nodes","app","application","framework","bundle","bundler"],"author":{"name":"Christian Kusmanow","email":"christian.kusmanow@teslasoft.de"},"contributors":[{"name":"Markus Faatz","email":"markus.faatz@gmail.com"}],"license":"MIT","bugs":{"url":"https://gitlab.com/awesome-nodes/build-system/issues"},"homepage":"https://gitlab.com/awesome-nodes/build-system#readme","globalDependencies":{"npm-cache":""},"devDependencies":{"@types/babel__core":"^7.1.16","@types/command-line-args":"^5.2.0","@types/command-line-usage":"^5.0.2","@types/glob":"^7.2.0","@types/node":"^16.11.11","@types/node-cleanup":"^2.1.2","@types/rimraf":"^3.0.2","@types/shelljs":"^0.8.9","@types/webpack":"^5.28.0","@typescript-eslint/eslint-plugin":"^5.7.0","@typescript-eslint/eslint-plugin-tslint":"^5.7.0","@typescript-eslint/parser":"^5.7.0","eslint":"^8.5.0","eslint-plugin-eslint-plugin":"^4.1.0","eslint-plugin-import":"^2.25.3","eslint-plugin-unicorn":"^39.0.0","source-map-support":"^0.5.21","tslint":"^6.1.3","tslint-clean-code":"^0.2.10","tslint-to-eslint-config":"^2.10.1"},"dependencies":{"@babel/cli":">=7.16.0","@babel/core":">=7.16.0","@babel/plugin-proposal-class-properties":"^7.16.0","@babel/plugin-proposal-decorators":"^7.16.4","@babel/plugin-proposal-numeric-separator":"^7.16.0","@babel/plugin-proposal-object-rest-spread":"^7.16.0","@babel/plugin-proposal-private-methods":"^7.16.0","@babel/plugin-proposal-private-property-in-object":"^7.16.0","@babel/plugin-syntax-bigint":"^7.8.3","@babel/plugin-transform-runtime":"^7.16.4","@babel/preset-env":"7.16.4","@babel/preset-typescript":"^7.16.0","@types/hjson":"^2.4.3","@zerollup/ts-transform-paths":"^1.7.18","babel-loader":"^8.2.3","babel-plugin-module-resolver":"^4.1.0","chalk":"^4.1.2","command-line-args":"^5.2.0","command-line-usage":"^6.1.1","commander":"^8.3.0","concurrently":"^6.4.0","core-js":"^3.19.2","cross-env":"^7.0.3","debug-mode":"^2.0.2","glob":"^7.2.0","hjson":"^3.2.2","node-cleanup":"^2.1.2","remove-comments-loader":"^0.1.2","rimraf":"^3.0.2","shelljs":"^0.8.4","simplytyped":"^3.3.0","ts-node":"^10.4.0","tsconfig-paths":"^3.12.0","tslib":"^2.3.1","ttypescript":"^1.5.13","type-coverage":"^2.19.0","type-fest":"^2.8.0","typescript":"^4.5.2","webpack":"^5.64.4","webpack-cli":"^4.9.1","webpack-messages":"^2.0.4","webpack-node-externals":"^3.0.0"},"peerDependencies":{"@babel/cli":">=7.16.0","@babel/core":">=7.16.0"},"gitHead":"da4a493850a2fcbf1ccd7a7f779dc726b33633fc","_id":"@awesome-nodes/build-system@0.3.2","_nodeVersion":"17.2.0","_npmVersion":"8.1.4","dist":{"integrity":"sha512-kB832dslVV/kAmp8pTWkuorYUX7Ny1TNGUD9BefWDz6Ok0BLrcQJZQvdZh9VbdqDSmVBDWpSGhjZ3loX2wU41Q==","shasum":"89c005aaf26b98b34dfe5a50578d5ac97338e7a3","tarball":"https://registry.npmjs.org/@awesome-nodes/build-system/-/build-system-0.3.2.tgz","fileCount":22,"unpackedSize":57891,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh1tJ5CRA9TVsSAnZWagAAR1IP/23onqVvFzOTDRZbJKYE\n3RIrh68zqwtxdMfIA2LzC/mYv2+uq34/jKWZGAUfcLYaCkqiGFJVqBBQpf9a\n6AyzhQNQ6Zm1BBy3vKcuwEnLsgm5SnZrlAk2ZyQwXvq3ulruADhNRtK8urWq\n5jWSYVLG24go/tqLv2oe4vv1IgEHAKCXrOf/2BP9V9eCLPwKpRoMCgKNFLTw\n846DEk3kTfhq+/26jJHUsy/vP9raONVBMkL2xquD48i0fSHfyxfMCaw6yd4v\n6Tn29CDl7LvjxN9dlB2KyheYcdW88hnfAnV75RAp6st2kip8ald+GUXwAw4B\n7POfh7tE7lbm88Luq97uO/r52rzufvkzvyzE5AVSAGxgk9Q9MJT8YNt0YLZo\ntzmCk/t1hBCc1zrtJL9Vuf82Qzgb0BKLhYfvGKFjklyV3G8tuDB4OfNgphpd\nZtijw3VcDZaxNF6IcZPnmNB7XnCzsiLswbvkR51hS8wcRpgh+YCdrBoDheb3\nn6QoKdHd88Ij2mA2c+ViPYBFUR59fx++jyVJRQ5SPNFLAYci3XR8KFC7aK60\n/b85aSvxm2YyvQ9toJS0xAkb1ojNv2AImX8ceZMctJgwIG2Oo+p/MsRoOrxP\n51X/KokZkcR/rP7px0ftwCgx1eCQ+U66Wt5eA0a/+1naLtiFh/tw72CsIlk6\n+eyW\r\n=X5nm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGBPuYZleAFxax8vZCMLnr5BM32aFWUGS829tp7uxLySAiB2Lps8BKLYQ8Df42Tv17fGNx7K2i+ogS3bcPRlRxdqYA=="}]},"_npmUser":{"name":"christian.kusmanow","email":"christian.kusmanow@teslasoft.de"},"directories":{},"maintainers":[{"name":"christian.kusmanow","email":"christian.kusmanow@teslasoft.de"},{"name":"markusfaatz","email":"markus.faatz@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/build-system_0.3.2_1641468537400_0.9702872446896038"},"_hasShrinkwrap":false}},"time":{"created":"2022-01-06T11:28:57.346Z","0.3.2":"2022-01-06T11:28:57.543Z","modified":"2022-04-04T16:51:02.970Z"},"maintainers":[{"name":"christian.kusmanow","email":"christian.kusmanow@teslasoft.de"},{"name":"markusfaatz","email":"markus.faatz@gmail.com"}],"description":"Integrated Zero Configuration Build System for Awesome Nodes Apps and Framework Components","homepage":"https://gitlab.com/awesome-nodes/build-system#readme","keywords":["zero","configuration","cli","integrated","build","system","awesome","nodes","app","application","framework","bundle","bundler"],"repository":{"type":"git","url":"git+ssh://git@gitlab.com/awesome-nodes/build-system.git"},"contributors":[{"name":"Markus Faatz","email":"markus.faatz@gmail.com"}],"author":{"name":"Christian Kusmanow","email":"christian.kusmanow@teslasoft.de"},"bugs":{"url":"https://gitlab.com/awesome-nodes/build-system/issues"},"license":"MIT","readme":"# Awesome Nodes Zero Configuration Build System\n> Integrated Zero Configuration Build System for Awesome Nodes Apps and Framework Components\n\n## Project Goals\n\n### Zero Configuration Build\n\nThe main target of Build System is to provide out of the box building of TypeScript libraries as:\n\n* ES5 for NodeJS applications\n* ES6 for tree shaking builds\n* and as UMD bundle for web applications\n\n### Command-Let Development\n\nThe secondary target of Build System is to provide out of the box command-let development with exit code handling.\nCommand-let development provides a neat way for writing business logic in complex continuous integration scenarios.\n\n#### Exit Code Handling\n\nExit code handling ensures intercommunication of execution status between command-lets and execution host.\n> There is no chance to exit not gracefully when using Command-Let`s written with Build System.\n\nSee `src/lib/demo.cmdlet.ts` and `src/lib/demo.ts` for a quick demonstration.\n\n## Installation\n\nBuildSystem can be installed globally\n\n```sh\n$ npm run start\n```\n\nor\n\n```sh\n$ npm install -g @awesome-nodes/build-system\n```\n\n## Usage\n\n## CLI\n\n### Run Builds-System locally\n\n```sh\n$ node bin/bs -h\n```\n\n### Run Builds-System *globally installed* or as *project dependency*\n\n```sh\n$ bs -h\n```\n\n### Help Output\n\n```text\nOptions:\n  -V, --version                         output the version number\n  -tc, --team-city                      Enable TeamCity compatible logging (default: false)\n  -v, --verbose                         Verbose output (default: false)\n  -h, --help                            display help for command\n\nCommands:\n  bundle-babel [options] [params...]\n  bundle-webpack [options] [params...]\n  demo [options] [params...]\n  npm-install [options] [params...]\n  help [command]                        display help for command\n```\n### Setup\n1. Install Build System within your node library project as development dependency\n   ```bash\n   $ npm install --save-dev @awesome-nodes/build-system\n   ```\n2. Add build scripts to your node package configuration\n   ```json\n   {\n     \"scripts\": {\n       \"build\": \"concurrently \\\"npm run build:es\\\" \\\"npm run build:umd\\\"\",\n       \"build:es\": \"bs bundle-babel -a\",\n       \"build:umd\": \"bs bundle-webpack\",\n       \"build:watch\": \"cross-env NODE_ENV=development concurrently \\\"npm run build:es -- -w\\\" \\\"npm run build:umd -- -w\\\"\"\n      }\n   }\n   ```\n\n# Build System Node Module\n\n## Directory Layout\n\n* `bin` - Build System command line binary  \n* `lib` - Build System library\n* `src` - Build System sources\n\n## Node Module Build\n\n### Usage of [NPM] instead of [Yarn]\nZero configuration requires to be non dependent on any dependency for initial build host provisioning.\nSo we relay on the `npm` node package manager for any kind of node module specific operations.\n\n[NPM]: <https://www.npmjs.com/>\n[Yarn]: <https://yarnpkg.com>\n","readmeFilename":"README.md"}