-
Notifications
You must be signed in to change notification settings - Fork 794
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore(build): exclude graceful-fs from the sys/node/index.js bundle #5647
Conversation
PR built and packed!Download the tarball here: https://github.com/ionic-team/stencil/actions/runs/8662954326/artifacts/1408797596 If your browser saves files to
|
|
Path | Error Count |
---|---|
src/dev-server/index.ts | 37 |
src/dev-server/server-process.ts | 32 |
src/compiler/prerender/prerender-main.ts | 22 |
src/runtime/client-hydrate.ts | 20 |
src/testing/puppeteer/puppeteer-element.ts | 20 |
src/screenshot/connector-base.ts | 19 |
src/runtime/vdom/vdom-render.ts | 17 |
src/dev-server/request-handler.ts | 15 |
src/compiler/prerender/prerender-optimize.ts | 14 |
src/compiler/sys/stencil-sys.ts | 14 |
src/sys/node/node-sys.ts | 14 |
src/compiler/prerender/prerender-queue.ts | 13 |
src/compiler/sys/in-memory-fs.ts | 13 |
src/runtime/connected-callback.ts | 13 |
src/runtime/set-value.ts | 13 |
src/compiler/output-targets/output-www.ts | 12 |
src/compiler/transformers/test/parse-vdom.spec.ts | 12 |
src/compiler/transformers/transform-utils.ts | 12 |
src/compiler/transpile/transpile-module.ts | 12 |
src/mock-doc/test/attribute.spec.ts | 12 |
Our most common errors
Typescript Error Code | Count |
---|---|
TS2322 | 361 |
TS2345 | 344 |
TS18048 | 204 |
TS18047 | 82 |
TS2722 | 37 |
TS2532 | 24 |
TS2531 | 21 |
TS2454 | 14 |
TS2790 | 11 |
TS2352 | 9 |
TS2769 | 8 |
TS2538 | 8 |
TS2416 | 7 |
TS2493 | 3 |
TS18046 | 2 |
TS2684 | 1 |
TS2430 | 1 |
Unused exports report
There are 14 unused exports on this PR. That's the same number of errors on main, so at least we're not creating new ones!
Unused exports
File | Line | Identifier |
---|---|---|
src/runtime/bootstrap-lazy.ts | 21 | setNonce |
src/screenshot/screenshot-fs.ts | 18 | readScreenshotData |
src/testing/testing-utils.ts | 198 | withSilentWarn |
src/utils/index.ts | 145 | CUSTOM |
src/utils/index.ts | 269 | normalize |
src/utils/index.ts | 7 | escapeRegExpSpecialCharacters |
src/compiler/app-core/app-data.ts | 25 | BUILD |
src/compiler/app-core/app-data.ts | 115 | Env |
src/compiler/app-core/app-data.ts | 117 | NAMESPACE |
src/compiler/fs-watch/fs-watch-rebuild.ts | 123 | updateCacheFromRebuild |
src/compiler/types/validate-primary-package-output-target.ts | 61 | satisfies |
src/compiler/types/validate-primary-package-output-target.ts | 61 | Record |
src/testing/puppeteer/puppeteer-declarations.ts | 485 | WaitForEventOptions |
src/compiler/sys/fetch/write-fetch-success.ts | 7 | writeFetchSuccessSync |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
This uses the `externalAlias` plugin to 'externalize' the `graceful-fs` package from our `sys/node/index.js` bundle while also aliasing it to the file that we ship as part of the Stencil package at `sys/node/graceful-fs.js`. We did a similar thing in #5625 STENCIL-1268
ca98910
to
dbc15fa
Compare
This uses the
externalAlias
plugin to 'externalize' thegraceful-fs
package from oursys/node/index.js
bundle while also aliasing it to the file that we ship as part of the Stencil package atsys/node/graceful-fs.js
.We did a similar thing in #5625
What is the current behavior?
Although we ship a bundled version of
graceful-fs
insys/node/graceful-fs.js
our bundle atsys/node/index.js
is also inlining that module, so we have a little code duplication there.What is the new behavior?
The
sys/node/index.js
bundle now externalizes the bundledgraceful-fs
module so we're not duplicating it anymore.Does this introduce a breaking change?
Testing
You can first convince yourself that
graceful-fs
is being bundled in the current build by running the build and then inspectingsys/node/index.js
. It's not a huge file, but if you just search in there forgraceful-fs
you'll see inlined code.Note
If you want to make it more obvious that the module is being bundled, try setting
minify: false
in the relevant Esbuild script before you run the build:stencil/scripts/esbuild/sys-node.ts
Line 52 in ab5bc2b
Then check out this branch and run the build again. Note that the code that was bundled in for
graceful-fs
is no longer present insys/node/index.js
, and the file is a little bit smaller.