diff --git a/browser-esm-webpack-small/generate-imports.js b/browser-esm-webpack-small/generate-imports.js new file mode 100644 index 00000000..96f35fef --- /dev/null +++ b/browser-esm-webpack-small/generate-imports.js @@ -0,0 +1,153 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See LICENSE in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +const glob = require('glob'); +const path = require('path'); +const fs = require('fs'); + +const FILE_PATH = path.join(__dirname, 'index.js'); +generateLanguages(); +generateFeatures(); + +/** + * @returns { Promise } + */ +function getBasicLanguages() { + return new Promise((resolve, reject) => { + glob( + './node_modules/monaco-editor/esm/vs/basic-languages/*/*.contribution.js', + { cwd: path.dirname(__dirname) }, + (err, files) => { + if (err) { + reject(err); + return; + } + + resolve( + files.map((file) => { + return file + .substring('./node_modules/monaco-editor/esm/'.length) + .replace(/\.js$/, ''); + }) + ); + } + ); + }); +} + +/** + * @returns { Promise } + */ +function getAdvancedLanguages() { + return new Promise((resolve, reject) => { + glob( + './node_modules/monaco-editor/esm/vs/language/*/monaco.contribution.js', + { cwd: path.dirname(__dirname) }, + (err, files) => { + if (err) { + reject(err); + return; + } + + resolve( + files + .map((file) => + file.substring( + './node_modules/monaco-editor/esm/vs/language/'.length + ) + ) + .map((file) => + file.substring(0, file.length - '/monaco.contribution.js'.length) + ) + .map((lang) => `vs/language/${lang}/monaco.contribution`) + ); + } + ); + }); +} + +function generateLanguages() { + return Promise.all([getBasicLanguages(), getAdvancedLanguages()]).then( + ([basicLanguages, advancedLanguages]) => { + basicLanguages.sort(strcmp); + advancedLanguages.sort(strcmp); + + const allLanguages = advancedLanguages.concat(basicLanguages); + const imports = allLanguages + .map((l) => `import 'monaco-editor/esm/${l}.js';`) + .map((l) => `${/python/.test(l) ? '' : '// '}${l}`) + .join('\n'); + + let contents = fs.readFileSync(FILE_PATH).toString(); + contents = contents.replace( + /\/\/ BEGIN_LANGUAGES\n([\/ a-zA-Z0-9'\/\-\.;]+\n)+\/\/ END_LANGUAGES/, + `// BEGIN_LANGUAGES\n${imports}\n// END_LANGUAGES` + ); + fs.writeFileSync(FILE_PATH, contents); + } + ); +} + +function strcmp(a, b) { + if (a < b) { + return -1; + } + if (a > b) { + return 1; + } + return 0; +} + +/** + * @returns { string[] } + */ +function generateFeatures() { + const skipImports = [ + 'vs/editor/common/standaloneStrings', + 'vs/editor/contrib/tokenization/tokenization', + 'vs/editor/editor.all' + ]; + + let features = []; + const files = + fs + .readFileSync( + 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) => { + const m = line.match(/import '([^']+)'/); + if (m) { + const tmp = path.posix.join('vs/editor', m[1]).replace(/\.js$/, ''); + if (skipImports.indexOf(tmp) === -1) { + features.push(tmp); + } + } + }); + + features.sort(strcmp); + const imports = features + .map((l) => `import 'monaco-editor/esm/${l}.js';`) + .map((l) => `${/(coreCommands)|(findController)/.test(l) ? '' : '// '}${l}`) + .join('\n'); + + let contents = fs.readFileSync(FILE_PATH).toString(); + contents = contents.replace( + /\/\/ BEGIN_FEATURES\n([\/ a-zA-Z0-9'\/\-\.;]+\n)+\/\/ END_FEATURES/, + `// BEGIN_FEATURES\n${imports}\n// END_FEATURES` + ); + fs.writeFileSync(FILE_PATH, contents); +} diff --git a/browser-esm-webpack-small/index.js b/browser-esm-webpack-small/index.js index 53a9f9a3..d1d11c99 100644 --- a/browser-esm-webpack-small/index.js +++ b/browser-esm-webpack-small/index.js @@ -1,4 +1,5 @@ // (1) Desired editor features: +// BEGIN_FEATURES import 'monaco-editor/esm/vs/editor/browser/controller/coreCommands.js'; // import 'monaco-editor/esm/vs/editor/browser/widget/codeEditorWidget.js'; // import 'monaco-editor/esm/vs/editor/browser/widget/diffEditorWidget.js'; @@ -7,6 +8,7 @@ import 'monaco-editor/esm/vs/editor/browser/controller/coreCommands.js'; // import 'monaco-editor/esm/vs/editor/contrib/caretOperations/caretOperations.js'; // import 'monaco-editor/esm/vs/editor/contrib/caretOperations/transpose.js'; // import 'monaco-editor/esm/vs/editor/contrib/clipboard/clipboard.js'; +// import 'monaco-editor/esm/vs/editor/contrib/codeAction/codeActionContributions.js'; // import 'monaco-editor/esm/vs/editor/contrib/codelens/codelensController.js'; // import 'monaco-editor/esm/vs/editor/contrib/colorPicker/colorDetector.js'; // import 'monaco-editor/esm/vs/editor/contrib/comment/comment.js'; @@ -15,18 +17,17 @@ import 'monaco-editor/esm/vs/editor/browser/controller/coreCommands.js'; // import 'monaco-editor/esm/vs/editor/contrib/dnd/dnd.js'; import 'monaco-editor/esm/vs/editor/contrib/find/findController.js'; // import 'monaco-editor/esm/vs/editor/contrib/folding/folding.js'; +// import 'monaco-editor/esm/vs/editor/contrib/fontZoom/fontZoom.js'; // import 'monaco-editor/esm/vs/editor/contrib/format/formatActions.js'; -// import 'monaco-editor/esm/vs/editor/contrib/goToDeclaration/goToDeclarationCommands.js'; -// import 'monaco-editor/esm/vs/editor/contrib/goToDeclaration/goToDeclarationMouse.js'; // import 'monaco-editor/esm/vs/editor/contrib/gotoError/gotoError.js'; +// import 'monaco-editor/esm/vs/editor/contrib/gotoSymbol/goToCommands.js'; +// import 'monaco-editor/esm/vs/editor/contrib/gotoSymbol/link/goToDefinitionAtPosition.js'; // import 'monaco-editor/esm/vs/editor/contrib/hover/hover.js'; // import 'monaco-editor/esm/vs/editor/contrib/inPlaceReplace/inPlaceReplace.js'; // import 'monaco-editor/esm/vs/editor/contrib/linesOperations/linesOperations.js'; // import 'monaco-editor/esm/vs/editor/contrib/links/links.js'; // import 'monaco-editor/esm/vs/editor/contrib/multicursor/multicursor.js'; // import 'monaco-editor/esm/vs/editor/contrib/parameterHints/parameterHints.js'; -// import 'monaco-editor/esm/vs/editor/contrib/quickFix/quickFixCommands.js'; -// import 'monaco-editor/esm/vs/editor/contrib/referenceSearch/referenceSearch.js'; // import 'monaco-editor/esm/vs/editor/contrib/rename/rename.js'; // import 'monaco-editor/esm/vs/editor/contrib/smartSelect/smartSelect.js'; // import 'monaco-editor/esm/vs/editor/contrib/snippet/snippetController2.js'; @@ -34,21 +35,30 @@ import 'monaco-editor/esm/vs/editor/contrib/find/findController.js'; // import 'monaco-editor/esm/vs/editor/contrib/toggleTabFocusMode/toggleTabFocusMode.js'; // import 'monaco-editor/esm/vs/editor/contrib/wordHighlighter/wordHighlighter.js'; // import 'monaco-editor/esm/vs/editor/contrib/wordOperations/wordOperations.js'; +// import 'monaco-editor/esm/vs/editor/contrib/wordPartOperations/wordPartOperations.js'; // import 'monaco-editor/esm/vs/editor/standalone/browser/accessibilityHelp/accessibilityHelp.js'; -// import 'monaco-editor/esm/vs/editor/standalone/browser/inspectTokens/inspectTokens.js'; // import 'monaco-editor/esm/vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js'; -// import 'monaco-editor/esm/vs/editor/standalone/browser/quickOpen/quickOutline.js'; +// import 'monaco-editor/esm/vs/editor/standalone/browser/inspectTokens/inspectTokens.js'; // import 'monaco-editor/esm/vs/editor/standalone/browser/quickOpen/gotoLine.js'; // import 'monaco-editor/esm/vs/editor/standalone/browser/quickOpen/quickCommand.js'; +// import 'monaco-editor/esm/vs/editor/standalone/browser/quickOpen/quickOutline.js'; +// import 'monaco-editor/esm/vs/editor/standalone/browser/referenceSearch/standaloneReferenceSearch.js'; // import 'monaco-editor/esm/vs/editor/standalone/browser/toggleHighContrast/toggleHighContrast.js'; +// END_FEATURES import * as monaco from 'monaco-editor/esm/vs/editor/editor.api.js'; // (2) Desired languages: -// import 'monaco-editor/esm/vs/language/typescript/monaco.contribution'; -// import 'monaco-editor/esm/vs/language/css/monaco.contribution'; -// import 'monaco-editor/esm/vs/language/json/monaco.contribution'; -// import 'monaco-editor/esm/vs/language/html/monaco.contribution'; +// BEGIN_LANGUAGES +// import 'monaco-editor/esm/vs/language/css/monaco.contribution.js'; +// import 'monaco-editor/esm/vs/language/html/monaco.contribution.js'; +// import 'monaco-editor/esm/vs/language/json/monaco.contribution.js'; +// import 'monaco-editor/esm/vs/language/typescript/monaco.contribution.js'; +// import 'monaco-editor/esm/vs/basic-languages/abap/abap.contribution.js'; +// import 'monaco-editor/esm/vs/basic-languages/apex/apex.contribution.js'; +// import 'monaco-editor/esm/vs/basic-languages/azcli/azcli.contribution.js'; // import 'monaco-editor/esm/vs/basic-languages/bat/bat.contribution.js'; +// import 'monaco-editor/esm/vs/basic-languages/cameligo/cameligo.contribution.js'; +// import 'monaco-editor/esm/vs/basic-languages/clojure/clojure.contribution.js'; // import 'monaco-editor/esm/vs/basic-languages/coffee/coffee.contribution.js'; // import 'monaco-editor/esm/vs/basic-languages/cpp/cpp.contribution.js'; // import 'monaco-editor/esm/vs/basic-languages/csharp/csharp.contribution.js'; @@ -57,19 +67,27 @@ import * as monaco from 'monaco-editor/esm/vs/editor/editor.api.js'; // import 'monaco-editor/esm/vs/basic-languages/dockerfile/dockerfile.contribution.js'; // import 'monaco-editor/esm/vs/basic-languages/fsharp/fsharp.contribution.js'; // import 'monaco-editor/esm/vs/basic-languages/go/go.contribution.js'; +// import 'monaco-editor/esm/vs/basic-languages/graphql/graphql.contribution.js'; // import 'monaco-editor/esm/vs/basic-languages/handlebars/handlebars.contribution.js'; // import 'monaco-editor/esm/vs/basic-languages/html/html.contribution.js'; // import 'monaco-editor/esm/vs/basic-languages/ini/ini.contribution.js'; // import 'monaco-editor/esm/vs/basic-languages/java/java.contribution.js'; +// import 'monaco-editor/esm/vs/basic-languages/javascript/javascript.contribution.js'; +// import 'monaco-editor/esm/vs/basic-languages/kotlin/kotlin.contribution.js'; // import 'monaco-editor/esm/vs/basic-languages/less/less.contribution.js'; // import 'monaco-editor/esm/vs/basic-languages/lua/lua.contribution.js'; // import 'monaco-editor/esm/vs/basic-languages/markdown/markdown.contribution.js'; +// import 'monaco-editor/esm/vs/basic-languages/mips/mips.contribution.js'; // import 'monaco-editor/esm/vs/basic-languages/msdax/msdax.contribution.js'; // import 'monaco-editor/esm/vs/basic-languages/mysql/mysql.contribution.js'; // import 'monaco-editor/esm/vs/basic-languages/objective-c/objective-c.contribution.js'; +// import 'monaco-editor/esm/vs/basic-languages/pascal/pascal.contribution.js'; +// import 'monaco-editor/esm/vs/basic-languages/pascaligo/pascaligo.contribution.js'; +// import 'monaco-editor/esm/vs/basic-languages/perl/perl.contribution.js'; // import 'monaco-editor/esm/vs/basic-languages/pgsql/pgsql.contribution.js'; // import 'monaco-editor/esm/vs/basic-languages/php/php.contribution.js'; // import 'monaco-editor/esm/vs/basic-languages/postiats/postiats.contribution.js'; +// import 'monaco-editor/esm/vs/basic-languages/powerquery/powerquery.contribution.js'; // import 'monaco-editor/esm/vs/basic-languages/powershell/powershell.contribution.js'; // import 'monaco-editor/esm/vs/basic-languages/pug/pug.contribution.js'; import 'monaco-editor/esm/vs/basic-languages/python/python.contribution.js'; @@ -77,17 +95,25 @@ import 'monaco-editor/esm/vs/basic-languages/python/python.contribution.js'; // import 'monaco-editor/esm/vs/basic-languages/razor/razor.contribution.js'; // import 'monaco-editor/esm/vs/basic-languages/redis/redis.contribution.js'; // import 'monaco-editor/esm/vs/basic-languages/redshift/redshift.contribution.js'; +// import 'monaco-editor/esm/vs/basic-languages/restructuredtext/restructuredtext.contribution.js'; // import 'monaco-editor/esm/vs/basic-languages/ruby/ruby.contribution.js'; +// import 'monaco-editor/esm/vs/basic-languages/rust/rust.contribution.js'; // import 'monaco-editor/esm/vs/basic-languages/sb/sb.contribution.js'; +// import 'monaco-editor/esm/vs/basic-languages/scheme/scheme.contribution.js'; // import 'monaco-editor/esm/vs/basic-languages/scss/scss.contribution.js'; +// import 'monaco-editor/esm/vs/basic-languages/shell/shell.contribution.js'; // import 'monaco-editor/esm/vs/basic-languages/solidity/solidity.contribution.js'; +// import 'monaco-editor/esm/vs/basic-languages/sophia/sophia.contribution.js'; // import 'monaco-editor/esm/vs/basic-languages/sql/sql.contribution.js'; +// import 'monaco-editor/esm/vs/basic-languages/st/st.contribution.js'; // import 'monaco-editor/esm/vs/basic-languages/swift/swift.contribution.js'; +// import 'monaco-editor/esm/vs/basic-languages/tcl/tcl.contribution.js'; +// import 'monaco-editor/esm/vs/basic-languages/twig/twig.contribution.js'; +// import 'monaco-editor/esm/vs/basic-languages/typescript/typescript.contribution.js'; // import 'monaco-editor/esm/vs/basic-languages/vb/vb.contribution.js'; // import 'monaco-editor/esm/vs/basic-languages/xml/xml.contribution.js'; // import 'monaco-editor/esm/vs/basic-languages/yaml/yaml.contribution.js'; -// import 'monaco-editor/esm/vs/basic-languages/javascript/javascript.contribution'; -// import 'monaco-editor/esm/vs/basic-languages/typescript/typescript.contribution'; +// END_LANGUAGES self.MonacoEnvironment = { getWorkerUrl: function (moduleId, label) { diff --git a/browser-esm-webpack-small/package-lock.json b/browser-esm-webpack-small/package-lock.json index e35eae36..ed8a25e6 100644 --- a/browser-esm-webpack-small/package-lock.json +++ b/browser-esm-webpack-small/package-lock.json @@ -13,15 +13,15 @@ } }, "@types/json-schema": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.5.tgz", - "integrity": "sha512-7+2BITlgjgDhH0vvwZU/HZJVyk+2XUlvxXe8dFMedNX/aMkaOq++rMAFXc0tM7ij15QaWlbdQASBR9dihi+bDQ==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", + "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==", "dev": true }, "@types/node": { - "version": "14.0.27", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.27.tgz", - "integrity": "sha512-kVrqXhbclHNHGu9ztnAwSncIgJv/FaxmzXJvGXNdcCpV1b8u1/Mi6z6m0vwy0LzKeXFTPLH0NzwmoJ3fNCIq0g==", + "version": "14.11.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.11.1.tgz", + "integrity": "sha512-oTQgnd0hblfLsJ6BvJzzSL+Inogp3lq9fGgqRkMB/ziKMgEUaFl801OncOzUmalfzt14N0oPHMK47ipl+wbTIw==", "dev": true }, "@webassemblyjs/ast": { @@ -218,9 +218,9 @@ "dev": true }, "aggregate-error": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz", - "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", "dev": true, "requires": { "clean-stack": "^2.0.0", @@ -228,9 +228,9 @@ } }, "ajv": { - "version": "6.12.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz", - "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==", + "version": "6.12.5", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.5.tgz", + "integrity": "sha512-lRF8RORchjpKG50/WFf8xmg7sgCLFiYNNnqdKflk63whMQcWR5ngGjiSXkL9bjxy6B2npOK2HSMN49jEBMSkag==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -308,14 +308,15 @@ "dev": true }, "asn1.js": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", - "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", "dev": true, "requires": { "bn.js": "^4.0.0", "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" }, "dependencies": { "bn.js": { @@ -469,9 +470,9 @@ "dev": true }, "bn.js": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.2.tgz", - "integrity": "sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz", + "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==", "dev": true }, "brace-expansion": { @@ -713,9 +714,9 @@ } }, "chokidar": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.1.tgz", - "integrity": "sha512-TQTJyr2stihpC4Sya9hs2Xh+O2wf+igjL36Y75xx2WdHuiICcn/XJza46Jwt0eT5hVpQOzo3FpY3cj3RVYLX0g==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.2.tgz", + "integrity": "sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A==", "dev": true, "optional": true, "requires": { @@ -1038,23 +1039,22 @@ } }, "css-loader": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-4.2.0.tgz", - "integrity": "sha512-ko7a9b0iFpWtk9eSI/C8IICvZeGtYnjxYjw45rJprokXj/+kBd/siX4vAIBq9Uij8Jubc4jL1EvSnTjCEwaHSw==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-4.3.0.tgz", + "integrity": "sha512-rdezjCjScIrsL8BSYszgT4s476IcNKt6yX69t0pHjJVnPUTDpn4WfIpDQTN3wCJvUvfsz/mFjuGOekf3PY3NUg==", "dev": true, "requires": { "camelcase": "^6.0.0", "cssesc": "^3.0.0", "icss-utils": "^4.1.1", "loader-utils": "^2.0.0", - "normalize-path": "^3.0.0", "postcss": "^7.0.32", "postcss-modules-extract-imports": "^2.0.0", "postcss-modules-local-by-default": "^3.0.3", "postcss-modules-scope": "^2.2.0", "postcss-modules-values": "^3.0.0", "postcss-value-parser": "^4.1.0", - "schema-utils": "^2.7.0", + "schema-utils": "^2.7.1", "semver": "^7.3.2" } }, @@ -1278,12 +1278,20 @@ } }, "esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, "requires": { - "estraverse": "^4.1.0" + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + } } }, "estraverse": { @@ -1457,13 +1465,13 @@ "dev": true }, "file-loader": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.0.0.tgz", - "integrity": "sha512-/aMOAYEFXDdjG0wytpTL5YQLfZnnTmLNjn+AIrJ/6HVnTfDqLsVKUUwkDf4I4kgex36BvjuXEn/TX9B/1ESyqQ==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.1.0.tgz", + "integrity": "sha512-26qPdHyTsArQ6gU4P1HJbAbnFTyT2r0pG7czh1GFAd9TZbj0n94wWbupgixZH/ET/meqi2/5+F7DhW4OAXD+Lg==", "dev": true, "requires": { "loader-utils": "^2.0.0", - "schema-utils": "^2.6.5" + "schema-utils": "^2.7.1" } }, "file-uri-to-path": { @@ -2072,9 +2080,9 @@ "dev": true }, "jest-worker": { - "version": "26.2.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.2.1.tgz", - "integrity": "sha512-+XcGMMJDTeEGncRb5M5Zq9P7K4sQ1sirhjdOxsN1462h6lFo9w59bl2LVQmdGEEeU3m+maZCkS2Tcc9SfCHO4A==", + "version": "26.3.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.3.0.tgz", + "integrity": "sha512-Vmpn2F6IASefL+DVBhPzI2J9/GJUsqzomdeN+P+dK8/jKxbh8R3BtFnx3FIta7wYlPU62cpJMJQo4kuOowcMnw==", "dev": true, "requires": { "@types/node": "*", @@ -2089,9 +2097,9 @@ "dev": true }, "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { "has-flag": "^4.0.0" @@ -2323,9 +2331,9 @@ } }, "minizlib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.0.tgz", - "integrity": "sha512-EzTZN/fjSvifSX0SlqUERCN39o6T40AMarPbv0MrarSFtIITCBh7bi+dU8nxGFHuqs9jdIAeoYoKuQAAASsPPA==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", "dev": true, "requires": { "minipass": "^3.0.0", @@ -2504,7 +2512,8 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true + "dev": true, + "optional": true }, "object-assign": { "version": "4.1.1", @@ -2638,14 +2647,13 @@ } }, "parse-asn1": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", - "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", "dev": true, "requires": { - "asn1.js": "^4.0.0", + "asn1.js": "^5.2.0", "browserify-aes": "^1.0.0", - "create-hash": "^1.1.0", "evp_bytestokey": "^1.0.0", "pbkdf2": "^3.0.3", "safe-buffer": "^5.1.1" @@ -2736,9 +2744,9 @@ "dev": true }, "postcss": { - "version": "7.0.32", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz", - "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==", + "version": "7.0.34", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.34.tgz", + "integrity": "sha512-H/7V2VeNScX9KE83GDrDZNiGT1m2H+UTnlinIzhjlLX9hfMUn1mHNnGeX81a1c8JSBdBvqk7c2ZOG6ZPn5itGw==", "dev": true, "requires": { "chalk": "^2.4.2", @@ -3087,15 +3095,21 @@ "ret": "~0.1.10" } }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, "schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", "dev": true, "requires": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" } }, "semver": { @@ -3105,9 +3119,9 @@ "dev": true }, "serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", + "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", "dev": true, "requires": { "randombytes": "^2.1.0" @@ -3468,23 +3482,23 @@ "dev": true }, "tar": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.0.2.tgz", - "integrity": "sha512-Glo3jkRtPcvpDlAs/0+hozav78yoXKFr+c4wgw62NNMO3oo4AaJdCo21Uu7lcwr55h39W2XD1LMERc64wtbItg==", + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.0.5.tgz", + "integrity": "sha512-0b4HOimQHj9nXNEAA7zWwMM91Zhhba3pspja6sQbgTpynOJf+bkjBnfybNYzbpLbnwXnbyB4LOREvlyXLkCHSg==", "dev": true, "requires": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", "minipass": "^3.0.0", - "minizlib": "^2.1.0", + "minizlib": "^2.1.1", "mkdirp": "^1.0.3", "yallist": "^4.0.0" } }, "terser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.0.0.tgz", - "integrity": "sha512-olH2DwGINoSuEpSGd+BsPuAQaA3OrHnHnFL/rDB2TVNc3srUbz/rq/j2BlF4zDXI+JqAvGr86bIm1R2cJgZ3FA==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.3.2.tgz", + "integrity": "sha512-H67sydwBz5jCUA32ZRL319ULu+Su1cAoZnnc+lXnenGRYWyLE3Scgkt8mNoAsMx0h5kdo758zdoS0LG9rYZXDQ==", "dev": true, "requires": { "commander": "^2.20.0", @@ -3493,19 +3507,19 @@ } }, "terser-webpack-plugin": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-4.0.0.tgz", - "integrity": "sha512-Gb/bmPMavJsDTYiIocakp9OJhrIBnYrWa5VM0Bb2RngWmszeQUN1xFNh2E8Re+9Cj3/sPrA50Jj/q0nzgLAUuw==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-4.2.1.tgz", + "integrity": "sha512-D0IZQNl1ZN/JivFNDFzOeU2Bk2LdQQESHJhKTHsodpUmISkaeRwVFk7gzHzX4OuQwanDGelOxIEsBt1SZ+s6nA==", "dev": true, "requires": { "cacache": "^15.0.5", "find-cache-dir": "^3.3.1", - "jest-worker": "^26.2.1", + "jest-worker": "^26.3.0", "p-limit": "^3.0.2", - "schema-utils": "^2.6.6", - "serialize-javascript": "^4.0.0", + "schema-utils": "^2.7.1", + "serialize-javascript": "^5.0.1", "source-map": "^0.6.1", - "terser": "^5.0.0", + "terser": "^5.3.1", "webpack-sources": "^1.4.3" } }, @@ -3678,9 +3692,9 @@ "optional": true }, "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", + "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", "dev": true, "requires": { "punycode": "^2.1.0" @@ -3883,9 +3897,9 @@ } }, "webpack": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.44.1.tgz", - "integrity": "sha512-4UOGAohv/VGUNQJstzEywwNxqX417FnjZgZJpJQegddzPmTvph37eBIRbRTfdySXzVtJXLJfbMN3mMYhM6GdmQ==", + "version": "4.44.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.44.2.tgz", + "integrity": "sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -4080,9 +4094,9 @@ "dev": true }, "serialize-javascript": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz", - "integrity": "sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", "dev": true, "requires": { "randombytes": "^2.1.0" @@ -4109,16 +4123,16 @@ } }, "terser-webpack-plugin": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.4.tgz", - "integrity": "sha512-U4mACBHIegmfoEe5fdongHESNJWqsGU+W0S/9+BmYGVQDw1+c2Ow05TpMhxjPK1sRb7cuYq1BPl1e5YHJMTCqA==", + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", "dev": true, "requires": { "cacache": "^12.0.2", "find-cache-dir": "^2.1.0", "is-wsl": "^1.1.0", "schema-utils": "^1.0.0", - "serialize-javascript": "^3.1.0", + "serialize-javascript": "^4.0.0", "source-map": "^0.6.1", "terser": "^4.1.2", "webpack-sources": "^1.4.0", diff --git a/browser-esm-webpack-small/package.json b/browser-esm-webpack-small/package.json index d0a4b8f5..7fb6cf54 100644 --- a/browser-esm-webpack-small/package.json +++ b/browser-esm-webpack-small/package.json @@ -2,15 +2,17 @@ "name": "helloworld", "dependencies": {}, "scripts": { - "build": "webpack --progress" + "build": "webpack --progress", + "generate-imports": "node generate-imports.js" }, "devDependencies": { - "css-loader": "^4.2.0", - "file-loader": "^6.0.0", + "css-loader": "^4.3.0", + "file-loader": "^6.1.0", + "glob": "^7.1.6", "monaco-editor": "^0.20.0", "style-loader": "^1.2.1", - "terser-webpack-plugin": "^4.0.0", - "webpack": "^4.44.1", + "terser-webpack-plugin": "^4.2.1", + "webpack": "^4.44.2", "webpack-cli": "^3.3.12" } }