Avoid going through separate `package.json` files

pull/2766/head
Alexandru Dima
parent d2e1d5104f
commit aa5bb2cfa7
No known key found for this signature in database
GPG Key ID: 39563C1504FDD0C9

@ -55,11 +55,7 @@ You need to have all the build setup of VS Code to be able to build the Monaco E
/src/monaco-editor> npm install . /src/monaco-editor> npm install .
# compile all plugins # compile all plugins
/src/monaco-editor> npm run prepublishOnly --prefix monaco-css /src/monaco-editor> npm run release
/src/monaco-editor> npm run prepublishOnly --prefix monaco-languages
/src/monaco-editor> npm run prepublishOnly --prefix monaco-typescript
/src/monaco-editor> npm run prepublishOnly --prefix monaco-json
/src/monaco-editor> npm run prepublishOnly --prefix monaco-html
# start a local http server in the background # start a local http server in the background
/src/monaco-editor> npm run simpleserver /src/monaco-editor> npm run simpleserver

@ -178,13 +178,14 @@ exports.build = build;
/** /**
* @param {{ * @param {{
* base: string;
* entryPoints: string[]; * entryPoints: string[];
* external: string[]; * external: string[];
* }} options * }} options
*/ */
function buildESM(options) { function buildESM(options) {
build({ build({
entryPoints: options.entryPoints, entryPoints: options.entryPoints.map(e => (`${options.base}/${e}`)),
bundle: true, bundle: true,
target: 'esnext', target: 'esnext',
format: 'esm', format: 'esm',
@ -192,8 +193,8 @@ function buildESM(options) {
AMD: 'false' AMD: 'false'
}, },
external: options.external, external: options.external,
outbase: 'src', outbase: `${options.base}/src`,
outdir: 'release/esm/', outdir: `${options.base}/release/esm/`,
plugins: [ plugins: [
alias({ alias({
'vscode-nls': path.join(__dirname, 'fillers/vscode-nls.ts') 'vscode-nls': path.join(__dirname, 'fillers/vscode-nls.ts')
@ -206,6 +207,7 @@ exports.buildESM = buildESM;
/** /**
* @param {'dev'|'min'} type * @param {'dev'|'min'} type
* @param {{ * @param {{
* base: string;
* entryPoint: string; * entryPoint: string;
* banner: string; * banner: string;
* }} options * }} options
@ -213,7 +215,7 @@ exports.buildESM = buildESM;
function buildOneAMD(type, options) { function buildOneAMD(type, options) {
/** @type {import('esbuild').BuildOptions} */ /** @type {import('esbuild').BuildOptions} */
const opts = { const opts = {
entryPoints: [options.entryPoint], entryPoints: [`${options.base}/${options.entryPoint}`],
bundle: true, bundle: true,
target: 'esnext', target: 'esnext',
format: 'iife', format: 'iife',
@ -227,8 +229,8 @@ function buildOneAMD(type, options) {
footer: { footer: {
js: 'return moduleExports;\n});' js: 'return moduleExports;\n});'
}, },
outbase: 'src', outbase: `${options.base}/src`,
outdir: `release/${type}/`, outdir: `${options.base}/release/${type}/`,
plugins: [ plugins: [
alias({ alias({
'vscode-nls': path.join(__dirname, '../build/fillers/vscode-nls.ts'), 'vscode-nls': path.join(__dirname, '../build/fillers/vscode-nls.ts'),
@ -244,6 +246,7 @@ function buildOneAMD(type, options) {
/** /**
* @param {{ * @param {{
* base: string;
* entryPoint: string; * entryPoint: string;
* banner: string; * banner: string;
* }} options * }} options

@ -19,18 +19,22 @@ dts(
); );
buildESM({ buildESM({
base: 'monaco-css',
entryPoints: ['src/monaco.contribution.ts', 'src/cssMode.ts', 'src/css.worker.ts'], entryPoints: ['src/monaco.contribution.ts', 'src/cssMode.ts', 'src/css.worker.ts'],
external: ['monaco-editor-core', '*/cssMode'] external: ['monaco-editor-core', '*/cssMode']
}); });
buildAMD({ buildAMD({
base: 'monaco-css',
entryPoint: 'src/monaco.contribution.ts', entryPoint: 'src/monaco.contribution.ts',
banner: 'define("vs/language/css/monaco.contribution",["vs/editor/editor.api"],()=>{' banner: 'define("vs/language/css/monaco.contribution",["vs/editor/editor.api"],()=>{'
}); });
buildAMD({ buildAMD({
base: 'monaco-css',
entryPoint: 'src/cssMode.ts', entryPoint: 'src/cssMode.ts',
banner: 'define("vs/language/css/cssMode",["vs/editor/editor.api"],()=>{' banner: 'define("vs/language/css/cssMode",["vs/editor/editor.api"],()=>{'
}); });
buildAMD({ buildAMD({
base: 'monaco-css',
entryPoint: 'src/cssWorker.ts', entryPoint: 'src/cssWorker.ts',
banner: 'define("vs/language/css/cssWorker",[],()=>{' banner: 'define("vs/language/css/cssWorker",[],()=>{'
}); });

@ -1,6 +1,5 @@
{ {
"scripts": { "scripts": {
"watch": "../node_modules/.bin/tsc -p ./src --watch", "watch": "../node_modules/.bin/tsc -p ./src --watch"
"prepublishOnly": "node ./build"
} }
} }

@ -19,18 +19,22 @@ dts(
); );
buildESM({ buildESM({
base: 'monaco-html',
entryPoints: ['src/monaco.contribution.ts', 'src/htmlMode.ts', 'src/html.worker.ts'], entryPoints: ['src/monaco.contribution.ts', 'src/htmlMode.ts', 'src/html.worker.ts'],
external: ['monaco-editor-core', '*/htmlMode'] external: ['monaco-editor-core', '*/htmlMode']
}); });
buildAMD({ buildAMD({
base: 'monaco-html',
entryPoint: 'src/monaco.contribution.ts', entryPoint: 'src/monaco.contribution.ts',
banner: 'define("vs/language/html/monaco.contribution",["vs/editor/editor.api"],()=>{' banner: 'define("vs/language/html/monaco.contribution",["vs/editor/editor.api"],()=>{'
}); });
buildAMD({ buildAMD({
base: 'monaco-html',
entryPoint: 'src/htmlMode.ts', entryPoint: 'src/htmlMode.ts',
banner: 'define("vs/language/html/htmlMode",["vs/editor/editor.api"],()=>{' banner: 'define("vs/language/html/htmlMode",["vs/editor/editor.api"],()=>{'
}); });
buildAMD({ buildAMD({
base: 'monaco-html',
entryPoint: 'src/htmlWorker.ts', entryPoint: 'src/htmlWorker.ts',
banner: 'define("vs/language/html/htmlWorker",[],()=>{' banner: 'define("vs/language/html/htmlWorker",[],()=>{'
}); });

@ -1,6 +1,5 @@
{ {
"scripts": { "scripts": {
"watch": "../node_modules/.bin/tsc -p ./src --watch", "watch": "../node_modules/.bin/tsc -p ./src --watch"
"prepublishOnly": "node ./build"
} }
} }

@ -19,18 +19,22 @@ dts(
); );
buildESM({ buildESM({
base: 'monaco-json',
entryPoints: ['src/monaco.contribution.ts', 'src/jsonMode.ts', 'src/json.worker.ts'], entryPoints: ['src/monaco.contribution.ts', 'src/jsonMode.ts', 'src/json.worker.ts'],
external: ['monaco-editor-core', '*/jsonMode'] external: ['monaco-editor-core', '*/jsonMode']
}); });
buildAMD({ buildAMD({
base: 'monaco-json',
entryPoint: 'src/monaco.contribution.ts', entryPoint: 'src/monaco.contribution.ts',
banner: 'define("vs/language/json/monaco.contribution",["vs/editor/editor.api"],()=>{' banner: 'define("vs/language/json/monaco.contribution",["vs/editor/editor.api"],()=>{'
}); });
buildAMD({ buildAMD({
base: 'monaco-json',
entryPoint: 'src/jsonMode.ts', entryPoint: 'src/jsonMode.ts',
banner: 'define("vs/language/json/jsonMode",["vs/editor/editor.api"],()=>{' banner: 'define("vs/language/json/jsonMode",["vs/editor/editor.api"],()=>{'
}); });
buildAMD({ buildAMD({
base: 'monaco-json',
entryPoint: 'src/jsonWorker.ts', entryPoint: 'src/jsonWorker.ts',
banner: 'define("vs/language/json/jsonWorker",[],()=>{' banner: 'define("vs/language/json/jsonWorker",[],()=>{'
}); });

@ -1,6 +1,5 @@
{ {
"scripts": { "scripts": {
"watch": "../node_modules/.bin/tsc -p ./src --watch", "watch": "../node_modules/.bin/tsc -p ./src --watch"
"prepublishOnly": "node ./build"
} }
} }

@ -33,6 +33,7 @@ glob('src/*/*.contribution.ts', { cwd: __dirname }, function (err, files) {
external.push(`*/${language}`); external.push(`*/${language}`);
} }
buildESM({ buildESM({
base: 'monaco-languages',
entryPoints, entryPoints,
external external
}); });
@ -41,11 +42,13 @@ glob('src/*/*.contribution.ts', { cwd: __dirname }, function (err, files) {
// AMD // AMD
{ {
buildAMD({ buildAMD({
base: 'monaco-languages',
entryPoint: 'src/monaco.contribution.ts', entryPoint: 'src/monaco.contribution.ts',
banner: 'define("vs/basic-languages/monaco.contribution",["vs/editor/editor.api"],()=>{' banner: 'define("vs/basic-languages/monaco.contribution",["vs/editor/editor.api"],()=>{'
}); });
for (const language of languages) { for (const language of languages) {
buildAMD({ buildAMD({
base: 'monaco-languages',
entryPoint: `src/${language}/${language}.ts`, entryPoint: `src/${language}/${language}.ts`,
banner: `define("vs/basic-languages/${language}/${language}",[],()=>{` banner: `define("vs/basic-languages/${language}/${language}",[],()=>{`
}); });

@ -1,7 +1,6 @@
{ {
"scripts": { "scripts": {
"watch": "../node_modules/.bin/tsc -p ./src --watch", "watch": "../node_modules/.bin/tsc -p ./src --watch",
"test": "node ./test/all.js", "test": "node ./test/all.js"
"prepublishOnly": "node ./build"
} }
} }

@ -15,11 +15,6 @@ copyFile(
`monaco-typescript/out/amd/lib/typescriptServices.js` `monaco-typescript/out/amd/lib/typescriptServices.js`
); );
copyFile(
`monaco-typescript/src/lib/typescriptServices.js`,
`monaco-typescript/out/esm/lib/typescriptServices.js`
);
tsc(`monaco-typescript/src/tsconfig.json`); tsc(`monaco-typescript/src/tsconfig.json`);
dts( dts(
@ -29,18 +24,22 @@ dts(
); );
buildESM({ buildESM({
base: 'monaco-typescript',
entryPoints: ['src/monaco.contribution.ts', 'src/tsMode.ts', 'src/ts.worker.ts'], entryPoints: ['src/monaco.contribution.ts', 'src/tsMode.ts', 'src/ts.worker.ts'],
external: ['monaco-editor-core', '*/tsMode'] external: ['monaco-editor-core', '*/tsMode']
}); });
buildAMD({ buildAMD({
base: 'monaco-typescript',
entryPoint: 'src/monaco.contribution.ts', entryPoint: 'src/monaco.contribution.ts',
banner: 'define("vs/language/typescript/monaco.contribution",["vs/editor/editor.api"],()=>{' banner: 'define("vs/language/typescript/monaco.contribution",["vs/editor/editor.api"],()=>{'
}); });
buildAMD({ buildAMD({
base: 'monaco-typescript',
entryPoint: 'src/tsMode.ts', entryPoint: 'src/tsMode.ts',
banner: 'define("vs/language/typescript/tsMode",["vs/editor/editor.api"],()=>{' banner: 'define("vs/language/typescript/tsMode",["vs/editor/editor.api"],()=>{'
}); });
buildAMD({ buildAMD({
base: 'monaco-typescript',
entryPoint: 'src/tsWorker.ts', entryPoint: 'src/tsWorker.ts',
banner: 'define("vs/language/typescript/tsWorker",[],()=>{' banner: 'define("vs/language/typescript/tsWorker",[],()=>{'
}); });

@ -1,7 +1,6 @@
{ {
"scripts": { "scripts": {
"watch": "../node_modules/.bin/tsc -p ./src --watch", "watch": "../node_modules/.bin/tsc -p ./src --watch",
"prepublishOnly": "node ./build",
"import-typescript": "node ./scripts/importTypescript" "import-typescript": "node ./scripts/importTypescript"
} }
} }

@ -7,11 +7,11 @@
"license": "MIT", "license": "MIT",
"scripts": { "scripts": {
"simpleserver": "gulp simpleserver", "simpleserver": "gulp simpleserver",
"release-css": "npm run prepublishOnly --prefix monaco-css", "release-css": "node ./monaco-css/build",
"release-html": "npm run prepublishOnly --prefix monaco-html", "release-html": "node ./monaco-html/build",
"release-json": "npm run prepublishOnly --prefix monaco-json", "release-json": "node ./monaco-json/build",
"release-languages": "npm run prepublishOnly --prefix monaco-languages", "release-languages": "node ./monaco-languages/build",
"release-typescript": "npm run prepublishOnly --prefix monaco-typescript", "release-typescript": "node ./monaco-typescript/build",
"release": "npm run release-css && npm run release-html && npm run release-json && npm run release-languages && npm run release-typescript && gulp release", "release": "npm run release-css && npm run release-html && npm run release-json && npm run release-languages && npm run release-typescript && gulp release",
"website": "gulp build-website && npm run typedoc && gulp prepare-website-branch", "website": "gulp build-website && npm run typedoc && gulp prepare-website-branch",
"build-website": "gulp build-website && npm run typedoc", "build-website": "gulp build-website && npm run typedoc",

Loading…
Cancel
Save