{"_id":"@2forweb/simple-build","_rev":"8-8594cc602be4cf6e0e5acc544f8644ef","name":"@2forweb/simple-build","dist-tags":{"latest":"1.0.7"},"versions":{"1.0.0":{"name":"@2forweb/simple-build","version":"1.0.0","keywords":["build","esbuild","system","simple"],"author":{"name":"Matias José"},"license":"MIT","_id":"@2forweb/simple-build@1.0.0","maintainers":[{"name":"shadowc","email":"info@matiasjose.com"}],"homepage":"https://github.com/2forWeb/simple-build#readme","bugs":{"url":"https://github.com/2forWeb/simple-build/issues"},"dist":{"shasum":"b5be4e486bfbeefabf31a78a905700ebff097b6a","tarball":"https://registry.npmjs.org/@2forweb/simple-build/-/simple-build-1.0.0.tgz","fileCount":49,"integrity":"sha512-pUm+PyWzLPWkUgWxZcAxihh1fuDus3UgPtYlrNgi8MWiOJBwroYtMEzexB4z+bk4EaXlf6YHoQlzFF75kghvlg==","signatures":[{"sig":"MEUCIDWiVAtJ+l/yFoVFx6FPmEtkY0M9u0zms1IoiuF7s1ILAiEAm6Q5+vDU5X0+d+QgTVDUahbrHqctifLCFk5piVKFmHg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7756366},"main":"dist/index.js","type":"module","types":"dist/**/*.d.ts","gitHead":"dfcf51ed7646e3414cb2b7941fba1728f5d11a50","scripts":{"lint":"eslint ./src --ext .ts","test":"jest","build":"node ./build.js","build:watch":"node ./build.js --watch","definitions":"tsc --project ./src/tsconfig.json"},"_npmUser":{"name":"shadowc","email":"info@matiasjose.com"},"repository":{"url":"git+https://github.com/2forWeb/simple-build.git","type":"git"},"_npmVersion":"11.0.0","description":"Simple build system based in ESBuild","directories":{},"_nodeVersion":"20.17.0","dependencies":{"dotenv":"^16.4.7","esbuild":"^0.25.0","console-log-colors":"^0.5.0","esbuild-sass-plugin":"^3.3.1","esbuild-plugin-clean":"^1.0.1","esbuild-copy-files-plugin":"^1.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.21.0","ts-jest":"^29.2.6","prettier":"^3.5.3","@eslint/js":"^9.21.0","babel-jest":"^29.7.0","typescript":"^5.8.2","@types/node":"^22.13.9","@jest/globals":"^29.7.0","@babel/preset-env":"^7.26.9","typescript-eslint":"^8.26.0","eslint-config-prettier":"^10.0.2","eslint-plugin-prettier":"^5.2.3"},"_npmOperationalInternal":{"tmp":"tmp/simple-build_1.0.0_1741353321642_0.8352734397876822","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@2forweb/simple-build","version":"1.0.1","keywords":["build","esbuild","system","simple"],"author":{"name":"Matias José"},"license":"MIT","_id":"@2forweb/simple-build@1.0.1","maintainers":[{"name":"shadowc","email":"info@matiasjose.com"}],"homepage":"https://github.com/2forWeb/simple-build#readme","bugs":{"url":"https://github.com/2forWeb/simple-build/issues"},"dist":{"shasum":"261c201c04f7bf1bfd47273952785ccec22c24dd","tarball":"https://registry.npmjs.org/@2forweb/simple-build/-/simple-build-1.0.1.tgz","fileCount":49,"integrity":"sha512-IDfyZrtzvl4zazbjwoIrpa5CnJjgmaR7kiFr9nZrJnFAYb/Quc76PEq3VN/rBnfNJCNTMWxh/dmAmutip12AKQ==","signatures":[{"sig":"MEUCID2E6lRzISJhEWmU/O7NuVWioO1ckOolgYlVfrbjjELuAiEAm02W9hBzU3s4KKlKhbpVhDGKgs2HbzQsHaK2or+HR6c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7761078},"main":"dist/index.js","type":"module","types":"dist/**/*.d.ts","gitHead":"fc412db2440a681c076b2905ce2a0b4f29c7202c","scripts":{"lint":"eslint ./src --ext .ts","test":"jest","build":"node ./build.js","publish":"npm run definitions && npm run build && npm publish","build:watch":"node ./build.js --watch","definitions":"tsc --project ./src/tsconfig.json"},"_npmUser":{"name":"shadowc","email":"info@matiasjose.com"},"repository":{"url":"git+https://github.com/2forWeb/simple-build.git","type":"git"},"_npmVersion":"11.0.0","description":"Simple build system based in ESBuild","directories":{},"_nodeVersion":"20.17.0","dependencies":{"dotenv":"^16.4.7","esbuild":"^0.25.0","console-log-colors":"^0.5.0","esbuild-sass-plugin":"^3.3.1","esbuild-plugin-clean":"^1.0.1","esbuild-copy-files-plugin":"^1.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.21.0","ts-jest":"^29.2.6","prettier":"^3.5.3","@eslint/js":"^9.21.0","babel-jest":"^29.7.0","typescript":"^5.8.2","@types/node":"^22.13.9","@jest/globals":"^29.7.0","@babel/preset-env":"^7.26.9","typescript-eslint":"^8.26.0","eslint-config-prettier":"^10.0.2","eslint-plugin-prettier":"^5.2.3"},"_npmOperationalInternal":{"tmp":"tmp/simple-build_1.0.1_1741356151314_0.7730009510936753","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@2forweb/simple-build","version":"1.0.2","keywords":["build","esbuild","system","simple"],"author":{"name":"Matias José"},"license":"MIT","_id":"@2forweb/simple-build@1.0.2","maintainers":[{"name":"shadowc","email":"info@matiasjose.com"}],"homepage":"https://github.com/2forWeb/simple-build#readme","bugs":{"url":"https://github.com/2forWeb/simple-build/issues"},"dist":{"shasum":"26bcb17c33b344811381b0afedfefd7606764077","tarball":"https://registry.npmjs.org/@2forweb/simple-build/-/simple-build-1.0.2.tgz","fileCount":51,"integrity":"sha512-ZlDM2DlGRoORXhQhyaBle4tywZEZ6Ora5BVB8qqrJTojVtSr6sOKi5ox/kF6fEIpYF+LSbEwwFNxA8vyY03Mew==","signatures":[{"sig":"MEUCIQDoV4beQbyaWJ2Thf9bqDY3d3CXe7r4nH7kvrt79C9TRAIgJ7cGeGwvmaIipMv4zKMnDTT/We5tl0LY1YGPyfbI7FM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7748559},"main":"dist/index.js","type":"module","types":"dist/**/*.d.ts","gitHead":"6b211747b9d8551b16c3521636ba4904e41dbc2e","scripts":{"lint":"eslint ./src --ext .ts","test":"jest","build":"node ./build.js","publish":"npm run definitions && npm run build && npm publish","build:watch":"node ./build.js --watch","definitions":"tsc --project ./src/tsconfig.json"},"_npmUser":{"name":"shadowc","email":"info@matiasjose.com"},"repository":{"url":"git+https://github.com/2forWeb/simple-build.git","type":"git"},"_npmVersion":"11.0.0","description":"Simple build system based in ESBuild","directories":{},"_nodeVersion":"20.17.0","dependencies":{"dotenv":"^16.4.7","esbuild":"^0.25.0","esbuild-sass-plugin":"^3.3.1","esbuild-plugin-clean":"^1.0.1","esbuild-copy-files-plugin":"^1.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.21.0","ts-jest":"^29.2.6","prettier":"^3.5.3","@eslint/js":"^9.21.0","babel-jest":"^29.7.0","typescript":"^5.8.2","@types/node":"^22.13.9","@jest/globals":"^29.7.0","@babel/preset-env":"^7.26.9","typescript-eslint":"^8.26.0","eslint-config-prettier":"^10.0.2","eslint-plugin-prettier":"^5.2.3"},"_npmOperationalInternal":{"tmp":"tmp/simple-build_1.0.2_1741360294951_0.0006512638751998701","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@2forweb/simple-build","version":"1.0.3","keywords":["build","esbuild","system","simple"],"author":{"name":"Matias José"},"license":"MIT","_id":"@2forweb/simple-build@1.0.3","maintainers":[{"name":"shadowc","email":"info@matiasjose.com"}],"homepage":"https://github.com/2forWeb/simple-build#readme","bugs":{"url":"https://github.com/2forWeb/simple-build/issues"},"dist":{"shasum":"84ac75fec69ad8043d10626e3c5989f4dc7b59e8","tarball":"https://registry.npmjs.org/@2forweb/simple-build/-/simple-build-1.0.3.tgz","fileCount":51,"integrity":"sha512-TwR+W/gkmRIkX0y5dZCaTdTuBsPfYLzLsiI/UjSk7bHOMw/bVY5ak2Zffqw5ufLlY3sEPbYB9j8GZ5xJT+DJCg==","signatures":[{"sig":"MEQCIBjZcu8fV9rM1zIKjS5OQVy8tWI07Pm7ttc75YM5/ceNAiABquKOXLvo8cyaNPPL1x8WFplquWNl/W3X9IQu/1YTeQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36176},"main":"dist/index.mjs","type":"module","types":"dist/**/*.d.ts","gitHead":"0c826d00eeeac1d60fb376a95c96369fb96cc8db","scripts":{"lint":"eslint","test":"vitest run","build":"node ./build.js","publish":"npm run definitions && npm run build && npm publish","build:watch":"node ./build.js --watch","definitions":"tsc --project ./src/tsconfig.json"},"_npmUser":{"name":"shadowc","email":"info@matiasjose.com"},"repository":{"url":"git+https://github.com/2forWeb/simple-build.git","type":"git"},"_npmVersion":"11.0.0","description":"Simple build system based in ESBuild","directories":{},"_nodeVersion":"20.17.0","dependencies":{"dotenv":"^16.4.7","esbuild":"^0.25.0","esbuild-sass-plugin":"^3.3.1","esbuild-plugin-clean":"^1.0.1","esbuild-copy-files-plugin":"^1.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.21.0","vitest":"^3.0.8","prettier":"^3.5.3","@eslint/js":"^9.21.0","typescript":"^5.8.2","@types/node":"^22.13.9","typescript-eslint":"^8.26.0","eslint-config-prettier":"^10.0.2","eslint-plugin-prettier":"^5.2.3"},"_npmOperationalInternal":{"tmp":"tmp/simple-build_1.0.3_1741364100956_0.33360859850891855","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@2forweb/simple-build","version":"1.0.4","keywords":["build","esbuild","system","simple"],"author":{"name":"Matias José"},"license":"MIT","_id":"@2forweb/simple-build@1.0.4","maintainers":[{"name":"shadowc","email":"info@matiasjose.com"}],"homepage":"https://github.com/2forWeb/simple-build#readme","bugs":{"url":"https://github.com/2forWeb/simple-build/issues"},"dist":{"shasum":"a69e877fb8f7cdf87594dd945dfeb0b467105a46","tarball":"https://registry.npmjs.org/@2forweb/simple-build/-/simple-build-1.0.4.tgz","fileCount":51,"integrity":"sha512-SPT1siIwJDW8d0pBtTdAS68XywElDEpux7jw9GQwUYyD2xZ822OvA42iq+AAuN3nmkhkiiM+YIUOWtZ25EjbeA==","signatures":[{"sig":"MEYCIQCI4qIOwex9VbZnGqIUniMDTOzmJasKGSv6mek6/KahfQIhAPgv+hOdvBvsLKJvT/WTls84giSvceoYtXEvg2ZvjSWS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36184},"main":"dist/index.mjs","type":"module","types":"dist/**/*.d.ts","gitHead":"9b4ac32cd255927a159328fcf6d0e10656b6633f","scripts":{"lint":"eslint","test":"vitest run","build":"node ./build.js","publish":"npm run definitions && npm run build && npm publish","build:watch":"node ./build.js --watch","definitions":"tsc --project ./src/tsconfig.json"},"_npmUser":{"name":"shadowc","email":"info@matiasjose.com"},"repository":{"url":"git+https://github.com/2forWeb/simple-build.git","type":"git"},"_npmVersion":"11.0.0","description":"Simple build system based in ESBuild","directories":{},"_nodeVersion":"20.17.0","dependencies":{"dotenv":"^16.4.7","esbuild":"^0.25.0","esbuild-sass-plugin":"^3.3.1","esbuild-plugin-clean":"^1.0.1","esbuild-copy-files-plugin":"^1.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.21.0","vitest":"^3.0.8","prettier":"^3.5.3","@eslint/js":"^9.21.0","typescript":"^5.8.2","@types/node":"^22.13.9","typescript-eslint":"^8.26.0","eslint-config-prettier":"^10.0.2","eslint-plugin-prettier":"^5.2.3"},"_npmOperationalInternal":{"tmp":"tmp/simple-build_1.0.4_1741365534095_0.6296819969458043","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@2forweb/simple-build","version":"1.0.5","keywords":["build","esbuild","system","simple"],"author":{"name":"Matias José"},"license":"MIT","_id":"@2forweb/simple-build@1.0.5","maintainers":[{"name":"shadowc","email":"info@matiasjose.com"}],"homepage":"https://github.com/2forWeb/simple-build#readme","bugs":{"url":"https://github.com/2forWeb/simple-build/issues"},"dist":{"shasum":"7b7478319a57831b8c62c9da0198407313f4f295","tarball":"https://registry.npmjs.org/@2forweb/simple-build/-/simple-build-1.0.5.tgz","fileCount":51,"integrity":"sha512-J6VMFerWUFvYffPTwyF6Bj+meNkxy+i7zo7ZfkPK6ts8bh+9nmBEJzcNVjR2U2bJQnT+zJOlWpjZEhuahHKMPg==","signatures":[{"sig":"MEUCIEAQgYXdfitFvyV3Yn9W3N3fm2VxDGCJCgMJB4k5dRjzAiEAmbF9B5GUQD/0qXeVpxG7QPKNBuCjVB3w28CnepuKiFI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36090},"main":"dist/index.mjs","type":"module","types":"dist/**/*.d.ts","gitHead":"5f0a48dc9a57745486eb859b9c2a3b97959e87a0","scripts":{"lint":"eslint","test":"vitest run","build":"node ./build.js","build:watch":"node ./build.js --watch","definitions":"tsc --project ./src/tsconfig.json","publish:package":"npm run definitions && npm run build && npm publish"},"_npmUser":{"name":"shadowc","email":"info@matiasjose.com"},"repository":{"url":"git+https://github.com/2forWeb/simple-build.git","type":"git"},"_npmVersion":"11.0.0","description":"Simple build system based in ESBuild","directories":{},"_nodeVersion":"20.17.0","dependencies":{"dotenv":"^16.4.7","esbuild":"^0.25.0","esbuild-sass-plugin":"^3.3.1","esbuild-plugin-clean":"^1.0.1","esbuild-copy-files-plugin":"^1.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.21.0","vitest":"^3.0.8","prettier":"^3.5.3","@eslint/js":"^9.21.0","typescript":"^5.8.2","@types/node":"^22.13.9","typescript-eslint":"^8.26.0","eslint-config-prettier":"^10.0.2","eslint-plugin-prettier":"^5.2.3"},"_npmOperationalInternal":{"tmp":"tmp/simple-build_1.0.5_1741366060171_0.3721592651600649","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@2forweb/simple-build","version":"1.0.6","keywords":["build","esbuild","system","simple"],"author":{"name":"Matias José"},"license":"MIT","_id":"@2forweb/simple-build@1.0.6","maintainers":[{"name":"shadowc","email":"info@matiasjose.com"}],"homepage":"https://github.com/2forWeb/simple-build#readme","bugs":{"url":"https://github.com/2forWeb/simple-build/issues"},"dist":{"shasum":"a255d34e1c68baf1fa3231c97e4e2ac5a97d4d07","tarball":"https://registry.npmjs.org/@2forweb/simple-build/-/simple-build-1.0.6.tgz","fileCount":51,"integrity":"sha512-5dB6uJWFeyYg8OZPvl0zkgIGCPXSjsbpdCJ7FYPB237NlP/zoebj5wk0DgUUkOhVWJNx3nJ3XvAhj1CCvAGQEw==","signatures":[{"sig":"MEYCIQDmV2cQBGzPfs7CfuIz3tDse3PNOUxLS0nukdSygnb0oQIhAIk7D1BCkLhUTyrcmCxZM5QIQHse9lTDbZNpOGVlKu9s","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36090},"main":"dist/index.mjs","type":"module","types":"dist/**/*.d.ts","gitHead":"8cdd5fa95c53ffbc413cabd209f0742e6636bf9e","scripts":{"lint":"eslint","test":"vitest run","build":"node ./build.js","build:watch":"node ./build.js --watch","definitions":"tsc --project ./src/tsconfig.json","publish:package":"npm run definitions && npm run build && npm publish"},"_npmUser":{"name":"shadowc","actor":{"name":"shadowc","type":"user","email":"info@matiasjose.com"},"email":"info@matiasjose.com"},"repository":{"url":"git+https://github.com/2forWeb/simple-build.git","type":"git"},"_npmVersion":"11.4.2","description":"Simple build system based in ESBuild","directories":{},"_nodeVersion":"20.17.0","dependencies":{"dotenv":"^16.4.7","esbuild":"^0.25.0","esbuild-sass-plugin":"^3.3.1","esbuild-plugin-clean":"^1.0.1","esbuild-copy-files-plugin":"^1.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.21.0","vitest":"^3.0.8","prettier":"^3.5.3","@eslint/js":"^9.21.0","typescript":"^5.8.2","@types/node":"^22.13.9","typescript-eslint":"^8.26.0","eslint-config-prettier":"^10.0.2","eslint-plugin-prettier":"^5.2.3"},"_npmOperationalInternal":{"tmp":"tmp/simple-build_1.0.6_1750614849726_0.4446541008287088","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@2forweb/simple-build","version":"1.0.7","description":"Simple build system based in ESBuild","scripts":{"lint":"eslint","definitions":"tsc --project ./src/tsconfig.json","build":"node ./build.js","build:watch":"node ./build.js --watch","publish:package":"npm run definitions && npm run build && npm publish","test":"vitest run"},"keywords":["build","esbuild","system","simple"],"homepage":"https://github.com/2forWeb/simple-build#readme","bugs":{"url":"https://github.com/2forWeb/simple-build/issues"},"repository":{"type":"git","url":"git+https://github.com/2forWeb/simple-build.git"},"publishConfig":{"access":"public"},"license":"MIT","author":{"name":"Matias José"},"type":"module","main":"dist/index.mjs","types":"dist/**/*.d.ts","devDependencies":{"@eslint/js":"^9.21.0","@types/node":"^22.13.9","eslint":"^9.21.0","eslint-config-prettier":"^10.0.2","eslint-plugin-prettier":"^5.2.3","prettier":"^3.5.3","typescript":"^5.8.2","typescript-eslint":"^8.26.0","vitest":"^3.0.8"},"dependencies":{"dotenv":"^16.4.7","esbuild":"^0.25.0","esbuild-copy-files-plugin":"^1.2.1","esbuild-plugin-clean":"^1.0.1","esbuild-sass-plugin":"^3.3.1"},"gitHead":"04d40bef44c009462a038495d9cb06ce366ccbed","_id":"@2forweb/simple-build@1.0.7","_nodeVersion":"24.12.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-6+MfVt0kbx9mJy6ugn4wYkGCaFkktpa4g8Q/IsNe+G3vX8PCul8FZ1lNgkHG+2tRW0RWHVviU2ARqPIPX5k18A==","shasum":"724423b93e50a5a1364fa26fd3c1971083b0217c","tarball":"https://registry.npmjs.org/@2forweb/simple-build/-/simple-build-1.0.7.tgz","fileCount":53,"unpackedSize":36465,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDhggyiUd6Oh6QPpzhUDJoENr4lKo4fXZ9dcpQDcO77sAIhANn51LoesSSLHwqwhHu+c1xXz4aWPHZ38Nkgo7t3W7DM"}]},"_npmUser":{"name":"shadowc","email":"info@matiasjose.com"},"directories":{},"maintainers":[{"name":"shadowc","email":"info@matiasjose.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/simple-build_1.0.7_1767881893435_0.9952207767832693"},"_hasShrinkwrap":false}},"time":{"created":"2025-03-07T13:15:21.535Z","modified":"2026-01-08T14:18:13.802Z","1.0.0":"2025-03-07T13:15:21.937Z","1.0.1":"2025-03-07T14:02:31.543Z","1.0.2":"2025-03-07T15:11:35.198Z","1.0.3":"2025-03-07T16:15:01.150Z","1.0.4":"2025-03-07T16:38:54.293Z","1.0.5":"2025-03-07T16:47:40.370Z","1.0.6":"2025-06-22T17:54:09.969Z","1.0.7":"2026-01-08T14:18:13.607Z"},"bugs":{"url":"https://github.com/2forWeb/simple-build/issues"},"author":{"name":"Matias José"},"license":"MIT","homepage":"https://github.com/2forWeb/simple-build#readme","keywords":["build","esbuild","system","simple"],"repository":{"type":"git","url":"git+https://github.com/2forWeb/simple-build.git"},"description":"Simple build system based in ESBuild","maintainers":[{"name":"shadowc","email":"info@matiasjose.com"}],"readme":"# simple-build\n\n[![Version](https://img.shields.io/badge/version-1.0.7-blue.svg)](https://github.com/2forWeb/simple-build)\n[![Lint](https://github.com/2forWeb/simple-build/actions/workflows/lint.yaml/badge.svg)](https://github.com/2forWeb/simple-build/actions/workflows/lint.yaml)\n[![TypeCheck](https://github.com/2forWeb/simple-build/actions/workflows/typecheck.yaml/badge.svg)](https://github.com/2forWeb/simple-build/actions/workflows/typecheck.yaml)\n[![Build](https://github.com/2forWeb/simple-build/actions/workflows/build.yaml/badge.svg)](https://github.com/2forWeb/simple-build/actions/workflows/build.yaml)\n[![Tests](https://github.com/2forWeb/simple-build/actions/workflows/tests.yaml/badge.svg)](https://github.com/2forWeb/simple-build/actions/workflows/tests.yaml)\n\nSimple build system taking on ESBuild and standardizing a few things.\n\n## Summary\n\nThe objective of this project is to provide a simple abstraction on top pf\nesbuild to provide a few standard configurations that can be used to build\nthe front end aspect of symfony or similar web applications.\n\nWhile this was created with symfony and asset mapper in mind, it can be used\nin other environments.\n\n## Basics and examples\n\n### Source and outputs\n\nThe system is based on the concept of a source client folder and an output\nfolder where the files will be placed.\n\nWith the intention not to pollute the `./assets` folder for asset mapper,\nthe system uses the `./client` folder as the source folder for scss and\ntypescript files.\n\nAll paths you provide later to the different build tasks will be relative\nto these client and assets folders. But you can circumvent this by\nproviding relative paths, such as `../public/static/js/out.js`. This will\nbe calculated from `./assets` and will correctly point to the project's\n`./public` folder.\n\n### Environment\n\nThe system uses the `APP_ENV` environment variable to determine the\npresence or absence of source maps. This can be configured in `.env` or\n`.env.local` files or as environment variables.\n\n### Watch\n\nIf you pass the parameter `watch` to your build script, the system will\nautomatically watch for changes in the client folder.\n\n### Example build file\n\nWrite a js build file on the root of your application like this:\n\n```javascript\nimport { build, BuildTypeScript, BuildScss } from '@2forweb/simple-build';\nimport * as path from 'path';\n\nawait build({\n    clientRoot: path.resolve(__dirname, './client'),\n    assetRoot: path.resolve(__dirname, './assets'),\n    buildTasks: [\n        {\n            name: 'TypeScript controller',\n            task: BuildTypeScript,\n            entry: {\n                tsconfigPath: ['./controllers/tsconfig.json'],\n            },\n        },\n        {\n            name: 'Sass',\n            task: BuildScss,\n            entry: {\n                entryPoints: ['./styles/app.scss'],\n                outFile: 'app.css',\n            },\n        },\n    ],\n});\n```\n\nThis will use `tsc` to typecheck and build the typescript files in the\n`./client/controllers` folder as specified by your `tsconfig.json` file\nand `sass` to build the `./client/styles/app.scss` and place it under\n`./assets/app.css`, ready for Asset Mapper to pick it up.\n\nThe next step would be to add these scripts to your `package.json` file:\n\n```json\n{\n    \"scripts\": {\n        \"build\": \"node ./build.js\",\n        \"build:watch\": \"node ./build.js watch\"\n    }\n}\n```\n\n## Tasks\n\n### BuildTask\n\nGeneric esbuild build task using entry points and an `outDir` or `outFile`\nparameters. This will determine weather to bundle or to place all the files\nin the directory specified.\n\n### BuildScss\n\nA build task designed to build scss files.\n\n### CopyFiles\n\nThis will use the `copy-files-plugin` to copy different assets to\nthe `./assets` folder.\n\n### BuildTypeScript\n\nA build task designed to build typescript files using a `tsconfig.json` \nconfiguration file.\n\n## Entry\n\nThe entry (as a property in the `buildTasks` array) is the simplified\nesbuild configuration object. An esbuild config object will be\ncreated from this with all paths resolved to their client or assets\ndirectories.\n\n### entryPoints\n\nAn array of entry points to be built.\n\n### outFile\n\nThe file to be created. If this is set the `bundle` property will be\nset to `true`.\n\n### outDir\n\nThe directory to place the files in. If this is set the `bundle` property\nwill be set to `false` and all files listed in the entry points will be\nconverted one by one.\n\n### tsconfigPath\n\nFor the `BuildTypeScript` task, this is the path to the `tsconfig.json`\nthat will be used to build the files. This is also useful to perform\ntype checking or creating a set of definition files.\n\n### cleanPatterns\n\nAn array of glob patterns to clean before building. If this is passed,\nthe `clean-files-plugin` will be used to clean the files before building.\n\n### plugins\n\nAn array of additional esbuild plugins to run on the build task. These\ncan be useful for example, to resolve external fonts or image paths\nin a scss file.\n","readmeFilename":"README.md"}