mirror of
https://github.com/danbulant/monaco-yaml
synced 2026-07-07 20:10:41 +00:00
Flatten output paths
`lib/esm/monaco.contribution.js` → `index.js` `lib/esm/yaml.worker.js` → `yaml.worker.js` Closes #132
This commit is contained in:
parent
545e6a6bc4
commit
90d895a214
7 changed files with 72 additions and 78 deletions
4
.gitignore
vendored
4
.gitignore
vendored
|
|
@ -1,5 +1,7 @@
|
||||||
dist/
|
dist/
|
||||||
node_modules/
|
node_modules/
|
||||||
/lib/
|
/index.js
|
||||||
|
/yaml.worker.js
|
||||||
*.log
|
*.log
|
||||||
|
*.map
|
||||||
*.tgz
|
*.tgz
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
/dist/
|
dist/
|
||||||
/lib/
|
/index.js
|
||||||
/out/
|
/yaml.worker.js
|
||||||
|
|
|
||||||
129
build.js
129
build.js
|
|
@ -1,72 +1,65 @@
|
||||||
const { promises: fs } = require('fs');
|
|
||||||
const { join } = require('path');
|
|
||||||
|
|
||||||
const { build } = require('esbuild');
|
const { build } = require('esbuild');
|
||||||
|
|
||||||
const { dependencies, peerDependencies } = require('./package.json');
|
const { dependencies, peerDependencies } = require('./package.json');
|
||||||
|
|
||||||
fs.rm(join(__dirname, 'lib'), { force: true, recursive: true })
|
build({
|
||||||
.then(() =>
|
entryPoints: ['src/index.ts', 'src/yaml.worker.ts'],
|
||||||
build({
|
bundle: true,
|
||||||
entryPoints: ['src/monaco.contribution.ts', 'src/yaml.worker.ts'],
|
external: Object.keys({ ...dependencies, ...peerDependencies }),
|
||||||
bundle: true,
|
logLevel: 'info',
|
||||||
external: Object.keys({ ...dependencies, ...peerDependencies }),
|
outdir: '.',
|
||||||
logLevel: 'info',
|
sourcemap: true,
|
||||||
outdir: 'lib/esm',
|
format: 'esm',
|
||||||
sourcemap: true,
|
target: ['es2019'],
|
||||||
format: 'esm',
|
plugins: [
|
||||||
target: ['es2019'],
|
{
|
||||||
plugins: [
|
name: 'alias',
|
||||||
{
|
setup({ onResolve }) {
|
||||||
name: 'alias',
|
// The yaml language service only imports re-exports of vscode-languageserver-types from
|
||||||
setup({ onResolve }) {
|
// vscode-languageserver.
|
||||||
// The yaml language service only imports re-exports of vscode-languageserver-types from
|
onResolve({ filter: /^vscode-languageserver-textdocument$/ }, () => ({
|
||||||
// vscode-languageserver.
|
path: 'vscode-languageserver-textdocument/lib/esm/main.js',
|
||||||
onResolve({ filter: /^vscode-languageserver-textdocument$/ }, () => ({
|
external: true,
|
||||||
path: 'vscode-languageserver-textdocument/lib/esm/main.js',
|
}));
|
||||||
external: true,
|
// The yaml language service only imports re-exports of vscode-languageserver-types from
|
||||||
}));
|
// vscode-languageserver.
|
||||||
// The yaml language service only imports re-exports of vscode-languageserver-types from
|
onResolve({ filter: /^vscode-languageserver(\/node)?$/ }, () => ({
|
||||||
// vscode-languageserver.
|
path: 'vscode-languageserver-types/lib/esm/main.js',
|
||||||
onResolve({ filter: /^vscode-languageserver(\/node)?$/ }, () => ({
|
external: true,
|
||||||
path: 'vscode-languageserver-types/lib/esm/main.js',
|
}));
|
||||||
external: true,
|
// The yaml language service only imports re-exports of vscode-languageserver-types from
|
||||||
}));
|
// vscode-languageserver.
|
||||||
// The yaml language service only imports re-exports of vscode-languageserver-types from
|
onResolve({ filter: /^vscode-languageserver-(protocol|types)$/ }, () => ({
|
||||||
// vscode-languageserver.
|
path: 'vscode-languageserver-types/lib/esm/main.js',
|
||||||
onResolve({ filter: /^vscode-languageserver-(protocol|types)$/ }, () => ({
|
external: true,
|
||||||
path: 'vscode-languageserver-types/lib/esm/main.js',
|
}));
|
||||||
external: true,
|
// The yaml language service uses path. We can stub it using path-browserify.
|
||||||
}));
|
onResolve({ filter: /^path$/ }, () => ({
|
||||||
// The yaml language service uses path. We can stub it using path-browserify.
|
path: 'path-browserify',
|
||||||
onResolve({ filter: /^path$/ }, () => ({
|
external: true,
|
||||||
path: 'path-browserify',
|
}));
|
||||||
external: true,
|
// The main prettier entry point contains all of Prettier.
|
||||||
}));
|
// The standalone bundle is smaller and works fine for us.
|
||||||
// The main prettier entry point contains all of Prettier.
|
onResolve({ filter: /^prettier$/ }, () => ({
|
||||||
// The standalone bundle is smaller and works fine for us.
|
path: 'prettier/standalone',
|
||||||
onResolve({ filter: /^prettier$/ }, () => ({
|
external: true,
|
||||||
path: 'prettier/standalone',
|
}));
|
||||||
external: true,
|
// This tiny filler implementation serves all our needs.
|
||||||
}));
|
onResolve({ filter: /vscode-nls/ }, () => ({
|
||||||
// This tiny filler implementation serves all our needs.
|
path: require.resolve('./src/fillers/vscode-nls.ts'),
|
||||||
onResolve({ filter: /vscode-nls/ }, () => ({
|
}));
|
||||||
path: require.resolve('./src/fillers/vscode-nls.ts'),
|
// The language server dependencies tend to write both ESM and UMD output alongside each
|
||||||
}));
|
// other, then use UMD for imports. We prefer ESM.
|
||||||
// The language server dependencies tend to write both ESM and UMD output alongside each
|
onResolve({ filter: /\/umd\// }, (args) => ({
|
||||||
// other, then use UMD for imports. We prefer ESM.
|
path: require.resolve(args.path.replace(/\/umd\//, '/esm/'), {
|
||||||
onResolve({ filter: /\/umd\// }, (args) => ({
|
paths: [args.resolveDir],
|
||||||
path: require.resolve(args.path.replace(/\/umd\//, '/esm/'), {
|
}),
|
||||||
paths: [args.resolveDir],
|
}));
|
||||||
}),
|
},
|
||||||
}));
|
},
|
||||||
},
|
],
|
||||||
},
|
}).catch((error) => {
|
||||||
],
|
// eslint-disable-next-line no-console
|
||||||
}),
|
console.error(error);
|
||||||
)
|
process.exit(1);
|
||||||
.catch((error) => {
|
});
|
||||||
// eslint-disable-next-line no-console
|
|
||||||
console.error(error);
|
|
||||||
process.exit(1);
|
|
||||||
});
|
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ window.MonacoEnvironment = {
|
||||||
case 'editorWorkerService':
|
case 'editorWorkerService':
|
||||||
return new Worker(new URL('monaco-editor/esm/vs/editor/editor.worker', import.meta.url));
|
return new Worker(new URL('monaco-editor/esm/vs/editor/editor.worker', import.meta.url));
|
||||||
case 'yaml':
|
case 'yaml':
|
||||||
return new Worker(new URL('monaco-yaml/lib/esm/yaml.worker', import.meta.url));
|
return new Worker(new URL('monaco-yaml/yaml.worker', import.meta.url));
|
||||||
default:
|
default:
|
||||||
throw new Error(`Unknown label ${label}`);
|
throw new Error(`Unknown label ${label}`);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import { editor, Uri } from 'monaco-editor';
|
import { editor, Uri } from 'monaco-editor';
|
||||||
import EditorWorker from 'monaco-editor/esm/vs/editor/editor.worker?worker';
|
import EditorWorker from 'monaco-editor/esm/vs/editor/editor.worker?worker';
|
||||||
import { setDiagnosticsOptions } from 'monaco-yaml';
|
import { setDiagnosticsOptions } from 'monaco-yaml';
|
||||||
import YamlWorker from 'monaco-yaml/lib/esm/yaml.worker?worker';
|
import YamlWorker from 'monaco-yaml/yaml.worker?worker';
|
||||||
|
|
||||||
window.MonacoEnvironment = {
|
window.MonacoEnvironment = {
|
||||||
getWorker(moduleId, label) {
|
getWorker(moduleId, label) {
|
||||||
|
|
|
||||||
|
|
@ -7,12 +7,11 @@
|
||||||
"prepack": "node build.js",
|
"prepack": "node build.js",
|
||||||
"prepare": "husky install"
|
"prepare": "husky install"
|
||||||
},
|
},
|
||||||
"main": "./lib/esm/monaco.contribution.js",
|
|
||||||
"module": "./lib/esm/monaco.contribution.js",
|
|
||||||
"typings": "./index.d.ts",
|
"typings": "./index.d.ts",
|
||||||
"files": [
|
"files": [
|
||||||
"lib",
|
"index.js",
|
||||||
"index.d.ts"
|
"index.d.ts",
|
||||||
|
"yaml.worker.js"
|
||||||
],
|
],
|
||||||
"workspaces": [
|
"workspaces": [
|
||||||
"examples/*"
|
"examples/*"
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue