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

fix: #34711 ensure distDir inside project folder #34795

Merged
merged 1 commit into from
Feb 25, 2022
Merged

fix: #34711 ensure distDir inside project folder #34795

merged 1 commit into from
Feb 25, 2022

Conversation

sincovschi
Copy link
Contributor

@sincovschi sincovschi commented Feb 25, 2022

Fixes #34711

@@ -147,6 +147,7 @@ export default class HotReloader {
private buildId: string
private middlewares: any[]
private pagesDir: string
private distDir: string
private webpackHotMiddleware?: WebpackHotMiddleware
private config: NextConfigComplete
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

console.log(this.config.distDir)
// '../../dist/apps/blog/.next'

@@ -380,6 +380,7 @@ export default class DevServer extends Server {

this.hotReloader = new HotReloader(this.dir, {
pagesDir: this.pagesDir!,
distDir: this.distDir,
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this.distDir // here distDir is the absolute path

// Ensure distDir exists before writing package.json
await fs.mkdir(this.config.distDir, { recursive: true })
await fs.mkdir(this.distDir, { recursive: true })
Copy link
Contributor Author

@sincovschi sincovschi Feb 25, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

here fs.mkdir and fs.writeFile was trying to create a file from the root folder to a relative path that starts with ../../ which goes outside of the project.
therefore, I've replaced it with distDir from the place of the Instance creation, where distDir is an absolute path and the issue disappeared.

Copy link
Contributor Author

@sincovschi sincovschi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rechecked and left guiding comments.

Copy link
Member

@timneutkens timneutkens left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good 👍

@ijjk

This comment has been minimized.

@ijjk
Copy link
Member

ijjk commented Feb 25, 2022

Stats from current PR

Default Build (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary sincovschi/next.js canary Change
buildDuration 14.9s 14.8s -62ms
buildDurationCached 6s 6s -1ms
nodeModulesSize 367 MB 367 MB ⚠️ +300 B
Page Load Tests Overall increase ✓
vercel/next.js canary sincovschi/next.js canary Change
/ failed reqs 0 0
/ total time (seconds) 2.826 2.73 -0.1
/ avg req/sec 884.64 915.7 +31.06
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.142 1.147 ⚠️ +0.01
/error-in-render avg req/sec 2188.4 2179.03 ⚠️ -9.37
Client Bundles (main, webpack)
vercel/next.js canary sincovschi/next.js canary Change
450.HASH.js gzip 179 B 179 B
framework-HASH.js gzip 42 kB 42 kB
main-HASH.js gzip 27.8 kB 27.8 kB
webpack-HASH.js gzip 1.44 kB 1.44 kB
Overall change 71.5 kB 71.5 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary sincovschi/next.js canary Change
polyfills-HASH.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary sincovschi/next.js canary Change
_app-HASH.js gzip 1.36 kB 1.36 kB
_error-HASH.js gzip 194 B 194 B
amp-HASH.js gzip 312 B 312 B
css-HASH.js gzip 326 B 326 B
dynamic-HASH.js gzip 2.57 kB 2.57 kB
head-HASH.js gzip 350 B 350 B
hooks-HASH.js gzip 919 B 919 B
image-HASH.js gzip 5.05 kB 5.05 kB
index-HASH.js gzip 263 B 263 B
link-HASH.js gzip 2.26 kB 2.26 kB
routerDirect..HASH.js gzip 321 B 321 B
script-HASH.js gzip 383 B 383 B
withRouter-HASH.js gzip 318 B 318 B
85e02e95b279..7e3.css gzip 107 B 107 B
Overall change 14.7 kB 14.7 kB
Client Build Manifests
vercel/next.js canary sincovschi/next.js canary Change
_buildManifest.js gzip 460 B 460 B
Overall change 460 B 460 B
Rendered Page Sizes
vercel/next.js canary sincovschi/next.js canary Change
index.html gzip 530 B 530 B
link.html gzip 544 B 544 B
withRouter.html gzip 526 B 526 B
Overall change 1.6 kB 1.6 kB

Default Build with SWC (Decrease detected ✓)
General Overall increase ⚠️
vercel/next.js canary sincovschi/next.js canary Change
buildDuration 18.4s 18.3s -66ms
buildDurationCached 6s 5.9s -48ms
nodeModulesSize 367 MB 367 MB ⚠️ +300 B
Page Load Tests Overall decrease ⚠️
vercel/next.js canary sincovschi/next.js canary Change
/ failed reqs 0 0
/ total time (seconds) 2.757 2.734 -0.02
/ avg req/sec 906.87 914.54 +7.67
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.141 1.178 ⚠️ +0.04
/error-in-render avg req/sec 2191.84 2122.28 ⚠️ -69.56
Client Bundles (main, webpack)
vercel/next.js canary sincovschi/next.js canary Change
450.HASH.js gzip 179 B 179 B
framework-HASH.js gzip 42.1 kB 42.1 kB
main-HASH.js gzip 27.8 kB 27.8 kB
webpack-HASH.js gzip 1.44 kB 1.44 kB
Overall change 71.6 kB 71.6 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary sincovschi/next.js canary Change
polyfills-HASH.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary sincovschi/next.js canary Change
_app-HASH.js gzip 1.35 kB 1.35 kB
_error-HASH.js gzip 180 B 180 B
amp-HASH.js gzip 305 B 305 B
css-HASH.js gzip 321 B 321 B
dynamic-HASH.js gzip 2.56 kB 2.56 kB
head-HASH.js gzip 342 B 342 B
hooks-HASH.js gzip 911 B 911 B
image-HASH.js gzip 5.08 kB 5.08 kB
index-HASH.js gzip 256 B 256 B
link-HASH.js gzip 2.28 kB 2.28 kB
routerDirect..HASH.js gzip 314 B 314 B
script-HASH.js gzip 375 B 375 B
withRouter-HASH.js gzip 309 B 309 B
85e02e95b279..7e3.css gzip 107 B 107 B
Overall change 14.7 kB 14.7 kB
Client Build Manifests
vercel/next.js canary sincovschi/next.js canary Change
_buildManifest.js gzip 459 B 459 B
Overall change 459 B 459 B
Rendered Page Sizes
vercel/next.js canary sincovschi/next.js canary Change
index.html gzip 533 B 533 B
link.html gzip 547 B 547 B
withRouter.html gzip 527 B 527 B
Overall change 1.61 kB 1.61 kB
Commit: acf7b22

@svkale
Copy link

svkale commented Feb 27, 2022

@ijjk @shuding @huozhi Please look up after this.
My development with Nx is stuck......

@timneutkens
Copy link
Member

@svkale not sure what you're asking for, it was already merged and released on canary.

@svkale
Copy link

svkale commented Feb 28, 2022

Sorry @timneutkens. I must be misunderstood. I am still getting the error for next 12.1.0. Do I need to install 'next 12.1.1-canary.4'?

@balazsorban44
Copy link
Member

Please open a bug report with a reproduction, so we can investigate 👍

@vercel vercel locked as resolved and limited conversation to collaborators Feb 28, 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.

EACCES: permission denied, mkdir '../../dist'
5 participants