From 0e27ea7e6cd5571636d79536b6d1145968bcfca8 Mon Sep 17 00:00:00 2001 From: daz Date: Thu, 14 Nov 2024 17:00:58 -0700 Subject: [PATCH] Improve local development script - Avoid running `npm install` on every execution - Add a separate `install` task that runs `npm clean-install` --- CONTRIBUTING.md | 5 +++-- build | 17 +++++++++-------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2fed3d0..4d6fb79 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -3,8 +3,9 @@ The `build` script in the project root provides a convenient way to perform many local build tasks: 1. `./build` will lint and compile typescript sources 2. `./build all` will lint and compile typescript and run unit tests -3. `./build init-scripts` will run the init-script integration tests -4. `./build act ` will run `act` after building local changes (see below) +3. `./build install` will install npm packages followed by lint and compile +4. `./build init-scripts` will run the init-script integration tests +5. `./build act ` will run `act` after building local changes (see below) ## Using `act` to run integ-test workflows locally diff --git a/build b/build index e31cde7..ef05f67 100755 --- a/build +++ b/build @@ -4,12 +4,10 @@ cd sources case "$1" in all) - npm clean-install npm run all ;; act) # Build and copy outputs to the dist directory - npm install npm run build cd .. cp -r sources/dist . @@ -18,18 +16,21 @@ case "$1" in # Revert the changes to the dist directory git checkout -- dist ;; - init-scripts) - cd test/init-scripts - ./gradlew check - ;; dist) - npm install + npm clean-install npm run build cd .. cp -r sources/dist . ;; + init-scripts) + cd test/init-scripts + ./gradlew check + ;; + install) + npm clean-install + npm run build + ;; *) - npm install npm run build ;; esac