Skip to content
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

enables transpilation for packages below baseUrl #15569

Closed

Conversation

jeantil
Copy link
Contributor

@jeantil jeantil commented Jul 28, 2020

This enables automatic configuration of transpilation for modules resolved outside of nextjs app trough path aliases.

Since I'm not entirely sure what the process should be, and #13542 has been merged, I'm putting this here. The RFC is being discussed at #15327 I don't expect this to be merged before the RFC is resolved.

This enables automatic configuration of transpilation for modules
resolved outside of nextjs app trough path aliases.
@ijjk
Copy link
Member

ijjk commented Jul 28, 2020

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary jeantil/next.js monorepo-ts-baseUrl-transpilation Change
buildDuration 12.2s 12.7s ⚠️ +425ms
nodeModulesSize 65.5 MB 65.5 MB ⚠️ +224 B
Page Load Tests Overall increase ✓
vercel/next.js canary jeantil/next.js monorepo-ts-baseUrl-transpilation Change
/ failed reqs 0 0
/ total time (seconds) 2.158 2.119 -0.04
/ avg req/sec 1158.68 1179.79 +21.11
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.237 1.177 -0.06
/error-in-render avg req/sec 2020.32 2123.3 +102.98
Client Bundles (main, webpack, commons)
vercel/next.js canary jeantil/next.js monorepo-ts-baseUrl-transpilation Change
677f882d2ed8..b7a9.js gzip 10.2 kB 10.2 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
main-af9a1a4..87fe.js gzip 6.71 kB 6.71 kB
polyfills-05..1236.js gzip 30.8 kB 30.8 kB
webpack-488d..c0e7.js gzip 751 B 751 B
Overall change 87.6 kB 87.6 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary jeantil/next.js monorepo-ts-baseUrl-transpilation Change
677f882d2ed8..dule.js gzip 6.09 kB 6.09 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
main-69d5e5f..dule.js gzip 5.79 kB 5.79 kB
polyfills-05..dule.js gzip 30.8 kB 30.8 kB
webpack-4f62..dule.js gzip 751 B 751 B
Overall change 82.6 kB 82.6 kB
Client Pages
vercel/next.js canary jeantil/next.js monorepo-ts-baseUrl-transpilation Change
_app-8f5f611..1f7b.js gzip 1.28 kB 1.28 kB
_error-a98d9..5cb7.js gzip 3.45 kB 3.45 kB
hooks-f7f3d0..7465.js gzip 887 B 887 B
index-08fb3f..c0e9.js gzip 227 B 227 B
link-ddd176e..5566.js gzip 1.29 kB 1.29 kB
routerDirect..8aa1.js gzip 284 B 284 B
withRouter-f..e777.js gzip 284 B 284 B
Overall change 7.71 kB 7.71 kB
Client Pages Modern
vercel/next.js canary jeantil/next.js monorepo-ts-baseUrl-transpilation Change
_app-669dbe5..dule.js gzip 626 B 626 B
_error-d5979..dule.js gzip 2.3 kB 2.3 kB
hooks-805c40..dule.js gzip 387 B 387 B
index-6ba5a4..dule.js gzip 226 B 226 B
link-69bc264..dule.js gzip 1.25 kB 1.25 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-d..dule.js gzip 282 B 282 B
Overall change 5.36 kB 5.36 kB
Client Build Manifests
vercel/next.js canary jeantil/next.js monorepo-ts-baseUrl-transpilation Change
_buildManifest.js gzip 275 B 275 B
_buildManife..dule.js gzip 281 B 281 B
Overall change 556 B 556 B
Rendered Page Sizes
vercel/next.js canary jeantil/next.js monorepo-ts-baseUrl-transpilation Change
index.html gzip 946 B 946 B
link.html gzip 953 B 953 B
withRouter.html gzip 940 B 940 B
Overall change 2.84 kB 2.84 kB

