guybedford / chomp

'JS Make' - parallel task runner for the frontend ecosystem with a JS extension system.
https://chompbuild.com
Apache License 2.0
138 stars 7 forks source link

Re-running `chomp build` always tries to install packages #29

Closed canadaduane closed 2 years ago

canadaduane commented 2 years ago

When I run chomp build the first time, it makes sense that targets with packages marked autoInstall = true install packages via pnpm.

However, when I re-run chomp build, I expect the package management to be done and to not run again.

This is the output after running chomp build the 2nd time:

$ chomp
- lib/assets/royal_esplanade_1k.hdr [- 405.656µs]
- lib/assets/Default_normal.jpg [- 551.638µs]
- package.json [- 217.317µs]
  node_modules/svelte invalidated by package.json.
○ node_modules/svelte
  node_modules/@swc/core invalidated by package.json.
○ node_modules/@swc/core
- lib/assets/Default_emissive.jpg [- 2.882522ms]
  node_modules/@jspm/generator invalidated by package.json.
○ node_modules/@jspm/generator
- lib/assets/Default_albedo.jpg [- 3.799818ms]
- lib/assets/Default_metalRoughness.jpg [- 3.855873ms]
- lib/assets/DamagedHelmet.gltf [- 4.125918ms]
- lib/assets/Default_AO.jpg [- 4.169401ms]
- lib/assets/DamagedHelmet.bin [- 4.250695ms]
- :copy [- 4.394801ms]
Progress: resolved 1, reused 0, downloaded 0, added 0
Progress: resolved 1, reused 0, downloaded 0, added 0
 WARN  @jspm/generator > ipfs-client > ipfs-grpc-client: @improbable-eng/grpc-web@0.14.1 requires a peer of google-protobuf@^3.14.0 but none was installed.
 WARN  @jspm/generator > ipfs-client > ipfs-grpc-client > ipfs-core-types > multiaddr > dns-over-http-resolver: native-fetch@3.0.0 requires a peer of node-fetch@* but none was installed.
 WARN  @jspm/generator > ipfs-client > ipfs-grpc-client: @improbable-eng/grpc-web@0.14.1 requires a peer of google-protobuf@^3.14.0 but none was installed.
 WARN  @jspm/generator > ipfs-client > ipfs-grpc-client > ipfs-core-types > multiaddr > dns-over-http-resolver: native-fetch@3.0.0 requires a peer of node-fetch@* but none was installed.
Already up-to-date
 WARN  @jspm/generator > ipfs-client > ipfs-grpc-client: @improbable-eng/grpc-web@0.14.1 requires a peer of google-protobuf@^3.14.0 but none was installed.
 WARN  @jspm/generator > ipfs-client > ipfs-grpc-client > ipfs-core-types > multiaddr > dns-over-http-resolver: native-fetch@3.0.0 requires a peer of node-fetch@* but none was installed.
Already up-to-date
Already up-to-date
Progress: resolved 150, reused 139, downloaded 0, added 0, done
√ node_modules/@swc/core [573.1474ms 575.99461ms]
- lib/helmet.js [- 576.042333ms]
- lib/main.js [- 576.049968ms]
- lib/setup.js [- 576.059158ms]
Progress: resolved 150, reused 139, downloaded 0, added 0, done
√ node_modules/svelte [612.150277ms 614.15801ms]
- lib/App.js [- 614.149749ms]
- :svelte [- 614.219651ms]
√ node_modules/@jspm/generator [615.134442ms 619.007555ms]
  lib/index.html invalidated by :svelte.
○ lib/index.html
√ lib/index.html [174.482914ms 794.79709ms]
- :build [- 794.900256ms]

Edit: Adding my chompfile:



[env]
PKG_MANAGER = "pnpm"

[[task]]
  name = "build"
  deps = [":generate"]

[[task]]
  name = "svelte"
  template = "svelte"
  target = "lib/#.js"
  deps = ["src/#.svelte"]
  [task.args]
    autoInstall = true

[[task]]
  name = "swc"
  template = "swc"
  target = "lib/#.js"
  deps = ["src/#.ts"]
  [task.args]
    autoInstall = true

[[task]]
  name = "generate"
  template = "jspm:generate"
  target = "lib/index.html"
  deps = ["public/index.html", "svelte", "swc", "copy"]
  [task.args]
    autoInstall = true

[[task]]
  name = "copy"
  target = "lib/assets/#"
  deps = ["public/assets/#"]
  run = "cp $DEP $TARGET"

[[task]]
  name = "clean"
  run = "rm -rf lib/assets/; rm lib/*"```
guybedford commented 2 years ago

This should be resolved with the update in #31 now.