-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Closed
Labels
ExternalRelates to another program, environment, or user action which we cannot control.Relates to another program, environment, or user action which we cannot control.
Description
TypeScript Version: 2.5.2
Code
// client.ts, server.ts
import data from './module0'
console.log(data)
// (x) means variable x
// module(x).ts
import data from './module(x+1)'
export default data
// module718.ts
const data = 100
export default data
// webpack.config.js
var path = require('path')
var CleanWebpackPlugin = require('clean-webpack-plugin')
module.exports = {
entry: {
client: path.join(__dirname, '1-original/client.ts'),
server: path.join(__dirname, '1-original/server.ts'),
},
output: {
filename: '1.ts.[name].[hash].js',
path: path.join(__dirname, 'dist')
},
resolve: {
extensions: ['.ts'],
modules: [
'node_modules',
],
},
devtool: 'eval',
target: 'web',
module: {
rules: [
{
test: /\.ts$/,
loader: 'awesome-typescript-loader',
include: [
path.join(__dirname, '1-original')
],
query: {
configFileName: path.join(__dirname, 'tsconfig.1.json')
}
}
]
},
plugins: [
new CleanWebpackPlugin([
path.join(__dirname, 'dist')
])
]
}
// Expected behavior:
Compiled well.
Actual behavior:
Hello, I created this project for benchmarking performance of TypeScript. (and Babel.)
I made module dependence tree like below with Webpack.
But, Webpack said..
[at-loader]: Child process failed to process the request: RangeError: Maximum call stack size exceeded
at String.lastIndexOf (native)
at Object.startsWith (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:3024:20)
at resolveExternalModule (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:24128:20)
at resolveExternalModuleNameWorker (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:24121:20)
at resolveExternalModuleName (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:24113:20)
at getTargetOfImportClause (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23820:32)
at getTargetOfAliasDeclaration (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23947:28)
at resolveAlias (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23978:30)
at getSymbol (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23255:38)
at resolveNameHelper (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23396:34)
at resolveName (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23383:20)
at resolveEntityName (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:24060:26)
at getTargetOfExportAssignment (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23940:20)
at getTargetOfAliasDeclaration (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23955:28)
at resolveAlias (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23978:30)
at resolveSymbol (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23969:36)
at getTargetOfImportClause (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23830:27)
at getTargetOfAliasDeclaration (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23947:28)
at resolveAlias (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23978:30)
at getSymbol (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23255:38)
at resolveNameHelper (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23396:34)
at resolveName (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23383:20)
at resolveEntityName (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:24060:26)
at getTargetOfExportAssignment (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23940:20)
at getTargetOfAliasDeclaration (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23955:28)
at resolveAlias (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23978:30)
at resolveSymbol (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23969:36)
at getTargetOfImportClause (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23830:27)
at getTargetOfAliasDeclaration (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23947:28)
at resolveAlias (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23978:30)
First, I think It is occured by awesome-typescript-loader, so I changed my loader to ts-loader.
But Result is..
Module build failed: RangeError: Maximum call stack size exceeded
at Object.assert (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:3509:24)
at resolveAlias (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23972:22)
at getSymbol (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23255:38)
at resolveNameHelper (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23396:34)
at resolveName (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23383:20)
at resolveEntityName (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:24060:26)
at getTargetOfExportAssignment (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23940:20)
at getTargetOfAliasDeclaration (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23955:28)
at resolveAlias (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23978:30)
at resolveSymbol (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23969:36)
at getTargetOfImportClause (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23830:27)
at getTargetOfAliasDeclaration (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23947:28)
at resolveAlias (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23978:30)
at getSymbol (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23255:38)
at resolveNameHelper (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23396:34)
at resolveName (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23383:20)
at resolveEntityName (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:24060:26)
at getTargetOfExportAssignment (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23940:20)
at getTargetOfAliasDeclaration (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23955:28)
at resolveAlias (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23978:30)
at resolveSymbol (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23969:36)
at getTargetOfImportClause (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23830:27)
at getTargetOfAliasDeclaration (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23947:28)
at resolveAlias (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23978:30)
at getSymbol (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23255:38)
at resolveNameHelper (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23396:34)
at resolveName (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23383:20)
at resolveEntityName (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:24060:26)
at getTargetOfExportAssignment (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23940:20)
at getTargetOfAliasDeclaration (/Users/lawlight/Development/ts-vs-babel/node_modules/typescript/lib/typescript.js:23955:28)
And, In Babel case, All is perfect.(using same module dependence tree for transpiling)
Therefore, It is maybe not occured by Webpack. So I guess cause of this problem is TypeScript.
When I used tsc, It looks like working well, but I can't create multiple entry(server.ts, client.ts) with tsc with 1 file although I use --outFile.
What should I do?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
ExternalRelates to another program, environment, or user action which we cannot control.Relates to another program, environment, or user action which we cannot control.