Serverless Mode
General Overall increase ⚠️
vercel/next.js canary jeantil/next.js monorepo-ts-baseUrl-transpilation Change
buildDuration 12.1s 12.1s ⚠️ +2ms
nodeModulesSize 65.5 MB 65.5 MB ⚠️ +224 B
Client Bundles (main, webpack, commons)
vercel/next.js canary jeantil/next.js monorepo-ts-baseUrl-transpilation Change
677f882d2ed8..b7a9.js gzip 10.2 kB 10.2 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
main-af9a1a4..87fe.js gzip 6.71 kB 6.71 kB
polyfills-05..1236.js gzip 30.8 kB 30.8 kB
webpack-488d..c0e7.js gzip 751 B 751 B
Overall change 87.6 kB 87.6 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary jeantil/next.js monorepo-ts-baseUrl-transpilation Change
677f882d2ed8..dule.js gzip 6.09 kB 6.09 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
main-69d5e5f..dule.js gzip 5.79 kB 5.79 kB
polyfills-05..dule.js gzip 30.8 kB 30.8 kB
webpack-4f62..dule.js gzip 751 B 751 B
Overall change 82.6 kB 82.6 kB
Client Pages
vercel/next.js canary jeantil/next.js monorepo-ts-baseUrl-transpilation Change
_app-8f5f611..1f7b.js gzip 1.28 kB 1.28 kB
_error-a98d9..5cb7.js gzip 3.45 kB 3.45 kB
hooks-f7f3d0..7465.js gzip 887 B 887 B
index-08fb3f..c0e9.js gzip 227 B 227 B
link-ddd176e..5566.js gzip 1.29 kB 1.29 kB
routerDirect..8aa1.js gzip 284 B 284 B
withRouter-f..e777.js gzip 284 B 284 B
Overall change 7.71 kB 7.71 kB
Client Pages Modern
vercel/next.js canary jeantil/next.js monorepo-ts-baseUrl-transpilation Change
_app-669dbe5..dule.js gzip 626 B 626 B
_error-d5979..dule.js gzip 2.3 kB 2.3 kB
hooks-805c40..dule.js gzip 387 B 387 B
index-6ba5a4..dule.js gzip 226 B 226 B
link-69bc264..dule.js gzip 1.25 kB 1.25 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-d..dule.js gzip 282 B 282 B
Overall change 5.36 kB 5.36 kB
Client Build Manifests
vercel/next.js canary jeantil/next.js monorepo-ts-baseUrl-transpilation Change
_buildManifest.js gzip 275 B 275 B
_buildManife..dule.js gzip 281 B 281 B
Overall change 556 B 556 B
Serverless bundles
vercel/next.js canary jeantil/next.js monorepo-ts-baseUrl-transpilation Change
_error.js 1.02 MB 1.02 MB
404.html 4.18 kB 4.18 kB
hooks.html 3.82 kB 3.82 kB
index.js 1.02 MB 1.02 MB
link.js 1.06 MB 1.06 MB
routerDirect.js 1.05 MB 1.05 MB
withRouter.js 1.05 MB 1.05 MB
Overall change 5.2 MB 5.2 MB
Commit: 3afdf54

@matamatanot
Copy link
Contributor

matamatanot commented Nov 30, 2020

With the current changes, .js files, etc. are transpiled correctly.
But css modules, etc. are not resolved.

@Timer Timer added this to the iteration 16 milestone Jan 4, 2021
kodiakhq bot pushed a commit that referenced this pull request Mar 19, 2021
…of the root directory (#22867)

This PR attempts to provide an option to allow importing TS/TSX from outside of the current Next.js project root directory. Although this goes against the design decision that no source code should be imported from outside of root and [might bring tons of issues](#19928 (comment)), it will still be helpful in some monorepo use cases.

This PR assumes that the external files are following the same language syntax rules and under the same tooling versions as the source code inside your project root. And it's also not allowed to enable the `baseUrl` feature in the external directory (as the project should only have 1 import base URL).

X-ref: #9474, #15569, #19928, #20374.
@timneutkens timneutkens modified the milestones: Iteration 18, Iteration 19 Apr 8, 2021
flybayer pushed a commit to blitz-js/next.js that referenced this pull request Apr 29, 2021
…of the root directory (vercel#22867)

This PR attempts to provide an option to allow importing TS/TSX from outside of the current Next.js project root directory. Although this goes against the design decision that no source code should be imported from outside of root and [might bring tons of issues](vercel#19928 (comment)), it will still be helpful in some monorepo use cases.

This PR assumes that the external files are following the same language syntax rules and under the same tooling versions as the source code inside your project root. And it's also not allowed to enable the `baseUrl` feature in the external directory (as the project should only have 1 import base URL).

X-ref: vercel#9474, vercel#15569, vercel#19928, vercel#20374.
@timneutkens
Copy link
Member

I'm going to close this PR in favor of #22867 which enables TS compilation from any import outside of node_modules, thanks for the PR!

@timneutkens timneutkens closed this Dec 7, 2021
@vercel vercel locked as resolved and limited conversation to collaborators Jan 27, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants