Forráskód Böngészése

Add `buildESM` to common build script

Alexandru Dima 3 éve
szülő
commit
8944900f86
3 módosított fájl, 41 hozzáadás és 32 törlés
  1. 31 2
      build/utils.js
  2. 5 15
      monaco-css/build.js
  3. 5 15
      monaco-html/build.js

+ 31 - 2
build/utils.js

@@ -3,10 +3,13 @@
  *  Licensed under the MIT License. See License.txt in the project root for license information.
  *--------------------------------------------------------------------------------------------*/
 
+//@ts-check
+
 const fs = require('fs');
 const path = require('path');
 const cp = require('child_process');
 const esbuild = require('esbuild');
+const alias = require('esbuild-plugin-alias');
 
 const REPO_ROOT = path.join(__dirname, '..');
 
@@ -86,7 +89,7 @@ function tsc(_projectPath) {
 	cp.spawnSync(
 		process.execPath,
 		[path.join(__dirname, '../node_modules/typescript/lib/tsc.js'), '-p', projectPath],
-		{ stdio: 'inherit', stderr: 'inherit' }
+		{ stdio: 'inherit' }
 	);
 	console.log(`Compiled ${_projectPath}`);
 }
@@ -102,7 +105,7 @@ function prettier(_filePath) {
 	cp.spawnSync(
 		process.execPath,
 		[path.join(__dirname, '../node_modules/prettier/bin-prettier.js'), '--write', filePath],
-		{ stdio: 'inherit', stderr: 'inherit' }
+		{ stdio: 'inherit' }
 	);
 
 	console.log(`Ran prettier over ${_filePath}`);
@@ -170,6 +173,32 @@ function build(options) {
 }
 exports.build = build;
 
+/**
+ * @param {{
+ *   entryPoints: string[];
+ *   external: string[];
+ * }} options
+ */
+function buildESM(options) {
+	build({
+		entryPoints: options.entryPoints,
+		bundle: true,
+		target: 'esnext',
+		format: 'esm',
+		define: {
+			AMD: 'false'
+		},
+		external: options.external,
+		outdir: 'release/esm/',
+		plugins: [
+			alias({
+				'vscode-nls': path.join(__dirname, 'fillers/vscode-nls.ts')
+			})
+		]
+	});
+}
+exports.buildESM = buildESM;
+
 function getGitVersion() {
 	const git = path.join(REPO_ROOT, '.git');
 	const headPath = path.join(git, 'HEAD');

+ 5 - 15
monaco-css/build.js

@@ -3,9 +3,11 @@
  *  Licensed under the MIT License. See License.txt in the project root for license information.
  *--------------------------------------------------------------------------------------------*/
 
+//@ts-check
+
 const alias = require('esbuild-plugin-alias');
 const path = require('path');
-const { removeDir, tsc, dts, build } = require('../build/utils');
+const { removeDir, tsc, dts, build, buildESM } = require('../build/utils');
 
 removeDir(`monaco-css/release`);
 removeDir(`monaco-css/out`);
@@ -18,21 +20,9 @@ dts(
 	'monaco.languages.css'
 );
 
-build({
+buildESM({
 	entryPoints: ['src/monaco.contribution.ts', 'src/cssMode.ts', 'src/css.worker.ts'],
-	bundle: true,
-	target: 'esnext',
-	format: 'esm',
-	define: {
-		AMD: false
-	},
 	external: ['monaco-editor-core', '*/cssMode'],
-	outdir: 'release/esm/',
-	plugins: [
-		alias({
-			'vscode-nls': path.join(__dirname, '../build/fillers/vscode-nls.ts')
-		})
-	]
 });
 
 /**
@@ -48,7 +38,7 @@ function buildOneAMD(type, entryPoint, banner) {
 		target: 'esnext',
 		format: 'iife',
 		define: {
-			AMD: true
+			AMD: 'true'
 		},
 		external: ['*/cssMode'],
 		globalName: 'moduleExports',

+ 5 - 15
monaco-html/build.js

@@ -3,9 +3,11 @@
  *  Licensed under the MIT License. See License.txt in the project root for license information.
  *--------------------------------------------------------------------------------------------*/
 
+//@ts-check
+
 const alias = require('esbuild-plugin-alias');
 const path = require('path');
-const { removeDir, tsc, dts, build } = require('../build/utils');
+const { removeDir, tsc, dts, build, buildESM } = require('../build/utils');
 
 removeDir(`monaco-html/release`);
 removeDir(`monaco-html/out`);
@@ -18,21 +20,9 @@ dts(
 	'monaco.languages.html'
 );
 
-build({
+buildESM({
 	entryPoints: ['src/monaco.contribution.ts', 'src/htmlMode.ts', 'src/html.worker.ts'],
-	bundle: true,
-	target: 'esnext',
-	format: 'esm',
-	define: {
-		AMD: false
-	},
 	external: ['monaco-editor-core', '*/htmlMode'],
-	outdir: 'release/esm/',
-	plugins: [
-		alias({
-			'vscode-nls': path.join(__dirname, '../build/fillers/vscode-nls.ts')
-		})
-	]
 });
 
 /**
@@ -48,7 +38,7 @@ function buildOneAMD(type, entryPoint, banner) {
 		target: 'esnext',
 		format: 'iife',
 		define: {
-			AMD: true
+			AMD: 'true'
 		},
 		external: ['*/htmlMode'],
 		globalName: 'moduleExports',