Esbuild the html and json extensions

Switches from webpack to esbuild
This commit is contained in:
Matt Bierner
2026-02-19 00:33:01 -08:00
parent cc23c3af8e
commit d36696b482
18 changed files with 251 additions and 187 deletions

View File

@@ -1,42 +0,0 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// @ts-check
import { browser as withBrowserDefaults } from '../../shared.webpack.config.mjs';
import path from 'path';
const serverConfig = withBrowserDefaults({
context: import.meta.dirname,
entry: {
extension: './src/browser/htmlServerWorkerMain.ts',
},
resolve: {
extensionAlias: {
// this is needed to resolve dynamic imports that now require the .js extension
'.js': ['.js', '.ts'],
},
},
output: {
filename: 'htmlServerMain.js',
path: path.join(import.meta.dirname, 'dist', 'browser'),
libraryTarget: 'var',
library: 'serverExportVar'
},
optimization: {
splitChunks: {
chunks: 'async'
}
}
});
serverConfig.module.noParse = /typescript[\/\\]lib[\/\\]typescript\.js/;
serverConfig.module.rules.push({
test: /javascriptLibs.ts$/,
use: [
{
loader: path.resolve(import.meta.dirname, 'build', 'javaScriptLibraryLoader.js')
}
]
});
export default serverConfig;

View File

@@ -1,21 +0,0 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// @ts-check
import withDefaults from '../../shared.webpack.config.mjs';
import path from 'path';
export default withDefaults({
context: path.join(import.meta.dirname),
entry: {
extension: './src/node/htmlServerNodeMain.ts',
},
output: {
filename: 'htmlServerMain.js',
path: path.join(import.meta.dirname, 'dist', 'node'),
},
externals: {
'typescript': 'commonjs typescript'
}
});

View File

@@ -0,0 +1,7 @@
{
"extends": "./tsconfig.json",
"exclude": [
"./src/node/**",
"./src/test/**"
]
}