build.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. /*---------------------------------------------------------------------------------------------
  2. * Copyright (c) Microsoft Corporation. All rights reserved.
  3. * Licensed under the MIT License. See License.txt in the project root for license information.
  4. *--------------------------------------------------------------------------------------------*/
  5. const esbuild = require('esbuild');
  6. const alias = require('esbuild-plugin-alias');
  7. const path = require('path');
  8. const cp = require('child_process');
  9. const { removeDir, tsc, dts } = require('../../build/utils');
  10. removeDir(`monaco-json/release`);
  11. removeDir(`monaco-json/out`);
  12. tsc(`monaco-json/src/tsconfig.json`);
  13. dts(
  14. `monaco-json/out/amd/monaco.contribution.d.ts`,
  15. `monaco-json/monaco.d.ts`,
  16. 'monaco.languages.json'
  17. );
  18. esbuild
  19. .build({
  20. entryPoints: ['src/jsonMode.ts', 'src/json.worker.ts', 'src/monaco.contribution.ts'],
  21. bundle: true,
  22. target: 'esnext',
  23. format: 'esm',
  24. external: ['monaco-editor-core', '*/jsonMode'],
  25. outdir: 'release/esm/',
  26. plugins: [
  27. alias({
  28. 'vscode-nls': path.join(__dirname, '../src/fillers/vscode-nls.ts')
  29. })
  30. ]
  31. })
  32. .then((result) => {
  33. if (result.errors.length > 0) {
  34. console.error(result.errors);
  35. }
  36. if (result.warnings.length > 0) {
  37. console.error(result.warnings);
  38. }
  39. });
  40. cp.spawnSync(process.execPath, [path.join(__dirname, './bundle.js')], {
  41. stdio: 'inherit',
  42. stderr: 'inherit'
  43. });