diff --git a/build/lib/extensions.js b/build/lib/extensions.js index 33c089de720..0db1d1d2d4b 100644 --- a/build/lib/extensions.js +++ b/build/lib/extensions.js @@ -522,7 +522,7 @@ async function webpackExtensions(taskName, isWatch, webpackConfigLocations) { const webpack = require('webpack'); const webpackConfigs = []; for (const { configPath, outputRoot } of webpackConfigLocations) { - const configOrFnOrArray = require(configPath); + const configOrFnOrArray = require(configPath).default; function addConfig(configOrFnOrArray) { for (const configOrFn of Array.isArray(configOrFnOrArray) ? configOrFnOrArray : [configOrFnOrArray]) { const config = typeof configOrFn === 'function' ? configOrFn({}, {}) : configOrFn; diff --git a/build/lib/extensions.ts b/build/lib/extensions.ts index 1a55acc52cf..80eaec1b8b9 100644 --- a/build/lib/extensions.ts +++ b/build/lib/extensions.ts @@ -575,7 +575,7 @@ export async function webpackExtensions(taskName: string, isWatch: boolean, webp const webpackConfigs: webpack.Configuration[] = []; for (const { configPath, outputRoot } of webpackConfigLocations) { - const configOrFnOrArray = require(configPath); + const configOrFnOrArray = require(configPath).default; function addConfig(configOrFnOrArray: webpack.Configuration | ((env: unknown, args: unknown) => webpack.Configuration) | webpack.Configuration[]) { for (const configOrFn of Array.isArray(configOrFnOrArray) ? configOrFnOrArray : [configOrFnOrArray]) { const config = typeof configOrFn === 'function' ? configOrFn({}, {}) : configOrFn; @@ -587,6 +587,7 @@ export async function webpackExtensions(taskName: string, isWatch: boolean, webp } addConfig(configOrFnOrArray); } + function reporter(fullStats: any) { if (Array.isArray(fullStats.children)) { for (const stats of fullStats.children) { diff --git a/extensions/configuration-editing/extension-browser.webpack.config.js b/extensions/configuration-editing/extension-browser.webpack.config.js index 51c7746415d..1136c925208 100644 --- a/extensions/configuration-editing/extension-browser.webpack.config.js +++ b/extensions/configuration-editing/extension-browser.webpack.config.js @@ -2,16 +2,12 @@ * 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 path from 'path'; +import { browser as withBrowserDefaults } from '../shared.webpack.config.mjs'; -//@ts-check - -'use strict'; - -const path = require('path'); -const withBrowserDefaults = require('../shared.webpack.config').browser; - -module.exports = withBrowserDefaults({ - context: __dirname, +export default withBrowserDefaults({ + context: import.meta.dirname, entry: { extension: './src/configurationEditingMain.ts' }, @@ -20,7 +16,7 @@ module.exports = withBrowserDefaults({ }, resolve: { alias: { - './node/net': path.resolve(__dirname, 'src', 'browser', 'net'), + './node/net': path.resolve(import.meta.dirname, 'src', 'browser', 'net'), } } }); diff --git a/extensions/configuration-editing/extension.webpack.config.js b/extensions/configuration-editing/extension.webpack.config.js index 1b18dd86a99..519fc2e359f 100644 --- a/extensions/configuration-editing/extension.webpack.config.js +++ b/extensions/configuration-editing/extension.webpack.config.js @@ -2,15 +2,11 @@ * 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'; -//@ts-check - -'use strict'; - -const withDefaults = require('../shared.webpack.config'); - -module.exports = withDefaults({ - context: __dirname, +export default withDefaults({ + context: import.meta.dirname, entry: { extension: './src/configurationEditingMain.ts', }, diff --git a/extensions/css-language-features/extension-browser.webpack.config.js b/extensions/css-language-features/extension-browser.webpack.config.js index cb2e13c7ed3..ea4a69dd9c1 100644 --- a/extensions/css-language-features/extension-browser.webpack.config.js +++ b/extensions/css-language-features/extension-browser.webpack.config.js @@ -2,21 +2,17 @@ * 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'; -//@ts-check - -'use strict'; - -const withBrowserDefaults = require('../shared.webpack.config').browser; -const path = require('path'); - -module.exports = withBrowserDefaults({ - context: path.join(__dirname, 'client'), +export default withBrowserDefaults({ + context: path.join(import.meta.dirname, 'client'), entry: { extension: './src/browser/cssClientMain.ts' }, output: { filename: 'cssClientMain.js', - path: path.join(__dirname, 'client', 'dist', 'browser') + path: path.join(import.meta.dirname, 'client', 'dist', 'browser') } }); diff --git a/extensions/css-language-features/extension.webpack.config.js b/extensions/css-language-features/extension.webpack.config.js index a931210ab32..d8a29c8797d 100644 --- a/extensions/css-language-features/extension.webpack.config.js +++ b/extensions/css-language-features/extension.webpack.config.js @@ -2,21 +2,17 @@ * 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'; -//@ts-check - -'use strict'; - -const withDefaults = require('../shared.webpack.config'); -const path = require('path'); - -module.exports = withDefaults({ - context: path.join(__dirname, 'client'), +export default withDefaults({ + context: path.join(import.meta.dirname, 'client'), entry: { extension: './src/node/cssClientMain.ts', }, output: { filename: 'cssClientMain.js', - path: path.join(__dirname, 'client', 'dist', 'node') + path: path.join(import.meta.dirname, 'client', 'dist', 'node') } }); diff --git a/extensions/css-language-features/server/extension-browser.webpack.config.js b/extensions/css-language-features/server/extension-browser.webpack.config.js index 5378e6a031e..131d293a7c5 100644 --- a/extensions/css-language-features/server/extension-browser.webpack.config.js +++ b/extensions/css-language-features/server/extension-browser.webpack.config.js @@ -2,22 +2,18 @@ * 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'; -//@ts-check - -'use strict'; - -const withBrowserDefaults = require('../../shared.webpack.config').browser; -const path = require('path'); - -module.exports = withBrowserDefaults({ - context: __dirname, +export default withBrowserDefaults({ + context: import.meta.dirname, entry: { extension: './src/browser/cssServerWorkerMain.ts', }, output: { filename: 'cssServerMain.js', - path: path.join(__dirname, 'dist', 'browser'), + path: path.join(import.meta.dirname, 'dist', 'browser'), libraryTarget: 'var', library: 'serverExportVar' } diff --git a/extensions/css-language-features/server/extension.webpack.config.js b/extensions/css-language-features/server/extension.webpack.config.js index db80cfebe98..5f07bd8f0a1 100644 --- a/extensions/css-language-features/server/extension.webpack.config.js +++ b/extensions/css-language-features/server/extension.webpack.config.js @@ -2,21 +2,17 @@ * 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'; -//@ts-check - -'use strict'; - -const withDefaults = require('../../shared.webpack.config'); -const path = require('path'); - -module.exports = withDefaults({ - context: path.join(__dirname), +export default withDefaults({ + context: path.join(import.meta.dirname), entry: { extension: './src/node/cssServerNodeMain.ts', }, output: { filename: 'cssServerMain.js', - path: path.join(__dirname, 'dist', 'node'), + path: path.join(import.meta.dirname, 'dist', 'node'), } }); diff --git a/extensions/debug-auto-launch/extension.webpack.config.js b/extensions/debug-auto-launch/extension.webpack.config.js index b474e65cbb1..0c857b362f5 100644 --- a/extensions/debug-auto-launch/extension.webpack.config.js +++ b/extensions/debug-auto-launch/extension.webpack.config.js @@ -2,15 +2,11 @@ * 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'; -//@ts-check - -'use strict'; - -const withDefaults = require('../shared.webpack.config'); - -module.exports = withDefaults({ - context: __dirname, +export default withDefaults({ + context: import.meta.dirname, entry: { extension: './src/extension.ts', }, diff --git a/extensions/debug-server-ready/extension.webpack.config.js b/extensions/debug-server-ready/extension.webpack.config.js index b474e65cbb1..0c857b362f5 100644 --- a/extensions/debug-server-ready/extension.webpack.config.js +++ b/extensions/debug-server-ready/extension.webpack.config.js @@ -2,15 +2,11 @@ * 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'; -//@ts-check - -'use strict'; - -const withDefaults = require('../shared.webpack.config'); - -module.exports = withDefaults({ - context: __dirname, +export default withDefaults({ + context: import.meta.dirname, entry: { extension: './src/extension.ts', }, diff --git a/extensions/emmet/extension-browser.webpack.config.js b/extensions/emmet/extension-browser.webpack.config.js index 9fc8e4817a5..ce7ea8d197b 100644 --- a/extensions/emmet/extension-browser.webpack.config.js +++ b/extensions/emmet/extension-browser.webpack.config.js @@ -2,16 +2,11 @@ * 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'; -//@ts-check - -'use strict'; - -const withBrowserDefaults - = require('../shared.webpack.config').browser; - -module.exports = withBrowserDefaults({ - context: __dirname, +export default withBrowserDefaults({ + context: import.meta.dirname, entry: { extension: './src/browser/emmetBrowserMain.ts' }, diff --git a/extensions/emmet/extension.webpack.config.js b/extensions/emmet/extension.webpack.config.js index 1176314bb1b..2c6094112e1 100644 --- a/extensions/emmet/extension.webpack.config.js +++ b/extensions/emmet/extension.webpack.config.js @@ -2,22 +2,18 @@ * 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 path from 'path'; -//@ts-check +import withDefaults from '../shared.webpack.config.mjs'; -'use strict'; - -const path = require('path'); - -const withDefaults = require('../shared.webpack.config'); - -module.exports = withDefaults({ - context: __dirname, +export default withDefaults({ + context: import.meta.dirname, entry: { extension: './src/node/emmetNodeMain.ts', }, output: { - path: path.join(__dirname, 'dist', 'node'), + path: path.join(import.meta.dirname, 'dist', 'node'), filename: 'emmetNodeMain.js' } }); diff --git a/extensions/extension-editing/extension-browser.webpack.config.js b/extensions/extension-editing/extension-browser.webpack.config.js index 1018f45a81a..fffaf0ebe04 100644 --- a/extensions/extension-editing/extension-browser.webpack.config.js +++ b/extensions/extension-editing/extension-browser.webpack.config.js @@ -2,15 +2,11 @@ * 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'; -//@ts-check - -'use strict'; - -const withBrowserDefaults = require('../shared.webpack.config').browser; - -module.exports = withBrowserDefaults({ - context: __dirname, +export default withBrowserDefaults({ + context: import.meta.dirname, entry: { extension: './src/extensionEditingBrowserMain.ts' }, diff --git a/extensions/extension-editing/extension.webpack.config.js b/extensions/extension-editing/extension.webpack.config.js index ab1c951fdda..1d7ce38597d 100644 --- a/extensions/extension-editing/extension.webpack.config.js +++ b/extensions/extension-editing/extension.webpack.config.js @@ -2,15 +2,11 @@ * 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'; -//@ts-check - -'use strict'; - -const withDefaults = require('../shared.webpack.config'); - -module.exports = withDefaults({ - context: __dirname, +export default withDefaults({ + context: import.meta.dirname, entry: { extension: './src/extensionEditingMain.ts', }, diff --git a/extensions/git-base/extension-browser.webpack.config.js b/extensions/git-base/extension-browser.webpack.config.js index 636198c41f8..fcdf954744c 100644 --- a/extensions/git-base/extension-browser.webpack.config.js +++ b/extensions/git-base/extension-browser.webpack.config.js @@ -2,15 +2,11 @@ * 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'; -//@ts-check - -'use strict'; - -const withBrowserDefaults = require('../shared.webpack.config').browser; - -module.exports = withBrowserDefaults({ - context: __dirname, +export default withBrowserDefaults({ + context: import.meta.dirname, entry: { extension: './src/extension.ts' }, diff --git a/extensions/git-base/extension.webpack.config.js b/extensions/git-base/extension.webpack.config.js index 06bc95eaef7..0bea7c7e821 100644 --- a/extensions/git-base/extension.webpack.config.js +++ b/extensions/git-base/extension.webpack.config.js @@ -2,15 +2,11 @@ * 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'; -//@ts-check - -'use strict'; - -const withDefaults = require('../shared.webpack.config'); - -module.exports = withDefaults({ - context: __dirname, +export default withDefaults({ + context: import.meta.dirname, entry: { extension: './src/extension.ts' }, diff --git a/extensions/git/extension.webpack.config.js b/extensions/git/extension.webpack.config.js index 3324b6c1d98..15cf273015b 100644 --- a/extensions/git/extension.webpack.config.js +++ b/extensions/git/extension.webpack.config.js @@ -2,15 +2,11 @@ * 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'; -//@ts-check - -'use strict'; - -const withDefaults = require('../shared.webpack.config'); - -module.exports = withDefaults({ - context: __dirname, +export default withDefaults({ + context: import.meta.dirname, entry: { main: './src/main.ts', ['askpass-main']: './src/askpass-main.ts', diff --git a/extensions/github-authentication/extension-browser.webpack.config.js b/extensions/github-authentication/extension-browser.webpack.config.js index f109e203569..70a7fd87cf4 100644 --- a/extensions/github-authentication/extension-browser.webpack.config.js +++ b/extensions/github-authentication/extension-browser.webpack.config.js @@ -2,27 +2,23 @@ * 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 path from 'path'; +import { browser as withBrowserDefaults } from '../shared.webpack.config.mjs'; -//@ts-check - -'use strict'; - -const path = require('path'); -const withBrowserDefaults = require('../shared.webpack.config').browser; - -module.exports = withBrowserDefaults({ - context: __dirname, +export default withBrowserDefaults({ + context: import.meta.dirname, node: false, entry: { extension: './src/extension.ts', }, resolve: { alias: { - 'uuid': path.resolve(__dirname, 'node_modules/uuid/dist/esm-browser/index.js'), - './node/authServer': path.resolve(__dirname, 'src/browser/authServer'), - './node/crypto': path.resolve(__dirname, 'src/browser/crypto'), - './node/fetch': path.resolve(__dirname, 'src/browser/fetch'), - './node/buffer': path.resolve(__dirname, 'src/browser/buffer'), + 'uuid': path.resolve(import.meta.dirname, 'node_modules/uuid/dist/esm-browser/index.js'), + './node/authServer': path.resolve(import.meta.dirname, 'src/browser/authServer'), + './node/crypto': path.resolve(import.meta.dirname, 'src/browser/crypto'), + './node/fetch': path.resolve(import.meta.dirname, 'src/browser/fetch'), + './node/buffer': path.resolve(import.meta.dirname, 'src/browser/buffer'), } } }); diff --git a/extensions/github-authentication/extension.webpack.config.js b/extensions/github-authentication/extension.webpack.config.js index d356151d68c..166c1d8b1e3 100644 --- a/extensions/github-authentication/extension.webpack.config.js +++ b/extensions/github-authentication/extension.webpack.config.js @@ -2,15 +2,11 @@ * 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'; -//@ts-check - -'use strict'; - -const withDefaults = require('../shared.webpack.config'); - -module.exports = withDefaults({ - context: __dirname, +export default withDefaults({ + context: import.meta.dirname, entry: { extension: './src/extension.ts', }, diff --git a/extensions/github/extension.webpack.config.cjs b/extensions/github/extension.webpack.config.js similarity index 79% rename from extensions/github/extension.webpack.config.cjs rename to extensions/github/extension.webpack.config.js index 75b86c82b68..9e2b191a389 100644 --- a/extensions/github/extension.webpack.config.cjs +++ b/extensions/github/extension.webpack.config.js @@ -2,15 +2,11 @@ * 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'; -//@ts-check - -'use strict'; - -const withDefaults = require('../shared.webpack.config'); - -module.exports = withDefaults({ - context: __dirname, +export default withDefaults({ + context: import.meta.dirname, entry: { extension: './src/extension.ts' }, diff --git a/extensions/grunt/extension.webpack.config.js b/extensions/grunt/extension.webpack.config.js index beee7b3d676..1e221c2fa85 100644 --- a/extensions/grunt/extension.webpack.config.js +++ b/extensions/grunt/extension.webpack.config.js @@ -2,15 +2,11 @@ * 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'; -//@ts-check - -'use strict'; - -const withDefaults = require('../shared.webpack.config'); - -module.exports = withDefaults({ - context: __dirname, +export default withDefaults({ + context: import.meta.dirname, entry: { main: './src/main.ts', }, diff --git a/extensions/gulp/extension.webpack.config.js b/extensions/gulp/extension.webpack.config.js index beee7b3d676..1e221c2fa85 100644 --- a/extensions/gulp/extension.webpack.config.js +++ b/extensions/gulp/extension.webpack.config.js @@ -2,15 +2,11 @@ * 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'; -//@ts-check - -'use strict'; - -const withDefaults = require('../shared.webpack.config'); - -module.exports = withDefaults({ - context: __dirname, +export default withDefaults({ + context: import.meta.dirname, entry: { main: './src/main.ts', }, diff --git a/extensions/html-language-features/extension-browser.webpack.config.js b/extensions/html-language-features/extension-browser.webpack.config.js index 9988ab826aa..2d9f2d12814 100644 --- a/extensions/html-language-features/extension-browser.webpack.config.js +++ b/extensions/html-language-features/extension-browser.webpack.config.js @@ -2,21 +2,17 @@ * 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'; -//@ts-check - -'use strict'; - -const withBrowserDefaults = require('../shared.webpack.config').browser; -const path = require('path'); - -module.exports = withBrowserDefaults({ - context: path.join(__dirname, 'client'), +export default withBrowserDefaults({ + context: path.join(import.meta.dirname, 'client'), entry: { extension: './src/browser/htmlClientMain.ts' }, output: { filename: 'htmlClientMain.js', - path: path.join(__dirname, 'client', 'dist', 'browser') + path: path.join(import.meta.dirname, 'client', 'dist', 'browser') } }); diff --git a/extensions/html-language-features/extension.webpack.config.js b/extensions/html-language-features/extension.webpack.config.js index 6af444db930..1bb6632e92b 100644 --- a/extensions/html-language-features/extension.webpack.config.js +++ b/extensions/html-language-features/extension.webpack.config.js @@ -2,21 +2,17 @@ * 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'; -//@ts-check - -'use strict'; - -const withDefaults = require('../shared.webpack.config'); -const path = require('path'); - -module.exports = withDefaults({ - context: path.join(__dirname, 'client'), +export default withDefaults({ + context: path.join(import.meta.dirname, 'client'), entry: { extension: './src/node/htmlClientMain.ts', }, output: { filename: 'htmlClientMain.js', - path: path.join(__dirname, 'client', 'dist', 'node') + path: path.join(import.meta.dirname, 'client', 'dist', 'node') } }); diff --git a/extensions/html-language-features/server/extension-browser.webpack.config.js b/extensions/html-language-features/server/extension-browser.webpack.config.js index 07848486cbd..7aa12ea0ff7 100644 --- a/extensions/html-language-features/server/extension-browser.webpack.config.js +++ b/extensions/html-language-features/server/extension-browser.webpack.config.js @@ -2,16 +2,12 @@ * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ - -//@ts-check - -'use strict'; - -const withBrowserDefaults = require('../../shared.webpack.config').browser; -const path = require('path'); +// @ts-check +import { browser as withBrowserDefaults } from '../../shared.webpack.config.mjs'; +import path from 'path'; const serverConfig = withBrowserDefaults({ - context: __dirname, + context: import.meta.dirname, entry: { extension: './src/browser/htmlServerWorkerMain.ts', }, @@ -23,7 +19,7 @@ const serverConfig = withBrowserDefaults({ }, output: { filename: 'htmlServerMain.js', - path: path.join(__dirname, 'dist', 'browser'), + path: path.join(import.meta.dirname, 'dist', 'browser'), libraryTarget: 'var', library: 'serverExportVar' }, @@ -38,9 +34,9 @@ serverConfig.module.rules.push({ test: /javascriptLibs.ts$/, use: [ { - loader: path.resolve(__dirname, 'build', 'javaScriptLibraryLoader.js') + loader: path.resolve(import.meta.dirname, 'build', 'javaScriptLibraryLoader.js') } ] }); -module.exports = serverConfig; +export default serverConfig; diff --git a/extensions/html-language-features/server/extension.webpack.config.js b/extensions/html-language-features/server/extension.webpack.config.js index 61289a4993c..491327c8bc3 100644 --- a/extensions/html-language-features/server/extension.webpack.config.js +++ b/extensions/html-language-features/server/extension.webpack.config.js @@ -2,22 +2,18 @@ * 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'; -//@ts-check - -'use strict'; - -const withDefaults = require('../../shared.webpack.config'); -const path = require('path'); - -module.exports = withDefaults({ - context: path.join(__dirname), +export default withDefaults({ + context: path.join(import.meta.dirname), entry: { extension: './src/node/htmlServerNodeMain.ts', }, output: { filename: 'htmlServerMain.js', - path: path.join(__dirname, 'dist', 'node'), + path: path.join(import.meta.dirname, 'dist', 'node'), }, externals: { 'typescript': 'commonjs typescript' diff --git a/extensions/ipynb/extension-browser.webpack.config.js b/extensions/ipynb/extension-browser.webpack.config.js index 32fc7de8ee4..08a0edc8ad0 100644 --- a/extensions/ipynb/extension-browser.webpack.config.js +++ b/extensions/ipynb/extension-browser.webpack.config.js @@ -2,37 +2,33 @@ * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ - -//@ts-check - -'use strict'; - -const withBrowserDefaults = require('../shared.webpack.config').browser; -const path = require('path'); +// @ts-check +import { browser as withBrowserDefaults } from '../shared.webpack.config.mjs'; +import path from 'path'; const mainConfig = withBrowserDefaults({ - context: __dirname, + context: import.meta.dirname, entry: { extension: './src/ipynbMain.browser.ts' }, output: { filename: 'ipynbMain.browser.js', - path: path.join(__dirname, 'dist', 'browser') + path: path.join(import.meta.dirname, 'dist', 'browser') } }); const workerConfig = withBrowserDefaults({ - context: __dirname, + context: import.meta.dirname, entry: { notebookSerializerWorker: './src/notebookSerializerWorker.web.ts', }, output: { filename: 'notebookSerializerWorker.js', - path: path.join(__dirname, 'dist', 'browser'), + path: path.join(import.meta.dirname, 'dist', 'browser'), libraryTarget: 'var', library: 'serverExportVar' }, }); -module.exports = [mainConfig, workerConfig]; +export default [mainConfig, workerConfig]; diff --git a/extensions/ipynb/extension.webpack.config.js b/extensions/ipynb/extension.webpack.config.js index aad5f55845a..2bfea01dd91 100644 --- a/extensions/ipynb/extension.webpack.config.js +++ b/extensions/ipynb/extension.webpack.config.js @@ -2,25 +2,21 @@ * 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, { nodePlugins } from '../shared.webpack.config.mjs'; +import path from 'path'; -//@ts-check - -'use strict'; - -const withDefaults = require('../shared.webpack.config'); -const path = require('path'); - -module.exports = withDefaults({ - context: __dirname, +export default withDefaults({ + context: import.meta.dirname, entry: { ['ipynbMain.node']: './src/ipynbMain.node.ts', notebookSerializerWorker: './src/notebookSerializerWorker.ts', }, output: { - path: path.resolve(__dirname, 'dist'), + path: path.resolve(import.meta.dirname, 'dist'), filename: '[name].js' }, plugins: [ - ...withDefaults.nodePlugins(__dirname), // add plugins, don't replace inherited + ...nodePlugins(import.meta.dirname), // add plugins, don't replace inherited ] }); diff --git a/extensions/jake/extension.webpack.config.js b/extensions/jake/extension.webpack.config.js index beee7b3d676..1e221c2fa85 100644 --- a/extensions/jake/extension.webpack.config.js +++ b/extensions/jake/extension.webpack.config.js @@ -2,15 +2,11 @@ * 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'; -//@ts-check - -'use strict'; - -const withDefaults = require('../shared.webpack.config'); - -module.exports = withDefaults({ - context: __dirname, +export default withDefaults({ + context: import.meta.dirname, entry: { main: './src/main.ts', }, diff --git a/extensions/json-language-features/extension-browser.webpack.config.js b/extensions/json-language-features/extension-browser.webpack.config.js index 900ef6a3b12..30ddd34eb32 100644 --- a/extensions/json-language-features/extension-browser.webpack.config.js +++ b/extensions/json-language-features/extension-browser.webpack.config.js @@ -2,22 +2,18 @@ * 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'; -//@ts-check - -'use strict'; - -const withBrowserDefaults = require('../shared.webpack.config').browser; -const path = require('path'); - -module.exports = withBrowserDefaults({ +export default withBrowserDefaults({ target: 'webworker', - context: path.join(__dirname, 'client'), + context: path.join(import.meta.dirname, 'client'), entry: { extension: './src/browser/jsonClientMain.ts' }, output: { filename: 'jsonClientMain.js', - path: path.join(__dirname, 'client', 'dist', 'browser') + path: path.join(import.meta.dirname, 'client', 'dist', 'browser') } }); diff --git a/extensions/json-language-features/extension.webpack.config.js b/extensions/json-language-features/extension.webpack.config.js index 20b8550c447..afc9a5b6d18 100644 --- a/extensions/json-language-features/extension.webpack.config.js +++ b/extensions/json-language-features/extension.webpack.config.js @@ -2,24 +2,20 @@ * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ - -//@ts-check - -'use strict'; - -const withDefaults = require('../shared.webpack.config'); -const path = require('path'); +// @ts-check +import withDefaults from '../shared.webpack.config.mjs'; +import path from 'path'; const config = withDefaults({ - context: path.join(__dirname, 'client'), + context: path.join(import.meta.dirname, 'client'), entry: { extension: './src/node/jsonClientMain.ts' }, output: { filename: 'jsonClientMain.js', - path: path.join(__dirname, 'client', 'dist', 'node') + path: path.join(import.meta.dirname, 'client', 'dist', 'node') } }); -module.exports = config; +export default config; diff --git a/extensions/json-language-features/server/extension-browser.webpack.config.js b/extensions/json-language-features/server/extension-browser.webpack.config.js index 31c3b9b4316..8b967a3de71 100644 --- a/extensions/json-language-features/server/extension-browser.webpack.config.js +++ b/extensions/json-language-features/server/extension-browser.webpack.config.js @@ -2,22 +2,18 @@ * 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'; -//@ts-check - -'use strict'; - -const withBrowserDefaults = require('../../shared.webpack.config').browser; -const path = require('path'); - -module.exports = withBrowserDefaults({ - context: __dirname, +export default withBrowserDefaults({ + context: import.meta.dirname, entry: { extension: './src/browser/jsonServerWorkerMain.ts', }, output: { filename: 'jsonServerMain.js', - path: path.join(__dirname, 'dist', 'browser'), + path: path.join(import.meta.dirname, 'dist', 'browser'), libraryTarget: 'var', library: 'serverExportVar' } diff --git a/extensions/json-language-features/server/extension.webpack.config.js b/extensions/json-language-features/server/extension.webpack.config.js index cda72a264d2..1880c1e7b82 100644 --- a/extensions/json-language-features/server/extension.webpack.config.js +++ b/extensions/json-language-features/server/extension.webpack.config.js @@ -2,23 +2,19 @@ * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ - -//@ts-check - -'use strict'; - -const withDefaults = require('../../shared.webpack.config'); -const path = require('path'); +// @ts-check +import withDefaults from '../../shared.webpack.config.mjs'; +import path from 'path'; const config = withDefaults({ - context: path.join(__dirname), + context: path.join(import.meta.dirname), entry: { extension: './src/node/jsonServerNodeMain.ts', }, output: { filename: 'jsonServerMain.js', - path: path.join(__dirname, 'dist', 'node'), + path: path.join(import.meta.dirname, 'dist', 'node'), } }); -module.exports = config; +export default config; diff --git a/extensions/markdown-language-features/extension-browser.webpack.config.js b/extensions/markdown-language-features/extension-browser.webpack.config.js index 47f50aa5e8f..5471319a4c4 100644 --- a/extensions/markdown-language-features/extension-browser.webpack.config.js +++ b/extensions/markdown-language-features/extension-browser.webpack.config.js @@ -2,21 +2,17 @@ * 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 CopyPlugin from 'copy-webpack-plugin'; +import { browser, browserPlugins } from '../shared.webpack.config.mjs'; -//@ts-check - -'use strict'; - -const CopyPlugin = require('copy-webpack-plugin'); -const { browserPlugins, browser } = require('../shared.webpack.config'); - -module.exports = browser({ - context: __dirname, +export default browser({ + context: import.meta.dirname, entry: { extension: './src/extension.browser.ts' }, plugins: [ - ...browserPlugins(__dirname), // add plugins, don't replace inherited + ...browserPlugins(import.meta.dirname), // add plugins, don't replace inherited new CopyPlugin({ patterns: [ { diff --git a/extensions/markdown-language-features/extension.webpack.config.js b/extensions/markdown-language-features/extension.webpack.config.js index 588d0632fd2..51c9912f9af 100644 --- a/extensions/markdown-language-features/extension.webpack.config.js +++ b/extensions/markdown-language-features/extension.webpack.config.js @@ -2,16 +2,12 @@ * 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 CopyPlugin from 'copy-webpack-plugin'; +import withDefaults, { nodePlugins } from '../shared.webpack.config.mjs'; -//@ts-check - -'use strict'; - -const CopyPlugin = require('copy-webpack-plugin'); -const withDefaults = require('../shared.webpack.config'); - -module.exports = withDefaults({ - context: __dirname, +export default withDefaults({ + context: import.meta.dirname, resolve: { mainFields: ['module', 'main'] }, @@ -19,7 +15,7 @@ module.exports = withDefaults({ extension: './src/extension.ts', }, plugins: [ - ...withDefaults.nodePlugins(__dirname), // add plugins, don't replace inherited + ...nodePlugins(import.meta.dirname), // add plugins, don't replace inherited new CopyPlugin({ patterns: [ { diff --git a/extensions/markdown-math/extension-browser.webpack.config.js b/extensions/markdown-math/extension-browser.webpack.config.js index 7fcc53a728b..b758f2d8155 100644 --- a/extensions/markdown-math/extension-browser.webpack.config.js +++ b/extensions/markdown-math/extension-browser.webpack.config.js @@ -2,15 +2,11 @@ * 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'; -//@ts-check - -'use strict'; - -const withBrowserDefaults = require('../shared.webpack.config').browser; - -module.exports = withBrowserDefaults({ - context: __dirname, +export default withBrowserDefaults({ + context: import.meta.dirname, entry: { extension: './src/extension.ts' } diff --git a/extensions/markdown-math/extension.webpack.config.js b/extensions/markdown-math/extension.webpack.config.js index de88398eca0..4928186ae55 100644 --- a/extensions/markdown-math/extension.webpack.config.js +++ b/extensions/markdown-math/extension.webpack.config.js @@ -2,15 +2,11 @@ * 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'; -//@ts-check - -'use strict'; - -const withDefaults = require('../shared.webpack.config'); - -module.exports = withDefaults({ - context: __dirname, +export default withDefaults({ + context: import.meta.dirname, resolve: { mainFields: ['module', 'main'] }, diff --git a/extensions/media-preview/extension-browser.webpack.config.js b/extensions/media-preview/extension-browser.webpack.config.js index 9a1bb4d3c8e..6c86474b4e5 100644 --- a/extensions/media-preview/extension-browser.webpack.config.js +++ b/extensions/media-preview/extension-browser.webpack.config.js @@ -2,15 +2,11 @@ * 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'; -//@ts-check - -'use strict'; - -const withBrowserDefaults = require('../shared.webpack.config').browser; - -module.exports = withBrowserDefaults({ - context: __dirname, +export default withBrowserDefaults({ + context: import.meta.dirname, entry: { extension: './src/extension.ts' }, diff --git a/extensions/media-preview/extension.webpack.config.js b/extensions/media-preview/extension.webpack.config.js index de88398eca0..4928186ae55 100644 --- a/extensions/media-preview/extension.webpack.config.js +++ b/extensions/media-preview/extension.webpack.config.js @@ -2,15 +2,11 @@ * 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'; -//@ts-check - -'use strict'; - -const withDefaults = require('../shared.webpack.config'); - -module.exports = withDefaults({ - context: __dirname, +export default withDefaults({ + context: import.meta.dirname, resolve: { mainFields: ['module', 'main'] }, diff --git a/extensions/merge-conflict/extension-browser.webpack.config.js b/extensions/merge-conflict/extension-browser.webpack.config.js index e4171bed927..7054f22b868 100644 --- a/extensions/merge-conflict/extension-browser.webpack.config.js +++ b/extensions/merge-conflict/extension-browser.webpack.config.js @@ -2,15 +2,11 @@ * 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'; -//@ts-check - -'use strict'; - -const withBrowserDefaults = require('../shared.webpack.config').browser; - -module.exports = withBrowserDefaults({ - context: __dirname, +export default withBrowserDefaults({ + context: import.meta.dirname, entry: { extension: './src/mergeConflictMain.ts' }, diff --git a/extensions/merge-conflict/extension.webpack.config.js b/extensions/merge-conflict/extension.webpack.config.js index 7a04ca98e97..c927dcaf371 100644 --- a/extensions/merge-conflict/extension.webpack.config.js +++ b/extensions/merge-conflict/extension.webpack.config.js @@ -2,15 +2,11 @@ * 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'; -//@ts-check - -'use strict'; - -const withDefaults = require('../shared.webpack.config'); - -module.exports = withDefaults({ - context: __dirname, +export default withDefaults({ + context: import.meta.dirname, entry: { extension: './src/mergeConflictMain.ts' }, diff --git a/extensions/microsoft-authentication/extension-browser.webpack.config.js b/extensions/microsoft-authentication/extension-browser.webpack.config.js index 1590cef5e5f..daf3fdf8447 100644 --- a/extensions/microsoft-authentication/extension-browser.webpack.config.js +++ b/extensions/microsoft-authentication/extension-browser.webpack.config.js @@ -2,16 +2,12 @@ * 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 path from 'path'; +import { browser as withBrowserDefaults } from '../shared.webpack.config.mjs'; -//@ts-check - -'use strict'; - -const path = require('path'); -const withBrowserDefaults = require('../shared.webpack.config').browser; - -module.exports = withBrowserDefaults({ - context: __dirname, +export default withBrowserDefaults({ + context: import.meta.dirname, node: { global: true, __filename: false, @@ -22,10 +18,10 @@ module.exports = withBrowserDefaults({ }, resolve: { alias: { - './node/authServer': path.resolve(__dirname, 'src/browser/authServer'), - './node/buffer': path.resolve(__dirname, 'src/browser/buffer'), - './node/fetch': path.resolve(__dirname, 'src/browser/fetch'), - './node/authProvider': path.resolve(__dirname, 'src/browser/authProvider'), + './node/authServer': path.resolve(import.meta.dirname, 'src/browser/authServer'), + './node/buffer': path.resolve(import.meta.dirname, 'src/browser/buffer'), + './node/fetch': path.resolve(import.meta.dirname, 'src/browser/fetch'), + './node/authProvider': path.resolve(import.meta.dirname, 'src/browser/authProvider'), } } }); diff --git a/extensions/microsoft-authentication/extension.webpack.config.js b/extensions/microsoft-authentication/extension.webpack.config.js index 395c011b1db..78a8f9935c0 100644 --- a/extensions/microsoft-authentication/extension.webpack.config.js +++ b/extensions/microsoft-authentication/extension.webpack.config.js @@ -2,19 +2,15 @@ * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ - -//@ts-check - -'use strict'; - -const withDefaults = require('../shared.webpack.config'); -const CopyWebpackPlugin = require('copy-webpack-plugin'); -const path = require('path'); +// @ts-check +import withDefaults, { nodePlugins } from '../shared.webpack.config.mjs'; +import CopyWebpackPlugin from 'copy-webpack-plugin'; +import path from 'path'; const isWindows = process.platform === 'win32'; -module.exports = withDefaults({ - context: __dirname, +export default withDefaults({ + context: import.meta.dirname, entry: { extension: './src/extension.ts' }, @@ -26,11 +22,11 @@ module.exports = withDefaults({ }, resolve: { alias: { - 'keytar': path.resolve(__dirname, 'packageMocks', 'keytar', 'index.js') + 'keytar': path.resolve(import.meta.dirname, 'packageMocks', 'keytar', 'index.js') } }, plugins: [ - ...withDefaults.nodePlugins(__dirname), + ...nodePlugins(import.meta.dirname), new CopyWebpackPlugin({ patterns: [ { diff --git a/extensions/npm/extension-browser.webpack.config.js b/extensions/npm/extension-browser.webpack.config.js index ec1313ebf26..6ec242a87a2 100644 --- a/extensions/npm/extension-browser.webpack.config.js +++ b/extensions/npm/extension-browser.webpack.config.js @@ -2,15 +2,11 @@ * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ - -//@ts-check - -'use strict'; - -const withBrowserDefaults = require('../shared.webpack.config').browser; +// @ts-check +import { browser as withBrowserDefaults } from '../shared.webpack.config.mjs'; const config = withBrowserDefaults({ - context: __dirname, + context: import.meta.dirname, entry: { extension: './src/npmBrowserMain.ts' }, @@ -24,4 +20,4 @@ const config = withBrowserDefaults({ } }); -module.exports = config; +export default config; diff --git a/extensions/npm/extension.webpack.config.js b/extensions/npm/extension.webpack.config.js index 320956abe3d..0dcad6f8b14 100644 --- a/extensions/npm/extension.webpack.config.js +++ b/extensions/npm/extension.webpack.config.js @@ -2,15 +2,11 @@ * 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'; -//@ts-check - -'use strict'; - -const withDefaults = require('../shared.webpack.config'); - -module.exports = withDefaults({ - context: __dirname, +export default withDefaults({ + context: import.meta.dirname, entry: { extension: './src/npmMain.ts', }, diff --git a/extensions/php-language-features/extension.webpack.config.js b/extensions/php-language-features/extension.webpack.config.js index a44fc8e56be..81e71e442ec 100644 --- a/extensions/php-language-features/extension.webpack.config.js +++ b/extensions/php-language-features/extension.webpack.config.js @@ -2,15 +2,11 @@ * 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'; -//@ts-check - -'use strict'; - -const withDefaults = require('../shared.webpack.config'); - -module.exports = withDefaults({ - context: __dirname, +export default withDefaults({ + context: import.meta.dirname, entry: { extension: './src/phpMain.ts', }, diff --git a/extensions/references-view/extension-browser.webpack.config.js b/extensions/references-view/extension-browser.webpack.config.js index 10c0a19e356..1e0caad7e72 100644 --- a/extensions/references-view/extension-browser.webpack.config.js +++ b/extensions/references-view/extension-browser.webpack.config.js @@ -2,21 +2,17 @@ * 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'; -//@ts-check - -'use strict'; - -const withBrowserDefaults = require('../shared.webpack.config').browser; -const path = require('path'); - -module.exports = withBrowserDefaults({ - context: __dirname, +export default withBrowserDefaults({ + context: import.meta.dirname, entry: { extension: './src/extension.ts' }, output: { filename: 'extension.js', - path: path.join(__dirname, 'dist') + path: path.join(import.meta.dirname, 'dist') } }); diff --git a/extensions/references-view/extension.webpack.config.js b/extensions/references-view/extension.webpack.config.js index de88398eca0..4928186ae55 100644 --- a/extensions/references-view/extension.webpack.config.js +++ b/extensions/references-view/extension.webpack.config.js @@ -2,15 +2,11 @@ * 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'; -//@ts-check - -'use strict'; - -const withDefaults = require('../shared.webpack.config'); - -module.exports = withDefaults({ - context: __dirname, +export default withDefaults({ + context: import.meta.dirname, resolve: { mainFields: ['module', 'main'] }, diff --git a/extensions/search-result/extension-browser.webpack.config.js b/extensions/search-result/extension-browser.webpack.config.js index 10c0a19e356..1e0caad7e72 100644 --- a/extensions/search-result/extension-browser.webpack.config.js +++ b/extensions/search-result/extension-browser.webpack.config.js @@ -2,21 +2,17 @@ * 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'; -//@ts-check - -'use strict'; - -const withBrowserDefaults = require('../shared.webpack.config').browser; -const path = require('path'); - -module.exports = withBrowserDefaults({ - context: __dirname, +export default withBrowserDefaults({ + context: import.meta.dirname, entry: { extension: './src/extension.ts' }, output: { filename: 'extension.js', - path: path.join(__dirname, 'dist') + path: path.join(import.meta.dirname, 'dist') } }); diff --git a/extensions/search-result/extension.webpack.config.js b/extensions/search-result/extension.webpack.config.js index de88398eca0..4928186ae55 100644 --- a/extensions/search-result/extension.webpack.config.js +++ b/extensions/search-result/extension.webpack.config.js @@ -2,15 +2,11 @@ * 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'; -//@ts-check - -'use strict'; - -const withDefaults = require('../shared.webpack.config'); - -module.exports = withDefaults({ - context: __dirname, +export default withDefaults({ + context: import.meta.dirname, resolve: { mainFields: ['module', 'main'] }, diff --git a/extensions/shared.webpack.config.js b/extensions/shared.webpack.config.mjs similarity index 89% rename from extensions/shared.webpack.config.js rename to extensions/shared.webpack.config.mjs index 097234e24b2..f54499dc227 100644 --- a/extensions/shared.webpack.config.js +++ b/extensions/shared.webpack.config.mjs @@ -2,17 +2,17 @@ * 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 path from 'node:path'; +import fs from 'node:fs'; +import merge from 'merge-options'; +import CopyWebpackPlugin from 'copy-webpack-plugin'; +import webpack from 'webpack'; +import { createRequire } from 'node:module'; -//@ts-check /** @typedef {import('webpack').Configuration} WebpackConfig **/ -'use strict'; - -const path = require('path'); -const fs = require('fs'); -const merge = require('merge-options'); -const CopyWebpackPlugin = require('copy-webpack-plugin'); -const { DefinePlugin, optimize } = require('webpack'); +const require = createRequire(import.meta.url); const tsLoaderOptions = { compilerOptions: { @@ -48,7 +48,7 @@ function withNodeDefaults(/**@type WebpackConfig & { context: string }*/extConfi loader: 'ts-loader', options: tsLoaderOptions }, { - loader: path.resolve(__dirname, 'mangle-loader.js'), + loader: path.resolve(import.meta.dirname, 'mangle-loader.js'), options: { configFile: path.join(extConfig.context, 'tsconfig.json') }, @@ -85,8 +85,8 @@ function withNodeDefaults(/**@type WebpackConfig & { context: string }*/extConfi */ function nodePlugins(context) { // Need to find the top-most `package.json` file - const folderName = path.relative(__dirname, context).split(/[\\\/]/)[0]; - const pkgPath = path.join(__dirname, folderName, 'package.json'); + const folderName = path.relative(import.meta.dirname, context).split(/[\\\/]/)[0]; + const pkgPath = path.join(import.meta.dirname, folderName, 'package.json'); const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8')); const id = `${pkg.publisher}.${pkg.name}`; return [ @@ -136,7 +136,7 @@ function withBrowserDefaults(/**@type WebpackConfig & { context: string }*/extCo } }, { - loader: path.resolve(__dirname, 'mangle-loader.js'), + loader: path.resolve(import.meta.dirname, 'mangle-loader.js'), options: { configFile: path.join(extConfig.context, additionalOptions?.configFile ?? 'tsconfig.json') }, @@ -184,7 +184,7 @@ function browserPlugins(context) { // const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8')); // const id = `${pkg.publisher}.${pkg.name}`; return [ - new optimize.LimitChunkCountPlugin({ + new webpack.optimize.LimitChunkCountPlugin({ maxChunks: 1 }), new CopyWebpackPlugin({ @@ -192,7 +192,7 @@ function browserPlugins(context) { { from: 'src', to: '.', globOptions: { ignore: ['**/test/**', '**/*.ts'] }, noErrorOnMissing: true } ] }), - new DefinePlugin({ + new webpack.DefinePlugin({ 'process.platform': JSON.stringify('web'), 'process.env': JSON.stringify({}), 'process.env.BROWSER_ENV': JSON.stringify('true') @@ -200,8 +200,5 @@ function browserPlugins(context) { ]; } -module.exports = withNodeDefaults; -module.exports.node = withNodeDefaults; -module.exports.browser = withBrowserDefaults; -module.exports.nodePlugins = nodePlugins; -module.exports.browserPlugins = browserPlugins; +export default withNodeDefaults; +export { withNodeDefaults as node, withBrowserDefaults as browser, nodePlugins, browserPlugins }; diff --git a/extensions/simple-browser/extension-browser.webpack.config.js b/extensions/simple-browser/extension-browser.webpack.config.js index 7fcc53a728b..b758f2d8155 100644 --- a/extensions/simple-browser/extension-browser.webpack.config.js +++ b/extensions/simple-browser/extension-browser.webpack.config.js @@ -2,15 +2,11 @@ * 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'; -//@ts-check - -'use strict'; - -const withBrowserDefaults = require('../shared.webpack.config').browser; - -module.exports = withBrowserDefaults({ - context: __dirname, +export default withBrowserDefaults({ + context: import.meta.dirname, entry: { extension: './src/extension.ts' } diff --git a/extensions/simple-browser/extension.webpack.config.js b/extensions/simple-browser/extension.webpack.config.js index de88398eca0..4928186ae55 100644 --- a/extensions/simple-browser/extension.webpack.config.js +++ b/extensions/simple-browser/extension.webpack.config.js @@ -2,15 +2,11 @@ * 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'; -//@ts-check - -'use strict'; - -const withDefaults = require('../shared.webpack.config'); - -module.exports = withDefaults({ - context: __dirname, +export default withDefaults({ + context: import.meta.dirname, resolve: { mainFields: ['module', 'main'] }, diff --git a/extensions/terminal-suggest/extension.webpack.config.js b/extensions/terminal-suggest/extension.webpack.config.js index 89f3ea28d87..8ac2b3abb22 100644 --- a/extensions/terminal-suggest/extension.webpack.config.js +++ b/extensions/terminal-suggest/extension.webpack.config.js @@ -2,14 +2,11 @@ * 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'; -//@ts-check -'use strict'; - -const withDefaults = require('../shared.webpack.config'); - -module.exports = withDefaults({ - context: __dirname, +export default withDefaults({ + context: import.meta.dirname, entry: { extension: './src/terminalSuggestMain.ts' }, diff --git a/extensions/tunnel-forwarding/extension.webpack.config.js b/extensions/tunnel-forwarding/extension.webpack.config.js index b474e65cbb1..0c857b362f5 100644 --- a/extensions/tunnel-forwarding/extension.webpack.config.js +++ b/extensions/tunnel-forwarding/extension.webpack.config.js @@ -2,15 +2,11 @@ * 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'; -//@ts-check - -'use strict'; - -const withDefaults = require('../shared.webpack.config'); - -module.exports = withDefaults({ - context: __dirname, +export default withDefaults({ + context: import.meta.dirname, entry: { extension: './src/extension.ts', }, diff --git a/extensions/typescript-language-features/extension-browser.webpack.config.js b/extensions/typescript-language-features/extension-browser.webpack.config.js index 8c44bfc9713..86733dfd1ee 100644 --- a/extensions/typescript-language-features/extension-browser.webpack.config.js +++ b/extensions/typescript-language-features/extension-browser.webpack.config.js @@ -2,16 +2,10 @@ * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ - -//@ts-check - -'use strict'; -const CopyPlugin = require('copy-webpack-plugin'); -const path = require('path'); - -const defaultConfig = require('../shared.webpack.config'); -const withBrowserDefaults = defaultConfig.browser; -const browserPlugins = defaultConfig.browserPlugins; +// @ts-check +import CopyPlugin from 'copy-webpack-plugin'; +import path from 'path'; +import defaultConfig, { browser as withBrowserDefaults, browserPlugins } from '../shared.webpack.config.mjs'; const languages = [ 'zh-tw', @@ -28,13 +22,13 @@ const languages = [ 'tr', 'zh-cn', ]; -module.exports = [withBrowserDefaults({ - context: __dirname, +export default [withBrowserDefaults({ + context: import.meta.dirname, entry: { extension: './src/extension.browser.ts', }, plugins: [ - ...browserPlugins(__dirname), // add plugins, don't replace inherited + ...browserPlugins(import.meta.dirname), // add plugins, don't replace inherited // @ts-ignore new CopyPlugin({ @@ -63,7 +57,7 @@ module.exports = [withBrowserDefaults({ }), ], }), withBrowserDefaults({ - context: __dirname, + context: import.meta.dirname, entry: { 'typescript/tsserver.web': './web/src/webServer.ts' }, @@ -75,7 +69,7 @@ module.exports = [withBrowserDefaults({ // all output goes into `dist`. // packaging depends on that and this must always be like it filename: '[name].js', - path: path.join(__dirname, 'dist', 'browser'), + path: path.join(import.meta.dirname, 'dist', 'browser'), libraryTarget: undefined, }, externals: { diff --git a/extensions/typescript-language-features/extension.webpack.config.js b/extensions/typescript-language-features/extension.webpack.config.js index de88398eca0..4928186ae55 100644 --- a/extensions/typescript-language-features/extension.webpack.config.js +++ b/extensions/typescript-language-features/extension.webpack.config.js @@ -2,15 +2,11 @@ * 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'; -//@ts-check - -'use strict'; - -const withDefaults = require('../shared.webpack.config'); - -module.exports = withDefaults({ - context: __dirname, +export default withDefaults({ + context: import.meta.dirname, resolve: { mainFields: ['module', 'main'] }, diff --git a/extensions/vscode-test-resolver/extension-browser.webpack.config.js b/extensions/vscode-test-resolver/extension-browser.webpack.config.js index ff7972a1aee..9aeb636997b 100644 --- a/extensions/vscode-test-resolver/extension-browser.webpack.config.js +++ b/extensions/vscode-test-resolver/extension-browser.webpack.config.js @@ -2,15 +2,11 @@ * 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'; -//@ts-check - -'use strict'; - -const withBrowserDefaults = require('../shared.webpack.config').browser; - -module.exports = withBrowserDefaults({ - context: __dirname, +export default withBrowserDefaults({ + context: import.meta.dirname, entry: { extension: './src/extension.browser.ts' },