mirror of
https://github.com/hanzoai/team.git
synced 2026-09-30 01:57:35 +00:00
npm ci runs the root postinstall, which builds all four platform workspaces, and the context was sending them a copy of their own output. A .rollup.cache from the host reaches rollup-plugin-ts and it hands rollup untouched TSX — src/index.tsx (5:7) Unexpected token (Note that you need plugins to import files that are not JavaScript) — and tsbuildinfo tells tsc a project is up to date over sources the image has never compiled. Only a tree that was built in before the image was carries them, so CI never sees this and a developer sees it every time. Co-authored-by: Hanzo Dev <[email protected]>
29 lines
1.1 KiB
Plaintext
29 lines
1.1 KiB
Plaintext
# The build context is the source and nothing else.
|
|
#
|
|
# .git alone is 1.2 GiB here, and every byte of it is uploaded to the builder
|
|
# before the first instruction runs.
|
|
.git
|
|
|
|
# Build output and installed dependencies are REPRODUCED by the build. Sending a
|
|
# working tree's copies makes the image depend on the machine that built it —
|
|
# and `npm ci` and `go build` would then be layering onto someone else's results.
|
|
#
|
|
# The platform workspaces are the half this used to miss, and it does not fail
|
|
# quietly. `npm ci` runs the root postinstall, which builds all four of them, so
|
|
# a stale .rollup.cache reaches rollup-plugin-ts and it hands rollup untouched
|
|
# TSX:
|
|
#
|
|
# src/index.tsx (5:7) Unexpected token
|
|
# (Note that you need plugins to import files that are not JavaScript)
|
|
#
|
|
# tsbuildinfo does the same to tsc more politely — "Project is up to date" over
|
|
# sources the image has never compiled. Both only happen when the tree was built
|
|
# in before the image was, so CI never sees either and a developer sees both.
|
|
**/node_modules
|
|
webapp/channels/dist
|
|
webapp/platform/*/dist
|
|
webapp/platform/*/lib
|
|
webapp/**/.rollup.cache
|
|
webapp/.parcel-cache
|
|
webapp/**/*.tsbuildinfo
|