Move script to /build/

This commit is contained in:
Alex Dima 2021-11-15 23:07:46 +01:00
parent 1f837fe159
commit 7286264340
No known key found for this signature in database
GPG key ID: 39563C1504FDD0C9
2 changed files with 22 additions and 29 deletions

View file

@ -7,6 +7,8 @@ const glob = require('glob');
const path = require('path'); const path = require('path');
const fs = require('fs'); const fs = require('fs');
const REPO_ROOT = path.join(__dirname, '..');
const customFeatureLabels = { const customFeatureLabels = {
'vs/editor/browser/controller/coreCommands': 'coreCommands', 'vs/editor/browser/controller/coreCommands': 'coreCommands',
'vs/editor/contrib/caretOperations/caretOperations': 'caretOperations', 'vs/editor/contrib/caretOperations/caretOperations': 'caretOperations',
@ -30,7 +32,7 @@ generateFeatures();
function getBasicLanguages() { function getBasicLanguages() {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
glob( glob(
'./node_modules/monaco-editor/esm/vs/basic-languages/*/*.contribution.js', './release/esm/vs/basic-languages/*/*.contribution.js',
{ cwd: path.dirname(__dirname) }, { cwd: path.dirname(__dirname) },
(err, files) => { (err, files) => {
if (err) { if (err) {
@ -40,9 +42,7 @@ function getBasicLanguages() {
resolve( resolve(
files.map((file) => { files.map((file) => {
const entry = file const entry = file.substring('./release/esm/'.length).replace(/\.js$/, '');
.substring('./node_modules/monaco-editor/esm/'.length)
.replace(/\.js$/, '');
const label = path.basename(file).replace(/\.contribution\.js$/, ''); const label = path.basename(file).replace(/\.contribution\.js$/, '');
return { return {
label: label, label: label,
@ -61,7 +61,7 @@ function getBasicLanguages() {
function readAdvancedLanguages() { function readAdvancedLanguages() {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
glob( glob(
'./node_modules/monaco-editor/esm/vs/language/*/monaco.contribution.js', './release/esm/vs/language/*/monaco.contribution.js',
{ cwd: path.dirname(__dirname) }, { cwd: path.dirname(__dirname) },
(err, files) => { (err, files) => {
if (err) { if (err) {
@ -71,7 +71,7 @@ function readAdvancedLanguages() {
resolve( resolve(
files files
.map((file) => file.substring('./node_modules/monaco-editor/esm/vs/language/'.length)) .map((file) => file.substring('./release/esm/vs/language/'.length))
.map((file) => file.substring(0, file.length - '/monaco.contribution.js'.length)) .map((file) => file.substring(0, file.length - '/monaco.contribution.js'.length))
); );
} }
@ -90,7 +90,6 @@ function getAdvancedLanguages() {
const entry = `vs/language/${lang}/monaco.contribution`; const entry = `vs/language/${lang}/monaco.contribution`;
checkFileExists(entry); checkFileExists(entry);
const workerId = `vs/language/${lang}/${shortLang}Worker`; const workerId = `vs/language/${lang}/${shortLang}Worker`;
checkFileExists(workerId);
const workerEntry = `vs/language/${lang}/${shortLang}.worker`; const workerEntry = `vs/language/${lang}/${shortLang}.worker`;
checkFileExists(workerEntry); checkFileExists(workerEntry);
result.push({ result.push({
@ -106,12 +105,7 @@ function getAdvancedLanguages() {
}); });
function checkFileExists(moduleName) { function checkFileExists(moduleName) {
const filePath = path.join( const filePath = path.join(REPO_ROOT, 'release/esm', `${moduleName}.js`);
__dirname,
'..',
'node_modules/monaco-editor/esm',
`${moduleName}.js`
);
if (!fs.existsSync(filePath)) { if (!fs.existsSync(filePath)) {
console.error(`Could not find ${filePath}.`); console.error(`Could not find ${filePath}.`);
process.exit(1); process.exit(1);
@ -175,17 +169,20 @@ export const languagesArr: IFeatureDefinition[] = ${JSON.stringify(result, null,
export type EditorLanguage = ${result.map((el) => `'${el.label}'`).join(' | ')}; export type EditorLanguage = ${result.map((el) => `'${el.label}'`).join(' | ')};
`; `;
fs.writeFileSync(path.join(__dirname, '../src/languages.ts'), code.replace(/\r\n/g, '\n')); fs.writeFileSync(
path.join(REPO_ROOT, 'webpack-plugin/src/languages.ts'),
code.replace(/\r\n/g, '\n')
);
const readmeLanguages = JSON.stringify(result.map((r) => r.label)) const readmeLanguages = JSON.stringify(result.map((r) => r.label))
.replace(/"/g, "'") .replace(/"/g, "'")
.replace(/','/g, "', '"); .replace(/','/g, "', '");
let readme = fs.readFileSync(path.join(__dirname, '../README.md')).toString(); let readme = fs.readFileSync(path.join(REPO_ROOT, 'webpack-plugin/README.md')).toString();
readme = readme.replace( readme = readme.replace(
/<!-- LANGUAGES_BEGIN -->([^<]+)<!-- LANGUAGES_END -->/, /<!-- LANGUAGES_BEGIN -->([^<]+)<!-- LANGUAGES_END -->/,
`<!-- LANGUAGES_BEGIN -->\`${readmeLanguages}\`<!-- LANGUAGES_END -->` `<!-- LANGUAGES_BEGIN -->\`${readmeLanguages}\`<!-- LANGUAGES_END -->`
); );
fs.writeFileSync(path.join(__dirname, '../README.md'), readme); fs.writeFileSync(path.join(REPO_ROOT, 'webpack-plugin/README.md'), readme);
} }
); );
} }
@ -217,16 +214,8 @@ function generateFeatures() {
let features = []; let features = [];
const files = const files =
fs fs.readFileSync(path.join(REPO_ROOT, 'release/esm/vs/editor/edcore.main.js')).toString() +
.readFileSync( fs.readFileSync(path.join(REPO_ROOT, 'release/esm/vs/editor/editor.all.js')).toString();
path.join(__dirname, '../node_modules/monaco-editor/esm/vs/editor/edcore.main.js')
)
.toString() +
fs
.readFileSync(
path.join(__dirname, '../node_modules/monaco-editor/esm/vs/editor/editor.all.js')
)
.toString();
files.split(/\r\n|\n/).forEach((line) => { files.split(/\r\n|\n/).forEach((line) => {
const m = line.match(/import '([^']+)'/); const m = line.match(/import '([^']+)'/);
if (m) { if (m) {
@ -277,15 +266,18 @@ export type EditorFeature = ${result.map((el) => `'${el.label}'`).join(' | ')};
export type NegatedEditorFeature = ${result.map((el) => `'!${el.label}'`).join(' | ')}; export type NegatedEditorFeature = ${result.map((el) => `'!${el.label}'`).join(' | ')};
`; `;
fs.writeFileSync(path.join(__dirname, '../src/features.ts'), code.replace(/\r\n/g, '\n')); fs.writeFileSync(
path.join(REPO_ROOT, 'webpack-plugin/src/features.ts'),
code.replace(/\r\n/g, '\n')
);
const readmeFeatures = JSON.stringify(result.map((r) => r.label)) const readmeFeatures = JSON.stringify(result.map((r) => r.label))
.replace(/"/g, "'") .replace(/"/g, "'")
.replace(/','/g, "', '"); .replace(/','/g, "', '");
let readme = fs.readFileSync(path.join(__dirname, '../README.md')).toString(); let readme = fs.readFileSync(path.join(REPO_ROOT, 'webpack-plugin/README.md')).toString();
readme = readme.replace( readme = readme.replace(
/<!-- FEATURES_BEGIN -->([^<]+)<!-- FEATURES_END -->/, /<!-- FEATURES_BEGIN -->([^<]+)<!-- FEATURES_END -->/,
`<!-- FEATURES_BEGIN -->\`${readmeFeatures}\`<!-- FEATURES_END -->` `<!-- FEATURES_BEGIN -->\`${readmeFeatures}\`<!-- FEATURES_END -->`
); );
fs.writeFileSync(path.join(__dirname, '../README.md'), readme); fs.writeFileSync(path.join(REPO_ROOT, 'webpack-plugin/README.md'), readme);
} }

View file

@ -9,6 +9,7 @@
"build-website": "gulp build-website && npm run typedoc", "build-website": "gulp build-website && npm run typedoc",
"gulp": "node ./node_modules/gulp/bin/gulp.js", "gulp": "node ./node_modules/gulp/bin/gulp.js",
"import-typescript": "node ./build/importTypescript.js", "import-typescript": "node ./build/importTypescript.js",
"import-editor-webpack-plugin": "node ./build/importEditorWebpackPlugin.js",
"playwright-install": "node ./node_modules/playwright/install.js", "playwright-install": "node ./node_modules/playwright/install.js",
"playwright-install-deps": "playwright install-deps", "playwright-install-deps": "playwright install-deps",
"postinstall": "node build/postinstall.js", "postinstall": "node build/postinstall.js",