Skip to content

Commit

Permalink
Revert ncc webpack (vercel#7370)
Browse files Browse the repository at this point in the history
* Revert "Add retrying to CircleCi and fixes for ncc'ed webpack (vercel#7366)"

This reverts commit 5beb365.

* Revert "ncc Webpack build (vercel#7301)"

This reverts commit bd8f3c6.

# Conflicts:
#	packages/next/package.json
  • Loading branch information
timneutkens committed May 17, 2019
1 parent 3dea1a5 commit 6feca31
Show file tree
Hide file tree
Showing 35 changed files with 218 additions and 357 deletions.
2 changes: 1 addition & 1 deletion .circleci/config.yml
Expand Up @@ -46,7 +46,7 @@ commands:
- run:
name: Run All Tests
command: >
yarn testall $(circleci tests glob "test/**/*.test.*" | circleci tests split --split-by=timings --timings-type=classname) || (yarn git-clean; yarn git-reset; yarn testall $(circleci tests glob "test/**/*.test.*" | circleci tests split --split-by=timings --timings-type=classname))
yarn testall $(circleci tests glob "test/**/*.test.*" | circleci tests split --split-by=timings --timings-type=classname)
environment:
JEST_JUNIT_OUTPUT: 'reports/junit/js-test-results.xml'
JEST_JUNIT_CLASSNAME: '{filepath}'
Expand Down
2 changes: 1 addition & 1 deletion packages/next/build/compiler.ts
@@ -1,4 +1,4 @@
import webpack, {Stats} from 'next/dist/compiled/webpack'
import webpack, {Stats} from 'webpack'

export type CompilerResult = {
errors: Error[]
Expand Down
2 changes: 1 addition & 1 deletion packages/next/build/webpack-config.ts
Expand Up @@ -9,7 +9,7 @@ import {
import resolve from 'next/dist/compiled/resolve/index.js'
import path from 'path'
import { promisify } from 'util'
import webpack from 'next/dist/compiled/webpack'
import webpack from 'webpack'

import {
DOT_NEXT_ALIAS,
Expand Down
@@ -1,4 +1,4 @@
import {loader} from 'next/dist/compiled/webpack'
import {loader} from 'webpack'
import loaderUtils from 'loader-utils'

export type ClientPagesLoaderOptions = {
Expand Down
2 changes: 1 addition & 1 deletion packages/next/build/webpack/loaders/next-data-loader.ts
@@ -1,4 +1,4 @@
import {loader} from 'next/dist/compiled/webpack'
import {loader} from 'webpack'
import hash from 'string-hash'
import {basename} from 'path'
const nextDataLoader: loader.Loader = function (source) {
Expand Down
2 changes: 1 addition & 1 deletion packages/next/build/webpack/loaders/next-minify-loader.ts
@@ -1,5 +1,5 @@
import loaderUtils from 'loader-utils'
import { loader } from 'next/dist/compiled/webpack'
import { loader } from 'webpack'
import minify from '../plugins/terser-webpack-plugin/src/minify'

const nextMiniferLoader: loader.Loader = function(source) {
Expand Down
6 changes: 3 additions & 3 deletions packages/next/build/webpack/loaders/next-serverless-loader.ts
@@ -1,4 +1,4 @@
import {loader} from 'next/dist/compiled/webpack'
import {loader} from 'webpack'
import {join} from 'path'
import {parse} from 'querystring'
import { BUILD_MANIFEST, REACT_LOADABLE_MANIFEST } from 'next-server/constants'
Expand Down Expand Up @@ -59,8 +59,8 @@ const nextServerlessLoader: loader.Loader = function () {
{
Component,
dataOnly: req.headers && (req.headers.accept || '').indexOf('application/amp.bind+json') !== -1,
},
options,
},
options,
))
return result
} catch (err) {
Expand Down
2 changes: 1 addition & 1 deletion packages/next/build/webpack/loaders/noop-loader.ts
@@ -1,4 +1,4 @@
import { loader } from 'next/dist/compiled/webpack'
import { loader } from 'webpack'

const NoopLoader: loader.Loader = (source) => source
export default NoopLoader
@@ -1,4 +1,4 @@
import { Compiler, Plugin } from 'next/dist/compiled/webpack'
import { Compiler, Plugin } from 'webpack'
import { createHash } from 'crypto'
import path from 'path'

Expand Down
@@ -1,4 +1,4 @@
import { Compiler } from 'next/dist/compiled/webpack'
import { Compiler } from 'webpack'
import { RawSource } from 'webpack-sources'
import {
BUILD_MANIFEST,
Expand Down
2 changes: 1 addition & 1 deletion packages/next/build/webpack/plugins/chunk-graph-plugin.ts
Expand Up @@ -4,7 +4,7 @@ import { CLIENT_STATIC_FILES_RUNTIME_MAIN } from 'next-server/constants'
import { EOL } from 'os'
import path from 'path'
import { parse } from 'querystring'
import { Compiler, Plugin } from 'next/dist/compiled/webpack'
import { Compiler, Plugin } from 'webpack'

type StringDictionary = { [pageName: string]: string[] }
const manifest: {
Expand Down
2 changes: 1 addition & 1 deletion packages/next/build/webpack/plugins/chunk-names-plugin.ts
@@ -1,4 +1,4 @@
import { Compiler } from 'next/dist/compiled/webpack'
import { Compiler } from 'webpack'
// This plugin mirrors webpack 3 `filename` and `chunkfilename` behavior
// This fixes https://github.com/webpack/webpack/issues/6598
// This plugin is based on https://github.com/researchgate/webpack/commit/2f28947fa0c63ccbb18f39c0098bd791a2c37090
Expand Down
7 changes: 4 additions & 3 deletions packages/next/build/webpack/plugins/dll-import.ts
@@ -1,8 +1,9 @@
import path from 'path'

export function importAutoDllPlugin({ distDir }: { distDir: string }) {
const autodllPaths = require.resolve(
'next/dist/compiled/autodll-webpack-plugin/paths'
const autodllPaths = path.join(
path.dirname(require.resolve('autodll-webpack-plugin')),
'paths.js'
)
require(autodllPaths)

Expand All @@ -17,6 +18,6 @@ export function importAutoDllPlugin({ distDir }: { distDir: string }) {
}),
})

const AutoDllPlugin = require('next/dist/compiled/autodll-webpack-plugin')
const AutoDllPlugin = require('autodll-webpack-plugin')
return AutoDllPlugin
}
@@ -1,9 +1,9 @@
import ForkTsCheckerWebpackPlugin from 'fork-ts-checker-webpack-plugin'
import { NormalizedMessage } from 'fork-ts-checker-webpack-plugin/lib/NormalizedMessage'
import webpack from 'next/dist/compiled/webpack'
import webpack from 'webpack'

export function Apply(compiler: webpack.Compiler) {
const hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler as any)
const hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler)

let additionalFiles: string[] = []

Expand Down
@@ -1,4 +1,4 @@
import { Compiler, Plugin } from 'next/dist/compiled/webpack'
import { Compiler, Plugin } from 'webpack'
import { createHash } from 'crypto'

export class HashedChunkIdsPlugin implements Plugin {
Expand Down
@@ -1,4 +1,4 @@
import { Compiler, Plugin } from 'next/dist/compiled/webpack'
import { Compiler, Plugin } from 'webpack'
import { extname } from 'path'

// Prevents outputting client pages when they are not needed
Expand Down
@@ -1,4 +1,4 @@
import { Compiler, Plugin } from 'next/dist/compiled/webpack'
import { Compiler, Plugin } from 'webpack'
import { realpathSync } from 'fs'

function deleteCache (path: string) {
Expand Down
2 changes: 1 addition & 1 deletion packages/next/build/webpack/plugins/nextjs-ssr-import.ts
@@ -1,5 +1,5 @@
import { join, resolve, relative, dirname } from 'path'
import { Compiler } from 'next/dist/compiled/webpack'
import { Compiler } from 'webpack'

// This plugin modifies the require-ensure code generated by Webpack
// to work with Next.js SSR
Expand Down
@@ -1,4 +1,4 @@
import webpack from 'next/dist/compiled/webpack'
import webpack from 'webpack'
import { RawSource } from 'webpack-sources'
import { join, relative, dirname } from 'path'
import { IS_BUNDLED_PAGE_REGEX } from 'next-server/constants'
Expand Down
@@ -1,4 +1,4 @@
import {Compiler, Plugin} from 'next/dist/compiled/webpack'
import {Compiler, Plugin} from 'webpack'
import { RawSource } from 'webpack-sources'
import { PAGES_MANIFEST, ROUTE_NAME_REGEX } from 'next-server/constants'

Expand Down
Expand Up @@ -22,7 +22,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWAR
// Modified to strip out unneeded results for Next's specific use case

import url from 'url'
import { Compiler, compilation } from 'next/dist/compiled/webpack'
import { Compiler, compilation } from 'webpack'

function buildManifest (compiler: Compiler, compilation: compilation.Compilation) {
let context = compiler.options.context
Expand Down
4 changes: 2 additions & 2 deletions packages/next/build/webpack/plugins/serverless-plugin.ts
@@ -1,5 +1,5 @@
import { Compiler } from 'next/dist/compiled/webpack'
import { connectChunkAndModule } from 'next/dist/compiled/webpack/lib/GraphHelpers'
import { Compiler } from 'webpack'
import { connectChunkAndModule } from 'webpack/lib/GraphHelpers'

/**
* Makes sure there are no dynamic chunks when the target is serverless
Expand Down
@@ -1,4 +1,4 @@
import { Compiler, Plugin } from 'next/dist/compiled/webpack'
import { Compiler, Plugin } from 'webpack'

export class SharedRuntimePlugin implements Plugin {
apply(compiler: Compiler) {
Expand Down
Expand Up @@ -4,7 +4,7 @@
import stringHash from 'string-hash'
import { SourceMapConsumer } from 'source-map'
import { SourceMapSource, RawSource } from 'webpack-sources'
import { RequestShortener } from 'next/dist/compiled/webpack';
import { RequestShortener } from 'webpack';
import TaskRunner from './TaskRunner'

const warningRegex = /\[.+:([0-9]+),([0-9]+)\]/
Expand Down
Expand Up @@ -2,7 +2,7 @@ import { join } from 'path'
import { promisify } from 'util'
import fs from 'fs'
import { IS_BUNDLED_PAGE_REGEX } from 'next-server/constants'
import {Compiler} from 'next/dist/compiled/webpack'
import {Compiler} from 'webpack'

const unlink = promisify(fs.unlink)

Expand Down
13 changes: 6 additions & 7 deletions packages/next/package.json
Expand Up @@ -68,6 +68,7 @@
"@babel/runtime-corejs2": "7.1.2",
"amphtml-validator": "1.0.23",
"async-sema": "2.2.0",
"autodll-webpack-plugin": "0.4.2",
"babel-core": "7.0.0-bridge.0",
"babel-loader": "8.0.5",
"babel-plugin-react-require": "3.0.0",
Expand All @@ -81,7 +82,6 @@
"loader-utils": "1.1.0",
"mkdirp": "0.5.1",
"next-server": "8.1.1-canary.31",
"node-libs-browser": "2.2.0",
"prop-types": "15.6.2",
"prop-types-exact": "1.2.0",
"react-error-overlay": "5.1.4",
Expand All @@ -96,6 +96,9 @@
"tty-aware-progress": "1.0.3",
"unfetch": "4.1.0",
"url": "0.11.0",
"webpack": "4.30.0",
"webpack-dev-middleware": "3.6.0",
"webpack-hot-middleware": "2.24.3",
"webpack-sources": "1.3.0",
"worker-farm": "1.5.2"
},
Expand Down Expand Up @@ -127,19 +130,15 @@
"@types/styled-jsx": "2.2.8",
"@types/text-table": "0.2.0",
"@types/webpack-sources": "0.1.5",
"@zeit/ncc": "0.19.0-beta.1",
"@zeit/ncc": "0.15.2",
"arg": "4.1.0",
"autodll-webpack-plugin": "0.4.2",
"babel-plugin-dynamic-import-node": "2.2.0",
"nanoid": "2.0.1",
"resolve": "1.5.0",
"taskr": "1.1.0",
"text-table": "0.2.0",
"typescript": "3.1.6",
"unistore": "3.2.1",
"webpack": "4.29.0",
"webpack-dev-middleware": "3.6.0",
"webpack-hot-middleware": "2.24.3"
"unistore": "3.2.1"
},
"engines": {
"node": ">= 8.0.0"
Expand Down
6 changes: 3 additions & 3 deletions packages/next/server/hot-reloader.js
@@ -1,9 +1,9 @@
import { relative as relativePath, join, normalize, sep } from 'path'
import WebpackDevMiddleware from 'next/dist/compiled/webpack-dev-middleware'
import WebpackHotMiddleware from 'next/dist/compiled/webpack-hot-middleware'
import WebpackDevMiddleware from 'webpack-dev-middleware'
import WebpackHotMiddleware from 'webpack-hot-middleware'
import errorOverlayMiddleware from './lib/error-overlay-middleware'
import onDemandEntryHandler, { normalizePage } from './on-demand-entry-handler'
import webpack from 'next/dist/compiled/webpack'
import webpack from 'webpack'
import getBaseWebpackConfig from '../build/webpack-config'
import { IS_BUNDLED_PAGE_REGEX, ROUTE_NAME_REGEX, BLOCKED_PAGES, CLIENT_STATIC_FILES_RUNTIME_AMP } from 'next-server/constants'
import { NEXT_PROJECT_ROOT_DIST_CLIENT } from '../lib/constants'
Expand Down
12 changes: 7 additions & 5 deletions packages/next/server/on-demand-entry-handler.js
@@ -1,4 +1,4 @@
import webpack from 'next/dist/compiled/webpack'
import DynamicEntryPlugin from 'webpack/lib/DynamicEntryPlugin'
import { EventEmitter } from 'events'
import { join, posix } from 'path'
import { parse } from 'url'
Expand All @@ -17,8 +17,7 @@ const BUILT = Symbol('built')
// Based on https://github.com/webpack/webpack/blob/master/lib/DynamicEntryPlugin.js#L29-L37
function addEntry (compilation, context, name, entry) {
return new Promise((resolve, reject) => {
const dep = webpack.SingleEntryPlugin.createDependency(entry, name)

const dep = DynamicEntryPlugin.createDependency(entry, name)
compilation.addEntry(context, dep, name, (err) => {
if (err) return reject(err)
resolve()
Expand All @@ -29,10 +28,13 @@ function addEntry (compilation, context, name, entry) {
export default function onDemandEntryHandler (devMiddleware, multiCompiler, {
buildId,
dir,
distDir,
reload,
pageExtensions,
maxInactiveAge,
pagesBufferLength
pagesBufferLength,
publicRuntimeConfig,
serverRuntimeConfig
}) {
const pagesDir = join(dir, 'pages')
const { compilers } = multiCompiler
Expand All @@ -59,7 +61,7 @@ export default function onDemandEntryHandler (devMiddleware, multiCompiler, {
}

entries[page].status = BUILDING
return addEntry(compilation, compiler.context, name, compiler.name === 'client' ? `next-client-pages-loader?${stringify({ page, absolutePagePath })}!` : absolutePagePath)
return addEntry(compilation, compiler.context, name, [compiler.name === 'client' ? `next-client-pages-loader?${stringify({ page, absolutePagePath })}!` : absolutePagePath])
})

return Promise.all(allEntries)
Expand Down
10 changes: 0 additions & 10 deletions packages/next/taskfile-ncc.js
@@ -1,7 +1,4 @@
'use strict'
// this fixes Azure on node 10 with ncc
// without exits with: error Command failed with exit code 3221225477.
process.pkg = true

const ncc = require('@zeit/ncc')
const { existsSync, readFileSync } = require('fs')
Expand All @@ -25,13 +22,6 @@ module.exports = function (task) {
if (options && options.packageName) {
writePackageManifest.call(this, options.packageName)
}
// make sure to use our compiled version of webpack
code = code
.replace(/require\(('|")webpack('|")\)/g, 'require("next/dist/compiled/webpack")')
.replace(
/webpack\/lib\/node\/NodeOutputFileSystem/g,
'next/dist/compiled/webpack/lib/node/NodeOutputFileSystem'
)

file.data = Buffer.from(code, 'utf8')
})
Expand Down

0 comments on commit 6feca31

Please sign in to comment.