-
Notifications
You must be signed in to change notification settings - Fork 27.4k
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
feat(jsconfig-paths-plugin): Resolve paths synchronously #29467
Conversation
@sokra can you please take a look? |
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.
Only reviewed on mobile, so there might be more...
This comment has been minimized.
This comment has been minimized.
Failing test suitesCommit: 39997ed test/integration/jsconfig-paths/test/index.test.js
Expand output● TypeScript Features › default behavior › should alias components
● TypeScript Features › default behavior › should resolve the first item in the array first
● TypeScript Features › default behavior › should resolve the second item as fallback
● TypeScript Features › default behavior › should resolve a single matching alias
● TypeScript Features › default behavior › should resolve a wildcard alias
● TypeScript Features › default behavior › should have correct module not found error
● Test suite failed to run
test/integration/gssp-ssr-change-reloading/test/index.test.js
Expand output● GS(S)P Server-Side Change Reloading › should update page when getStaticProps is changed only
● GS(S)P Server-Side Change Reloading › should show indicator when re-fetching data
● GS(S)P Server-Side Change Reloading › should update page when getStaticPaths is changed only
● GS(S)P Server-Side Change Reloading › should not reload page when client-side is changed too GSSP
● GS(S)P Server-Side Change Reloading › should update page when getServerSideProps is changed only
test/integration/typescript-paths/test/index.test.js
Expand output● TypeScript Features › default behavior › should alias components
● TypeScript Features › default behavior › should resolve the first item in the array first
● TypeScript Features › default behavior › should resolve the second item in as a fallback
● TypeScript Features › default behavior › should resolve a single matching alias
● TypeScript Features › default behavior › should not resolve to .d.ts files
|
This comment has been minimized.
This comment has been minimized.
hey @sokra could you please review once again - now that the pipeline is green? |
Stats from current PRDefault Build (Decrease detected ✓)General Overall increase
|
vercel/next.js canary | jantimon/next.js fix-linaria-resolving | Change | |
---|---|---|---|
buildDuration | 15.6s | 16.2s | |
buildDurationCached | 3.5s | 3.6s | |
nodeModulesSize | 195 MB | 195 MB |
Page Load Tests Overall decrease ⚠️
vercel/next.js canary | jantimon/next.js fix-linaria-resolving | Change | |
---|---|---|---|
/ failed reqs | 0 | 0 | ✓ |
/ total time (seconds) | 3.656 | 3.651 | -0.01 |
/ avg req/sec | 683.87 | 684.72 | +0.85 |
/error-in-render failed reqs | 0 | 0 | ✓ |
/error-in-render total time (seconds) | 1.81 | 1.85 | |
/error-in-render avg req/sec | 1381.25 | 1351.19 |
Client Bundles (main, webpack, commons)
vercel/next.js canary | jantimon/next.js fix-linaria-resolving | Change | |
---|---|---|---|
779.HASH.js gzip | 179 B | 179 B | ✓ |
framework-HASH.js gzip | 42.2 kB | 42.2 kB | ✓ |
main-HASH.js gzip | 27 kB | 27 kB | ✓ |
webpack-HASH.js gzip | 1.45 kB | 1.45 kB | ✓ |
Overall change | 70.9 kB | 70.9 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | jantimon/next.js fix-linaria-resolving | Change | |
---|---|---|---|
polyfills-a4..dd70.js gzip | 31 kB | 31 kB | ✓ |
Overall change | 31 kB | 31 kB | ✓ |
Client Pages
vercel/next.js canary | jantimon/next.js fix-linaria-resolving | Change | |
---|---|---|---|
_app-HASH.js gzip | 977 B | 977 B | ✓ |
_error-HASH.js gzip | 194 B | 194 B | ✓ |
amp-HASH.js gzip | 311 B | 311 B | ✓ |
css-HASH.js gzip | 328 B | 328 B | ✓ |
dynamic-HASH.js gzip | 2.67 kB | 2.67 kB | ✓ |
head-HASH.js gzip | 351 B | 351 B | ✓ |
hooks-HASH.js gzip | 918 B | 918 B | ✓ |
image-HASH.js gzip | 4.12 kB | 4.12 kB | ✓ |
index-HASH.js gzip | 260 B | 260 B | ✓ |
link-HASH.js gzip | 1.66 kB | 1.66 kB | ✓ |
routerDirect..HASH.js gzip | 320 B | 320 B | ✓ |
script-HASH.js gzip | 386 B | 386 B | ✓ |
withRouter-HASH.js gzip | 319 B | 319 B | ✓ |
bb14e60e810b..30f.css gzip | 125 B | 125 B | ✓ |
Overall change | 12.9 kB | 12.9 kB | ✓ |
Client Build Manifests
vercel/next.js canary | jantimon/next.js fix-linaria-resolving | Change | |
---|---|---|---|
_buildManifest.js gzip | 494 B | 494 B | ✓ |
Overall change | 494 B | 494 B | ✓ |
Rendered Page Sizes
vercel/next.js canary | jantimon/next.js fix-linaria-resolving | Change | |
---|---|---|---|
index.html gzip | 539 B | 539 B | ✓ |
link.html gzip | 551 B | 551 B | ✓ |
withRouter.html gzip | 532 B | 532 B | ✓ |
Overall change | 1.62 kB | 1.62 kB | ✓ |
Default Build with SWC (Increase detected ⚠️ )
General Overall increase ⚠️
vercel/next.js canary | jantimon/next.js fix-linaria-resolving | Change | |
---|---|---|---|
buildDuration | 8.2s | 7.4s | -766ms |
buildDurationCached | 3.5s | 3.8s | |
nodeModulesSize | 195 MB | 195 MB |
Page Load Tests Overall increase ✓
vercel/next.js canary | jantimon/next.js fix-linaria-resolving | Change | |
---|---|---|---|
/ failed reqs | 0 | 0 | ✓ |
/ total time (seconds) | 3.536 | 3.552 | |
/ avg req/sec | 707.1 | 703.74 | |
/error-in-render failed reqs | 0 | 0 | ✓ |
/error-in-render total time (seconds) | 1.872 | 1.823 | -0.05 |
/error-in-render avg req/sec | 1335.19 | 1371.37 | +36.18 |
Client Bundles (main, webpack, commons)
vercel/next.js canary | jantimon/next.js fix-linaria-resolving | Change | |
---|---|---|---|
675-HASH.js gzip | 13.8 kB | 13.8 kB | ✓ |
770.HASH.js gzip | 178 B | 178 B | ✓ |
framework-HASH.js gzip | 50.7 kB | 50.7 kB | ✓ |
main-HASH.js gzip | 35 kB | 35 kB | ✓ |
webpack-HASH.js gzip | 1.64 kB | 1.64 kB | ✓ |
Overall change | 101 kB | 101 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | jantimon/next.js fix-linaria-resolving | Change | |
---|---|---|---|
polyfills-a4..dd70.js gzip | 31 kB | 31 kB | ✓ |
Overall change | 31 kB | 31 kB | ✓ |
Client Pages
vercel/next.js canary | jantimon/next.js fix-linaria-resolving | Change | |
---|---|---|---|
_app-HASH.js gzip | 1.33 kB | 1.33 kB | ✓ |
_error-HASH.js gzip | 180 B | 180 B | ✓ |
amp-HASH.js gzip | 315 B | 315 B | ✓ |
css-HASH.js gzip | 331 B | 331 B | ✓ |
dynamic-HASH.js gzip | 2.79 kB | 2.79 kB | ✓ |
head-HASH.js gzip | 355 B | 355 B | ✓ |
hooks-HASH.js gzip | 637 B | 637 B | ✓ |
image-HASH.js gzip | 555 B | 555 B | ✓ |
index-HASH.js gzip | 261 B | 261 B | ✓ |
link-HASH.js gzip | 2.22 kB | 2.22 kB | ✓ |
routerDirect..HASH.js gzip | 326 B | 326 B | ✓ |
script-HASH.js gzip | 393 B | 393 B | ✓ |
withRouter-HASH.js gzip | 322 B | 322 B | ✓ |
bb14e60e810b..30f.css gzip | 125 B | 125 B | ✓ |
Overall change | 10.1 kB | 10.1 kB | ✓ |
Client Build Manifests
vercel/next.js canary | jantimon/next.js fix-linaria-resolving | Change | |
---|---|---|---|
_buildManifest.js gzip | 511 B | 511 B | ✓ |
Overall change | 511 B | 511 B | ✓ |
Rendered Page Sizes
vercel/next.js canary | jantimon/next.js fix-linaria-resolving | Change | |
---|---|---|---|
index.html gzip | 537 B | 537 B | ✓ |
link.html gzip | 551 B | 551 B | ✓ |
withRouter.html gzip | 532 B | 532 B | ✓ |
Overall change | 1.62 kB | 1.62 kB | ✓ |
resolve([resolverErr, resolverResult]) | ||
(resolverErr: any, resolverResult: any) => { | ||
if (resolverErr || resolverResult === undefined) { | ||
triedPaths.push(candidate) |
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.
triedPaths doesn't seem to be used at all...
Thanks |
This PR is being published in https://github.com/vercel/next.js/releases/tag/v11.1.3-canary.66 |
Cool thanks! :) |
Feature
Allows linaria to statically extract css-in-js without running into
Cannot 'resolveSync' because the fileSystem is not sync
fixes #number
fixes change jsconfig-paths-plugin to resolve paths synchronously #29410
fixes change jsconfig-paths-plugin to resolve paths synchronously #29421
Integration tests addedDocumentation addedTelemetry added. In case of a feature if it's used or not.Errors have helpful link attached, seecontributing.md
Documentation / Examples
Btw
triedPaths
is unused.. exactly like before.Should we remove it?