You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have a vscode extension project. The project contains two complete separate apps, one for language client, the other for language server. The project structure is as follows:
The project is structured using tsc project reference. I want webpack to bundle my project into two separate js file: client.js and server.js
so I add two entries in webpack config file. but ts-loader output an error:
ERROR in /home/quan/repos/cmake-intellisence/client/tsconfig.json
/home/quan/repos/cmake-intellisence/client/tsconfig.json
[tsl] ERROR
TS6059: File '/home/quan/repos/cmake-intellisence/server/src/server.ts' is not under 'rootDir' '/home/quan/repos/cmake-intellisence/client/src'. 'rootDir' is expected to contain all source files.
The file is in the program because:
Root file specified for compilation
NOTE: If I put only one entry in entry field, (either client or server), everything is fine
my webpack.config.js file content:
'use strict';constpath=require('path');constwebpack=require('webpack');/**@type {import('webpack').Configuration}*/constconfig={target: 'node',// vscode extensions run in webworker context for VS Code web 📖 -> https://webpack.js.org/configuration/target/#targetentry: {client: './client/src/extension.ts',server: './server/src/server.ts'},// the entry point of this extension, 📖 -> https://webpack.js.org/configuration/entry-context/// entry: "./server/src/server.ts",// entry: "./client/src/extension.ts",output: {// the bundle is stored in the 'dist' folder (check package.json), 📖 -> https://webpack.js.org/configuration/output/path: path.resolve(__dirname,'dist'),filename: '[name].js',libraryTarget: 'commonjs2',devtoolModuleFilenameTemplate: '../[resource-path]'},devtool: 'source-map',externals: {vscode: 'commonjs vscode'// the vscode-module is created on-the-fly and must be excluded. Add other modules that cannot be webpack'ed, 📖 -> https://webpack.js.org/configuration/externals/},resolve: {// support reading TypeScript and JavaScript files, 📖 -> https://github.com/TypeStrong/ts-loadermainFields: ['browser','module','main'],// look for `browser` entry point in imported node modulesextensions: ['.ts','.js'],alias: {// provides alternate implementation for node module and source files},fallback: {// Webpack 5 no longer polyfills Node.js core modules automatically.// see https://webpack.js.org/configuration/resolve/#resolvefallback// for the list of Node.js core module polyfills.}},module: {rules: [{test: /\.ts$/,exclude: /node_modules/,use: [{loader: 'ts-loader',options: {"projectReferences": true}}]}]}};module.exports=config;
The text was updated successfully, but these errors were encountered:
quanzhuo
changed the title
Help Wanted: ts-loader not working with two entry points in webpack.config.json
Help Please: ts-loader not working with two entry points in webpack.config.json
Oct 14, 2022
My workaround: use two webpack config files: webpack.config.client.js and webpack.config.server.js
Install concurrently npm package as a dev-dependency, and add following scripts in package.json
"develop": "concurrently \"npm run dev-client\" \"npm run dev-server\"",
"dev-client": "webpack --mode development --watch --config webpack.config.client.js",
"dev-server": "webpack --mode development --watch --config webpack.config.server.js",
Description
I have a vscode extension project. The project contains two complete separate apps, one for language client, the other for language server. The project structure is as follows:
The project is structured using tsc project reference. I want webpack to bundle my project into two separate js file: client.js and server.js
so I add two entries in webpack config file. but ts-loader output an error:
NOTE: If I put only one entry in entry field, (either client or server), everything is fine
my webpack.config.js file content:
the root tsconfig.json file:
tsconfig.base.json:
client/tsconfig.json
server/tsconfig.json
Any suggestion appreciated.
The text was updated successfully, but these errors were encountered: