Change build system to hereby

This eliminates a significant number of dependencies, eliminating all
npm audit issues, speeding up `npm ci` by 20%, and overall making the
build faster (faster startup, direct code is faster than streams, etc)
and clearer to understand.

I'm finding it much easier to make build changes for the module
transform with this; I can more clearly indicate task dependencies and
prevent running tasks that don't need to be run.

Given we're changing our build process entirely (new deps, new steps),
it seems like this is a good time to change things up.
This commit is contained in:
Jake Bailey
2022-10-09 13:15:45 -07:00
parent f45cc4578e
commit 3cd72e76b2
32 changed files with 1330 additions and 9695 deletions

View File

@@ -41,15 +41,8 @@
"devDependencies": {
"@octokit/rest": "latest",
"@types/chai": "latest",
"@types/fancy-log": "^2.0.0",
"@types/fs-extra": "^9.0.13",
"@types/glob": "latest",
"@types/gulp": "^4.0.9",
"@types/gulp-concat": "latest",
"@types/gulp-newer": "latest",
"@types/gulp-rename": "latest",
"@types/gulp-sourcemaps": "latest",
"@types/merge2": "latest",
"@types/microsoft__typescript-etw": "latest",
"@types/minimist": "latest",
"@types/mkdirp": "latest",
@@ -74,16 +67,9 @@
"eslint-plugin-jsdoc": "^39.3.6",
"eslint-plugin-local": "^1.0.0",
"eslint-plugin-no-null": "^1.0.2",
"fancy-log": "latest",
"fs-extra": "^9.1.0",
"glob": "latest",
"gulp": "^4.0.2",
"gulp-concat": "latest",
"gulp-insert": "latest",
"gulp-newer": "latest",
"gulp-rename": "latest",
"gulp-sourcemaps": "latest",
"merge2": "latest",
"hereby": "^1.6.4",
"minimist": "latest",
"mkdirp": "latest",
"mocha": "latest",
@@ -92,23 +78,19 @@
"node-fetch": "^3.2.10",
"source-map-support": "latest",
"typescript": "^4.8.4",
"vinyl": "latest",
"which": "^2.0.2",
"xml2js": "^0.4.23"
},
"overrides": {
"es5-ext": "0.10.53"
},
"scripts": {
"test": "gulp runtests-parallel --light=false",
"test:eslint-rules": "gulp run-eslint-rules-tests",
"test": "hereby runtests-parallel --light=false",
"test:eslint-rules": "hereby run-eslint-rules-tests",
"build": "npm run build:compiler && npm run build:tests",
"build:compiler": "gulp local",
"build:tests": "gulp tests",
"build:compiler": "hereby local",
"build:tests": "hereby tests",
"start": "node lib/tsc",
"clean": "gulp clean",
"gulp": "gulp",
"lint": "gulp lint",
"clean": "hereby clean",
"gulp": "hereby",
"lint": "hereby lint",
"setup-hooks": "node scripts/link-hooks.mjs"
},
"browser": {