提交 5619f990 编写于 作者: G Guy Bedford 提交者: Joe Haddad

refactor ncc optimization, babel optimization

上级 7038d275
import { NodePath, PluginObj } from '@babel/core'
import { JSXOpeningElement } from '@babel/types'
import { NodePath, PluginObj } from 'next/dist/compiled/babel--core'
import { JSXOpeningElement } from 'next/dist/compiled/babel--types'
export default function AmpAttributePatcher(...args: any): PluginObj {
return {
......
import { NodePath, PluginObj } from '@babel/core'
import commonjsPlugin from '@babel/plugin-transform-modules-commonjs'
import { Program } from '@babel/types'
import { NodePath, PluginObj } from 'next/dist/compiled/babel--core'
import commonjsPlugin from 'next/dist/compiled/babel--plugin-transform-modules-commonjs'
import { Program } from 'next/dist/compiled/babel--types'
// Rewrite imports using next/<something> to next-server/<something>
export default function NextToNextServer(...args: any): PluginObj {
......
import { NodePath, PluginObj } from '@babel/core'
import * as BabelTypes from '@babel/types'
import { NodePath, PluginObj } from 'next/dist/compiled/babel--core'
import * as BabelTypes from 'next/dist/compiled/babel--types'
export default function({
types: t,
......@@ -7,7 +7,7 @@ export default function({
types: typeof BabelTypes
}): PluginObj<any> {
return {
inherits: require('babel-plugin-syntax-jsx'),
inherits: require('next/dist/compiled/babel-plugin-syntax-jsx'),
visitor: {
JSXElement(path, state) {
state.set('jsx', true)
......
import { NodePath, PluginObj } from '@babel/core'
import * as BabelTypes from '@babel/types'
import { NodePath, PluginObj } from 'next/dist/compiled/babel--core'
import * as BabelTypes from 'next/dist/compiled/babel--types'
export default function({
types: t,
......
import { NodePath, PluginObj } from '@babel/core'
import * as BabelTypes from '@babel/types'
import { NodePath, PluginObj } from 'next/dist/compiled/babel--core'
import * as BabelTypes from 'next/dist/compiled/babel--types'
import { PageConfig } from 'next/types'
const STRING_LITERAL_DROP_BUNDLE = '__NEXT_DROP_CLIENT_FILE__'
......
import { NodePath, PluginObj } from '@babel/core'
import * as BabelTypes from '@babel/types'
import { NodePath, PluginObj } from 'next/dist/compiled/babel--core'
import * as BabelTypes from 'next/dist/compiled/babel--types'
import { SERVER_PROPS_SSG_CONFLICT } from '../../../lib/constants'
import {
STATIC_PROPS_ID,
......
import { NodePath, PluginObj } from '@babel/core'
import * as BabelTypes from '@babel/types'
import { NodePath, PluginObj } from 'next/dist/compiled/babel--core'
import * as BabelTypes from 'next/dist/compiled/babel--types'
// matches any hook-like (the default)
const isHook = /^use[A-Z]/
......
......@@ -23,8 +23,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWAR
// Modified to put `webpack` and `modules` under `loadableGenerated` to be backwards compatible with next/dynamic which has a `modules` key
// Modified to support `dynamic(import('something'))` and `dynamic(import('something'), options)
import { NodePath, PluginObj } from '@babel/core'
import * as BabelTypes from '@babel/types'
import { NodePath, PluginObj } from 'next/dist/compiled/babel--core'
import * as BabelTypes from 'next/dist/compiled/babel--types'
export default function({ types: t }: { types: typeof BabelTypes }): PluginObj {
return {
......
import { PluginItem } from '@babel/core'
import { PluginItem } from 'next/dist/compiled/babel--core'
const env = process.env.NODE_ENV
const isProduction = env === 'production'
const isDevelopment = env === 'development'
......@@ -95,7 +95,7 @@ module.exports = (
}
}
// specify a preset to use instead of @babel/preset-env:
// specify a preset to use instead of @babel/preset-env
const customModernPreset =
isLaxModern && options['experimental-modern-preset']
......@@ -103,11 +103,11 @@ module.exports = (
sourceType: 'unambiguous',
presets: [
customModernPreset || [
require('@babel/preset-env').default,
require('next/dist/compiled/babel--preset-env').default,
presetEnvConfig,
],
[
require('@babel/preset-react'),
require('next/dist/compiled/babel--preset-react'),
{
// This adds @babel/plugin-transform-react-jsx-source and
// @babel/plugin-transform-react-jsx-self automatically in development
......@@ -116,7 +116,10 @@ module.exports = (
...options['preset-react'],
},
],
[require('@babel/preset-typescript'), { allowNamespaces: true }],
[
require('next/dist/compiled/babel--preset-typescript'),
{ allowNamespaces: true },
],
],
plugins: [
[
......@@ -138,20 +141,20 @@ module.exports = (
lib: true,
},
],
require('@babel/plugin-syntax-dynamic-import'),
require('next/dist/compiled/babel--plugin-syntax-dynamic-import'),
require('./plugins/react-loadable-plugin'),
[
require('@babel/plugin-proposal-class-properties'),
require('next/dist/compiled/babel--plugin-proposal-class-properties'),
options['class-properties'] || {},
],
[
require('@babel/plugin-proposal-object-rest-spread'),
require('next/dist/compiled/babel--plugin-proposal-object-rest-spread'),
{
useBuiltIns: true,
},
],
!isServer && [
require('@babel/plugin-transform-runtime'),
require('next/dist/compiled/babel--plugin-transform-runtime'),
{
corejs: false,
helpers: true,
......@@ -169,20 +172,27 @@ module.exports = (
],
require('./plugins/amp-attributes'),
isProduction && [
require('babel-plugin-transform-react-remove-prop-types'),
require('next/dist/compiled/babel-plugin-transform-react-remove-prop-types'),
{
removeImport: true,
},
],
require('@babel/plugin-proposal-optional-chaining'),
require('@babel/plugin-proposal-nullish-coalescing-operator'),
isServer && require('@babel/plugin-syntax-bigint'),
[require('@babel/plugin-proposal-numeric-separator').default, false],
require('next/dist/compiled/babel--plugin-proposal-optional-chaining'),
require('next/dist/compiled/babel--plugin-proposal-nullish-coalescing-operator'),
isServer && require('next/dist/compiled/babel--plugin-syntax-bigint'),
[
require('next/dist/compiled/babel--plugin-proposal-numeric-separator')
.default,
false,
],
].filter(Boolean),
overrides: [
{
test: /\.tsx?$/,
plugins: [require('@babel/plugin-proposal-numeric-separator').default],
plugins: [
require('next/dist/compiled/babel--plugin-proposal-numeric-separator')
.default,
],
},
],
}
......
import babelLoader from 'babel-loader'
import babelLoader from 'next/dist/compiled/babel-loader'
import { basename, join } from 'path'
import hash from 'string-hash'
......@@ -44,7 +44,7 @@ module.exports = babelLoader.custom(babel => {
{ type: 'plugin' }
)
const commonJsItem = babel.createConfigItem(
require('@babel/plugin-transform-modules-commonjs'),
require('next/dist/compiled/babel--plugin-transform-modules-commonjs'),
{ type: 'plugin' }
)
......@@ -180,7 +180,7 @@ module.exports = babelLoader.custom(babel => {
}
options.plugins.push([
require.resolve('babel-plugin-transform-define'),
require.resolve('next/dist/compiled/babel-plugin-transform-define'),
{
'process.env.NODE_ENV': development ? 'development' : 'production',
'typeof window': isServer ? 'undefined' : 'object',
......
......@@ -170,7 +170,7 @@ export default class NextEsmPlugin implements Plugin {
if (IS_PRESET_ENV.test(name)) {
presets.push([
require.resolve('@babel/preset-modules'),
require.resolve('next/dist/compiled/babel--preset-modules'),
{ loose: true },
])
} else {
......
......@@ -58,32 +58,12 @@
},
"dependencies": {
"@ampproject/toolbox-optimizer": "2.0.1",
"@babel/core": "7.7.2",
"@babel/plugin-proposal-class-properties": "7.7.0",
"@babel/plugin-proposal-nullish-coalescing-operator": "7.7.4",
"@babel/plugin-proposal-numeric-separator": "7.8.3",
"@babel/plugin-proposal-object-rest-spread": "7.6.2",
"@babel/plugin-proposal-optional-chaining": "7.7.4",
"@babel/plugin-syntax-bigint": "7.8.3",
"@babel/plugin-syntax-dynamic-import": "7.2.0",
"@babel/plugin-transform-modules-commonjs": "7.7.0",
"@babel/plugin-transform-runtime": "7.6.2",
"@babel/preset-env": "7.7.1",
"@babel/preset-modules": "0.1.1",
"@babel/preset-react": "7.7.0",
"@babel/preset-typescript": "7.7.2",
"@babel/runtime": "7.7.2",
"@babel/types": "7.7.4",
"@next/polyfill-nomodule": "9.3.4-canary.0",
"amphtml-validator": "1.0.30",
"async-retry": "1.2.3",
"async-sema": "3.0.0",
"autodll-webpack-plugin": "0.4.2",
"babel-core": "7.0.0-bridge.0",
"babel-loader": "8.0.6",
"babel-plugin-syntax-jsx": "6.18.0",
"babel-plugin-transform-define": "2.0.0",
"babel-plugin-transform-react-remove-prop-types": "0.4.24",
"browserslist": "4.8.3",
"cache-loader": "4.1.0",
"chalk": "2.4.2",
......@@ -153,6 +133,21 @@
"react-dom": "^16.6.0"
},
"devDependencies": {
"@babel/core": "7.7.2",
"@babel/plugin-proposal-class-properties": "7.7.0",
"@babel/plugin-proposal-nullish-coalescing-operator": "7.7.4",
"@babel/plugin-proposal-numeric-separator": "7.8.3",
"@babel/plugin-proposal-object-rest-spread": "7.6.2",
"@babel/plugin-proposal-optional-chaining": "7.7.4",
"@babel/plugin-syntax-bigint": "7.8.3",
"@babel/plugin-syntax-dynamic-import": "7.2.0",
"@babel/plugin-transform-modules-commonjs": "7.7.0",
"@babel/plugin-transform-runtime": "7.6.2",
"@babel/preset-env": "7.7.1",
"@babel/preset-modules": "0.1.1",
"@babel/preset-react": "7.7.0",
"@babel/preset-typescript": "7.7.2",
"@babel/types": "7.7.4",
"@taskr/clear": "1.1.0",
"@taskr/esnext": "1.1.0",
"@taskr/watch": "1.1.0",
......@@ -188,10 +183,14 @@
"@types/webpack-dev-middleware": "2.0.3",
"@types/webpack-hot-middleware": "2.16.5",
"@types/webpack-sources": "0.1.5",
"@zeit/ncc": "0.18.5",
"@zeit/ncc": "0.22.0",
"arg": "4.1.0",
"ast-types": "0.13.2",
"babel-loader": "8.0.6",
"babel-plugin-dynamic-import-node": "2.3.0",
"babel-plugin-syntax-jsx": "6.18.0",
"babel-plugin-transform-define": "2.0.0",
"babel-plugin-transform-react-remove-prop-types": "0.4.24",
"dotenv": "8.2.0",
"dotenv-expand": "5.1.0",
"nanoid": "2.0.3",
......
......@@ -8,39 +8,223 @@ export async function ncc_arg(task, opts) {
.ncc({ packageName: 'arg' })
.target('dist/compiled/arg')
}
// eslint-disable-next-line camelcase
export async function ncc_resolve(task, opts) {
export async function ncc_babel__core(task, opts) {
await task
.source(opts.src || relative(__dirname, require.resolve('resolve')))
.ncc({ packageName: 'resolve' })
.target('dist/compiled/resolve')
.source(opts.src || relative(__dirname, require.resolve('@babel/core')))
.ncc({ packageName: '@babel/core' })
.target('dist/compiled/babel--core')
}
// eslint-disable-next-line camelcase
export async function ncc_nanoid(task, opts) {
export async function ncc_babel__plugin_proposal_class_properties(task, opts) {
await task
.source(opts.src || relative(__dirname, require.resolve('nanoid')))
.ncc({ packageName: 'nanoid' })
.target('dist/compiled/nanoid')
.source(
opts.src ||
relative(
__dirname,
require.resolve('@babel/plugin-proposal-class-properties')
)
)
.ncc({ packageName: '@babel/plugin-proposal-class-properties' })
.target('dist/compiled/babel--plugin-proposal-class-properties')
}
// eslint-disable-next-line camelcase
export async function ncc_unistore(task, opts) {
export async function ncc_babel__plugin_proposal_nullish_coalescing_operator(
task,
opts
) {
await task
.source(opts.src || relative(__dirname, require.resolve('unistore')))
.ncc({ packageName: 'unistore' })
.target('dist/compiled/unistore')
.source(
opts.src ||
relative(
__dirname,
require.resolve('@babel/plugin-proposal-nullish-coalescing-operator')
)
)
.ncc({ packageName: '@babel/plugin-proposal-nullish-coalescing-operator' })
.target('dist/compiled/babel--plugin-proposal-nullish-coalescing-operator')
}
// eslint-disable-next-line camelcase
export async function ncc_text_table(task, opts) {
export async function ncc_babel__plugin_proposal_numeric_separator(task, opts) {
await task
.source(opts.src || relative(__dirname, require.resolve('text-table')))
.ncc({ packageName: 'text-table' })
.target('dist/compiled/text-table')
.source(
opts.src ||
relative(
__dirname,
require.resolve('@babel/plugin-proposal-numeric-separator')
)
)
.ncc({ packageName: '@babel/plugin-proposal-numeric-separator' })
.target('dist/compiled/babel--plugin-proposal-numeric-separator')
}
// eslint-disable-next-line camelcase
export async function ncc_babel__plugin_proposal_object_rest_spread(
task,
opts
) {
await task
.source(
opts.src ||
relative(
__dirname,
require.resolve('@babel/plugin-proposal-object-rest-spread')
)
)
.ncc({ packageName: '@babel/plugin-proposal-object-rest-spread' })
.target('dist/compiled/babel--plugin-proposal-object-rest-spread')
}
// eslint-disable-next-line camelcase
export async function ncc_babel__plugin_proposal_optional_chaining(task, opts) {
await task
.source(
opts.src ||
relative(
__dirname,
require.resolve('@babel/plugin-proposal-optional-chaining')
)
)
.ncc({ packageName: '@babel/plugin-proposal-optional-chaining' })
.target('dist/compiled/babel--plugin-proposal-optional-chaining')
}
// eslint-disable-next-line camelcase
export async function ncc_babel__plugin_syntax_bigint(task, opts) {
await task
.source(
opts.src ||
relative(__dirname, require.resolve('@babel/plugin-syntax-bigint'))
)
.ncc({ packageName: '@babel/plugin-syntax-bigint' })
.target('dist/compiled/babel--plugin-syntax-bigint')
}
// eslint-disable-next-line camelcase
export async function ncc_babel__plugin_syntax_dynamic_import(task, opts) {
await task
.source(
opts.src ||
relative(
__dirname,
// eslint-disable-next-line no-useless-concat
require.resolve('@babel/plugin-syntax-dynamic-i' + 'mport')
)
)
// eslint-disable-next-line no-useless-concat
.ncc({ packageName: '@babel/plugin-syntax-dynamic-i' + 'mport' })
// eslint-disable-next-line no-useless-concat
.target('dist/compiled/babel--plugin-syntax-dynamic-i' + 'mport')
}
// eslint-disable-next-line camelcase
export async function ncc_babel__plugin_transform_modules_commonjs(task, opts) {
await task
.source(
opts.src ||
relative(
__dirname,
require.resolve('@babel/plugin-transform-modules-commonjs')
)
)
.ncc({ packageName: '@babel/plugin-transform-modules-commonjs' })
.target('dist/compiled/babel--plugin-transform-modules-commonjs')
}
// eslint-disable-next-line camelcase
export async function ncc_babel__plugin_transform_runtime(task, opts) {
await task
.source(
opts.src ||
relative(__dirname, require.resolve('@babel/plugin-transform-runtime'))
)
.ncc({ packageName: '@babel/plugin-transform-runtime' })
.target('dist/compiled/babel--plugin-transform-runtime')
}
// eslint-disable-next-line camelcase
export async function ncc_babel__preset_env(task, opts) {
await task
.source(
opts.src || relative(__dirname, require.resolve('@babel/preset-env'))
)
.ncc({ packageName: '@babel/preset-env' })
.target('dist/compiled/babel--preset-env')
}
// eslint-disable-next-line camelcase
export async function ncc_babel__preset_modules(task, opts) {
await task
.source(
opts.src || relative(__dirname, require.resolve('@babel/preset-modules'))
)
.ncc({ packageName: '@babel/preset-modules' })
.target('dist/compiled/babel--preset-modules')
}
// eslint-disable-next-line camelcase
export async function ncc_babel__preset_react(task, opts) {
await task
.source(
opts.src || relative(__dirname, require.resolve('@babel/preset-react'))
)
.ncc({ packageName: '@babel/preset-react' })
.target('dist/compiled/babel--preset-react')
}
// eslint-disable-next-line camelcase
export async function ncc_babel__preset_typescript(task, opts) {
await task
.source(
opts.src ||
relative(__dirname, require.resolve('@babel/preset-typescript'))
)
.ncc({ packageName: '@babel/preset-typescript' })
.target('dist/compiled/babel--preset-typescript')
}
// eslint-disable-next-line camelcase
export async function ncc_babel__types(task, opts) {
await task
.source(opts.src || relative(__dirname, require.resolve('@babel/types')))
.ncc({ packageName: '@babel/types' })
.target('dist/compiled/babel--types')
}
// eslint-disable-next-line camelcase
export async function ncc_babel_loader(task, opts) {
await task
.source(opts.src || relative(__dirname, require.resolve('babel-loader')))
.ncc({
packageName: 'babel-loader',
externals: { '@babel/core': 'next/dist/compiled/babel--core' },
})
.target('dist/compiled/babel-loader')
}
// eslint-disable-next-line camelcase
export async function ncc_babel_plugin_syntax_jsx(task, opts) {
await task
.source(
opts.src ||
relative(__dirname, require.resolve('babel-plugin-syntax-jsx'))
)
.ncc({ packageName: 'babel-plugin-syntax-jsx' })
.target('dist/compiled/babel-plugin-syntax-jsx')
}
// eslint-disable-next-line camelcase
export async function ncc_babel_plugin_transform_define(task, opts) {
await task
.source(
opts.src ||
relative(__dirname, require.resolve('babel-plugin-transform-define'))
)
.ncc({ packageName: 'babel-plugin-transform-define' })
.target('dist/compiled/babel-plugin-transform-define')
}
// eslint-disable-next-line camelcase
export async function ncc_babel_plugin_transform_react_remove_prop_types(
task,
opts
) {
await task
.source(
opts.src ||
relative(
__dirname,
require.resolve('babel-plugin-transform-react-remove-prop-types')
)
)
.ncc({ packageName: 'babel-plugin-transform-react-remove-prop-types' })
.target('dist/compiled/babel-plugin-transform-react-remove-prop-types')
}
// eslint-disable-next-line camelcase
export async function ncc_dotenv(task, opts) {
await task
......@@ -48,7 +232,6 @@ export async function ncc_dotenv(task, opts) {
.ncc({ packageName: 'dotenv' })
.target('dist/compiled/dotenv')
}
// eslint-disable-next-line camelcase
export async function ncc_dotenv_expand(task, opts) {
await task
......@@ -56,16 +239,64 @@ export async function ncc_dotenv_expand(task, opts) {
.ncc({ packageName: 'dotenv-expand' })
.target('dist/compiled/dotenv-expand')
}
// eslint-disable-next-line camelcase
export async function ncc_nanoid(task, opts) {
await task
.source(opts.src || relative(__dirname, require.resolve('nanoid')))
.ncc({ packageName: 'nanoid' })
.target('dist/compiled/nanoid')
}
// eslint-disable-next-line camelcase
export async function ncc_resolve(task, opts) {
await task
.source(opts.src || relative(__dirname, require.resolve('resolve')))
.ncc({ packageName: 'resolve' })
.target('dist/compiled/resolve')
}
// eslint-disable-next-line camelcase
export async function ncc_text_table(task, opts) {
await task
.source(opts.src || relative(__dirname, require.resolve('text-table')))
.ncc({ packageName: 'text-table' })
.target('dist/compiled/text-table')
}
// eslint-disable-next-line camelcase
export async function ncc_unistore(task, opts) {
await task
.source(opts.src || relative(__dirname, require.resolve('unistore')))
.ncc({ packageName: 'unistore' })
.target('dist/compiled/unistore')
}
export async function precompile(task) {
await task.parallel([
'ncc_unistore',
'ncc_resolve',
'ncc_arg',
'ncc_nanoid',
'ncc_text_table',
'ncc_babel__core',
'ncc_babel__plugin_proposal_class_properties',
'ncc_babel__plugin_proposal_nullish_coalescing_operator',
'ncc_babel__plugin_proposal_numeric_separator',
'ncc_babel__plugin_proposal_object_rest_spread',
'ncc_babel__plugin_proposal_optional_chaining',
'ncc_babel__plugin_syntax_bigint',
// eslint-disable-next-line no-useless-concat
'ncc_babel__plugin_syntax_dynamic_i' + 'mport',
'ncc_babel__plugin_transform_modules_commonjs',
'ncc_babel__plugin_transform_runtime',
'ncc_babel__preset_env',
'ncc_babel__preset_modules',
'ncc_babel__preset_react',
'ncc_babel__preset_typescript',
'ncc_babel__types',
'ncc_babel_loader',
'ncc_babel_plugin_syntax_jsx',
'ncc_babel_plugin_transform_define',
'ncc_babel_plugin_transform_react_remove_prop_types',
'ncc_dotenv',
'ncc_dotenv_expand',
'ncc_nanoid',
'ncc_resolve',
'ncc_text_table',
'ncc_unistore',
])
}
......
......@@ -26,7 +26,7 @@ type EventCliSessionStarted = {
function hasBabelConfig(dir: string): boolean {
try {
const noopFile = path.join(dir, 'noop.js')
const res = require('@babel/core').loadPartialConfig({
const res = require('next/dist/compiled/babel--core').loadPartialConfig({
cwd: dir,
filename: noopFile,
sourceFileName: noopFile,
......
declare module '@babel/plugin-transform-modules-commonjs'
declare module 'next/dist/compiled/babel--plugin-transform-modules-commonjs'
declare module 'webpack/lib/GraphHelpers'
declare module 'webpack/lib/DynamicEntryPlugin'
declare module 'unfetch'
......@@ -13,42 +13,6 @@ declare module 'cssnano-simple' {
export = cssnanoSimple
}
declare module 'next/dist/compiled/nanoid/index.js' {
function nanoid(size?: number): string
export = nanoid
}
declare module 'next/dist/compiled/unistore' {
import unistore from 'unistore'
export = unistore
}
declare module 'next/dist/compiled/resolve/index.js' {
import resolve from 'resolve'
export = resolve
}
declare module 'next/dist/compiled/text-table' {
function textTable(
rows: Array<Array<{}>>,
opts?: {
hsep?: string
align?: Array<'l' | 'r' | 'c' | '.'>
stringLength?(str: string): number
}
): string
export = textTable
}
declare module 'next/dist/compiled/dotenv' {
import dotenv from 'dotenv'
export = dotenv
}
declare module 'next/dist/compiled/arg/index.js' {
function arg<T extends arg.Spec>(
spec: T,
......@@ -76,6 +40,122 @@ declare module 'next/dist/compiled/arg/index.js' {
export = arg
}
declare module 'next/dist/compiled/babel--core' {
import m from '@babel/core'
export = m
}
/*declare module 'next/dist/compiled/babel--plugin-proposal-class-properties' {
import m from '@babel/plugin-proposal-class-properties'
export = m
}
declare module 'next/dist/compiled/babel--plugin-proposal-nullish-coalescing-operator' {
import m from '@babel/plugin-proposal-nullish-coalescing-operator'
export = m
}
declare module 'next/dist/compiled/babel--plugin-proposal-numeric-separator' {
import m from '@babel/plugin-proposal-numeric-separator'
export = m
}
declare module 'next/dist/compiled/babel--plugin-proposal-object-rest-spread' {
import m from '@babel/plugin-proposal-object-rest-spread'
export = m
}
declare module 'next/dist/compiled/babel--plugin-proposal-optional-chaining' {
import m from '@babel/plugin-proposal-optional-chaining'
export = m
}
declare module 'next/dist/compiled/babel--plugin-syntax-bigint' {
import m from '@babel/plugin-syntax-bigint'
export = m
}
declare module 'next/dist/compiled/babel--plugin-syntax-dynamic-import' {
import m from '@babel/plugin-syntax-dynamic-import'
export = m
}
declare module 'next/dist/compiled/babel--plugin-transform-modules-commonjs' {
import m from '@babel/plugin-transform-modules-commonjs'
export = m
}
declare module 'next/dist/compiled/babel--plugin-transform-runtime' {
import m from '@babel/plugin-transform-runtime'
export = m
}
declare module 'next/dist/compiled/babel--preset-env' {
import m from '@babel/preset-env'
export = m
}
declare module 'next/dist/compiled/babel--preset-modules' {
import m from '@babel/preset-modules'
export = m
}
declare module 'next/dist/compiled/babel--preset-react' {
import m from '@babel/preset-react'
export = m
}
declare module 'next/dist/compiled/babel--preset-typescript' {
import m from '@babel/preset-typescript'
export = m
}*/
declare module 'next/dist/compiled/babel--types' {
import m from '@babel/types'
export = m
}
/*declare module 'next/dist/compiled/babel-loader' {
import m from 'babel-loader'
export = m
}
declare module 'next/dist/compiled/babel-plugin-syntax-jsx' {
import m from 'babel-plugin-syntax-jsx'
export = m
}
declare module 'next/dist/compiled/babel-plugin-transform-define' {
import m from 'babel-plugin-transform-define'
export = m
}
declare module 'next/dist/compiled/babel-plugin-transform-react-remove-prop-types' {
import m from 'babel-plugin-transform-react-remove-prop-types'
export = m
}*/
declare module 'next/dist/compiled/dotenv' {
import m from 'dotenv'
export = m
}
declare module 'next/dist/compiled/dotenv-expand' {
import m from 'dotenv-expand'
export = m
}
declare module 'next/dist/compiled/nanoid/index.js' {
function nanoid(size?: number): string
export = nanoid
}
declare module 'next/dist/compiled/resolve/index.js' {
import m from 'resolve'
export = m
}
declare module 'next/dist/compiled/text-table' {
function textTable(
rows: Array<Array<{}>>,
opts?: {
hsep?: string
align?: Array<'l' | 'r' | 'c' | '.'>
stringLength?(str: string): number
}
): string
export = textTable
}
declare module 'next/dist/compiled/unistore' {
import m from 'unistore'
export = m
}
declare module 'autodll-webpack-plugin' {
import webpack from 'webpack'
class AutoDllPlugin implements webpack.Plugin {
......
......@@ -3147,10 +3147,10 @@
resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d"
integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==
"@zeit/ncc@0.18.5":
version "0.18.5"
resolved "https://registry.yarnpkg.com/@zeit/ncc/-/ncc-0.18.5.tgz#5687df6c32f1a2e2486aa110b3454ccebda4fb9c"
integrity sha512-F+SbvEAh8rchiRXqQbmD1UmbePY7dCOKTbvfFtbVbK2xMH/tyri5YKfNxXKK7eL9EWkkbqB3NTVQO6nokApeBA==
"@zeit/ncc@0.22.0":
version "0.22.0"
resolved "https://registry.yarnpkg.com/@zeit/ncc/-/ncc-0.22.0.tgz#1a4132a375a2ffd1d6d632b0fdd9027154f6141a"
integrity sha512-zaS6chwztGSLSEzsTJw9sLTYxQt57bPFBtsYlVtbqGvmDUsfW7xgXPYofzFa1kB9ur2dRop6IxCwPnWLBVCrbQ==
"@zeit/ncc@^0.20.4":
version "0.20.5"
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册