mirror of
https://github.com/microsoft/monaco-editor.git
synced 2025-12-22 12:45:39 +01:00
Cleans up build scripts (#5097)
* Cleans up build scripts * Adds back removeDir
This commit is contained in:
parent
abae948dc3
commit
d84acb4d8f
8 changed files with 199 additions and 171 deletions
|
|
@ -13,48 +13,13 @@ import del from 'rollup-plugin-delete';
|
|||
import keepCssImports from './rollup-plugin-keep-css-imports/dist/index.mjs';
|
||||
import nodeResolve from '@rollup/plugin-node-resolve';
|
||||
import { urlToEsmPlugin } from './rollup-url-to-module-plugin/index.mjs';
|
||||
import { copyFileSync, mkdirSync } from 'fs';
|
||||
import { dirname } from 'path';
|
||||
import { fileURLToPath } from 'url';
|
||||
import { readdirSync } from 'fs';
|
||||
import { getNlsEntryPoints, mapModuleId } from '../shared.mjs';
|
||||
import { readFileSync } from 'fs';
|
||||
|
||||
|
||||
const root = join(import.meta.dirname, '../../');
|
||||
const outDir = join(root, './out/monaco-editor/esm');
|
||||
|
||||
/**
|
||||
* @param {string} filePath
|
||||
* @param {string} newExt
|
||||
* @returns {string}
|
||||
*/
|
||||
function changeExt(filePath, newExt) {
|
||||
const idx = filePath.lastIndexOf('.');
|
||||
if (idx === -1) {
|
||||
return filePath + newExt;
|
||||
} else {
|
||||
return filePath.substring(0, idx) + newExt;
|
||||
}
|
||||
}
|
||||
|
||||
const mappedPaths = {
|
||||
[join(root, 'node_modules/monaco-editor-core/esm/')]: '.',
|
||||
[join(root, 'node_modules/')]: 'external/',
|
||||
[join(root, 'monaco-lsp-client/')]: 'external/monaco-lsp-client/',
|
||||
[join(root, 'src/')]: 'vs/',
|
||||
};
|
||||
|
||||
function getNlsEntryPoints() {
|
||||
// Scan for nls.messages.*.js files dynamically
|
||||
const nlsDir = dirname(fileURLToPath(import.meta.resolve('monaco-editor-core/esm/nls.messages.en.js')));
|
||||
const nlsFiles = readdirSync(nlsDir)
|
||||
.filter(file => file.startsWith('nls.messages.') && file.endsWith('.js'))
|
||||
.reduce((acc, file) => {
|
||||
// @ts-ignore
|
||||
acc[file] = join(nlsDir, file);
|
||||
return acc;
|
||||
}, {});
|
||||
return nlsFiles;
|
||||
}
|
||||
|
||||
export default defineConfig({
|
||||
input: {
|
||||
entry: join(root, './src/editor/editor.main.ts'),
|
||||
|
|
@ -72,11 +37,9 @@ export default defineConfig({
|
|||
entryFileNames: function (chunkInfo) {
|
||||
const moduleId = chunkInfo.facadeModuleId;
|
||||
if (moduleId) {
|
||||
for (const [key, val] of Object.entries(mappedPaths)) {
|
||||
if (moduleId.startsWith(key)) {
|
||||
const relativePath = moduleId.substring(key.length);
|
||||
return changeExt(join(val, relativePath), '.js');
|
||||
}
|
||||
const r = mapModuleId(moduleId, '.js');
|
||||
if (r !== undefined) {
|
||||
return r;
|
||||
}
|
||||
}
|
||||
return '[name].js';
|
||||
|
|
@ -90,11 +53,12 @@ export default defineConfig({
|
|||
|
||||
{
|
||||
name: 'copy-codicon-font',
|
||||
buildEnd() {
|
||||
const codiconSource = join(root, 'node_modules/monaco-editor-core/esm/vs/base/browser/ui/codicons/codicon/codicon.ttf');
|
||||
const codiconDest = join(outDir, 'vs/base/browser/ui/codicons/codicon/codicon.ttf');
|
||||
mkdirSync(dirname(codiconDest), { recursive: true });
|
||||
copyFileSync(codiconSource, codiconDest);
|
||||
generateBundle() {
|
||||
this.emitFile({
|
||||
type: 'asset',
|
||||
fileName: 'vs/base/browser/ui/codicons/codicon/codicon.ttf',
|
||||
source: readFileSync(join(root, 'node_modules/monaco-editor-core/esm/vs/base/browser/ui/codicons/codicon/codicon.ttf'))
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
|
|
@ -106,13 +70,10 @@ export default defineConfig({
|
|||
* @param {string} assetId
|
||||
*/
|
||||
outputPath: (assetId) => {
|
||||
for (const [key, val] of Object.entries(mappedPaths)) {
|
||||
if (assetId.startsWith(key)) {
|
||||
const relativePath = assetId.substring(key.length);
|
||||
return changeExt(join(outDir, val, relativePath), '.css');
|
||||
}
|
||||
const r = mapModuleId(assetId, '.css');
|
||||
if (r !== undefined) {
|
||||
return join(outDir, r);
|
||||
}
|
||||
|
||||
const relativePath = join(outDir, relative(root, assetId));
|
||||
return relativePath.replace(/(\.s[ca]ss)$/, ".min$1")
|
||||
},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue