mirror of
https://github.com/Azure/cosmos-explorer.git
synced 2025-12-23 19:01:28 +00:00
Compare commits
2 Commits
iframe-htm
...
esbuild
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a7b5c89ff8 | ||
|
|
39f77adc11 |
47
package-lock.json
generated
47
package-lock.json
generated
@@ -9231,6 +9231,53 @@
|
|||||||
"through": "~2.3.6"
|
"through": "~2.3.6"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"esbuild-loader": {
|
||||||
|
"version": "2.7.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/esbuild-loader/-/esbuild-loader-2.7.0.tgz",
|
||||||
|
"integrity": "sha512-1v7PVHZ+GvHPlTYVKjNDblUZbzx58Iwt0LJrBI1INzi4/UHz9D3IJ/skNOimaypHDTohj6HtS3ExWJX2xCRzWg==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"esbuild": "^0.8.17",
|
||||||
|
"loader-utils": "^2.0.0",
|
||||||
|
"type-fest": "^0.20.2",
|
||||||
|
"webpack-sources": "^2.2.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"esbuild": {
|
||||||
|
"version": "0.8.26",
|
||||||
|
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.8.26.tgz",
|
||||||
|
"integrity": "sha512-u3MMHOOumdWoAKF+073GHPpzvVB2cM+y9VD4ZwYs1FAQ6atRPISya35dbrbOu/mM68mQ42P+nwPzQVBTfQhkvQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"loader-utils": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
|
||||||
|
"integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"big.js": "^5.2.2",
|
||||||
|
"emojis-list": "^3.0.0",
|
||||||
|
"json5": "^2.1.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"type-fest": {
|
||||||
|
"version": "0.20.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
|
||||||
|
"integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"webpack-sources": {
|
||||||
|
"version": "2.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.2.0.tgz",
|
||||||
|
"integrity": "sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"source-list-map": "^2.0.1",
|
||||||
|
"source-map": "^0.6.1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"escalade": {
|
"escalade": {
|
||||||
"version": "3.1.1",
|
"version": "3.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
|
||||||
|
|||||||
@@ -6,8 +6,8 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@azure/arm-cosmosdb": "9.1.0",
|
"@azure/arm-cosmosdb": "9.1.0",
|
||||||
"@azure/cosmos": "3.9.0",
|
"@azure/cosmos": "3.9.0",
|
||||||
"@azure/identity": "1.1.0",
|
|
||||||
"@azure/cosmos-language-service": "0.0.5",
|
"@azure/cosmos-language-service": "0.0.5",
|
||||||
|
"@azure/identity": "1.1.0",
|
||||||
"@jupyterlab/services": "6.0.0-rc.2",
|
"@jupyterlab/services": "6.0.0-rc.2",
|
||||||
"@jupyterlab/terminal": "3.0.0-rc.2",
|
"@jupyterlab/terminal": "3.0.0-rc.2",
|
||||||
"@microsoft/applicationinsights-web": "2.5.9",
|
"@microsoft/applicationinsights-web": "2.5.9",
|
||||||
@@ -139,6 +139,7 @@
|
|||||||
"enzyme": "3.11.0",
|
"enzyme": "3.11.0",
|
||||||
"enzyme-adapter-react-16": "1.15.5",
|
"enzyme-adapter-react-16": "1.15.5",
|
||||||
"enzyme-to-json": "3.6.1",
|
"enzyme-to-json": "3.6.1",
|
||||||
|
"esbuild-loader": "2.7.0",
|
||||||
"eslint": "7.8.1",
|
"eslint": "7.8.1",
|
||||||
"eslint-cli": "1.1.1",
|
"eslint-cli": "1.1.1",
|
||||||
"eslint-plugin-no-null": "1.0.2",
|
"eslint-plugin-no-null": "1.0.2",
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
"allowSyntheticDefaultImports": true,
|
"allowSyntheticDefaultImports": true,
|
||||||
"downlevelIteration": true,
|
"downlevelIteration": true,
|
||||||
"module": "esnext",
|
"module": "esnext",
|
||||||
"target": "es5",
|
"target": "es2017",
|
||||||
"lib": ["es5", "es6", "dom", "webworker.importscripts"],
|
"lib": ["es5", "es6", "dom", "webworker.importscripts"],
|
||||||
"jsx": "react",
|
"jsx": "react",
|
||||||
"moduleResolution": "node",
|
"moduleResolution": "node",
|
||||||
|
|||||||
@@ -9,8 +9,8 @@ const CaseSensitivePathsPlugin = require("case-sensitive-paths-webpack-plugin");
|
|||||||
const CreateFileWebpack = require("create-file-webpack");
|
const CreateFileWebpack = require("create-file-webpack");
|
||||||
const childProcess = require("child_process");
|
const childProcess = require("child_process");
|
||||||
const BundleAnalyzerPlugin = require("webpack-bundle-analyzer").BundleAnalyzerPlugin;
|
const BundleAnalyzerPlugin = require("webpack-bundle-analyzer").BundleAnalyzerPlugin;
|
||||||
const TerserPlugin = require("terser-webpack-plugin");
|
|
||||||
const isCI = require("is-ci");
|
const isCI = require("is-ci");
|
||||||
|
const { ESBuildPlugin, ESBuildMinifyPlugin } = require("esbuild-loader");
|
||||||
|
|
||||||
const gitSha = childProcess.execSync("git rev-parse HEAD").toString("utf8");
|
const gitSha = childProcess.execSync("git rev-parse HEAD").toString("utf8");
|
||||||
|
|
||||||
@@ -56,37 +56,20 @@ const htmlRule = {
|
|||||||
]
|
]
|
||||||
};
|
};
|
||||||
|
|
||||||
// We compile our own code with ts-loader
|
|
||||||
const typescriptRule = {
|
const typescriptRule = {
|
||||||
test: /\.tsx?$/,
|
test: /\.tsx?$/,
|
||||||
use: [
|
use: [
|
||||||
{
|
{
|
||||||
loader: "ts-loader",
|
loader: "esbuild-loader",
|
||||||
options: {
|
options: {
|
||||||
transpileOnly: true
|
loader: "tsx",
|
||||||
|
target: "es2017"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
exclude: /node_modules/
|
exclude: /node_modules/
|
||||||
};
|
};
|
||||||
|
|
||||||
// Third party modules are compiled with babel since using ts-loader that much causes webpack to run out of memory
|
|
||||||
const ModulesRule = {
|
|
||||||
test: /\.js$/,
|
|
||||||
use: [
|
|
||||||
{
|
|
||||||
loader: "babel-loader",
|
|
||||||
options: {
|
|
||||||
cacheDirectory: ".cache/babel",
|
|
||||||
presets: [["@babel/preset-env", { targets: { ie: "11" }, useBuiltIns: false }]]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
include: /node_modules/,
|
|
||||||
// Exclude large modules we know don't need transpiling
|
|
||||||
exclude: /vega|monaco|plotly/
|
|
||||||
};
|
|
||||||
|
|
||||||
module.exports = function(env = {}, argv = {}) {
|
module.exports = function(env = {}, argv = {}) {
|
||||||
const mode = argv.mode || "development";
|
const mode = argv.mode || "development";
|
||||||
const rules = [fontRule, lessRule, imagesRule, cssRule, htmlRule, typescriptRule];
|
const rules = [fontRule, lessRule, imagesRule, cssRule, htmlRule, typescriptRule];
|
||||||
@@ -96,7 +79,6 @@ module.exports = function(env = {}, argv = {}) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
if (mode === "production") {
|
if (mode === "production") {
|
||||||
rules.push(ModulesRule);
|
|
||||||
envVars.NODE_ENV = "production";
|
envVars.NODE_ENV = "production";
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -105,6 +87,7 @@ module.exports = function(env = {}, argv = {}) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const plugins = [
|
const plugins = [
|
||||||
|
new ESBuildPlugin(),
|
||||||
new CleanWebpackPlugin(["dist"]),
|
new CleanWebpackPlugin(["dist"]),
|
||||||
new CreateFileWebpack({
|
new CreateFileWebpack({
|
||||||
path: "./dist",
|
path: "./dist",
|
||||||
@@ -211,13 +194,8 @@ module.exports = function(env = {}, argv = {}) {
|
|||||||
optimization: {
|
optimization: {
|
||||||
minimize: mode === "production" ? true : false,
|
minimize: mode === "production" ? true : false,
|
||||||
minimizer: [
|
minimizer: [
|
||||||
new TerserPlugin({
|
new ESBuildMinifyPlugin({
|
||||||
cache: ".cache/terser",
|
target: "es2017" // Syntax to compile to (see options below for possible values)
|
||||||
terserOptions: {
|
|
||||||
// These options increase our initial bundle size by ~5% but the builds are significantly faster and won't run out of memory
|
|
||||||
compress: false,
|
|
||||||
mangle: true
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user