Initial commit
This commit is contained in:
commit
78f8d225ee
21173 changed files with 2907774 additions and 0 deletions
50
node_modules/next/README.md
generated
vendored
Normal file
50
node_modules/next/README.md
generated
vendored
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
<div align="center">
|
||||
<a href="https://nextjs.org">
|
||||
<picture>
|
||||
<source media="(prefers-color-scheme: dark)" srcset="https://assets.vercel.com/image/upload/v1662130559/nextjs/Icon_dark_background.png">
|
||||
<img alt="Next.js logo" src="https://assets.vercel.com/image/upload/v1662130559/nextjs/Icon_light_background.png" height="128">
|
||||
</picture>
|
||||
</a>
|
||||
<h1>Next.js</h1>
|
||||
|
||||
<a href="https://vercel.com"><img alt="Vercel logo" src="https://img.shields.io/badge/MADE%20BY%20Vercel-000000.svg?style=for-the-badge&logo=Vercel&labelColor=000"></a>
|
||||
<a href="https://www.npmjs.com/package/next"><img alt="NPM version" src="https://img.shields.io/npm/v/next.svg?style=for-the-badge&labelColor=000000"></a>
|
||||
<a href="https://github.com/vercel/next.js/blob/canary/license.md"><img alt="License" src="https://img.shields.io/npm/l/next.svg?style=for-the-badge&labelColor=000000"></a>
|
||||
<a href="https://github.com/vercel/next.js/discussions"><img alt="Join the community on GitHub" src="https://img.shields.io/badge/Join%20the%20community-blueviolet.svg?style=for-the-badge&logo=Next.js&labelColor=000000&logoWidth=20"></a>
|
||||
|
||||
</div>
|
||||
|
||||
## Getting Started
|
||||
|
||||
Used by some of the world's largest companies, Next.js enables you to create full-stack web applications by extending the latest React features, and integrating powerful Rust-based JavaScript tooling for the fastest builds.
|
||||
|
||||
- Visit our [Learn Next.js](https://nextjs.org/learn) course to get started with Next.js.
|
||||
- Visit the [Next.js Showcase](https://nextjs.org/showcase) to see more sites built with Next.js.
|
||||
|
||||
## Documentation
|
||||
|
||||
Visit [https://nextjs.org/docs](https://nextjs.org/docs) to view the full documentation.
|
||||
|
||||
## Community
|
||||
|
||||
The Next.js community can be found on [GitHub Discussions](https://github.com/vercel/next.js/discussions) where you can ask questions, voice ideas, and share your projects with other people.
|
||||
|
||||
To chat with other community members you can join the Next.js [Discord](https://nextjs.org/discord) server.
|
||||
|
||||
Do note that our [Code of Conduct](https://github.com/vercel/next.js/blob/canary/CODE_OF_CONDUCT.md) applies to all Next.js community channels. Users are **highly encouraged** to read and adhere to them to avoid repercussions.
|
||||
|
||||
## Contributing
|
||||
|
||||
Contributions to Next.js are welcome and highly appreciated. However, before you jump right into it, we would like you to review our [Contribution Guidelines](/contributing.md) to make sure you have a smooth experience contributing to Next.js.
|
||||
|
||||
### Good First Issues:
|
||||
|
||||
We have a list of **[good first issues](https://github.com/vercel/next.js/labels/good%20first%20issue)** that contain bugs that have a relatively limited scope. This is a great place for newcomers and beginners alike to get started, gain experience, and get familiar with our contribution process.
|
||||
|
||||
---
|
||||
|
||||
## Security
|
||||
|
||||
If you believe you have found a security vulnerability in Next.js, we encourage you to **_responsibly disclose this and NOT open a public issue_**. We will investigate all legitimate reports.
|
||||
|
||||
Our preference is that you make use of GitHub's private vulnerability reporting feature to disclose potential security vulnerabilities in our Open Source Software. To do this, please visit [https://github.com/vercel/next.js/security](https://github.com/vercel/next.js/security) and click the "Report a vulnerability" button.
|
||||
1
node_modules/next/amp.d.ts
generated
vendored
Normal file
1
node_modules/next/amp.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
export * from './dist/shared/lib/amp'
|
||||
1
node_modules/next/amp.js
generated
vendored
Normal file
1
node_modules/next/amp.js
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
module.exports = require('./dist/shared/lib/amp')
|
||||
3
node_modules/next/app.d.ts
generated
vendored
Normal file
3
node_modules/next/app.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
import App from './dist/pages/_app'
|
||||
export * from './dist/pages/_app'
|
||||
export default App
|
||||
1
node_modules/next/app.js
generated
vendored
Normal file
1
node_modules/next/app.js
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
module.exports = require('./dist/pages/_app')
|
||||
1
node_modules/next/babel.d.ts
generated
vendored
Normal file
1
node_modules/next/babel.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
export * from './dist/build/babel/preset'
|
||||
1
node_modules/next/babel.js
generated
vendored
Normal file
1
node_modules/next/babel.js
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
module.exports = require('./dist/build/babel/preset')
|
||||
149
node_modules/next/cache.d.ts
generated
vendored
Normal file
149
node_modules/next/cache.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,149 @@
|
|||
export { unstable_cache } from 'next/dist/server/web/spec-extension/unstable-cache'
|
||||
|
||||
export {
|
||||
revalidatePath,
|
||||
revalidateTag,
|
||||
unstable_expirePath,
|
||||
unstable_expireTag,
|
||||
} from 'next/dist/server/web/spec-extension/revalidate'
|
||||
|
||||
export { unstable_noStore } from 'next/dist/server/web/spec-extension/unstable-no-store'
|
||||
|
||||
export { cacheTag as unstable_cacheTag } from 'next/dist/server/use-cache/cache-tag'
|
||||
|
||||
/**
|
||||
* Cache this `"use cache"` for a timespan defined by the `"default"` profile.
|
||||
* ```
|
||||
* stale: 300 seconds (5 minutes)
|
||||
* revalidate: 900 seconds (15 minutes)
|
||||
* expire: never
|
||||
* ```
|
||||
*
|
||||
* This cache may be stale on clients for 5 minutes before checking with the server.
|
||||
* If the server receives a new request after 15 minutes, start revalidating new values in the background.
|
||||
* It lives for the maximum age of the server cache. If this entry has no traffic for a while, it may serve an old value the next request.
|
||||
*/
|
||||
export function unstable_cacheLife(profile: 'default'): void
|
||||
|
||||
/**
|
||||
* Cache this `"use cache"` for a timespan defined by the `"seconds"` profile.
|
||||
* ```
|
||||
* stale: 0 seconds
|
||||
* revalidate: 1 seconds
|
||||
* expire: 1 minute
|
||||
* ```
|
||||
*
|
||||
* This cache may be stale on clients for 0 seconds before checking with the server.
|
||||
* If the server receives a new request after 1 second, start revalidating new values in the background.
|
||||
* If this entry has no traffic for 1 minute it will expire. The next request will recompute it.
|
||||
*/
|
||||
export function unstable_cacheLife(profile: 'seconds'): void
|
||||
|
||||
/**
|
||||
* Cache this `"use cache"` for a timespan defined by the `"minutes"` profile.
|
||||
* ```
|
||||
* stale: 300 seconds (5 minutes)
|
||||
* revalidate: 60 seconds (1 minute)
|
||||
* expire: 3600 seconds (1 hour)
|
||||
* ```
|
||||
*
|
||||
* This cache may be stale on clients for 5 minutes before checking with the server.
|
||||
* If the server receives a new request after 1 minute, start revalidating new values in the background.
|
||||
* If this entry has no traffic for 1 hour it will expire. The next request will recompute it.
|
||||
*/
|
||||
export function unstable_cacheLife(profile: 'minutes'): void
|
||||
|
||||
/**
|
||||
* Cache this `"use cache"` for a timespan defined by the `"hours"` profile.
|
||||
* ```
|
||||
* stale: 300 seconds (5 minutes)
|
||||
* revalidate: 3600 seconds (1 hour)
|
||||
* expire: 86400 seconds (1 day)
|
||||
* ```
|
||||
*
|
||||
* This cache may be stale on clients for 5 minutes before checking with the server.
|
||||
* If the server receives a new request after 1 hour, start revalidating new values in the background.
|
||||
* If this entry has no traffic for 1 day it will expire. The next request will recompute it.
|
||||
*/
|
||||
export function unstable_cacheLife(profile: 'hours'): void
|
||||
|
||||
/**
|
||||
* Cache this `"use cache"` for a timespan defined by the `"days"` profile.
|
||||
* ```
|
||||
* stale: 300 seconds (5 minutes)
|
||||
* revalidate: 86400 seconds (1 day)
|
||||
* expire: 604800 seconds (1 week)
|
||||
* ```
|
||||
*
|
||||
* This cache may be stale on clients for 5 minutes before checking with the server.
|
||||
* If the server receives a new request after 1 day, start revalidating new values in the background.
|
||||
* If this entry has no traffic for 1 week it will expire. The next request will recompute it.
|
||||
*/
|
||||
export function unstable_cacheLife(profile: 'days'): void
|
||||
|
||||
/**
|
||||
* Cache this `"use cache"` for a timespan defined by the `"weeks"` profile.
|
||||
* ```
|
||||
* stale: 300 seconds (5 minutes)
|
||||
* revalidate: 604800 seconds (1 week)
|
||||
* expire: 2592000 seconds (30 days)
|
||||
* ```
|
||||
*
|
||||
* This cache may be stale on clients for 5 minutes before checking with the server.
|
||||
* If the server receives a new request after 1 week, start revalidating new values in the background.
|
||||
* If this entry has no traffic for 30 days it will expire. The next request will recompute it.
|
||||
*/
|
||||
export function unstable_cacheLife(profile: 'weeks'): void
|
||||
|
||||
/**
|
||||
* Cache this `"use cache"` for a timespan defined by the `"max"` profile.
|
||||
* ```
|
||||
* stale: 300 seconds (5 minutes)
|
||||
* revalidate: 2592000 seconds (30 days)
|
||||
* expire: never
|
||||
* ```
|
||||
*
|
||||
* This cache may be stale on clients for 5 minutes before checking with the server.
|
||||
* If the server receives a new request after 30 days, start revalidating new values in the background.
|
||||
* It lives for the maximum age of the server cache. If this entry has no traffic for a while, it may serve an old value the next request.
|
||||
*/
|
||||
export function unstable_cacheLife(profile: 'max'): void
|
||||
|
||||
/**
|
||||
* Cache this `"use cache"` using a custom profile "...".
|
||||
* ```
|
||||
* stale: ... // seconds
|
||||
* revalidate: ... // seconds
|
||||
* expire: ... // seconds
|
||||
* ```
|
||||
*
|
||||
* You can define custom profiles in `next.config.ts`.
|
||||
*/
|
||||
export function unstable_cacheLife(profile: string): void
|
||||
|
||||
/**
|
||||
* Cache this `"use cache"` using a custom timespan.
|
||||
* ```
|
||||
* stale: ... // seconds
|
||||
* revalidate: ... // seconds
|
||||
* expire: ... // seconds
|
||||
* ```
|
||||
*
|
||||
* This is similar to Cache-Control: max-age=`stale`,s-max-age=`revalidate`,stale-while-revalidate=`expire-revalidate`
|
||||
*
|
||||
* If a value is left out, the lowest of other cacheLife() calls or the default, is used instead.
|
||||
*/
|
||||
export function unstable_cacheLife(profile: {
|
||||
/**
|
||||
* This cache may be stale on clients for ... seconds before checking with the server.
|
||||
*/
|
||||
stale?: number
|
||||
/**
|
||||
* If the server receives a new request after ... seconds, start revalidating new values in the background.
|
||||
*/
|
||||
revalidate?: number
|
||||
/**
|
||||
* If this entry has no traffic for ... seconds it will expire. The next request will recompute it.
|
||||
*/
|
||||
expire?: number
|
||||
}): void
|
||||
35
node_modules/next/cache.js
generated
vendored
Normal file
35
node_modules/next/cache.js
generated
vendored
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
const cacheExports = {
|
||||
unstable_cache: require('next/dist/server/web/spec-extension/unstable-cache')
|
||||
.unstable_cache,
|
||||
|
||||
revalidateTag: require('next/dist/server/web/spec-extension/revalidate')
|
||||
.revalidateTag,
|
||||
revalidatePath: require('next/dist/server/web/spec-extension/revalidate')
|
||||
.revalidatePath,
|
||||
|
||||
unstable_expireTag: require('next/dist/server/web/spec-extension/revalidate')
|
||||
.unstable_expireTag,
|
||||
unstable_expirePath: require('next/dist/server/web/spec-extension/revalidate')
|
||||
.unstable_expirePath,
|
||||
|
||||
unstable_noStore:
|
||||
require('next/dist/server/web/spec-extension/unstable-no-store')
|
||||
.unstable_noStore,
|
||||
unstable_cacheLife: require('next/dist/server/use-cache/cache-life')
|
||||
.cacheLife,
|
||||
unstable_cacheTag: require('next/dist/server/use-cache/cache-tag').cacheTag,
|
||||
}
|
||||
|
||||
// https://nodejs.org/api/esm.html#commonjs-namespaces
|
||||
// When importing CommonJS modules, the module.exports object is provided as the default export
|
||||
module.exports = cacheExports
|
||||
|
||||
// make import { xxx } from 'next/cache' work
|
||||
exports.unstable_cache = cacheExports.unstable_cache
|
||||
exports.revalidatePath = cacheExports.revalidatePath
|
||||
exports.revalidateTag = cacheExports.revalidateTag
|
||||
exports.unstable_expireTag = cacheExports.unstable_expireTag
|
||||
exports.unstable_expirePath = cacheExports.unstable_expirePath
|
||||
exports.unstable_noStore = cacheExports.unstable_noStore
|
||||
exports.unstable_cacheLife = cacheExports.unstable_cacheLife
|
||||
exports.unstable_cacheTag = cacheExports.unstable_cacheTag
|
||||
1
node_modules/next/client.d.ts
generated
vendored
Normal file
1
node_modules/next/client.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
export * from './dist/client/index'
|
||||
1
node_modules/next/client.js
generated
vendored
Normal file
1
node_modules/next/client.js
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
module.exports = require('./dist/client/index')
|
||||
1
node_modules/next/compat/router.d.ts
generated
vendored
Normal file
1
node_modules/next/compat/router.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
export * from '../dist/client/compat/router'
|
||||
1
node_modules/next/compat/router.js
generated
vendored
Normal file
1
node_modules/next/compat/router.js
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
module.exports = require('../dist/client/compat/router')
|
||||
3
node_modules/next/config.d.ts
generated
vendored
Normal file
3
node_modules/next/config.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
import getConfig from './dist/shared/lib/runtime-config.external'
|
||||
export * from './dist/shared/lib/runtime-config.external'
|
||||
export default getConfig
|
||||
1
node_modules/next/config.js
generated
vendored
Normal file
1
node_modules/next/config.js
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
module.exports = require('./dist/shared/lib/runtime-config.external')
|
||||
1
node_modules/next/constants.d.ts
generated
vendored
Normal file
1
node_modules/next/constants.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
export * from './dist/shared/lib/constants'
|
||||
1
node_modules/next/constants.js
generated
vendored
Normal file
1
node_modules/next/constants.js
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
module.exports = require('./dist/shared/lib/constants')
|
||||
2
node_modules/next/dist/api/app-dynamic.d.ts
generated
vendored
Normal file
2
node_modules/next/dist/api/app-dynamic.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
export * from '../shared/lib/app-dynamic';
|
||||
export { default } from '../shared/lib/app-dynamic';
|
||||
4
node_modules/next/dist/api/app-dynamic.js
generated
vendored
Normal file
4
node_modules/next/dist/api/app-dynamic.js
generated
vendored
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
export * from '../shared/lib/app-dynamic';
|
||||
export { default } from '../shared/lib/app-dynamic';
|
||||
|
||||
//# sourceMappingURL=app-dynamic.js.map
|
||||
1
node_modules/next/dist/api/app-dynamic.js.map
generated
vendored
Normal file
1
node_modules/next/dist/api/app-dynamic.js.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"sources":["../../src/api/app-dynamic.ts"],"sourcesContent":["export * from '../shared/lib/app-dynamic'\nexport { default } from '../shared/lib/app-dynamic'\n"],"names":["default"],"mappings":"AAAA,cAAc,4BAA2B;AACzC,SAASA,OAAO,QAAQ,4BAA2B"}
|
||||
2
node_modules/next/dist/api/app.d.ts
generated
vendored
Normal file
2
node_modules/next/dist/api/app.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
export * from '../pages/_app';
|
||||
export { default } from '../pages/_app';
|
||||
4
node_modules/next/dist/api/app.js
generated
vendored
Normal file
4
node_modules/next/dist/api/app.js
generated
vendored
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
export * from '../pages/_app';
|
||||
export { default } from '../pages/_app';
|
||||
|
||||
//# sourceMappingURL=app.js.map
|
||||
1
node_modules/next/dist/api/app.js.map
generated
vendored
Normal file
1
node_modules/next/dist/api/app.js.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"sources":["../../src/api/app.tsx"],"sourcesContent":["export * from '../pages/_app'\nexport { default } from '../pages/_app'\n"],"names":["default"],"mappings":"AAAA,cAAc,gBAAe;AAC7B,SAASA,OAAO,QAAQ,gBAAe"}
|
||||
1
node_modules/next/dist/api/constants.d.ts
generated
vendored
Normal file
1
node_modules/next/dist/api/constants.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
export * from '../shared/lib/constants';
|
||||
3
node_modules/next/dist/api/constants.js
generated
vendored
Normal file
3
node_modules/next/dist/api/constants.js
generated
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
export * from '../shared/lib/constants';
|
||||
|
||||
//# sourceMappingURL=constants.js.map
|
||||
1
node_modules/next/dist/api/constants.js.map
generated
vendored
Normal file
1
node_modules/next/dist/api/constants.js.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"sources":["../../src/api/constants.ts"],"sourcesContent":["export * from '../shared/lib/constants'\n"],"names":[],"mappings":"AAAA,cAAc,0BAAyB"}
|
||||
2
node_modules/next/dist/api/document.d.ts
generated
vendored
Normal file
2
node_modules/next/dist/api/document.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
export * from '../pages/_document';
|
||||
export { default } from '../pages/_document';
|
||||
4
node_modules/next/dist/api/document.js
generated
vendored
Normal file
4
node_modules/next/dist/api/document.js
generated
vendored
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
export * from '../pages/_document';
|
||||
export { default } from '../pages/_document';
|
||||
|
||||
//# sourceMappingURL=document.js.map
|
||||
1
node_modules/next/dist/api/document.js.map
generated
vendored
Normal file
1
node_modules/next/dist/api/document.js.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"sources":["../../src/api/document.tsx"],"sourcesContent":["export * from '../pages/_document'\nexport { default } from '../pages/_document'\n"],"names":["default"],"mappings":"AAAA,cAAc,qBAAoB;AAClC,SAASA,OAAO,QAAQ,qBAAoB"}
|
||||
2
node_modules/next/dist/api/dynamic.d.ts
generated
vendored
Normal file
2
node_modules/next/dist/api/dynamic.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
export { default } from '../shared/lib/dynamic';
|
||||
export * from '../shared/lib/dynamic';
|
||||
4
node_modules/next/dist/api/dynamic.js
generated
vendored
Normal file
4
node_modules/next/dist/api/dynamic.js
generated
vendored
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
export { default } from '../shared/lib/dynamic';
|
||||
export * from '../shared/lib/dynamic';
|
||||
|
||||
//# sourceMappingURL=dynamic.js.map
|
||||
1
node_modules/next/dist/api/dynamic.js.map
generated
vendored
Normal file
1
node_modules/next/dist/api/dynamic.js.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"sources":["../../src/api/dynamic.ts"],"sourcesContent":["export { default } from '../shared/lib/dynamic'\nexport * from '../shared/lib/dynamic'\n"],"names":["default"],"mappings":"AAAA,SAASA,OAAO,QAAQ,wBAAuB;AAC/C,cAAc,wBAAuB"}
|
||||
2
node_modules/next/dist/api/form.d.ts
generated
vendored
Normal file
2
node_modules/next/dist/api/form.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
export { default } from '../client/form';
|
||||
export * from '../client/form';
|
||||
4
node_modules/next/dist/api/form.js
generated
vendored
Normal file
4
node_modules/next/dist/api/form.js
generated
vendored
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
export { default } from '../client/form';
|
||||
export * from '../client/form';
|
||||
|
||||
//# sourceMappingURL=form.js.map
|
||||
1
node_modules/next/dist/api/form.js.map
generated
vendored
Normal file
1
node_modules/next/dist/api/form.js.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"sources":["../../src/api/form.ts"],"sourcesContent":["export { default } from '../client/form'\nexport * from '../client/form'\n"],"names":["default"],"mappings":"AAAA,SAASA,OAAO,QAAQ,iBAAgB;AACxC,cAAc,iBAAgB"}
|
||||
2
node_modules/next/dist/api/head.d.ts
generated
vendored
Normal file
2
node_modules/next/dist/api/head.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
export { default } from '../shared/lib/head';
|
||||
export * from '../shared/lib/head';
|
||||
4
node_modules/next/dist/api/head.js
generated
vendored
Normal file
4
node_modules/next/dist/api/head.js
generated
vendored
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
export { default } from '../shared/lib/head';
|
||||
export * from '../shared/lib/head';
|
||||
|
||||
//# sourceMappingURL=head.js.map
|
||||
1
node_modules/next/dist/api/head.js.map
generated
vendored
Normal file
1
node_modules/next/dist/api/head.js.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"sources":["../../src/api/head.ts"],"sourcesContent":["export { default } from '../shared/lib/head'\nexport * from '../shared/lib/head'\n"],"names":["default"],"mappings":"AAAA,SAASA,OAAO,QAAQ,qBAAoB;AAC5C,cAAc,qBAAoB"}
|
||||
3
node_modules/next/dist/api/headers.d.ts
generated
vendored
Normal file
3
node_modules/next/dist/api/headers.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
export * from '../server/request/cookies';
|
||||
export * from '../server/request/headers';
|
||||
export * from '../server/request/draft-mode';
|
||||
5
node_modules/next/dist/api/headers.js
generated
vendored
Normal file
5
node_modules/next/dist/api/headers.js
generated
vendored
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
export * from '../server/request/cookies';
|
||||
export * from '../server/request/headers';
|
||||
export * from '../server/request/draft-mode';
|
||||
|
||||
//# sourceMappingURL=headers.js.map
|
||||
1
node_modules/next/dist/api/headers.js.map
generated
vendored
Normal file
1
node_modules/next/dist/api/headers.js.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"sources":["../../src/api/headers.ts"],"sourcesContent":["export * from '../server/request/cookies'\nexport * from '../server/request/headers'\nexport * from '../server/request/draft-mode'\n"],"names":[],"mappings":"AAAA,cAAc,4BAA2B;AACzC,cAAc,4BAA2B;AACzC,cAAc,+BAA8B"}
|
||||
2
node_modules/next/dist/api/image.d.ts
generated
vendored
Normal file
2
node_modules/next/dist/api/image.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
export { default } from '../shared/lib/image-external';
|
||||
export * from '../shared/lib/image-external';
|
||||
4
node_modules/next/dist/api/image.js
generated
vendored
Normal file
4
node_modules/next/dist/api/image.js
generated
vendored
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
export { default } from '../shared/lib/image-external';
|
||||
export * from '../shared/lib/image-external';
|
||||
|
||||
//# sourceMappingURL=image.js.map
|
||||
1
node_modules/next/dist/api/image.js.map
generated
vendored
Normal file
1
node_modules/next/dist/api/image.js.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"sources":["../../src/api/image.ts"],"sourcesContent":["export { default } from '../shared/lib/image-external'\nexport * from '../shared/lib/image-external'\n"],"names":["default"],"mappings":"AAAA,SAASA,OAAO,QAAQ,+BAA8B;AACtD,cAAc,+BAA8B"}
|
||||
2
node_modules/next/dist/api/link.d.ts
generated
vendored
Normal file
2
node_modules/next/dist/api/link.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
export { default } from '../client/link';
|
||||
export * from '../client/link';
|
||||
4
node_modules/next/dist/api/link.js
generated
vendored
Normal file
4
node_modules/next/dist/api/link.js
generated
vendored
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
export { default } from '../client/link';
|
||||
export * from '../client/link';
|
||||
|
||||
//# sourceMappingURL=link.js.map
|
||||
1
node_modules/next/dist/api/link.js.map
generated
vendored
Normal file
1
node_modules/next/dist/api/link.js.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"sources":["../../src/api/link.ts"],"sourcesContent":["export { default } from '../client/link'\nexport * from '../client/link'\n"],"names":["default"],"mappings":"AAAA,SAASA,OAAO,QAAQ,iBAAgB;AACxC,cAAc,iBAAgB"}
|
||||
1
node_modules/next/dist/api/navigation.d.ts
generated
vendored
Normal file
1
node_modules/next/dist/api/navigation.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
export * from '../client/components/navigation';
|
||||
3
node_modules/next/dist/api/navigation.js
generated
vendored
Normal file
3
node_modules/next/dist/api/navigation.js
generated
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
export * from '../client/components/navigation';
|
||||
|
||||
//# sourceMappingURL=navigation.js.map
|
||||
1
node_modules/next/dist/api/navigation.js.map
generated
vendored
Normal file
1
node_modules/next/dist/api/navigation.js.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"sources":["../../src/api/navigation.ts"],"sourcesContent":["export * from '../client/components/navigation'\n"],"names":[],"mappings":"AAAA,cAAc,kCAAiC"}
|
||||
1
node_modules/next/dist/api/navigation.react-server.d.ts
generated
vendored
Normal file
1
node_modules/next/dist/api/navigation.react-server.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
export * from '../client/components/navigation.react-server';
|
||||
3
node_modules/next/dist/api/navigation.react-server.js
generated
vendored
Normal file
3
node_modules/next/dist/api/navigation.react-server.js
generated
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
export * from '../client/components/navigation.react-server';
|
||||
|
||||
//# sourceMappingURL=navigation.react-server.js.map
|
||||
1
node_modules/next/dist/api/navigation.react-server.js.map
generated
vendored
Normal file
1
node_modules/next/dist/api/navigation.react-server.js.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"sources":["../../src/api/navigation.react-server.ts"],"sourcesContent":["export * from '../client/components/navigation.react-server'\n"],"names":[],"mappings":"AAAA,cAAc,+CAA8C"}
|
||||
1
node_modules/next/dist/api/og.d.ts
generated
vendored
Normal file
1
node_modules/next/dist/api/og.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
export * from '../server/og/image-response';
|
||||
3
node_modules/next/dist/api/og.js
generated
vendored
Normal file
3
node_modules/next/dist/api/og.js
generated
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
export * from '../server/og/image-response';
|
||||
|
||||
//# sourceMappingURL=og.js.map
|
||||
1
node_modules/next/dist/api/og.js.map
generated
vendored
Normal file
1
node_modules/next/dist/api/og.js.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"sources":["../../src/api/og.ts"],"sourcesContent":["export * from '../server/og/image-response'\n"],"names":[],"mappings":"AAAA,cAAc,8BAA6B"}
|
||||
2
node_modules/next/dist/api/router.d.ts
generated
vendored
Normal file
2
node_modules/next/dist/api/router.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
export { default } from '../client/router';
|
||||
export * from '../client/router';
|
||||
4
node_modules/next/dist/api/router.js
generated
vendored
Normal file
4
node_modules/next/dist/api/router.js
generated
vendored
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
export { default } from '../client/router';
|
||||
export * from '../client/router';
|
||||
|
||||
//# sourceMappingURL=router.js.map
|
||||
1
node_modules/next/dist/api/router.js.map
generated
vendored
Normal file
1
node_modules/next/dist/api/router.js.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"sources":["../../src/api/router.ts"],"sourcesContent":["export { default } from '../client/router'\nexport * from '../client/router'\n"],"names":["default"],"mappings":"AAAA,SAASA,OAAO,QAAQ,mBAAkB;AAC1C,cAAc,mBAAkB"}
|
||||
2
node_modules/next/dist/api/script.d.ts
generated
vendored
Normal file
2
node_modules/next/dist/api/script.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
export { default } from '../client/script';
|
||||
export * from '../client/script';
|
||||
4
node_modules/next/dist/api/script.js
generated
vendored
Normal file
4
node_modules/next/dist/api/script.js
generated
vendored
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
export { default } from '../client/script';
|
||||
export * from '../client/script';
|
||||
|
||||
//# sourceMappingURL=script.js.map
|
||||
1
node_modules/next/dist/api/script.js.map
generated
vendored
Normal file
1
node_modules/next/dist/api/script.js.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"sources":["../../src/api/script.ts"],"sourcesContent":["export { default } from '../client/script'\nexport * from '../client/script'\n"],"names":["default"],"mappings":"AAAA,SAASA,OAAO,QAAQ,mBAAkB;AAC1C,cAAc,mBAAkB"}
|
||||
1
node_modules/next/dist/api/server.d.ts
generated
vendored
Normal file
1
node_modules/next/dist/api/server.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
export * from '../server/web/exports/index';
|
||||
3
node_modules/next/dist/api/server.js
generated
vendored
Normal file
3
node_modules/next/dist/api/server.js
generated
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
export * from '../server/web/exports/index';
|
||||
|
||||
//# sourceMappingURL=server.js.map
|
||||
1
node_modules/next/dist/api/server.js.map
generated
vendored
Normal file
1
node_modules/next/dist/api/server.js.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"sources":["../../src/api/server.ts"],"sourcesContent":["export * from '../server/web/exports/index'\n"],"names":[],"mappings":"AAAA,cAAc,8BAA6B"}
|
||||
131
node_modules/next/dist/bin/next
generated
vendored
Executable file
131
node_modules/next/dist/bin/next
generated
vendored
Executable file
|
|
@ -0,0 +1,131 @@
|
|||
#!/usr/bin/env node
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
require("../server/require-hook");
|
||||
const _commander = require("next/dist/compiled/commander");
|
||||
const _log = require("../build/output/log");
|
||||
const _semver = /*#__PURE__*/ _interop_require_default(require("next/dist/compiled/semver"));
|
||||
const _picocolors = require("../lib/picocolors");
|
||||
const _formatclihelpoutput = require("../lib/format-cli-help-output");
|
||||
const _constants = require("../lib/constants");
|
||||
const _utils = require("../server/lib/utils");
|
||||
const _nexttest = require("../cli/next-test.js");
|
||||
function _interop_require_default(obj) {
|
||||
return obj && obj.__esModule ? obj : {
|
||||
default: obj
|
||||
};
|
||||
}
|
||||
if (process.env.NEXT_RSPACK) {
|
||||
// silent rspack's schema check
|
||||
process.env.RSPACK_CONFIG_VALIDATE = 'loose-silent';
|
||||
}
|
||||
if (!_semver.default.satisfies(process.versions.node, "^18.18.0 || ^19.8.0 || >= 20.0.0", {
|
||||
includePrerelease: true
|
||||
})) {
|
||||
console.error(`You are using Node.js ${process.versions.node}. For Next.js, Node.js version "${"^18.18.0 || ^19.8.0 || >= 20.0.0"}" is required.`);
|
||||
process.exit(1);
|
||||
}
|
||||
// Start performance profiling after Node.js version is checked
|
||||
performance.mark('next-start');
|
||||
for (const dependency of [
|
||||
'react',
|
||||
'react-dom'
|
||||
]){
|
||||
try {
|
||||
// When 'npm link' is used it checks the clone location. Not the project.
|
||||
require.resolve(dependency);
|
||||
} catch (err) {
|
||||
console.warn(`The module '${dependency}' was not found. Next.js requires that you include it in 'dependencies' of your 'package.json'. To add it, run 'npm install ${dependency}'`);
|
||||
}
|
||||
}
|
||||
class NextRootCommand extends _commander.Command {
|
||||
createCommand(name) {
|
||||
const command = new _commander.Command(name);
|
||||
command.addOption(new _commander.Option('--inspect').hideHelp());
|
||||
command.hook('preAction', (event)=>{
|
||||
const commandName = event.name();
|
||||
const defaultEnv = commandName === 'dev' ? 'development' : 'production';
|
||||
const standardEnv = [
|
||||
'production',
|
||||
'development',
|
||||
'test'
|
||||
];
|
||||
if (process.env.NODE_ENV) {
|
||||
const isNotStandard = !standardEnv.includes(process.env.NODE_ENV);
|
||||
const shouldWarnCommands = process.env.NODE_ENV === 'development' ? [
|
||||
'start',
|
||||
'build'
|
||||
] : process.env.NODE_ENV === 'production' ? [
|
||||
'dev'
|
||||
] : [];
|
||||
if (isNotStandard || shouldWarnCommands.includes(commandName)) {
|
||||
(0, _log.warn)(_constants.NON_STANDARD_NODE_ENV);
|
||||
}
|
||||
}
|
||||
;
|
||||
process.env.NODE_ENV = process.env.NODE_ENV || defaultEnv;
|
||||
process.env.NEXT_RUNTIME = 'nodejs';
|
||||
if (event.getOptionValue('inspect') === true) {
|
||||
console.error(`\`--inspect\` flag is deprecated. Use env variable NODE_OPTIONS instead: NODE_OPTIONS='--inspect' next ${commandName}`);
|
||||
process.exit(1);
|
||||
}
|
||||
});
|
||||
return command;
|
||||
}
|
||||
}
|
||||
const program = new NextRootCommand();
|
||||
program.name('next').description('The Next.js CLI allows you to develop, build, start your application, and more.').configureHelp({
|
||||
formatHelp: (cmd, helper)=>(0, _formatclihelpoutput.formatCliHelpOutput)(cmd, helper),
|
||||
subcommandTerm: (cmd)=>`${cmd.name()} ${cmd.usage()}`
|
||||
}).helpCommand(false).helpOption('-h, --help', 'Displays this message.').version(`Next.js v${"15.3.2"}`, '-v, --version', 'Outputs the Next.js version.');
|
||||
program.command('build').description('Creates an optimized production build of your application. The output displays information about each route.').argument('[directory]', `A directory on which to build the application. ${(0, _picocolors.italic)('If no directory is provided, the current directory will be used.')}`).option('-d, --debug', 'Enables a more verbose build output.').option('--no-lint', 'Disables linting.').option('--no-mangling', 'Disables mangling.').option('--profile', 'Enables production profiling for React.').option('--experimental-app-only', 'Builds only App Router routes.').option('--turbo', 'Starts development mode using Turbopack.').option('--turbopack', 'Starts development mode using Turbopack.').addOption(new _commander.Option('--experimental-build-mode [mode]', 'Uses an experimental build mode.').choices([
|
||||
'compile',
|
||||
'generate',
|
||||
'generate-env'
|
||||
]).default('default')).option('--experimental-debug-memory-usage', 'Enables memory profiling features to debug memory consumption.').option('--experimental-upload-trace, <traceUrl>', 'Reports a subset of the debugging trace to a remote HTTP URL. Includes sensitive data.').action((directory, options)=>// ensure process exits after build completes so open handles/connections
|
||||
// don't cause process to hang
|
||||
import('../cli/next-build.js').then((mod)=>mod.nextBuild(options, directory).then(()=>process.exit(0)))).usage('[directory] [options]');
|
||||
program.command('dev', {
|
||||
isDefault: true
|
||||
}).description('Starts Next.js in development mode with hot-code reloading, error reporting, and more.').argument('[directory]', `A directory on which to build the application. ${(0, _picocolors.italic)('If no directory is provided, the current directory will be used.')}`).option('--turbo', 'Starts development mode using Turbopack.').option('--turbopack', 'Starts development mode using Turbopack.').addOption(new _commander.Option('-p, --port <port>', 'Specify a port number on which to start the application.').argParser(_utils.parseValidPositiveInteger).default(3000).env('PORT')).option('-H, --hostname <hostname>', 'Specify a hostname on which to start the application (default: 0.0.0.0).').option('--disable-source-maps', "Don't start the Dev server with `--enable-source-maps`.", false).option('--experimental-https', 'Starts the server with HTTPS and generates a self-signed certificate.').option('--experimental-https-key, <path>', 'Path to a HTTPS key file.').option('--experimental-https-cert, <path>', 'Path to a HTTPS certificate file.').option('--experimental-https-ca, <path>', 'Path to a HTTPS certificate authority file.').option('--experimental-upload-trace, <traceUrl>', 'Reports a subset of the debugging trace to a remote HTTP URL. Includes sensitive data.').action((directory, options, { _optionValueSources })=>{
|
||||
const portSource = _optionValueSources.port;
|
||||
import('../cli/next-dev.js').then((mod)=>mod.nextDev(options, portSource, directory));
|
||||
}).usage('[directory] [options]');
|
||||
program.command('export', {
|
||||
hidden: true
|
||||
}).action(()=>import('../cli/next-export.js').then((mod)=>mod.nextExport())).helpOption(false);
|
||||
program.command('info').description('Prints relevant details about the current system which can be used to report Next.js bugs.').addHelpText('after', `\nLearn more: ${(0, _picocolors.cyan)('https://nextjs.org/docs/api-reference/cli#info')}`).option('--verbose', 'Collects additional information for debugging.').action((options)=>import('../cli/next-info.js').then((mod)=>mod.nextInfo(options)));
|
||||
program.command('lint').description('Runs ESLint for all files in the `/src`, `/app`, `/pages`, `/components`, and `/lib` directories. It also provides a guided setup to install any required dependencies if ESLint is not already configured in your application.').argument('[directory]', `A base directory on which to lint the application. ${(0, _picocolors.italic)('If no directory is provided, the current directory will be used.')}`).option('-d, --dir, <dirs...>', 'Include directory, or directories, to run ESLint.').option('--file, <files...>', 'Include file, or files, to run ESLint.').addOption(new _commander.Option('--ext, [exts...]', 'Specify JavaScript file extensions.').default([
|
||||
'.js',
|
||||
'.mjs',
|
||||
'.cjs',
|
||||
'.jsx',
|
||||
'.ts',
|
||||
'.mts',
|
||||
'.cts',
|
||||
'.tsx'
|
||||
])).option('-c, --config, <config>', 'Uses this configuration file, overriding all other configuration options.').option('--resolve-plugins-relative-to, <rprt>', 'Specify a directory where plugins should be resolved from.').option('--strict', 'Creates a `.eslintrc.json` file using the Next.js strict configuration.').option('--rulesdir, <rulesdir...>', 'Uses additional rules from this directory(s).').option('--fix', 'Automatically fix linting issues.').option('--fix-type <fixType>', 'Specify the types of fixes to apply (e.g., problem, suggestion, layout).').option('--ignore-path <path>', 'Specify a file to ignore.').option('--no-ignore', 'Disables the `--ignore-path` option.').option('--quiet', 'Reports errors only.').addOption(new _commander.Option('--max-warnings [maxWarnings]', 'Specify the number of warnings before triggering a non-zero exit code.').argParser(_utils.parseValidPositiveInteger).default(-1)).option('-o, --output-file, <outputFile>', 'Specify a file to write report to.').option('-f, --format, <format>', 'Uses a specific output format.').option('--no-inline-config', 'Prevents comments from changing config or rules.').addOption(new _commander.Option('--report-unused-disable-directives-severity <level>', 'Specify severity level for unused eslint-disable directives.').choices([
|
||||
'error',
|
||||
'off',
|
||||
'warn'
|
||||
])).option('--no-cache', 'Disables caching.').option('--cache-location, <cacheLocation>', 'Specify a location for cache.').addOption(new _commander.Option('--cache-strategy, [cacheStrategy]', 'Specify a strategy to use for detecting changed files in the cache.').default('metadata')).option('--error-on-unmatched-pattern', 'Reports errors when any file patterns are unmatched.').action((directory, options)=>import('../cli/next-lint.js').then((mod)=>mod.nextLint(options, directory))).usage('[directory] [options]');
|
||||
program.command('start').description('Starts Next.js in production mode. The application should be compiled with `next build` first.').argument('[directory]', `A directory on which to start the application. ${(0, _picocolors.italic)('If no directory is provided, the current directory will be used.')}`).addOption(new _commander.Option('-p, --port <port>', 'Specify a port number on which to start the application.').argParser(_utils.parseValidPositiveInteger).default(3000).env('PORT')).option('-H, --hostname <hostname>', 'Specify a hostname on which to start the application (default: 0.0.0.0).').addOption(new _commander.Option('--keepAliveTimeout <keepAliveTimeout>', 'Specify the maximum amount of milliseconds to wait before closing inactive connections.').argParser(_utils.parseValidPositiveInteger)).addOption(new _commander.Option('--turbo').hideHelp()).option('--turbopack', 'Starts development mode using Turbopack.').action((directory, options)=>import('../cli/next-start.js').then((mod)=>mod.nextStart(options, directory))).usage('[directory] [options]');
|
||||
program.command('telemetry').description(`Allows you to enable or disable Next.js' ${(0, _picocolors.bold)('completely anonymous')} telemetry collection.`).addArgument(new _commander.Argument('[arg]').choices([
|
||||
'disable',
|
||||
'enable',
|
||||
'status'
|
||||
])).addHelpText('after', `\nLearn more: ${(0, _picocolors.cyan)('https://nextjs.org/telemetry')}`).addOption(new _commander.Option('--enable', `Enables Next.js' telemetry collection.`).conflicts('disable')).option('--disable', `Disables Next.js' telemetry collection.`).action((arg, options)=>import('../cli/next-telemetry.js').then((mod)=>mod.nextTelemetry(options, arg)));
|
||||
program.command('experimental-test').description(`Execute \`next/experimental/testmode\` tests using a specified test runner. The test runner defaults to 'playwright' if the \`experimental.defaultTestRunner\` configuration option or the \`--test-runner\` option are not set.`).argument('[directory]', `A Next.js project directory to execute the test runner on. ${(0, _picocolors.italic)('If no directory is provided, the current directory will be used.')}`).argument('[test-runner-args...]', 'Any additional arguments or options to pass down to the test runner `test` command.').option('--test-runner [test-runner]', `Any supported test runner. Options: ${(0, _picocolors.bold)(_nexttest.SUPPORTED_TEST_RUNNERS_LIST.join(', '))}. ${(0, _picocolors.italic)("If no test runner is provided, the Next.js config option `experimental.defaultTestRunner`, or 'playwright' will be used.")}`).allowUnknownOption().action((directory, testRunnerArgs, options)=>{
|
||||
return import('../cli/next-test.js').then((mod)=>{
|
||||
mod.nextTest(directory, testRunnerArgs, options);
|
||||
});
|
||||
}).usage('[directory] [options]');
|
||||
const internal = program.command('internal').description('Internal debugging commands. Use with caution. Not covered by semver.');
|
||||
internal.command('turbo-trace-server').argument('[file]', 'Trace file to serve.').action((file)=>{
|
||||
return import('../cli/internal/turbo-trace-server.js').then((mod)=>mod.startTurboTraceServerCli(file));
|
||||
});
|
||||
program.parse(process.argv);
|
||||
|
||||
//# sourceMappingURL=next.map
|
||||
2
node_modules/next/dist/bin/next.d.ts
generated
vendored
Normal file
2
node_modules/next/dist/bin/next.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
#!/usr/bin/env node
|
||||
import '../server/require-hook';
|
||||
1
node_modules/next/dist/bin/next.map
generated
vendored
Executable file
1
node_modules/next/dist/bin/next.map
generated
vendored
Executable file
File diff suppressed because one or more lines are too long
23
node_modules/next/dist/build/analysis/extract-const-value.d.ts
generated
vendored
Normal file
23
node_modules/next/dist/build/analysis/extract-const-value.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
import type { Module } from '@swc/core';
|
||||
export declare class NoSuchDeclarationError extends Error {
|
||||
}
|
||||
export declare class UnsupportedValueError extends Error {
|
||||
/** @example `config.runtime[0].value` */
|
||||
path?: string;
|
||||
constructor(message: string, paths?: string[]);
|
||||
}
|
||||
/**
|
||||
* Extracts the value of an exported const variable named `exportedName`
|
||||
* (e.g. "export const config = { runtime: 'edge' }") from swc's AST.
|
||||
* The value must be one of (or throws UnsupportedValueError):
|
||||
* - string
|
||||
* - boolean
|
||||
* - number
|
||||
* - null
|
||||
* - undefined
|
||||
* - array containing values listed in this list
|
||||
* - object containing values listed in this list
|
||||
*
|
||||
* Throws NoSuchDeclarationError if the declaration is not found.
|
||||
*/
|
||||
export declare function extractExportedConstValue(module: Module, exportedName: string): any;
|
||||
205
node_modules/next/dist/build/analysis/extract-const-value.js
generated
vendored
Normal file
205
node_modules/next/dist/build/analysis/extract-const-value.js
generated
vendored
Normal file
|
|
@ -0,0 +1,205 @@
|
|||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
0 && (module.exports = {
|
||||
NoSuchDeclarationError: null,
|
||||
UnsupportedValueError: null,
|
||||
extractExportedConstValue: null
|
||||
});
|
||||
function _export(target, all) {
|
||||
for(var name in all)Object.defineProperty(target, name, {
|
||||
enumerable: true,
|
||||
get: all[name]
|
||||
});
|
||||
}
|
||||
_export(exports, {
|
||||
NoSuchDeclarationError: function() {
|
||||
return NoSuchDeclarationError;
|
||||
},
|
||||
UnsupportedValueError: function() {
|
||||
return UnsupportedValueError;
|
||||
},
|
||||
extractExportedConstValue: function() {
|
||||
return extractExportedConstValue;
|
||||
}
|
||||
});
|
||||
class NoSuchDeclarationError extends Error {
|
||||
}
|
||||
function isExportDeclaration(node) {
|
||||
return node.type === 'ExportDeclaration';
|
||||
}
|
||||
function isVariableDeclaration(node) {
|
||||
return node.type === 'VariableDeclaration';
|
||||
}
|
||||
function isIdentifier(node) {
|
||||
return node.type === 'Identifier';
|
||||
}
|
||||
function isBooleanLiteral(node) {
|
||||
return node.type === 'BooleanLiteral';
|
||||
}
|
||||
function isNullLiteral(node) {
|
||||
return node.type === 'NullLiteral';
|
||||
}
|
||||
function isStringLiteral(node) {
|
||||
return node.type === 'StringLiteral';
|
||||
}
|
||||
function isNumericLiteral(node) {
|
||||
return node.type === 'NumericLiteral';
|
||||
}
|
||||
function isArrayExpression(node) {
|
||||
return node.type === 'ArrayExpression';
|
||||
}
|
||||
function isObjectExpression(node) {
|
||||
return node.type === 'ObjectExpression';
|
||||
}
|
||||
function isKeyValueProperty(node) {
|
||||
return node.type === 'KeyValueProperty';
|
||||
}
|
||||
function isRegExpLiteral(node) {
|
||||
return node.type === 'RegExpLiteral';
|
||||
}
|
||||
function isTemplateLiteral(node) {
|
||||
return node.type === 'TemplateLiteral';
|
||||
}
|
||||
function isTsSatisfiesExpression(node) {
|
||||
return node.type === 'TsSatisfiesExpression';
|
||||
}
|
||||
class UnsupportedValueError extends Error {
|
||||
constructor(message, paths){
|
||||
super(message);
|
||||
// Generating "path" that looks like "config.runtime[0].value"
|
||||
let codePath;
|
||||
if (paths) {
|
||||
codePath = '';
|
||||
for (const path of paths){
|
||||
if (path[0] === '[') {
|
||||
// "array" + "[0]"
|
||||
codePath += path;
|
||||
} else {
|
||||
if (codePath === '') {
|
||||
codePath = path;
|
||||
} else {
|
||||
// "object" + ".key"
|
||||
codePath += `.${path}`;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
this.path = codePath;
|
||||
}
|
||||
}
|
||||
function extractValue(node, path) {
|
||||
if (isNullLiteral(node)) {
|
||||
return null;
|
||||
} else if (isBooleanLiteral(node)) {
|
||||
// e.g. true / false
|
||||
return node.value;
|
||||
} else if (isStringLiteral(node)) {
|
||||
// e.g. "abc"
|
||||
return node.value;
|
||||
} else if (isNumericLiteral(node)) {
|
||||
// e.g. 123
|
||||
return node.value;
|
||||
} else if (isRegExpLiteral(node)) {
|
||||
// e.g. /abc/i
|
||||
return new RegExp(node.pattern, node.flags);
|
||||
} else if (isIdentifier(node)) {
|
||||
switch(node.value){
|
||||
case 'undefined':
|
||||
return undefined;
|
||||
default:
|
||||
throw new UnsupportedValueError(`Unknown identifier "${node.value}"`, path);
|
||||
}
|
||||
} else if (isArrayExpression(node)) {
|
||||
// e.g. [1, 2, 3]
|
||||
const arr = [];
|
||||
for(let i = 0, len = node.elements.length; i < len; i++){
|
||||
const elem = node.elements[i];
|
||||
if (elem) {
|
||||
if (elem.spread) {
|
||||
// e.g. [ ...a ]
|
||||
throw new UnsupportedValueError('Unsupported spread operator in the Array Expression', path);
|
||||
}
|
||||
arr.push(extractValue(elem.expression, path && [
|
||||
...path,
|
||||
`[${i}]`
|
||||
]));
|
||||
} else {
|
||||
// e.g. [1, , 2]
|
||||
// ^^
|
||||
arr.push(undefined);
|
||||
}
|
||||
}
|
||||
return arr;
|
||||
} else if (isObjectExpression(node)) {
|
||||
// e.g. { a: 1, b: 2 }
|
||||
const obj = {};
|
||||
for (const prop of node.properties){
|
||||
if (!isKeyValueProperty(prop)) {
|
||||
// e.g. { ...a }
|
||||
throw new UnsupportedValueError('Unsupported spread operator in the Object Expression', path);
|
||||
}
|
||||
let key;
|
||||
if (isIdentifier(prop.key)) {
|
||||
// e.g. { a: 1, b: 2 }
|
||||
key = prop.key.value;
|
||||
} else if (isStringLiteral(prop.key)) {
|
||||
// e.g. { "a": 1, "b": 2 }
|
||||
key = prop.key.value;
|
||||
} else {
|
||||
throw new UnsupportedValueError(`Unsupported key type "${prop.key.type}" in the Object Expression`, path);
|
||||
}
|
||||
obj[key] = extractValue(prop.value, path && [
|
||||
...path,
|
||||
key
|
||||
]);
|
||||
}
|
||||
return obj;
|
||||
} else if (isTemplateLiteral(node)) {
|
||||
// e.g. `abc`
|
||||
if (node.expressions.length !== 0) {
|
||||
// TODO: should we add support for `${'e'}d${'g'}'e'`?
|
||||
throw new UnsupportedValueError('Unsupported template literal with expressions', path);
|
||||
}
|
||||
// When TemplateLiteral has 0 expressions, the length of quasis is always 1.
|
||||
// Because when parsing TemplateLiteral, the parser yields the first quasi,
|
||||
// then the first expression, then the next quasi, then the next expression, etc.,
|
||||
// until the last quasi.
|
||||
// Thus if there is no expression, the parser ends at the frst and also last quasis
|
||||
//
|
||||
// A "cooked" interpretation where backslashes have special meaning, while a
|
||||
// "raw" interpretation where backslashes do not have special meaning
|
||||
// https://exploringjs.com/impatient-js/ch_template-literals.html#template-strings-cooked-vs-raw
|
||||
const [{ cooked, raw }] = node.quasis;
|
||||
return cooked ?? raw;
|
||||
} else if (isTsSatisfiesExpression(node)) {
|
||||
return extractValue(node.expression);
|
||||
} else {
|
||||
throw new UnsupportedValueError(`Unsupported node type "${node.type}"`, path);
|
||||
}
|
||||
}
|
||||
function extractExportedConstValue(module1, exportedName) {
|
||||
for (const moduleItem of module1.body){
|
||||
if (!isExportDeclaration(moduleItem)) {
|
||||
continue;
|
||||
}
|
||||
const declaration = moduleItem.declaration;
|
||||
if (!isVariableDeclaration(declaration)) {
|
||||
continue;
|
||||
}
|
||||
if (declaration.kind !== 'const') {
|
||||
continue;
|
||||
}
|
||||
for (const decl of declaration.declarations){
|
||||
if (isIdentifier(decl.id) && decl.id.value === exportedName && decl.init) {
|
||||
return extractValue(decl.init, [
|
||||
exportedName
|
||||
]);
|
||||
}
|
||||
}
|
||||
}
|
||||
throw new NoSuchDeclarationError();
|
||||
}
|
||||
|
||||
//# sourceMappingURL=extract-const-value.js.map
|
||||
1
node_modules/next/dist/build/analysis/extract-const-value.js.map
generated
vendored
Normal file
1
node_modules/next/dist/build/analysis/extract-const-value.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
81
node_modules/next/dist/build/analysis/get-page-static-info.d.ts
generated
vendored
Normal file
81
node_modules/next/dist/build/analysis/get-page-static-info.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
import type { NextConfig } from '../../server/config-shared';
|
||||
import type { RouteHas } from '../../lib/load-custom-routes';
|
||||
import type { RSCMeta } from '../webpack/loaders/get-module-build-info';
|
||||
import { PAGE_TYPES } from '../../lib/page-types';
|
||||
import { type AppSegmentConfig } from '../segment-config/app/app-segment-config';
|
||||
import { type PagesSegmentConfig, type PagesSegmentConfigConfig } from '../segment-config/pages/pages-segment-config';
|
||||
export type MiddlewareMatcher = {
|
||||
regexp: string;
|
||||
locale?: false;
|
||||
has?: RouteHas[];
|
||||
missing?: RouteHas[];
|
||||
originalSource: string;
|
||||
};
|
||||
export type MiddlewareConfig = {
|
||||
/**
|
||||
* The matcher for the middleware. Read more: [Next.js Docs: Middleware `matcher`](https://nextjs.org/docs/app/api-reference/file-conventions/middleware#matcher),
|
||||
* [Next.js Docs: Middleware matching paths](https://nextjs.org/docs/app/building-your-application/routing/middleware#matching-paths)
|
||||
*/
|
||||
matchers?: MiddlewareMatcher[];
|
||||
/**
|
||||
* The regions that the middleware should run in.
|
||||
*/
|
||||
regions?: string | string[];
|
||||
/**
|
||||
* A glob, or an array of globs, ignoring dynamic code evaluation for specific
|
||||
* files. The globs are relative to your application root folder.
|
||||
*/
|
||||
unstable_allowDynamic?: string[];
|
||||
};
|
||||
export interface AppPageStaticInfo {
|
||||
type: PAGE_TYPES.APP;
|
||||
ssg?: boolean;
|
||||
ssr?: boolean;
|
||||
rsc?: RSCModuleType;
|
||||
generateStaticParams?: boolean;
|
||||
generateSitemaps?: boolean;
|
||||
generateImageMetadata?: boolean;
|
||||
middleware?: MiddlewareConfig;
|
||||
config: Omit<AppSegmentConfig, 'runtime' | 'maxDuration'> | undefined;
|
||||
runtime: AppSegmentConfig['runtime'] | undefined;
|
||||
preferredRegion: AppSegmentConfig['preferredRegion'] | undefined;
|
||||
maxDuration: number | undefined;
|
||||
}
|
||||
export interface PagesPageStaticInfo {
|
||||
type: PAGE_TYPES.PAGES;
|
||||
getStaticProps?: boolean;
|
||||
getServerSideProps?: boolean;
|
||||
rsc?: RSCModuleType;
|
||||
generateStaticParams?: boolean;
|
||||
generateSitemaps?: boolean;
|
||||
generateImageMetadata?: boolean;
|
||||
middleware?: MiddlewareConfig;
|
||||
config: (Omit<PagesSegmentConfig, 'runtime' | 'config' | 'maxDuration'> & {
|
||||
config?: Omit<PagesSegmentConfigConfig, 'runtime' | 'maxDuration'>;
|
||||
}) | undefined;
|
||||
runtime: PagesSegmentConfig['runtime'] | undefined;
|
||||
preferredRegion: PagesSegmentConfigConfig['regions'] | undefined;
|
||||
maxDuration: number | undefined;
|
||||
}
|
||||
export type PageStaticInfo = AppPageStaticInfo | PagesPageStaticInfo;
|
||||
export type RSCModuleType = 'server' | 'client';
|
||||
export declare function getRSCModuleInformation(source: string, isReactServerLayer: boolean): RSCMeta;
|
||||
export declare let hadUnsupportedValue: boolean;
|
||||
type GetPageStaticInfoParams = {
|
||||
pageFilePath: string;
|
||||
nextConfig: Partial<NextConfig>;
|
||||
isDev?: boolean;
|
||||
page: string;
|
||||
pageType: PAGE_TYPES;
|
||||
};
|
||||
export declare function getAppPageStaticInfo({ pageFilePath, nextConfig, isDev, page, }: GetPageStaticInfoParams): Promise<AppPageStaticInfo>;
|
||||
export declare function getPagesPageStaticInfo({ pageFilePath, nextConfig, isDev, page, }: GetPageStaticInfoParams): Promise<PagesPageStaticInfo>;
|
||||
/**
|
||||
* For a given pageFilePath and nextConfig, if the config supports it, this
|
||||
* function will read the file and return the runtime that should be used.
|
||||
* It will look into the file content only if the page *requires* a runtime
|
||||
* to be specified, that is, when gSSP or gSP is used.
|
||||
* Related discussion: https://github.com/vercel/next.js/discussions/34179
|
||||
*/
|
||||
export declare function getPageStaticInfo(params: GetPageStaticInfoParams): Promise<PageStaticInfo>;
|
||||
export {};
|
||||
485
node_modules/next/dist/build/analysis/get-page-static-info.js
generated
vendored
Normal file
485
node_modules/next/dist/build/analysis/get-page-static-info.js
generated
vendored
Normal file
|
|
@ -0,0 +1,485 @@
|
|||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
0 && (module.exports = {
|
||||
getAppPageStaticInfo: null,
|
||||
getMiddlewareMatchers: null,
|
||||
getPageStaticInfo: null,
|
||||
getPagesPageStaticInfo: null,
|
||||
getRSCModuleInformation: null,
|
||||
hadUnsupportedValue: null
|
||||
});
|
||||
function _export(target, all) {
|
||||
for(var name in all)Object.defineProperty(target, name, {
|
||||
enumerable: true,
|
||||
get: all[name]
|
||||
});
|
||||
}
|
||||
_export(exports, {
|
||||
getAppPageStaticInfo: function() {
|
||||
return getAppPageStaticInfo;
|
||||
},
|
||||
getMiddlewareMatchers: function() {
|
||||
return getMiddlewareMatchers;
|
||||
},
|
||||
getPageStaticInfo: function() {
|
||||
return getPageStaticInfo;
|
||||
},
|
||||
getPagesPageStaticInfo: function() {
|
||||
return getPagesPageStaticInfo;
|
||||
},
|
||||
getRSCModuleInformation: function() {
|
||||
return getRSCModuleInformation;
|
||||
},
|
||||
hadUnsupportedValue: function() {
|
||||
return hadUnsupportedValue;
|
||||
}
|
||||
});
|
||||
const _fs = require("fs");
|
||||
const _lrucache = require("../../server/lib/lru-cache");
|
||||
const _extractconstvalue = require("./extract-const-value");
|
||||
const _parsemodule = require("./parse-module");
|
||||
const _log = /*#__PURE__*/ _interop_require_wildcard(require("../output/log"));
|
||||
const _constants = require("../../lib/constants");
|
||||
const _trytoparsepath = require("../../lib/try-to-parse-path");
|
||||
const _isapiroute = require("../../lib/is-api-route");
|
||||
const _isedgeruntime = require("../../lib/is-edge-runtime");
|
||||
const _constants1 = require("../../shared/lib/constants");
|
||||
const _pagetypes = require("../../lib/page-types");
|
||||
const _appsegmentconfig = require("../segment-config/app/app-segment-config");
|
||||
const _zod = require("../../shared/lib/zod");
|
||||
const _pagessegmentconfig = require("../segment-config/pages/pages-segment-config");
|
||||
const _middlewareconfig = require("../segment-config/middleware/middleware-config");
|
||||
const _apppaths = require("../../shared/lib/router/utils/app-paths");
|
||||
const _normalizepagepath = require("../../shared/lib/page-path/normalize-page-path");
|
||||
function _getRequireWildcardCache(nodeInterop) {
|
||||
if (typeof WeakMap !== "function") return null;
|
||||
var cacheBabelInterop = new WeakMap();
|
||||
var cacheNodeInterop = new WeakMap();
|
||||
return (_getRequireWildcardCache = function(nodeInterop) {
|
||||
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
||||
})(nodeInterop);
|
||||
}
|
||||
function _interop_require_wildcard(obj, nodeInterop) {
|
||||
if (!nodeInterop && obj && obj.__esModule) {
|
||||
return obj;
|
||||
}
|
||||
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
||||
return {
|
||||
default: obj
|
||||
};
|
||||
}
|
||||
var cache = _getRequireWildcardCache(nodeInterop);
|
||||
if (cache && cache.has(obj)) {
|
||||
return cache.get(obj);
|
||||
}
|
||||
var newObj = {
|
||||
__proto__: null
|
||||
};
|
||||
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
||||
for(var key in obj){
|
||||
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
||||
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
||||
if (desc && (desc.get || desc.set)) {
|
||||
Object.defineProperty(newObj, key, desc);
|
||||
} else {
|
||||
newObj[key] = obj[key];
|
||||
}
|
||||
}
|
||||
}
|
||||
newObj.default = obj;
|
||||
if (cache) {
|
||||
cache.set(obj, newObj);
|
||||
}
|
||||
return newObj;
|
||||
}
|
||||
const PARSE_PATTERN = /(?<!(_jsx|jsx-))runtime|preferredRegion|getStaticProps|getServerSideProps|generateStaticParams|export const|generateImageMetadata|generateSitemaps/;
|
||||
const CLIENT_MODULE_LABEL = /\/\* __next_internal_client_entry_do_not_use__ ([^ ]*) (cjs|auto) \*\//;
|
||||
const ACTION_MODULE_LABEL = /\/\* __next_internal_action_entry_do_not_use__ (\{[^}]+\}) \*\//;
|
||||
const CLIENT_DIRECTIVE = 'use client';
|
||||
const SERVER_ACTION_DIRECTIVE = 'use server';
|
||||
function getRSCModuleInformation(source, isReactServerLayer) {
|
||||
const actionsJson = source.match(ACTION_MODULE_LABEL);
|
||||
const parsedActionsMeta = actionsJson ? JSON.parse(actionsJson[1]) : undefined;
|
||||
const clientInfoMatch = source.match(CLIENT_MODULE_LABEL);
|
||||
const isClientRef = !!clientInfoMatch;
|
||||
if (!isReactServerLayer) {
|
||||
return {
|
||||
type: _constants1.RSC_MODULE_TYPES.client,
|
||||
actionIds: parsedActionsMeta,
|
||||
isClientRef
|
||||
};
|
||||
}
|
||||
const clientRefsString = clientInfoMatch == null ? void 0 : clientInfoMatch[1];
|
||||
const clientRefs = clientRefsString ? clientRefsString.split(',') : [];
|
||||
const clientEntryType = clientInfoMatch == null ? void 0 : clientInfoMatch[2];
|
||||
const type = clientInfoMatch ? _constants1.RSC_MODULE_TYPES.client : _constants1.RSC_MODULE_TYPES.server;
|
||||
return {
|
||||
type,
|
||||
actionIds: parsedActionsMeta,
|
||||
clientRefs,
|
||||
clientEntryType,
|
||||
isClientRef
|
||||
};
|
||||
}
|
||||
/**
|
||||
* Receives a parsed AST from SWC and checks if it belongs to a module that
|
||||
* requires a runtime to be specified. Those are:
|
||||
* - Modules with `export function getStaticProps | getServerSideProps`
|
||||
* - Modules with `export { getStaticProps | getServerSideProps } <from ...>`
|
||||
* - Modules with `export const runtime = ...`
|
||||
*/ function checkExports(ast, expectedExports, page) {
|
||||
const exportsSet = new Set([
|
||||
'getStaticProps',
|
||||
'getServerSideProps',
|
||||
'generateImageMetadata',
|
||||
'generateSitemaps',
|
||||
'generateStaticParams'
|
||||
]);
|
||||
if (!Array.isArray(ast == null ? void 0 : ast.body)) {
|
||||
return {};
|
||||
}
|
||||
try {
|
||||
let getStaticProps = false;
|
||||
let getServerSideProps = false;
|
||||
let generateImageMetadata = false;
|
||||
let generateSitemaps = false;
|
||||
let generateStaticParams = false;
|
||||
let exports1 = new Set();
|
||||
let directives = new Set();
|
||||
let hasLeadingNonDirectiveNode = false;
|
||||
for (const node of ast.body){
|
||||
var _node_declaration, _node_declaration1, _node_declaration_identifier, _node_declaration2;
|
||||
// There should be no non-string literals nodes before directives
|
||||
if (node.type === 'ExpressionStatement' && node.expression.type === 'StringLiteral') {
|
||||
if (!hasLeadingNonDirectiveNode) {
|
||||
const directive = node.expression.value;
|
||||
if (CLIENT_DIRECTIVE === directive) {
|
||||
directives.add('client');
|
||||
}
|
||||
if (SERVER_ACTION_DIRECTIVE === directive) {
|
||||
directives.add('server');
|
||||
}
|
||||
}
|
||||
} else {
|
||||
hasLeadingNonDirectiveNode = true;
|
||||
}
|
||||
if (node.type === 'ExportDeclaration' && ((_node_declaration = node.declaration) == null ? void 0 : _node_declaration.type) === 'VariableDeclaration') {
|
||||
var _node_declaration3;
|
||||
for (const declaration of (_node_declaration3 = node.declaration) == null ? void 0 : _node_declaration3.declarations){
|
||||
if (expectedExports.includes(declaration.id.value)) {
|
||||
exports1.add(declaration.id.value);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (node.type === 'ExportDeclaration' && ((_node_declaration1 = node.declaration) == null ? void 0 : _node_declaration1.type) === 'FunctionDeclaration' && exportsSet.has((_node_declaration_identifier = node.declaration.identifier) == null ? void 0 : _node_declaration_identifier.value)) {
|
||||
const id = node.declaration.identifier.value;
|
||||
getServerSideProps = id === 'getServerSideProps';
|
||||
getStaticProps = id === 'getStaticProps';
|
||||
generateImageMetadata = id === 'generateImageMetadata';
|
||||
generateSitemaps = id === 'generateSitemaps';
|
||||
generateStaticParams = id === 'generateStaticParams';
|
||||
}
|
||||
if (node.type === 'ExportDeclaration' && ((_node_declaration2 = node.declaration) == null ? void 0 : _node_declaration2.type) === 'VariableDeclaration') {
|
||||
var _node_declaration_declarations_, _node_declaration4;
|
||||
const id = (_node_declaration4 = node.declaration) == null ? void 0 : (_node_declaration_declarations_ = _node_declaration4.declarations[0]) == null ? void 0 : _node_declaration_declarations_.id.value;
|
||||
if (exportsSet.has(id)) {
|
||||
getServerSideProps = id === 'getServerSideProps';
|
||||
getStaticProps = id === 'getStaticProps';
|
||||
generateImageMetadata = id === 'generateImageMetadata';
|
||||
generateSitemaps = id === 'generateSitemaps';
|
||||
generateStaticParams = id === 'generateStaticParams';
|
||||
}
|
||||
}
|
||||
if (node.type === 'ExportNamedDeclaration') {
|
||||
for (const specifier of node.specifiers){
|
||||
var _specifier_orig;
|
||||
if (specifier.type === 'ExportSpecifier' && ((_specifier_orig = specifier.orig) == null ? void 0 : _specifier_orig.type) === 'Identifier') {
|
||||
const value = specifier.orig.value;
|
||||
if (!getServerSideProps && value === 'getServerSideProps') {
|
||||
getServerSideProps = true;
|
||||
}
|
||||
if (!getStaticProps && value === 'getStaticProps') {
|
||||
getStaticProps = true;
|
||||
}
|
||||
if (!generateImageMetadata && value === 'generateImageMetadata') {
|
||||
generateImageMetadata = true;
|
||||
}
|
||||
if (!generateSitemaps && value === 'generateSitemaps') {
|
||||
generateSitemaps = true;
|
||||
}
|
||||
if (!generateStaticParams && value === 'generateStaticParams') {
|
||||
generateStaticParams = true;
|
||||
}
|
||||
if (expectedExports.includes(value) && !exports1.has(value)) {
|
||||
// An export was found that was actually a re-export, and not a
|
||||
// literal value. We should warn here.
|
||||
_log.warn(`Next.js can't recognize the exported \`${value}\` field in "${page}", it may be re-exported from another file. The default config will be used instead.`);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return {
|
||||
getStaticProps,
|
||||
getServerSideProps,
|
||||
generateImageMetadata,
|
||||
generateSitemaps,
|
||||
generateStaticParams,
|
||||
directives,
|
||||
exports: exports1
|
||||
};
|
||||
} catch {}
|
||||
return {};
|
||||
}
|
||||
async function tryToReadFile(filePath, shouldThrow) {
|
||||
try {
|
||||
return await _fs.promises.readFile(filePath, {
|
||||
encoding: 'utf8'
|
||||
});
|
||||
} catch (error) {
|
||||
if (shouldThrow) {
|
||||
error.message = `Next.js ERROR: Failed to read file ${filePath}:\n${error.message}`;
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
}
|
||||
function getMiddlewareMatchers(matcherOrMatchers, nextConfig) {
|
||||
const matchers = Array.isArray(matcherOrMatchers) ? matcherOrMatchers : [
|
||||
matcherOrMatchers
|
||||
];
|
||||
const { i18n } = nextConfig;
|
||||
return matchers.map((matcher)=>{
|
||||
matcher = typeof matcher === 'string' ? {
|
||||
source: matcher
|
||||
} : matcher;
|
||||
const originalSource = matcher.source;
|
||||
let { source, ...rest } = matcher;
|
||||
const isRoot = source === '/';
|
||||
if ((i18n == null ? void 0 : i18n.locales) && matcher.locale !== false) {
|
||||
source = `/:nextInternalLocale((?!_next/)[^/.]{1,})${isRoot ? '' : source}`;
|
||||
}
|
||||
source = `/:nextData(_next/data/[^/]{1,})?${source}${isRoot ? `(${nextConfig.i18n ? '|\\.json|' : ''}/?index|/?index\\.json)?` : '{(\\.json)}?'}`;
|
||||
if (nextConfig.basePath) {
|
||||
source = `${nextConfig.basePath}${source}`;
|
||||
}
|
||||
// Validate that the source is still.
|
||||
const result = _middlewareconfig.SourceSchema.safeParse(source);
|
||||
if (!result.success) {
|
||||
(0, _zod.reportZodError)('Failed to parse middleware source', result.error);
|
||||
// We need to exit here because middleware being built occurs before we
|
||||
// finish setting up the server. Exiting here is the only way to ensure
|
||||
// that we don't hang.
|
||||
process.exit(1);
|
||||
}
|
||||
return {
|
||||
...rest,
|
||||
// We know that parsed.regexStr is not undefined because we already
|
||||
// checked that the source is valid.
|
||||
regexp: (0, _trytoparsepath.tryToParsePath)(result.data).regexStr,
|
||||
originalSource: originalSource || source
|
||||
};
|
||||
});
|
||||
}
|
||||
function parseMiddlewareConfig(page, rawConfig, nextConfig) {
|
||||
// If there's no config to parse, then return nothing.
|
||||
if (typeof rawConfig !== 'object' || !rawConfig) return {};
|
||||
const input = _middlewareconfig.MiddlewareConfigInputSchema.safeParse(rawConfig);
|
||||
if (!input.success) {
|
||||
(0, _zod.reportZodError)(`${page} contains invalid middleware config`, input.error);
|
||||
// We need to exit here because middleware being built occurs before we
|
||||
// finish setting up the server. Exiting here is the only way to ensure
|
||||
// that we don't hang.
|
||||
process.exit(1);
|
||||
}
|
||||
const config = {};
|
||||
if (input.data.matcher) {
|
||||
config.matchers = getMiddlewareMatchers(input.data.matcher, nextConfig);
|
||||
}
|
||||
if (input.data.unstable_allowDynamic) {
|
||||
config.unstable_allowDynamic = Array.isArray(input.data.unstable_allowDynamic) ? input.data.unstable_allowDynamic : [
|
||||
input.data.unstable_allowDynamic
|
||||
];
|
||||
}
|
||||
if (input.data.regions) {
|
||||
config.regions = input.data.regions;
|
||||
}
|
||||
return config;
|
||||
}
|
||||
const apiRouteWarnings = new _lrucache.LRUCache(250);
|
||||
function warnAboutExperimentalEdge(apiRoute) {
|
||||
if (process.env.NODE_ENV === 'production' && process.env.NEXT_PRIVATE_BUILD_WORKER === '1') {
|
||||
return;
|
||||
}
|
||||
if (apiRouteWarnings.has(apiRoute)) {
|
||||
return;
|
||||
}
|
||||
_log.warn(apiRoute ? `${apiRoute} provided runtime 'experimental-edge'. It can be updated to 'edge' instead.` : `You are using an experimental edge runtime, the API might change.`);
|
||||
apiRouteWarnings.set(apiRoute, 1);
|
||||
}
|
||||
let hadUnsupportedValue = false;
|
||||
const warnedUnsupportedValueMap = new _lrucache.LRUCache(250, ()=>1);
|
||||
function warnAboutUnsupportedValue(pageFilePath, page, error) {
|
||||
hadUnsupportedValue = true;
|
||||
const isProductionBuild = process.env.NODE_ENV === 'production';
|
||||
if (// we only log for the server compilation so it's not
|
||||
// duplicated due to webpack build worker having fresh
|
||||
// module scope for each compiler
|
||||
process.env.NEXT_COMPILER_NAME !== 'server' || isProductionBuild && warnedUnsupportedValueMap.has(pageFilePath)) {
|
||||
return;
|
||||
}
|
||||
warnedUnsupportedValueMap.set(pageFilePath, true);
|
||||
const message = `Next.js can't recognize the exported \`config\` field in ` + (page ? `route "${page}"` : `"${pageFilePath}"`) + ':\n' + error.message + (error.path ? ` at "${error.path}"` : '') + '.\n' + 'Read More - https://nextjs.org/docs/messages/invalid-page-config';
|
||||
// for a build we use `Log.error` instead of throwing
|
||||
// so that all errors can be logged before exiting the process
|
||||
if (isProductionBuild) {
|
||||
_log.error(message);
|
||||
} else {
|
||||
throw Object.defineProperty(new Error(message), "__NEXT_ERROR_CODE", {
|
||||
value: "E394",
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
}
|
||||
}
|
||||
async function getAppPageStaticInfo({ pageFilePath, nextConfig, isDev, page }) {
|
||||
const content = await tryToReadFile(pageFilePath, !isDev);
|
||||
if (!content || !PARSE_PATTERN.test(content)) {
|
||||
return {
|
||||
type: _pagetypes.PAGE_TYPES.APP,
|
||||
config: undefined,
|
||||
runtime: undefined,
|
||||
preferredRegion: undefined,
|
||||
maxDuration: undefined
|
||||
};
|
||||
}
|
||||
const ast = await (0, _parsemodule.parseModule)(pageFilePath, content);
|
||||
const { generateStaticParams, generateImageMetadata, generateSitemaps, exports: exports1, directives } = checkExports(ast, _appsegmentconfig.AppSegmentConfigSchemaKeys, page);
|
||||
const { type: rsc } = getRSCModuleInformation(content, true);
|
||||
const exportedConfig = {};
|
||||
if (exports1) {
|
||||
for (const property of exports1){
|
||||
try {
|
||||
exportedConfig[property] = (0, _extractconstvalue.extractExportedConstValue)(ast, property);
|
||||
} catch (e) {
|
||||
if (e instanceof _extractconstvalue.UnsupportedValueError) {
|
||||
warnAboutUnsupportedValue(pageFilePath, page, e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
try {
|
||||
exportedConfig.config = (0, _extractconstvalue.extractExportedConstValue)(ast, 'config');
|
||||
} catch (e) {
|
||||
if (e instanceof _extractconstvalue.UnsupportedValueError) {
|
||||
warnAboutUnsupportedValue(pageFilePath, page, e);
|
||||
}
|
||||
// `export config` doesn't exist, or other unknown error thrown by swc, silence them
|
||||
}
|
||||
const route = (0, _apppaths.normalizeAppPath)(page);
|
||||
const config = (0, _appsegmentconfig.parseAppSegmentConfig)(exportedConfig, route);
|
||||
// Prevent edge runtime and generateStaticParams in the same file.
|
||||
if ((0, _isedgeruntime.isEdgeRuntime)(config.runtime) && generateStaticParams) {
|
||||
throw Object.defineProperty(new Error(`Page "${page}" cannot use both \`export const runtime = 'edge'\` and export \`generateStaticParams\`.`), "__NEXT_ERROR_CODE", {
|
||||
value: "E42",
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
}
|
||||
// Prevent use client and generateStaticParams in the same file.
|
||||
if ((directives == null ? void 0 : directives.has('client')) && generateStaticParams) {
|
||||
throw Object.defineProperty(new Error(`Page "${page}" cannot use both "use client" and export function "generateStaticParams()".`), "__NEXT_ERROR_CODE", {
|
||||
value: "E475",
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
}
|
||||
return {
|
||||
type: _pagetypes.PAGE_TYPES.APP,
|
||||
rsc,
|
||||
generateImageMetadata,
|
||||
generateSitemaps,
|
||||
generateStaticParams,
|
||||
config,
|
||||
middleware: parseMiddlewareConfig(page, exportedConfig.config, nextConfig),
|
||||
runtime: config.runtime,
|
||||
preferredRegion: config.preferredRegion,
|
||||
maxDuration: config.maxDuration
|
||||
};
|
||||
}
|
||||
async function getPagesPageStaticInfo({ pageFilePath, nextConfig, isDev, page }) {
|
||||
var _config_config, _config_config1, _config_config2;
|
||||
const content = await tryToReadFile(pageFilePath, !isDev);
|
||||
if (!content || !PARSE_PATTERN.test(content)) {
|
||||
return {
|
||||
type: _pagetypes.PAGE_TYPES.PAGES,
|
||||
config: undefined,
|
||||
runtime: undefined,
|
||||
preferredRegion: undefined,
|
||||
maxDuration: undefined
|
||||
};
|
||||
}
|
||||
const ast = await (0, _parsemodule.parseModule)(pageFilePath, content);
|
||||
const { getServerSideProps, getStaticProps, exports: exports1 } = checkExports(ast, _pagessegmentconfig.PagesSegmentConfigSchemaKeys, page);
|
||||
const { type: rsc } = getRSCModuleInformation(content, true);
|
||||
const exportedConfig = {};
|
||||
if (exports1) {
|
||||
for (const property of exports1){
|
||||
try {
|
||||
exportedConfig[property] = (0, _extractconstvalue.extractExportedConstValue)(ast, property);
|
||||
} catch (e) {
|
||||
if (e instanceof _extractconstvalue.UnsupportedValueError) {
|
||||
warnAboutUnsupportedValue(pageFilePath, page, e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
try {
|
||||
exportedConfig.config = (0, _extractconstvalue.extractExportedConstValue)(ast, 'config');
|
||||
} catch (e) {
|
||||
if (e instanceof _extractconstvalue.UnsupportedValueError) {
|
||||
warnAboutUnsupportedValue(pageFilePath, page, e);
|
||||
}
|
||||
// `export config` doesn't exist, or other unknown error thrown by swc, silence them
|
||||
}
|
||||
// Validate the config.
|
||||
const route = (0, _normalizepagepath.normalizePagePath)(page);
|
||||
const config = (0, _pagessegmentconfig.parsePagesSegmentConfig)(exportedConfig, route);
|
||||
const isAnAPIRoute = (0, _isapiroute.isAPIRoute)(route);
|
||||
const resolvedRuntime = config.runtime ?? ((_config_config = config.config) == null ? void 0 : _config_config.runtime);
|
||||
if (resolvedRuntime === _constants.SERVER_RUNTIME.experimentalEdge) {
|
||||
warnAboutExperimentalEdge(isAnAPIRoute ? page : null);
|
||||
}
|
||||
if (resolvedRuntime === _constants.SERVER_RUNTIME.edge && page && !isAnAPIRoute) {
|
||||
const message = `Page ${page} provided runtime 'edge', the edge runtime for rendering is currently experimental. Use runtime 'experimental-edge' instead.`;
|
||||
if (isDev) {
|
||||
_log.error(message);
|
||||
} else {
|
||||
throw Object.defineProperty(new Error(message), "__NEXT_ERROR_CODE", {
|
||||
value: "E394",
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
}
|
||||
}
|
||||
return {
|
||||
type: _pagetypes.PAGE_TYPES.PAGES,
|
||||
getStaticProps,
|
||||
getServerSideProps,
|
||||
rsc,
|
||||
config,
|
||||
middleware: parseMiddlewareConfig(page, exportedConfig.config, nextConfig),
|
||||
runtime: resolvedRuntime,
|
||||
preferredRegion: (_config_config1 = config.config) == null ? void 0 : _config_config1.regions,
|
||||
maxDuration: config.maxDuration ?? ((_config_config2 = config.config) == null ? void 0 : _config_config2.maxDuration)
|
||||
};
|
||||
}
|
||||
async function getPageStaticInfo(params) {
|
||||
if (params.pageType === _pagetypes.PAGE_TYPES.APP) {
|
||||
return getAppPageStaticInfo(params);
|
||||
}
|
||||
return getPagesPageStaticInfo(params);
|
||||
}
|
||||
|
||||
//# sourceMappingURL=get-page-static-info.js.map
|
||||
1
node_modules/next/dist/build/analysis/get-page-static-info.js.map
generated
vendored
Normal file
1
node_modules/next/dist/build/analysis/get-page-static-info.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
5
node_modules/next/dist/build/analysis/parse-module.d.ts
generated
vendored
Normal file
5
node_modules/next/dist/build/analysis/parse-module.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
/**
|
||||
* Parses a module with SWC using an LRU cache where the parsed module will
|
||||
* be indexed by a sha of its content holding up to 500 entries.
|
||||
*/
|
||||
export declare const parseModule: (_: string, content: string) => Promise<any>;
|
||||
20
node_modules/next/dist/build/analysis/parse-module.js
generated
vendored
Normal file
20
node_modules/next/dist/build/analysis/parse-module.js
generated
vendored
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
Object.defineProperty(exports, "parseModule", {
|
||||
enumerable: true,
|
||||
get: function() {
|
||||
return parseModule;
|
||||
}
|
||||
});
|
||||
const _lrucache = require("../../server/lib/lru-cache");
|
||||
const _withpromisecache = require("../../lib/with-promise-cache");
|
||||
const _crypto = require("crypto");
|
||||
const _swc = require("../swc");
|
||||
const parseModule = (0, _withpromisecache.withPromiseCache)(new _lrucache.LRUCache(500), async (filename, content)=>(0, _swc.parse)(content, {
|
||||
isModule: 'unknown',
|
||||
filename
|
||||
}).catch(()=>null), (_, content)=>(0, _crypto.createHash)('sha1').update(content).digest('hex'));
|
||||
|
||||
//# sourceMappingURL=parse-module.js.map
|
||||
1
node_modules/next/dist/build/analysis/parse-module.js.map
generated
vendored
Normal file
1
node_modules/next/dist/build/analysis/parse-module.js.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"sources":["../../../src/build/analysis/parse-module.ts"],"sourcesContent":["import { LRUCache } from '../../server/lib/lru-cache'\nimport { withPromiseCache } from '../../lib/with-promise-cache'\nimport { createHash } from 'crypto'\nimport { parse } from '../swc'\n\n/**\n * Parses a module with SWC using an LRU cache where the parsed module will\n * be indexed by a sha of its content holding up to 500 entries.\n */\nexport const parseModule = withPromiseCache(\n new LRUCache<any>(500),\n async (filename: string, content: string) =>\n parse(content, { isModule: 'unknown', filename }).catch(() => null),\n (_, content) => createHash('sha1').update(content).digest('hex')\n)\n"],"names":["parseModule","withPromiseCache","LRUCache","filename","content","parse","isModule","catch","_","createHash","update","digest"],"mappings":";;;;+BASaA;;;eAAAA;;;0BATY;kCACQ;wBACN;qBACL;AAMf,MAAMA,cAAcC,IAAAA,kCAAgB,EACzC,IAAIC,kBAAQ,CAAM,MAClB,OAAOC,UAAkBC,UACvBC,IAAAA,UAAK,EAACD,SAAS;QAAEE,UAAU;QAAWH;IAAS,GAAGI,KAAK,CAAC,IAAM,OAChE,CAACC,GAAGJ,UAAYK,IAAAA,kBAAU,EAAC,QAAQC,MAAM,CAACN,SAASO,MAAM,CAAC"}
|
||||
10
node_modules/next/dist/build/babel/loader/get-config.d.ts
generated
vendored
Normal file
10
node_modules/next/dist/build/babel/loader/get-config.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
import type { NextBabelLoaderOptions, NextJsLoaderContext } from './types';
|
||||
type BabelConfig = any;
|
||||
export default function getConfig(this: NextJsLoaderContext, { source, target, loaderOptions, filename, inputSourceMap, }: {
|
||||
source: string;
|
||||
loaderOptions: NextBabelLoaderOptions;
|
||||
target: string;
|
||||
filename: string;
|
||||
inputSourceMap?: object | null;
|
||||
}): Promise<BabelConfig>;
|
||||
export {};
|
||||
390
node_modules/next/dist/build/babel/loader/get-config.js
generated
vendored
Normal file
390
node_modules/next/dist/build/babel/loader/get-config.js
generated
vendored
Normal file
|
|
@ -0,0 +1,390 @@
|
|||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
Object.defineProperty(exports, "default", {
|
||||
enumerable: true,
|
||||
get: function() {
|
||||
return getConfig;
|
||||
}
|
||||
});
|
||||
const _fs = require("fs");
|
||||
const _json5 = /*#__PURE__*/ _interop_require_default(require("next/dist/compiled/json5"));
|
||||
const _core = require("next/dist/compiled/babel/core");
|
||||
const _corelibconfig = /*#__PURE__*/ _interop_require_default(require("next/dist/compiled/babel/core-lib-config"));
|
||||
const _util = require("./util");
|
||||
const _log = /*#__PURE__*/ _interop_require_wildcard(require("../../output/log"));
|
||||
const _pluginsyntaxjsx = /*#__PURE__*/ _interop_require_default(require("next/dist/compiled/babel/plugin-syntax-jsx"));
|
||||
const _swc = require("../../swc");
|
||||
function _interop_require_default(obj) {
|
||||
return obj && obj.__esModule ? obj : {
|
||||
default: obj
|
||||
};
|
||||
}
|
||||
function _getRequireWildcardCache(nodeInterop) {
|
||||
if (typeof WeakMap !== "function") return null;
|
||||
var cacheBabelInterop = new WeakMap();
|
||||
var cacheNodeInterop = new WeakMap();
|
||||
return (_getRequireWildcardCache = function(nodeInterop) {
|
||||
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
||||
})(nodeInterop);
|
||||
}
|
||||
function _interop_require_wildcard(obj, nodeInterop) {
|
||||
if (!nodeInterop && obj && obj.__esModule) {
|
||||
return obj;
|
||||
}
|
||||
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
||||
return {
|
||||
default: obj
|
||||
};
|
||||
}
|
||||
var cache = _getRequireWildcardCache(nodeInterop);
|
||||
if (cache && cache.has(obj)) {
|
||||
return cache.get(obj);
|
||||
}
|
||||
var newObj = {
|
||||
__proto__: null
|
||||
};
|
||||
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
||||
for(var key in obj){
|
||||
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
||||
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
||||
if (desc && (desc.get || desc.set)) {
|
||||
Object.defineProperty(newObj, key, desc);
|
||||
} else {
|
||||
newObj[key] = obj[key];
|
||||
}
|
||||
}
|
||||
}
|
||||
newObj.default = obj;
|
||||
if (cache) {
|
||||
cache.set(obj, newObj);
|
||||
}
|
||||
return newObj;
|
||||
}
|
||||
const nextDistPath = /(next[\\/]dist[\\/]shared[\\/]lib)|(next[\\/]dist[\\/]client)|(next[\\/]dist[\\/]pages)/;
|
||||
const fileExtensionRegex = /\.([a-z]+)$/;
|
||||
function getCacheCharacteristics(loaderOptions, source, filename) {
|
||||
var _fileExtensionRegex_exec;
|
||||
const { isServer, pagesDir } = loaderOptions;
|
||||
const isPageFile = filename.startsWith(pagesDir);
|
||||
const isNextDist = nextDistPath.test(filename);
|
||||
const hasModuleExports = source.indexOf('module.exports') !== -1;
|
||||
const fileExt = ((_fileExtensionRegex_exec = fileExtensionRegex.exec(filename)) == null ? void 0 : _fileExtensionRegex_exec[1]) || 'unknown';
|
||||
return {
|
||||
isServer,
|
||||
isPageFile,
|
||||
isNextDist,
|
||||
hasModuleExports,
|
||||
fileExt
|
||||
};
|
||||
}
|
||||
/**
|
||||
* Return an array of Babel plugins, conditioned upon loader options and
|
||||
* source file characteristics.
|
||||
*/ function getPlugins(loaderOptions, cacheCharacteristics) {
|
||||
const { isServer, isPageFile, isNextDist, hasModuleExports } = cacheCharacteristics;
|
||||
const { development } = loaderOptions;
|
||||
const hasReactRefresh = loaderOptions.transformMode !== 'standalone' ? loaderOptions.hasReactRefresh : false;
|
||||
const applyCommonJsItem = hasModuleExports ? (0, _core.createConfigItem)(require('../plugins/commonjs'), {
|
||||
type: 'plugin'
|
||||
}) : null;
|
||||
const reactRefreshItem = hasReactRefresh ? (0, _core.createConfigItem)([
|
||||
require('next/dist/compiled/react-refresh/babel'),
|
||||
{
|
||||
skipEnvCheck: true
|
||||
}
|
||||
], {
|
||||
type: 'plugin'
|
||||
}) : null;
|
||||
const pageConfigItem = !isServer && isPageFile ? (0, _core.createConfigItem)([
|
||||
require('../plugins/next-page-config')
|
||||
], {
|
||||
type: 'plugin'
|
||||
}) : null;
|
||||
const disallowExportAllItem = !isServer && isPageFile ? (0, _core.createConfigItem)([
|
||||
require('../plugins/next-page-disallow-re-export-all-exports')
|
||||
], {
|
||||
type: 'plugin'
|
||||
}) : null;
|
||||
const transformDefineItem = (0, _core.createConfigItem)([
|
||||
require.resolve('next/dist/compiled/babel/plugin-transform-define'),
|
||||
{
|
||||
'process.env.NODE_ENV': development ? 'development' : 'production',
|
||||
'typeof window': isServer ? 'undefined' : 'object',
|
||||
'process.browser': isServer ? false : true
|
||||
},
|
||||
'next-js-transform-define-instance'
|
||||
], {
|
||||
type: 'plugin'
|
||||
});
|
||||
const nextSsgItem = !isServer && isPageFile ? (0, _core.createConfigItem)([
|
||||
require.resolve('../plugins/next-ssg-transform')
|
||||
], {
|
||||
type: 'plugin'
|
||||
}) : null;
|
||||
const commonJsItem = isNextDist ? (0, _core.createConfigItem)(require('next/dist/compiled/babel/plugin-transform-modules-commonjs'), {
|
||||
type: 'plugin'
|
||||
}) : null;
|
||||
const nextFontUnsupported = (0, _core.createConfigItem)([
|
||||
require('../plugins/next-font-unsupported')
|
||||
], {
|
||||
type: 'plugin'
|
||||
});
|
||||
return [
|
||||
reactRefreshItem,
|
||||
pageConfigItem,
|
||||
disallowExportAllItem,
|
||||
applyCommonJsItem,
|
||||
transformDefineItem,
|
||||
nextSsgItem,
|
||||
commonJsItem,
|
||||
nextFontUnsupported
|
||||
].filter(Boolean);
|
||||
}
|
||||
const isJsonFile = /\.(json|babelrc)$/;
|
||||
const isJsFile = /\.js$/;
|
||||
/**
|
||||
* While this function does block execution while reading from disk, it
|
||||
* should not introduce any issues. The function is only invoked when
|
||||
* generating a fresh config, and only a small handful of configs should
|
||||
* be generated during compilation.
|
||||
*/ function getCustomBabelConfig(configFilePath) {
|
||||
if (isJsonFile.exec(configFilePath)) {
|
||||
const babelConfigRaw = (0, _fs.readFileSync)(configFilePath, 'utf8');
|
||||
return _json5.default.parse(babelConfigRaw);
|
||||
} else if (isJsFile.exec(configFilePath)) {
|
||||
return require(configFilePath);
|
||||
}
|
||||
throw Object.defineProperty(new Error('The Next.js Babel loader does not support .mjs or .cjs config files.'), "__NEXT_ERROR_CODE", {
|
||||
value: "E477",
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
}
|
||||
let babelConfigWarned = false;
|
||||
/**
|
||||
* Check if custom babel configuration from user only contains options that
|
||||
* can be migrated into latest Next.js features supported by SWC.
|
||||
*
|
||||
* This raises soft warning messages only, not making any errors yet.
|
||||
*/ function checkCustomBabelConfigDeprecation(config) {
|
||||
if (!config || Object.keys(config).length === 0) {
|
||||
return;
|
||||
}
|
||||
const { plugins, presets, ...otherOptions } = config;
|
||||
if (Object.keys(otherOptions ?? {}).length > 0) {
|
||||
return;
|
||||
}
|
||||
if (babelConfigWarned) {
|
||||
return;
|
||||
}
|
||||
babelConfigWarned = true;
|
||||
const isPresetReadyToDeprecate = !presets || presets.length === 0 || presets.length === 1 && presets[0] === 'next/babel';
|
||||
const pluginReasons = [];
|
||||
const unsupportedPlugins = [];
|
||||
if (Array.isArray(plugins)) {
|
||||
for (const plugin of plugins){
|
||||
const pluginName = Array.isArray(plugin) ? plugin[0] : plugin;
|
||||
// [NOTE]: We cannot detect if the user uses babel-plugin-macro based transform plugins,
|
||||
// such as `styled-components/macro` in here.
|
||||
switch(pluginName){
|
||||
case 'styled-components':
|
||||
case 'babel-plugin-styled-components':
|
||||
pluginReasons.push(`\t- 'styled-components' can be enabled via 'compiler.styledComponents' in 'next.config.js'`);
|
||||
break;
|
||||
case '@emotion/babel-plugin':
|
||||
pluginReasons.push(`\t- '@emotion/babel-plugin' can be enabled via 'compiler.emotion' in 'next.config.js'`);
|
||||
break;
|
||||
case 'babel-plugin-relay':
|
||||
pluginReasons.push(`\t- 'babel-plugin-relay' can be enabled via 'compiler.relay' in 'next.config.js'`);
|
||||
break;
|
||||
case 'react-remove-properties':
|
||||
pluginReasons.push(`\t- 'react-remove-properties' can be enabled via 'compiler.reactRemoveProperties' in 'next.config.js'`);
|
||||
break;
|
||||
case 'transform-remove-console':
|
||||
pluginReasons.push(`\t- 'transform-remove-console' can be enabled via 'compiler.removeConsole' in 'next.config.js'`);
|
||||
break;
|
||||
default:
|
||||
unsupportedPlugins.push(pluginName);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (isPresetReadyToDeprecate && unsupportedPlugins.length === 0) {
|
||||
_log.warn(`It looks like there is a custom Babel configuration that can be removed${pluginReasons.length > 0 ? ':' : '.'}`);
|
||||
if (pluginReasons.length > 0) {
|
||||
_log.warn(`Next.js supports the following features natively: `);
|
||||
_log.warn(pluginReasons.join(''));
|
||||
_log.warn(`For more details configuration options, please refer https://nextjs.org/docs/architecture/nextjs-compiler#supported-features`);
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Generate a new, flat Babel config, ready to be handed to Babel-traverse.
|
||||
* This config should have no unresolved overrides, presets, etc.
|
||||
*/ async function getFreshConfig(cacheCharacteristics, loaderOptions, target, filename, inputSourceMap) {
|
||||
const hasReactCompiler = await (async ()=>{
|
||||
if (loaderOptions.reactCompilerPlugins && loaderOptions.reactCompilerPlugins.length === 0) {
|
||||
return false;
|
||||
}
|
||||
if (/[/\\]node_modules[/\\]/.test(filename)) {
|
||||
return false;
|
||||
}
|
||||
if (loaderOptions.reactCompilerExclude && loaderOptions.reactCompilerExclude(filename)) {
|
||||
return false;
|
||||
}
|
||||
if (!await (0, _swc.isReactCompilerRequired)(filename)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
})();
|
||||
const reactCompilerPluginsIfEnabled = hasReactCompiler ? loaderOptions.reactCompilerPlugins ?? [] : [];
|
||||
let { isServer, pagesDir, srcDir, development } = loaderOptions;
|
||||
let options = {
|
||||
babelrc: false,
|
||||
cloneInputAst: false,
|
||||
filename,
|
||||
inputSourceMap: inputSourceMap || undefined,
|
||||
// Ensure that Webpack will get a full absolute path in the sourcemap
|
||||
// so that it can properly map the module back to its internal cached
|
||||
// modules.
|
||||
sourceFileName: filename,
|
||||
sourceMaps: this.sourceMap
|
||||
};
|
||||
const baseCaller = {
|
||||
name: 'next-babel-turbo-loader',
|
||||
supportsStaticESM: true,
|
||||
supportsDynamicImport: true,
|
||||
// Provide plugins with insight into webpack target.
|
||||
// https://github.com/babel/babel-loader/issues/787
|
||||
target: target,
|
||||
// Webpack 5 supports TLA behind a flag. We enable it by default
|
||||
// for Babel, and then webpack will throw an error if the experimental
|
||||
// flag isn't enabled.
|
||||
supportsTopLevelAwait: true,
|
||||
isServer,
|
||||
srcDir,
|
||||
pagesDir,
|
||||
isDev: development,
|
||||
...loaderOptions.caller
|
||||
};
|
||||
if (loaderOptions.transformMode === 'standalone') {
|
||||
if (!reactCompilerPluginsIfEnabled.length) {
|
||||
return null;
|
||||
}
|
||||
options.plugins = [
|
||||
_pluginsyntaxjsx.default,
|
||||
...reactCompilerPluginsIfEnabled
|
||||
];
|
||||
options.presets = [
|
||||
[
|
||||
require('next/dist/compiled/babel/preset-typescript'),
|
||||
{
|
||||
allowNamespaces: true
|
||||
}
|
||||
]
|
||||
];
|
||||
options.caller = baseCaller;
|
||||
} else {
|
||||
let { configFile, hasJsxRuntime } = loaderOptions;
|
||||
let customConfig = configFile ? getCustomBabelConfig(configFile) : undefined;
|
||||
checkCustomBabelConfigDeprecation(customConfig);
|
||||
// Set the default sourcemap behavior based on Webpack's mapping flag,
|
||||
// but allow users to override if they want.
|
||||
options.sourceMaps = loaderOptions.sourceMaps === undefined ? this.sourceMap : loaderOptions.sourceMaps;
|
||||
options.plugins = [
|
||||
...getPlugins(loaderOptions, cacheCharacteristics),
|
||||
...reactCompilerPluginsIfEnabled,
|
||||
...(customConfig == null ? void 0 : customConfig.plugins) || []
|
||||
];
|
||||
// target can be provided in babelrc
|
||||
options.target = isServer ? undefined : customConfig == null ? void 0 : customConfig.target;
|
||||
// env can be provided in babelrc
|
||||
options.env = customConfig == null ? void 0 : customConfig.env;
|
||||
options.presets = (()=>{
|
||||
// If presets is defined the user will have next/babel in their babelrc
|
||||
if (customConfig == null ? void 0 : customConfig.presets) {
|
||||
return customConfig.presets;
|
||||
}
|
||||
// If presets is not defined the user will likely have "env" in their babelrc
|
||||
if (customConfig) {
|
||||
return undefined;
|
||||
}
|
||||
// If no custom config is provided the default is to use next/babel
|
||||
return [
|
||||
'next/babel'
|
||||
];
|
||||
})();
|
||||
options.overrides = loaderOptions.overrides;
|
||||
options.caller = {
|
||||
...baseCaller,
|
||||
hasJsxRuntime
|
||||
};
|
||||
}
|
||||
// Babel does strict checks on the config so undefined is not allowed
|
||||
if (typeof options.target === 'undefined') {
|
||||
delete options.target;
|
||||
}
|
||||
Object.defineProperty(options.caller, 'onWarning', {
|
||||
enumerable: false,
|
||||
writable: false,
|
||||
value: (reason)=>{
|
||||
if (!(reason instanceof Error)) {
|
||||
reason = Object.defineProperty(new Error(reason), "__NEXT_ERROR_CODE", {
|
||||
value: "E394",
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
}
|
||||
this.emitWarning(reason);
|
||||
}
|
||||
});
|
||||
const loadedOptions = (0, _core.loadOptions)(options);
|
||||
const config = (0, _util.consumeIterator)((0, _corelibconfig.default)(loadedOptions));
|
||||
return config;
|
||||
}
|
||||
/**
|
||||
* Each key returned here corresponds with a Babel config that can be shared.
|
||||
* The conditions of permissible sharing between files is dependent on specific
|
||||
* file attributes and Next.js compiler states: `CharacteristicsGermaneToCaching`.
|
||||
*/ function getCacheKey(cacheCharacteristics) {
|
||||
const { isServer, isPageFile, isNextDist, hasModuleExports, fileExt } = cacheCharacteristics;
|
||||
const flags = 0 | (isServer ? 1 : 0) | (isPageFile ? 2 : 0) | (isNextDist ? 4 : 0) | (hasModuleExports ? 8 : 0);
|
||||
return fileExt + flags;
|
||||
}
|
||||
const configCache = new Map();
|
||||
const configFiles = new Set();
|
||||
async function getConfig({ source, target, loaderOptions, filename, inputSourceMap }) {
|
||||
const cacheCharacteristics = getCacheCharacteristics(loaderOptions, source, filename);
|
||||
if (loaderOptions.transformMode === 'default' && loaderOptions.configFile) {
|
||||
// Ensures webpack invalidates the cache for this loader when the config file changes
|
||||
this.addDependency(loaderOptions.configFile);
|
||||
}
|
||||
const cacheKey = getCacheKey(cacheCharacteristics);
|
||||
if (configCache.has(cacheKey)) {
|
||||
const cachedConfig = configCache.get(cacheKey);
|
||||
if (!cachedConfig) {
|
||||
return null;
|
||||
}
|
||||
return {
|
||||
...cachedConfig,
|
||||
options: {
|
||||
...cachedConfig.options,
|
||||
cwd: loaderOptions.cwd,
|
||||
root: loaderOptions.cwd,
|
||||
filename,
|
||||
sourceFileName: filename
|
||||
}
|
||||
};
|
||||
}
|
||||
if (loaderOptions.transformMode === 'default' && loaderOptions.configFile && !configFiles.has(loaderOptions.configFile)) {
|
||||
configFiles.add(loaderOptions.configFile);
|
||||
_log.info(`Using external babel configuration from ${loaderOptions.configFile}`);
|
||||
}
|
||||
const freshConfig = await getFreshConfig.call(this, cacheCharacteristics, loaderOptions, target, filename, inputSourceMap);
|
||||
configCache.set(cacheKey, freshConfig);
|
||||
return freshConfig;
|
||||
}
|
||||
|
||||
//# sourceMappingURL=get-config.js.map
|
||||
1
node_modules/next/dist/build/babel/loader/get-config.js.map
generated
vendored
Normal file
1
node_modules/next/dist/build/babel/loader/get-config.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
3
node_modules/next/dist/build/babel/loader/index.d.ts
generated
vendored
Normal file
3
node_modules/next/dist/build/babel/loader/index.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
import type { NextJsLoaderContext } from './types';
|
||||
declare const nextBabelLoaderOuter: (this: NextJsLoaderContext, inputSource: string, inputSourceMap: object | null | undefined) => void;
|
||||
export default nextBabelLoaderOuter;
|
||||
51
node_modules/next/dist/build/babel/loader/index.js
generated
vendored
Normal file
51
node_modules/next/dist/build/babel/loader/index.js
generated
vendored
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
Object.defineProperty(exports, "default", {
|
||||
enumerable: true,
|
||||
get: function() {
|
||||
return _default;
|
||||
}
|
||||
});
|
||||
const _transform = /*#__PURE__*/ _interop_require_default(require("./transform"));
|
||||
function _interop_require_default(obj) {
|
||||
return obj && obj.__esModule ? obj : {
|
||||
default: obj
|
||||
};
|
||||
}
|
||||
async function nextBabelLoader(parentTrace, inputSource, inputSourceMap) {
|
||||
const filename = this.resourcePath;
|
||||
// Ensure `.d.ts` are not processed.
|
||||
if (filename.endsWith('.d.ts')) {
|
||||
return [
|
||||
inputSource,
|
||||
inputSourceMap
|
||||
];
|
||||
}
|
||||
const target = this.target;
|
||||
const loaderOptions = parentTrace.traceChild('get-options')// @ts-ignore TODO: remove ignore once webpack 5 types are used
|
||||
.traceFn(()=>this.getOptions());
|
||||
if (loaderOptions.exclude && loaderOptions.exclude(filename)) {
|
||||
return [
|
||||
inputSource,
|
||||
inputSourceMap
|
||||
];
|
||||
}
|
||||
const loaderSpanInner = parentTrace.traceChild('next-babel-turbo-transform');
|
||||
const { code: transformedSource, map: outputSourceMap } = await loaderSpanInner.traceAsyncFn(async ()=>await _transform.default.call(this, inputSource, inputSourceMap, loaderOptions, filename, target, loaderSpanInner));
|
||||
return [
|
||||
transformedSource,
|
||||
outputSourceMap
|
||||
];
|
||||
}
|
||||
const nextBabelLoaderOuter = function nextBabelLoaderOuter(inputSource, inputSourceMap) {
|
||||
const callback = this.async();
|
||||
const loaderSpan = this.currentTraceSpan.traceChild('next-babel-turbo-loader');
|
||||
loaderSpan.traceAsyncFn(()=>nextBabelLoader.call(this, loaderSpan, inputSource, inputSourceMap)).then(([transformedSource, outputSourceMap])=>callback == null ? void 0 : callback(null, transformedSource, outputSourceMap || inputSourceMap), (err)=>{
|
||||
callback == null ? void 0 : callback(err);
|
||||
});
|
||||
};
|
||||
const _default = nextBabelLoaderOuter;
|
||||
|
||||
//# sourceMappingURL=index.js.map
|
||||
1
node_modules/next/dist/build/babel/loader/index.js.map
generated
vendored
Normal file
1
node_modules/next/dist/build/babel/loader/index.js.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"sources":["../../../../src/build/babel/loader/index.ts"],"sourcesContent":["import type { Span } from '../../../trace'\nimport transform from './transform'\nimport type { NextJsLoaderContext } from './types'\n\nasync function nextBabelLoader(\n this: NextJsLoaderContext,\n parentTrace: Span,\n inputSource: string,\n inputSourceMap: object | null | undefined\n) {\n const filename = this.resourcePath\n\n // Ensure `.d.ts` are not processed.\n if (filename.endsWith('.d.ts')) {\n return [inputSource, inputSourceMap]\n }\n\n const target = this.target\n const loaderOptions: any = parentTrace\n .traceChild('get-options')\n // @ts-ignore TODO: remove ignore once webpack 5 types are used\n .traceFn(() => this.getOptions())\n\n if (loaderOptions.exclude && loaderOptions.exclude(filename)) {\n return [inputSource, inputSourceMap]\n }\n\n const loaderSpanInner = parentTrace.traceChild('next-babel-turbo-transform')\n const { code: transformedSource, map: outputSourceMap } =\n await loaderSpanInner.traceAsyncFn(\n async () =>\n await transform.call(\n this,\n inputSource,\n inputSourceMap,\n loaderOptions,\n filename,\n target,\n loaderSpanInner\n )\n )\n\n return [transformedSource, outputSourceMap]\n}\n\nconst nextBabelLoaderOuter = function nextBabelLoaderOuter(\n this: NextJsLoaderContext,\n inputSource: string,\n inputSourceMap: object | null | undefined\n) {\n const callback = this.async()\n\n const loaderSpan = this.currentTraceSpan.traceChild('next-babel-turbo-loader')\n loaderSpan\n .traceAsyncFn(() =>\n nextBabelLoader.call(this, loaderSpan, inputSource, inputSourceMap)\n )\n .then(\n ([transformedSource, outputSourceMap]: any) =>\n callback?.(null, transformedSource, outputSourceMap || inputSourceMap),\n (err) => {\n callback?.(err)\n }\n )\n}\n\nexport default nextBabelLoaderOuter\n"],"names":["nextBabelLoader","parentTrace","inputSource","inputSourceMap","filename","resourcePath","endsWith","target","loaderOptions","traceChild","traceFn","getOptions","exclude","loaderSpanInner","code","transformedSource","map","outputSourceMap","traceAsyncFn","transform","call","nextBabelLoaderOuter","callback","async","loaderSpan","currentTraceSpan","then","err"],"mappings":";;;;+BAkEA;;;eAAA;;;kEAjEsB;;;;;;AAGtB,eAAeA,gBAEbC,WAAiB,EACjBC,WAAmB,EACnBC,cAAyC;IAEzC,MAAMC,WAAW,IAAI,CAACC,YAAY;IAElC,oCAAoC;IACpC,IAAID,SAASE,QAAQ,CAAC,UAAU;QAC9B,OAAO;YAACJ;YAAaC;SAAe;IACtC;IAEA,MAAMI,SAAS,IAAI,CAACA,MAAM;IAC1B,MAAMC,gBAAqBP,YACxBQ,UAAU,CAAC,cACZ,+DAA+D;KAC9DC,OAAO,CAAC,IAAM,IAAI,CAACC,UAAU;IAEhC,IAAIH,cAAcI,OAAO,IAAIJ,cAAcI,OAAO,CAACR,WAAW;QAC5D,OAAO;YAACF;YAAaC;SAAe;IACtC;IAEA,MAAMU,kBAAkBZ,YAAYQ,UAAU,CAAC;IAC/C,MAAM,EAAEK,MAAMC,iBAAiB,EAAEC,KAAKC,eAAe,EAAE,GACrD,MAAMJ,gBAAgBK,YAAY,CAChC,UACE,MAAMC,kBAAS,CAACC,IAAI,CAClB,IAAI,EACJlB,aACAC,gBACAK,eACAJ,UACAG,QACAM;IAIR,OAAO;QAACE;QAAmBE;KAAgB;AAC7C;AAEA,MAAMI,uBAAuB,SAASA,qBAEpCnB,WAAmB,EACnBC,cAAyC;IAEzC,MAAMmB,WAAW,IAAI,CAACC,KAAK;IAE3B,MAAMC,aAAa,IAAI,CAACC,gBAAgB,CAAChB,UAAU,CAAC;IACpDe,WACGN,YAAY,CAAC,IACZlB,gBAAgBoB,IAAI,CAAC,IAAI,EAAEI,YAAYtB,aAAaC,iBAErDuB,IAAI,CACH,CAAC,CAACX,mBAAmBE,gBAAqB,GACxCK,4BAAAA,SAAW,MAAMP,mBAAmBE,mBAAmBd,iBACzD,CAACwB;QACCL,4BAAAA,SAAWK;IACb;AAEN;MAEA,WAAeN"}
|
||||
6
node_modules/next/dist/build/babel/loader/transform.d.ts
generated
vendored
Normal file
6
node_modules/next/dist/build/babel/loader/transform.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
import type { Span } from '../../../trace';
|
||||
import type { NextJsLoaderContext } from './types';
|
||||
export default function transform(this: NextJsLoaderContext, source: string, inputSourceMap: object | null | undefined, loaderOptions: any, filename: string, target: string, parentSpan: Span): Promise<{
|
||||
code: string;
|
||||
map: object | null | undefined;
|
||||
}>;
|
||||
103
node_modules/next/dist/build/babel/loader/transform.js
generated
vendored
Normal file
103
node_modules/next/dist/build/babel/loader/transform.js
generated
vendored
Normal file
|
|
@ -0,0 +1,103 @@
|
|||
/*
|
||||
* Partially adapted from @babel/core (MIT license).
|
||||
*/ "use strict";
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
Object.defineProperty(exports, "default", {
|
||||
enumerable: true,
|
||||
get: function() {
|
||||
return transform;
|
||||
}
|
||||
});
|
||||
const _traverse = /*#__PURE__*/ _interop_require_default(require("next/dist/compiled/babel/traverse"));
|
||||
const _generator = /*#__PURE__*/ _interop_require_default(require("next/dist/compiled/babel/generator"));
|
||||
const _corelibnormalizefile = /*#__PURE__*/ _interop_require_default(require("next/dist/compiled/babel/core-lib-normalize-file"));
|
||||
const _corelibnormalizeopts = /*#__PURE__*/ _interop_require_default(require("next/dist/compiled/babel/core-lib-normalize-opts"));
|
||||
const _corelibblockhoistplugin = /*#__PURE__*/ _interop_require_default(require("next/dist/compiled/babel/core-lib-block-hoist-plugin"));
|
||||
const _corelibpluginpass = /*#__PURE__*/ _interop_require_default(require("next/dist/compiled/babel/core-lib-plugin-pass"));
|
||||
const _getconfig = /*#__PURE__*/ _interop_require_default(require("./get-config"));
|
||||
const _util = require("./util");
|
||||
function _interop_require_default(obj) {
|
||||
return obj && obj.__esModule ? obj : {
|
||||
default: obj
|
||||
};
|
||||
}
|
||||
function getTraversalParams(file, pluginPairs) {
|
||||
const passPairs = [];
|
||||
const passes = [];
|
||||
const visitors = [];
|
||||
for (const plugin of pluginPairs.concat((0, _corelibblockhoistplugin.default)())){
|
||||
const pass = new _corelibpluginpass.default(file, plugin.key, plugin.options);
|
||||
passPairs.push([
|
||||
plugin,
|
||||
pass
|
||||
]);
|
||||
passes.push(pass);
|
||||
visitors.push(plugin.visitor);
|
||||
}
|
||||
return {
|
||||
passPairs,
|
||||
passes,
|
||||
visitors
|
||||
};
|
||||
}
|
||||
function invokePluginPre(file, passPairs) {
|
||||
for (const [{ pre }, pass] of passPairs){
|
||||
if (pre) {
|
||||
pre.call(pass, file);
|
||||
}
|
||||
}
|
||||
}
|
||||
function invokePluginPost(file, passPairs) {
|
||||
for (const [{ post }, pass] of passPairs){
|
||||
if (post) {
|
||||
post.call(pass, file);
|
||||
}
|
||||
}
|
||||
}
|
||||
function transformAstPass(file, pluginPairs, parentSpan) {
|
||||
const { passPairs, passes, visitors } = getTraversalParams(file, pluginPairs);
|
||||
invokePluginPre(file, passPairs);
|
||||
const visitor = _traverse.default.visitors.merge(visitors, passes, // @ts-ignore - the exported types are incorrect here
|
||||
file.opts.wrapPluginVisitorMethod);
|
||||
parentSpan.traceChild('babel-turbo-traverse').traceFn(()=>(0, _traverse.default)(file.ast, visitor, file.scope));
|
||||
invokePluginPost(file, passPairs);
|
||||
}
|
||||
function transformAst(file, babelConfig, parentSpan) {
|
||||
for (const pluginPairs of babelConfig.passes){
|
||||
transformAstPass(file, pluginPairs, parentSpan);
|
||||
}
|
||||
}
|
||||
async function transform(source, inputSourceMap, loaderOptions, filename, target, parentSpan) {
|
||||
const getConfigSpan = parentSpan.traceChild('babel-turbo-get-config');
|
||||
const babelConfig = await _getconfig.default.call(this, {
|
||||
source,
|
||||
loaderOptions,
|
||||
inputSourceMap,
|
||||
target,
|
||||
filename
|
||||
});
|
||||
if (!babelConfig) {
|
||||
return {
|
||||
code: source,
|
||||
map: inputSourceMap
|
||||
};
|
||||
}
|
||||
getConfigSpan.stop();
|
||||
const normalizeSpan = parentSpan.traceChild('babel-turbo-normalize-file');
|
||||
const file = (0, _util.consumeIterator)((0, _corelibnormalizefile.default)(babelConfig.passes, (0, _corelibnormalizeopts.default)(babelConfig), source));
|
||||
normalizeSpan.stop();
|
||||
const transformSpan = parentSpan.traceChild('babel-turbo-transform');
|
||||
transformAst(file, babelConfig, transformSpan);
|
||||
transformSpan.stop();
|
||||
const generateSpan = parentSpan.traceChild('babel-turbo-generate');
|
||||
const { code, map } = (0, _generator.default)(file.ast, file.opts.generatorOpts, file.code);
|
||||
generateSpan.stop();
|
||||
return {
|
||||
code,
|
||||
map
|
||||
};
|
||||
}
|
||||
|
||||
//# sourceMappingURL=transform.js.map
|
||||
1
node_modules/next/dist/build/babel/loader/transform.js.map
generated
vendored
Normal file
1
node_modules/next/dist/build/babel/loader/transform.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
51
node_modules/next/dist/build/babel/loader/types.d.ts
generated
vendored
Normal file
51
node_modules/next/dist/build/babel/loader/types.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
import type { webpack } from 'next/dist/compiled/webpack/webpack'
|
||||
import type { Span } from '../../../trace'
|
||||
|
||||
export interface NextJsLoaderContext extends webpack.LoaderContext<{}> {
|
||||
currentTraceSpan: Span
|
||||
target: string
|
||||
}
|
||||
|
||||
export interface NextBabelLoaderBaseOptions {
|
||||
isServer: boolean
|
||||
distDir: string
|
||||
pagesDir: string
|
||||
cwd: string
|
||||
srcDir: string
|
||||
caller: any
|
||||
development: boolean
|
||||
|
||||
// Custom plugins to be added to the generated babel options.
|
||||
reactCompilerPlugins?: Array<any>
|
||||
reactCompilerExclude?: (excludePath: string) => boolean
|
||||
}
|
||||
|
||||
/**
|
||||
* Options to create babel loader for the default transformations.
|
||||
*
|
||||
* This is primary usecase of babel-loader configuration for running
|
||||
* all of the necessary transforms for the ecmascript instead of swc loader.
|
||||
*/
|
||||
export type NextBabelLoaderOptionDefaultPresets = NextBabelLoaderBaseOptions & {
|
||||
transformMode: 'default'
|
||||
hasJsxRuntime: boolean
|
||||
hasReactRefresh: boolean
|
||||
sourceMaps?: any[]
|
||||
overrides: any
|
||||
configFile: string | undefined
|
||||
}
|
||||
|
||||
/**
|
||||
* Options to create babel loader for 'standalone' transformations.
|
||||
*
|
||||
* This'll create a babel loader does not enable any of the default presets or plugins,
|
||||
* only the ones specified in the options where swc loader is enabled but need to inject
|
||||
* a babel specific plugins like react compiler.
|
||||
*/
|
||||
export type NextBabelLoaderOptionStandalone = NextBabelLoaderBaseOptions & {
|
||||
transformMode: 'standalone'
|
||||
}
|
||||
|
||||
export type NextBabelLoaderOptions =
|
||||
| NextBabelLoaderOptionDefaultPresets
|
||||
| NextBabelLoaderOptionStandalone
|
||||
1
node_modules/next/dist/build/babel/loader/util.d.ts
generated
vendored
Normal file
1
node_modules/next/dist/build/babel/loader/util.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
export declare function consumeIterator(iter: Iterator<any>): any;
|
||||
20
node_modules/next/dist/build/babel/loader/util.js
generated
vendored
Normal file
20
node_modules/next/dist/build/babel/loader/util.js
generated
vendored
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
Object.defineProperty(exports, "consumeIterator", {
|
||||
enumerable: true,
|
||||
get: function() {
|
||||
return consumeIterator;
|
||||
}
|
||||
});
|
||||
function consumeIterator(iter) {
|
||||
while(true){
|
||||
const { value, done } = iter.next();
|
||||
if (done) {
|
||||
return value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//# sourceMappingURL=util.js.map
|
||||
1
node_modules/next/dist/build/babel/loader/util.js.map
generated
vendored
Normal file
1
node_modules/next/dist/build/babel/loader/util.js.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"sources":["../../../../src/build/babel/loader/util.ts"],"sourcesContent":["export function consumeIterator(iter: Iterator<any>) {\n while (true) {\n const { value, done } = iter.next()\n if (done) {\n return value\n }\n }\n}\n"],"names":["consumeIterator","iter","value","done","next"],"mappings":";;;;+BAAgBA;;;eAAAA;;;AAAT,SAASA,gBAAgBC,IAAmB;IACjD,MAAO,KAAM;QACX,MAAM,EAAEC,KAAK,EAAEC,IAAI,EAAE,GAAGF,KAAKG,IAAI;QACjC,IAAID,MAAM;YACR,OAAOD;QACT;IACF;AACF"}
|
||||
2
node_modules/next/dist/build/babel/plugins/amp-attributes.d.ts
generated
vendored
Normal file
2
node_modules/next/dist/build/babel/plugins/amp-attributes.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
import type { PluginObj } from 'next/dist/compiled/babel/core';
|
||||
export default function AmpAttributePatcher(): PluginObj;
|
||||
36
node_modules/next/dist/build/babel/plugins/amp-attributes.js
generated
vendored
Normal file
36
node_modules/next/dist/build/babel/plugins/amp-attributes.js
generated
vendored
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
Object.defineProperty(exports, "default", {
|
||||
enumerable: true,
|
||||
get: function() {
|
||||
return AmpAttributePatcher;
|
||||
}
|
||||
});
|
||||
function AmpAttributePatcher() {
|
||||
return {
|
||||
visitor: {
|
||||
JSXOpeningElement (path) {
|
||||
const openingElement = path.node;
|
||||
const { name, attributes } = openingElement;
|
||||
if (!(name && name.type === 'JSXIdentifier')) {
|
||||
return;
|
||||
}
|
||||
if (!name.name.startsWith('amp-')) {
|
||||
return;
|
||||
}
|
||||
for (const attribute of attributes){
|
||||
if (attribute.type !== 'JSXAttribute') {
|
||||
continue;
|
||||
}
|
||||
if (attribute.name.name === 'className') {
|
||||
attribute.name.name = 'class';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
//# sourceMappingURL=amp-attributes.js.map
|
||||
1
node_modules/next/dist/build/babel/plugins/amp-attributes.js.map
generated
vendored
Normal file
1
node_modules/next/dist/build/babel/plugins/amp-attributes.js.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"sources":["../../../../src/build/babel/plugins/amp-attributes.ts"],"sourcesContent":["import type { NodePath, types, PluginObj } from 'next/dist/compiled/babel/core'\n\nexport default function AmpAttributePatcher(): PluginObj {\n return {\n visitor: {\n JSXOpeningElement(path: NodePath<types.JSXOpeningElement>) {\n const openingElement = path.node\n\n const { name, attributes } = openingElement\n if (!(name && name.type === 'JSXIdentifier')) {\n return\n }\n\n if (!name.name.startsWith('amp-')) {\n return\n }\n\n for (const attribute of attributes) {\n if (attribute.type !== 'JSXAttribute') {\n continue\n }\n\n if (attribute.name.name === 'className') {\n attribute.name.name = 'class'\n }\n }\n },\n },\n }\n}\n"],"names":["AmpAttributePatcher","visitor","JSXOpeningElement","path","openingElement","node","name","attributes","type","startsWith","attribute"],"mappings":";;;;+BAEA;;;eAAwBA;;;AAAT,SAASA;IACtB,OAAO;QACLC,SAAS;YACPC,mBAAkBC,IAAuC;gBACvD,MAAMC,iBAAiBD,KAAKE,IAAI;gBAEhC,MAAM,EAAEC,IAAI,EAAEC,UAAU,EAAE,GAAGH;gBAC7B,IAAI,CAAEE,CAAAA,QAAQA,KAAKE,IAAI,KAAK,eAAc,GAAI;oBAC5C;gBACF;gBAEA,IAAI,CAACF,KAAKA,IAAI,CAACG,UAAU,CAAC,SAAS;oBACjC;gBACF;gBAEA,KAAK,MAAMC,aAAaH,WAAY;oBAClC,IAAIG,UAAUF,IAAI,KAAK,gBAAgB;wBACrC;oBACF;oBAEA,IAAIE,UAAUJ,IAAI,CAACA,IAAI,KAAK,aAAa;wBACvCI,UAAUJ,IAAI,CAACA,IAAI,GAAG;oBACxB;gBACF;YACF;QACF;IACF;AACF"}
|
||||
2
node_modules/next/dist/build/babel/plugins/commonjs.d.ts
generated
vendored
Normal file
2
node_modules/next/dist/build/babel/plugins/commonjs.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
import type { PluginObj } from 'next/dist/compiled/babel/core';
|
||||
export default function CommonJSModulePlugin(...args: any): PluginObj;
|
||||
42
node_modules/next/dist/build/babel/plugins/commonjs.js
generated
vendored
Normal file
42
node_modules/next/dist/build/babel/plugins/commonjs.js
generated
vendored
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
Object.defineProperty(exports, // Handle module.exports in user code
|
||||
"default", {
|
||||
enumerable: true,
|
||||
get: function() {
|
||||
return CommonJSModulePlugin;
|
||||
}
|
||||
});
|
||||
const _plugintransformmodulescommonjs = /*#__PURE__*/ _interop_require_default(require("next/dist/compiled/babel/plugin-transform-modules-commonjs"));
|
||||
function _interop_require_default(obj) {
|
||||
return obj && obj.__esModule ? obj : {
|
||||
default: obj
|
||||
};
|
||||
}
|
||||
function CommonJSModulePlugin(...args) {
|
||||
const commonjs = (0, _plugintransformmodulescommonjs.default)(...args);
|
||||
return {
|
||||
visitor: {
|
||||
Program: {
|
||||
exit (path, state) {
|
||||
let foundModuleExports = false;
|
||||
path.traverse({
|
||||
MemberExpression (expressionPath) {
|
||||
if (expressionPath.node.object.name !== 'module') return;
|
||||
if (expressionPath.node.property.name !== 'exports') return;
|
||||
foundModuleExports = true;
|
||||
}
|
||||
});
|
||||
if (!foundModuleExports) {
|
||||
return;
|
||||
}
|
||||
commonjs.visitor.Program.exit.call(this, path, state);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
//# sourceMappingURL=commonjs.js.map
|
||||
1
node_modules/next/dist/build/babel/plugins/commonjs.js.map
generated
vendored
Normal file
1
node_modules/next/dist/build/babel/plugins/commonjs.js.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"sources":["../../../../src/build/babel/plugins/commonjs.ts"],"sourcesContent":["import type { NodePath, types } from 'next/dist/compiled/babel/core'\nimport type { PluginObj } from 'next/dist/compiled/babel/core'\nimport commonjsPlugin from 'next/dist/compiled/babel/plugin-transform-modules-commonjs'\n\n// Handle module.exports in user code\nexport default function CommonJSModulePlugin(...args: any): PluginObj {\n const commonjs = commonjsPlugin(...args)\n return {\n visitor: {\n Program: {\n exit(path: NodePath<types.Program>, state) {\n let foundModuleExports = false\n path.traverse({\n MemberExpression(expressionPath: any) {\n if (expressionPath.node.object.name !== 'module') return\n if (expressionPath.node.property.name !== 'exports') return\n foundModuleExports = true\n },\n })\n\n if (!foundModuleExports) {\n return\n }\n\n commonjs.visitor.Program.exit.call(this, path, state)\n },\n },\n },\n }\n}\n"],"names":["CommonJSModulePlugin","args","commonjs","commonjsPlugin","visitor","Program","exit","path","state","foundModuleExports","traverse","MemberExpression","expressionPath","node","object","name","property","call"],"mappings":";;;;+BAIA,qCAAqC;AACrC;;;eAAwBA;;;uFAHG;;;;;;AAGZ,SAASA,qBAAqB,GAAGC,IAAS;IACvD,MAAMC,WAAWC,IAAAA,uCAAc,KAAIF;IACnC,OAAO;QACLG,SAAS;YACPC,SAAS;gBACPC,MAAKC,IAA6B,EAAEC,KAAK;oBACvC,IAAIC,qBAAqB;oBACzBF,KAAKG,QAAQ,CAAC;wBACZC,kBAAiBC,cAAmB;4BAClC,IAAIA,eAAeC,IAAI,CAACC,MAAM,CAACC,IAAI,KAAK,UAAU;4BAClD,IAAIH,eAAeC,IAAI,CAACG,QAAQ,CAACD,IAAI,KAAK,WAAW;4BACrDN,qBAAqB;wBACvB;oBACF;oBAEA,IAAI,CAACA,oBAAoB;wBACvB;oBACF;oBAEAP,SAASE,OAAO,CAACC,OAAO,CAACC,IAAI,CAACW,IAAI,CAAC,IAAI,EAAEV,MAAMC;gBACjD;YACF;QACF;IACF;AACF"}
|
||||
5
node_modules/next/dist/build/babel/plugins/jsx-pragma.d.ts
generated
vendored
Normal file
5
node_modules/next/dist/build/babel/plugins/jsx-pragma.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
import type { types as BabelTypes } from 'next/dist/compiled/babel/core';
|
||||
import type { PluginObj } from 'next/dist/compiled/babel/core';
|
||||
export default function ({ types: t, }: {
|
||||
types: typeof BabelTypes;
|
||||
}): PluginObj<any>;
|
||||
76
node_modules/next/dist/build/babel/plugins/jsx-pragma.js
generated
vendored
Normal file
76
node_modules/next/dist/build/babel/plugins/jsx-pragma.js
generated
vendored
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
Object.defineProperty(exports, "default", {
|
||||
enumerable: true,
|
||||
get: function() {
|
||||
return _default;
|
||||
}
|
||||
});
|
||||
const _pluginsyntaxjsx = /*#__PURE__*/ _interop_require_default(require("next/dist/compiled/babel/plugin-syntax-jsx"));
|
||||
function _interop_require_default(obj) {
|
||||
return obj && obj.__esModule ? obj : {
|
||||
default: obj
|
||||
};
|
||||
}
|
||||
function _default({ types: t }) {
|
||||
return {
|
||||
inherits: _pluginsyntaxjsx.default,
|
||||
visitor: {
|
||||
JSXElement (_path, state) {
|
||||
state.set('jsx', true);
|
||||
},
|
||||
// Fragment syntax is still JSX since it compiles to createElement(),
|
||||
// but JSXFragment is not a JSXElement
|
||||
JSXFragment (_path, state) {
|
||||
state.set('jsx', true);
|
||||
},
|
||||
Program: {
|
||||
exit (path, state) {
|
||||
if (state.get('jsx')) {
|
||||
const pragma = t.identifier(state.opts.pragma);
|
||||
let importAs = pragma;
|
||||
// if there's already a React in scope, use that instead of adding an import
|
||||
const existingBinding = state.opts.reuseImport !== false && state.opts.importAs && path.scope.getBinding(state.opts.importAs);
|
||||
// var _jsx = _pragma.createElement;
|
||||
if (state.opts.property) {
|
||||
if (state.opts.importAs) {
|
||||
importAs = t.identifier(state.opts.importAs);
|
||||
} else {
|
||||
importAs = path.scope.generateUidIdentifier('pragma');
|
||||
}
|
||||
const mapping = t.variableDeclaration('var', [
|
||||
t.variableDeclarator(pragma, t.memberExpression(importAs, t.identifier(state.opts.property)))
|
||||
]);
|
||||
// if the React binding came from a require('react'),
|
||||
// make sure that our usage comes after it.
|
||||
let newPath;
|
||||
if (existingBinding && t.isVariableDeclarator(existingBinding.path.node) && t.isCallExpression(existingBinding.path.node.init) && t.isIdentifier(existingBinding.path.node.init.callee) && existingBinding.path.node.init.callee.name === 'require') {
|
||||
;
|
||||
[newPath] = existingBinding.path.parentPath.insertAfter(mapping);
|
||||
} else {
|
||||
;
|
||||
[newPath] = path.unshiftContainer('body', mapping);
|
||||
}
|
||||
for (const declar of newPath.get('declarations')){
|
||||
path.scope.registerBinding(newPath.node.kind, declar);
|
||||
}
|
||||
}
|
||||
if (!existingBinding) {
|
||||
const importSpecifier = t.importDeclaration([
|
||||
state.opts.import ? t.importSpecifier(importAs, t.identifier(state.opts.import)) : state.opts.importNamespace ? t.importNamespaceSpecifier(importAs) : t.importDefaultSpecifier(importAs)
|
||||
], t.stringLiteral(state.opts.module || 'react'));
|
||||
const [newPath] = path.unshiftContainer('body', importSpecifier);
|
||||
for (const specifier of newPath.get('specifiers')){
|
||||
path.scope.registerBinding('module', specifier);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
//# sourceMappingURL=jsx-pragma.js.map
|
||||
1
node_modules/next/dist/build/babel/plugins/jsx-pragma.js.map
generated
vendored
Normal file
1
node_modules/next/dist/build/babel/plugins/jsx-pragma.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
2
node_modules/next/dist/build/babel/plugins/next-font-unsupported.d.ts
generated
vendored
Normal file
2
node_modules/next/dist/build/babel/plugins/next-font-unsupported.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
import type { PluginObj } from 'next/dist/compiled/babel/core';
|
||||
export default function NextPageDisallowReExportAllExports(): PluginObj<any>;
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue