From 6ca8cbcdd43748261e60372f4582ae28cda5302c Mon Sep 17 00:00:00 2001 From: Joel Denning Date: Tue, 17 Aug 2021 09:41:57 -0600 Subject: [PATCH] Output typescript declarations during build. Resolves #289. (#316) --- .changeset/chilled-buckets-study.md | 56 +++ .../typescript/typescript.package.json | 6 +- .../src/react/generator-single-spa-react.js | 21 +- .../src/react/templates/react.package.json | 3 +- .../src/react/templates/tsconfig.json | 6 +- .../src/root-config/generator-root-config.js | 17 +- .../templates/root-config.package.json | 3 +- .../src/root-config/templates/tsconfig.json | 6 +- .../src/svelte/generator-single-spa-svelte.js | 1 + .../src/svelte/templates/svelte.package.json | 4 +- .../generator-single-spa-util-module.js | 12 +- .../src/util-module/templates/tsconfig.json | 6 +- .../templates/util-module.package.json | 3 +- packages/ts-config-single-spa/tsconfig.json | 3 +- pnpm-lock.yaml | 326 +++++++++++------- 15 files changed, 322 insertions(+), 151 deletions(-) create mode 100644 .changeset/chilled-buckets-study.md diff --git a/.changeset/chilled-buckets-study.md b/.changeset/chilled-buckets-study.md new file mode 100644 index 00000000..4faf3b2a --- /dev/null +++ b/.changeset/chilled-buckets-study.md @@ -0,0 +1,56 @@ +--- +"generator-single-spa": major +"ts-config-single-spa": major +--- + +For typescript projects, automatically emit types during `build`. + +# Migrating + +The create-single-spa api for generating new typescript projects did not change. However, to upgrade existing projects, do the following: + +1. Update your package.json. Make sure to replace `<%= packageManager %>` with either `npm`, `yarn`, or `pnpm` + +```diff +{ + "scripts": { +- "build": "webpack --mode=production", ++ "build": "concurrently <%= packageManager %>:build:*", ++ "build:webpack": "webpack --mode=production", ++ "build:types": "tsc" + } +} +``` + +2. Update your tsconfig.json. Make sure to replace `<%= mainFile %>` with the proper value. This is in the format `org-project.ts`. React projects should have the `.tsx` file extension + +```diff +{ + "compilerOptions": { ++ "declarationDir": "dist" + }, ++ "files": ["src/<%= mainFile %>"] +- "include": ["src/**/*", "node_modules/@types"], ++ "include": ["src/**/*"] +} +``` + +3. Add the `"types"` property to your package.json: + +```diff +{ ++ "types": "dist/<%= mainFile %>.d.ts" +} +``` + +4. Upgrade `ts-config-single-spa` to the latest 3.x release, which has new configuration for emitting types. + +```sh +npm install --save-dev ts-config-single-spa@^3.0.0 + +pnpm install --save-dev ts-config-single-spa@^3.0.0 + +yarn add --dev ts-config-single-spa@^3.0.0 +``` + +5. Now run `npm run build` or `npm run build:types` and verify that a typescript declaration file is outputted to your `dist` directory. Verify that the output file name is the same as the `"types"` property in your package.json. diff --git a/packages/generator-single-spa/src/common-templates/typescript/typescript.package.json b/packages/generator-single-spa/src/common-templates/typescript/typescript.package.json index b9f424af..a4a6e921 100644 --- a/packages/generator-single-spa/src/common-templates/typescript/typescript.package.json +++ b/packages/generator-single-spa/src/common-templates/typescript/typescript.package.json @@ -1,4 +1,7 @@ { + "scripts": { + "build:types": "tsc" + }, "devDependencies": { "@babel/preset-typescript": "^7.14.5", "eslint-config-ts-important-stuff": "^1.1.0", @@ -9,6 +12,7 @@ "dependencies": { "@types/jest": "^26.0.23", "@types/systemjs": "^6.1.0", - "@types/webpack-env": "^1.16.0" + "@types/webpack-env": "^1.16.0", + "single-spa": "^5.9.3" } } diff --git a/packages/generator-single-spa/src/react/generator-single-spa-react.js b/packages/generator-single-spa/src/react/generator-single-spa-react.js index ec951643..d9cc34e3 100644 --- a/packages/generator-single-spa/src/react/generator-single-spa-react.js +++ b/packages/generator-single-spa/src/react/generator-single-spa-react.js @@ -58,6 +58,9 @@ module.exports = class SingleSpaReactGenerator extends PnpmGenerator { Object.assign(this.options, answers, { framework: "react" }); } async createPackageJson() { + this.srcFileExtension = this.options.typescript ? "tsx" : "js"; + this.mainFile = `src/${this.options.orgName}-${this.options.projectName}.${this.srcFileExtension}`; + const packageJsonTemplate = await fs.readFile( this.templatePath("react.package.json"), { encoding: "utf-8" } @@ -66,6 +69,7 @@ module.exports = class SingleSpaReactGenerator extends PnpmGenerator { name: `@${this.options.orgName}/${this.options.projectName}`, packageManager: this.options.packageManager, typescript: this.options.typescript, + mainFile: this.mainFile, }); const packageJson = JSON.parse(packageJsonStr); @@ -79,6 +83,8 @@ module.exports = class SingleSpaReactGenerator extends PnpmGenerator { delete packageJson.devDependencies["webpack-config-single-spa"]; // Will be replaced by webpack-config-single-spa-react-ts delete packageJson.devDependencies["webpack-config-single-spa-ts"]; + + packageJson.types = `dist/${this.options.orgName}-${this.options.projectName}.d.ts`; } this.fs.extendJSON(this.destinationPath("package.json"), packageJson); @@ -119,8 +125,6 @@ module.exports = class SingleSpaReactGenerator extends PnpmGenerator { } } async copyOtherFiles() { - const srcFileExtension = this.options.typescript ? "tsx" : "js"; - this.fs.copyTpl( this.templatePath("jest.config.js"), this.destinationPath("jest.config.js"), @@ -168,26 +172,27 @@ module.exports = class SingleSpaReactGenerator extends PnpmGenerator { ); this.fs.copyTpl( this.templatePath("src/root.component.js"), - this.destinationPath(`src/root.component.${srcFileExtension}`), + this.destinationPath(`src/root.component.${this.srcFileExtension}`), this.options ); this.fs.copyTpl( this.templatePath("src/root.component.test.js"), - this.destinationPath(`src/root.component.test.${srcFileExtension}`), + this.destinationPath(`src/root.component.test.${this.srcFileExtension}`), this.options ); this.fs.copyTpl( this.templatePath("src/main.js"), - this.destinationPath( - `src/${this.options.orgName}-${this.options.projectName}.${srcFileExtension}` - ), + this.destinationPath(this.mainFile), this.options ); if (this.options.typescript) { this.fs.copyTpl( this.templatePath("tsconfig.json"), this.destinationPath("tsconfig.json"), - this.options + { + ...this.options, + mainFile: this.mainFile, + } ); } diff --git a/packages/generator-single-spa/src/react/templates/react.package.json b/packages/generator-single-spa/src/react/templates/react.package.json index f3e5dcc7..1e8976a1 100644 --- a/packages/generator-single-spa/src/react/templates/react.package.json +++ b/packages/generator-single-spa/src/react/templates/react.package.json @@ -3,7 +3,8 @@ "scripts": { "start": "webpack serve", "start:standalone": "webpack serve --env standalone", - "build": "webpack --mode=production", + "build": "concurrently <%- packageManager %>:build:*", + "build:webpack": "webpack --mode=production", "analyze": "webpack --mode=production --env analyze", "lint": "eslint src --ext js<% if (typescript) { %>,ts,tsx<% } %>", "format": "prettier --write .", diff --git a/packages/generator-single-spa/src/react/templates/tsconfig.json b/packages/generator-single-spa/src/react/templates/tsconfig.json index 98194207..9c92ea97 100644 --- a/packages/generator-single-spa/src/react/templates/tsconfig.json +++ b/packages/generator-single-spa/src/react/templates/tsconfig.json @@ -1,8 +1,10 @@ { "extends": "ts-config-single-spa", "compilerOptions": { - "jsx": "react-jsx" + "jsx": "react-jsx", + "declarationDir": "dist" }, - "include": ["src/**/*", "node_modules/@types"], + "files": ["<%- mainFile %>"], + "include": ["src/**/*"], "exclude": ["src/**/*.test*"] } diff --git a/packages/generator-single-spa/src/root-config/generator-root-config.js b/packages/generator-single-spa/src/root-config/generator-root-config.js index 1deecd4d..2e3cae27 100644 --- a/packages/generator-single-spa/src/root-config/generator-root-config.js +++ b/packages/generator-single-spa/src/root-config/generator-root-config.js @@ -64,10 +64,15 @@ module.exports = class SingleSpaRootConfigGenerator extends PnpmGenerator { this.templatePath("root-config.package.json"), { encoding: "utf-8" } ); + + const srcFileExtension = this.options.typescript ? "ts" : "js"; + const mainFile = `src/${this.options.orgName}-root-config.${srcFileExtension}`; + const packageJsonStr = ejs.render(packageJsonTemplate, { name: `@${this.options.orgName}/root-config`, packageManager: this.options.packageManager, typescript: this.options.typescript, + mainFile, }); const packageJson = JSON.parse(packageJsonStr); @@ -79,6 +84,7 @@ module.exports = class SingleSpaRootConfigGenerator extends PnpmGenerator { delete packageJson.devDependencies["eslint-config-important-stuff"]; // Will be replaced by webpack-config-single-spa-ts delete packageJson.devDependencies["webpack-config-single-spa"]; + packageJson.types = `dist/${this.options.orgName}-root-config.d.ts`; } this.fs.extendJSON(this.destinationPath("package.json"), packageJson); @@ -94,8 +100,6 @@ module.exports = class SingleSpaRootConfigGenerator extends PnpmGenerator { ); } - const srcFileExtension = this.options.typescript ? "ts" : "js"; - this.fs.copyTpl( this.templatePath("../../common-templates/babel.config.json.ejs"), this.destinationPath("babel.config.json"), @@ -136,16 +140,17 @@ module.exports = class SingleSpaRootConfigGenerator extends PnpmGenerator { this.fs.copyTpl( this.templatePath("tsconfig.json"), this.destinationPath("tsconfig.json"), - this.options + { + ...this.options, + mainFile, + } ); } const parentPath = `src${this.options.layout ? "/layout" : ""}`; this.fs.copyTpl( this.templatePath(`${parentPath}/root-config.ejs`), - this.destinationPath( - `src/${this.options.orgName}-root-config.${srcFileExtension}` - ), + this.destinationPath(mainFile), this.options ); diff --git a/packages/generator-single-spa/src/root-config/templates/root-config.package.json b/packages/generator-single-spa/src/root-config/templates/root-config.package.json index d21b756b..a2af78f3 100644 --- a/packages/generator-single-spa/src/root-config/templates/root-config.package.json +++ b/packages/generator-single-spa/src/root-config/templates/root-config.package.json @@ -7,7 +7,8 @@ "format": "prettier --write .", "check-format": "prettier --check .", "prepare": "husky install", - "build": "webpack --mode=production" + "build": "concurrently <%- packageManager %>:build:*", + "build:webpack": "webpack --mode=production" }, "devDependencies": { "@babel/core": "^7.14.6", diff --git a/packages/generator-single-spa/src/root-config/templates/tsconfig.json b/packages/generator-single-spa/src/root-config/templates/tsconfig.json index 7113d92c..da86fb8a 100644 --- a/packages/generator-single-spa/src/root-config/templates/tsconfig.json +++ b/packages/generator-single-spa/src/root-config/templates/tsconfig.json @@ -1,5 +1,9 @@ { "extends": "ts-config-single-spa", - "include": ["src/**/*", "node_modules/@types"], + "files": ["<%- mainFile %>"], + "compilerOptions": { + "declarationDir": "dist" + }, + "include": ["src/**/*"], "exclude": ["src/**/*.test*"] } diff --git a/packages/generator-single-spa/src/svelte/generator-single-spa-svelte.js b/packages/generator-single-spa/src/svelte/generator-single-spa-svelte.js index 2a779ae6..93d0f62a 100644 --- a/packages/generator-single-spa/src/svelte/generator-single-spa-svelte.js +++ b/packages/generator-single-spa/src/svelte/generator-single-spa-svelte.js @@ -64,6 +64,7 @@ module.exports = class SingleSpaSvelteGenerator extends PnpmGenerator { ); const packageJsonStr = ejs.render(packageJsonTemplate, { name: `@${this.options.orgName}/${this.options.projectName}`, + packageManager: this.options.packageManager, }); const packageJson = JSON.parse(packageJsonStr); diff --git a/packages/generator-single-spa/src/svelte/templates/svelte.package.json b/packages/generator-single-spa/src/svelte/templates/svelte.package.json index ad4b9409..d5783ec7 100644 --- a/packages/generator-single-spa/src/svelte/templates/svelte.package.json +++ b/packages/generator-single-spa/src/svelte/templates/svelte.package.json @@ -1,7 +1,8 @@ { "name": "<%= name %>", "scripts": { - "build": "rollup -c", + "build": "concurrently <%- packageManager %>:build:*", + "build:rollup": "rollup -c", "start": "rollup -c -w", "serve": "sirv dist -c", "test": "jest", @@ -17,6 +18,7 @@ "@testing-library/jest-dom": "^5.14.1", "@testing-library/svelte": "^3.0.3", "babel-jest": "^27.0.5", + "concurrently": "^6.2.1", "jest": "^27.0.5", "prettier": "^2.3.2", "prettier-plugin-svelte": "^2.3.1", diff --git a/packages/generator-single-spa/src/util-module/generator-single-spa-util-module.js b/packages/generator-single-spa/src/util-module/generator-single-spa-util-module.js index 63d7d813..09a1a4fe 100644 --- a/packages/generator-single-spa/src/util-module/generator-single-spa-util-module.js +++ b/packages/generator-single-spa/src/util-module/generator-single-spa-util-module.js @@ -80,6 +80,8 @@ module.exports = class SingleSpaUtilModuleGenerator extends PnpmGenerator { delete packageJson.devDependencies["eslint-config-important-stuff"]; // Will be replaced by webpack-config-single-spa-ts delete packageJson.devDependencies["webpack-config-single-spa"]; + + packageJson.types = `dist/${this.options.orgName}-${this.options.projectName}.d.ts`; } this.fs.extendJSON(this.destinationPath("package.json"), packageJson); @@ -142,11 +144,10 @@ module.exports = class SingleSpaUtilModuleGenerator extends PnpmGenerator { this.destinationPath("webpack.config.js"), this.options ); + const mainFile = `src/${this.options.orgName}-${this.options.projectName}.${srcFileExtension}`; this.fs.copyTpl( this.templatePath("src/main.js"), - this.destinationPath( - `src/${this.options.orgName}-${this.options.projectName}.${srcFileExtension}` - ), + this.destinationPath(mainFile), this.options ); @@ -154,7 +155,10 @@ module.exports = class SingleSpaUtilModuleGenerator extends PnpmGenerator { this.fs.copyTpl( this.templatePath("tsconfig.json"), this.destinationPath("tsconfig.json"), - this.options + { + ...this.options, + mainFile, + } ); } diff --git a/packages/generator-single-spa/src/util-module/templates/tsconfig.json b/packages/generator-single-spa/src/util-module/templates/tsconfig.json index 7113d92c..f34b1177 100644 --- a/packages/generator-single-spa/src/util-module/templates/tsconfig.json +++ b/packages/generator-single-spa/src/util-module/templates/tsconfig.json @@ -1,5 +1,9 @@ { "extends": "ts-config-single-spa", - "include": ["src/**/*", "node_modules/@types"], + "files": ["<%= mainFile %>"], + "compilerOptions": { + "declarationDir": "dist" + }, + "include": ["src/**/*"], "exclude": ["src/**/*.test*"] } diff --git a/packages/generator-single-spa/src/util-module/templates/util-module.package.json b/packages/generator-single-spa/src/util-module/templates/util-module.package.json index 5ca9c3e2..36c2dd4e 100644 --- a/packages/generator-single-spa/src/util-module/templates/util-module.package.json +++ b/packages/generator-single-spa/src/util-module/templates/util-module.package.json @@ -3,7 +3,8 @@ "scripts": { "start": "webpack serve", "start:standalone": "webpack serve --env standalone", - "build": "webpack --mode=production", + "build": "concurrently pnpm:build:*", + "build:webpack": "webpack --mode=production", "analyze": "webpack --mode=production --env analyze", "lint": "eslint src --ext js<% if (typescript) { %>,ts,tsx<% } %>", "format": "prettier --write .", diff --git a/packages/ts-config-single-spa/tsconfig.json b/packages/ts-config-single-spa/tsconfig.json index 6d3f2fc7..7f358b24 100644 --- a/packages/ts-config-single-spa/tsconfig.json +++ b/packages/ts-config-single-spa/tsconfig.json @@ -14,6 +14,7 @@ "es2016.array.include", "es2018" ], - "noEmit": true + "declaration": true, + "emitDeclarationOnly": true } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d8ff809c..f1f9e14f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -227,7 +227,7 @@ importers: single-spa-react: 4.2.0_react@17.0.2 devDependencies: '@babel/core': 7.14.6 - '@babel/eslint-parser': 7.14.7_@babel+core@7.14.6+eslint@7.29.0 + '@babel/eslint-parser': 7.15.0_@babel+core@7.14.6+eslint@7.29.0 '@babel/plugin-transform-runtime': 7.14.5_@babel+core@7.14.6 '@babel/preset-env': 7.14.7_@babel+core@7.14.6 '@babel/preset-react': 7.14.5_@babel+core@7.14.6 @@ -285,6 +285,7 @@ importers: pretty-quick: ^3.1.1 react: ^17.0.2 react-dom: ^17.0.2 + single-spa: ^5.9.3 single-spa-react: ^4.2.0 ts-config-single-spa: ^2.0.1 typescript: ^4.3.4 @@ -297,20 +298,21 @@ importers: webpack-merge: ^5.8.0 dependencies: '@types/jest': 26.0.23 - '@types/react': 17.0.15 + '@types/react': 17.0.18 '@types/react-dom': 17.0.9 '@types/systemjs': 6.1.1 '@types/webpack-env': 1.16.2 react: 17.0.2 react-dom: 17.0.2_react@17.0.2 - single-spa-react: 4.2.0_b76badbec74303fd4db1767d5d43ac70 + single-spa: 5.9.3 + single-spa-react: 4.2.0_85ade3237606dd19ee386469ebc70635 devDependencies: '@babel/core': 7.14.6 - '@babel/eslint-parser': 7.14.7_@babel+core@7.14.6+eslint@7.29.0 + '@babel/eslint-parser': 7.15.0_@babel+core@7.14.6+eslint@7.29.0 '@babel/plugin-transform-runtime': 7.14.5_@babel+core@7.14.6 '@babel/preset-env': 7.14.7_@babel+core@7.14.6 '@babel/preset-react': 7.14.5_@babel+core@7.14.6 - '@babel/preset-typescript': 7.14.5_@babel+core@7.14.6 + '@babel/preset-typescript': 7.15.0_@babel+core@7.14.6 '@babel/runtime': 7.14.6 '@testing-library/jest-dom': 5.14.1 '@testing-library/react': 12.0.0_react-dom@17.0.2+react@17.0.2 @@ -372,7 +374,7 @@ importers: single-spa: 5.9.3 devDependencies: '@babel/core': 7.14.6 - '@babel/eslint-parser': 7.14.7_@babel+core@7.14.6+eslint@7.29.0 + '@babel/eslint-parser': 7.15.0_@babel+core@7.14.6+eslint@7.29.0 '@babel/plugin-transform-runtime': 7.14.5_@babel+core@7.14.6 '@babel/preset-env': 7.14.7_@babel+core@7.14.6 '@babel/runtime': 7.14.6 @@ -431,7 +433,7 @@ importers: single-spa-layout: 1.6.0 devDependencies: '@babel/core': 7.14.6 - '@babel/eslint-parser': 7.14.7_@babel+core@7.14.6+eslint@7.29.0 + '@babel/eslint-parser': 7.15.0_@babel+core@7.14.6+eslint@7.29.0 '@babel/plugin-transform-runtime': 7.14.5_@babel+core@7.14.6 '@babel/preset-env': 7.14.7_@babel+core@7.14.6 '@babel/runtime': 7.14.6 @@ -493,10 +495,10 @@ importers: single-spa: 5.9.3 devDependencies: '@babel/core': 7.14.6 - '@babel/eslint-parser': 7.14.7_@babel+core@7.14.6+eslint@7.29.0 + '@babel/eslint-parser': 7.15.0_@babel+core@7.14.6+eslint@7.29.0 '@babel/plugin-transform-runtime': 7.14.5_@babel+core@7.14.6 '@babel/preset-env': 7.14.7_@babel+core@7.14.6 - '@babel/preset-typescript': 7.14.5_@babel+core@7.14.6 + '@babel/preset-typescript': 7.15.0_@babel+core@7.14.6 '@babel/runtime': 7.14.6 concurrently: 6.2.0 cross-env: 7.0.3 @@ -560,10 +562,10 @@ importers: single-spa-layout: 1.6.0 devDependencies: '@babel/core': 7.14.6 - '@babel/eslint-parser': 7.14.7_@babel+core@7.14.6+eslint@7.29.0 + '@babel/eslint-parser': 7.15.0_@babel+core@7.14.6+eslint@7.29.0 '@babel/plugin-transform-runtime': 7.14.5_@babel+core@7.14.6 '@babel/preset-env': 7.14.7_@babel+core@7.14.6 - '@babel/preset-typescript': 7.14.5_@babel+core@7.14.6 + '@babel/preset-typescript': 7.15.0_@babel+core@7.14.6 '@babel/runtime': 7.14.6 concurrently: 6.2.0 cross-env: 7.0.3 @@ -595,6 +597,7 @@ importers: '@testing-library/jest-dom': ^5.14.1 '@testing-library/svelte': ^3.0.3 babel-jest: ^27.0.5 + concurrently: ^6.2.1 jest: ^27.0.5 prettier: ^2.3.2 prettier-plugin-svelte: ^2.3.1 @@ -608,24 +611,25 @@ importers: svelte-jester: ^1.7.0 dependencies: single-spa-svelte: 2.1.1 - sirv-cli: 1.0.12 + sirv-cli: 1.0.14 devDependencies: '@babel/core': 7.14.6 '@babel/preset-env': 7.14.7_@babel+core@7.14.6 - '@rollup/plugin-commonjs': 19.0.1_rollup@2.54.0 - '@rollup/plugin-node-resolve': 13.0.4_rollup@2.54.0 + '@rollup/plugin-commonjs': 19.0.2_rollup@2.56.2 + '@rollup/plugin-node-resolve': 13.0.4_rollup@2.56.2 '@testing-library/jest-dom': 5.14.1 - '@testing-library/svelte': 3.0.3_svelte@3.40.2 + '@testing-library/svelte': 3.0.3_svelte@3.42.1 babel-jest: 27.0.5_@babel+core@7.14.6 + concurrently: 6.2.1 jest: 27.0.5 prettier: 2.3.2 - prettier-plugin-svelte: 2.3.1_prettier@2.3.2+svelte@3.40.2 - rollup: 2.54.0 + prettier-plugin-svelte: 2.3.1_prettier@2.3.2+svelte@3.42.1 + rollup: 2.56.2 rollup-plugin-livereload: 2.0.5 - rollup-plugin-svelte: 7.1.0_rollup@2.54.0+svelte@3.40.2 - rollup-plugin-terser: 7.0.2_rollup@2.54.0 - svelte: 3.40.2 - svelte-jester: 1.7.0_jest@27.0.5+svelte@3.40.2 + rollup-plugin-svelte: 7.1.0_rollup@2.56.2+svelte@3.42.1 + rollup-plugin-terser: 7.0.2_rollup@2.56.2 + svelte: 3.42.1 + svelte-jester: 1.8.2_jest@27.0.5+svelte@3.42.1 tests/fixtures/util-module-js-webpack: specifiers: @@ -659,7 +663,7 @@ importers: '@types/systemjs': 6.1.1 devDependencies: '@babel/core': 7.14.6 - '@babel/eslint-parser': 7.14.7_@babel+core@7.14.6+eslint@7.29.0 + '@babel/eslint-parser': 7.15.0_@babel+core@7.14.6+eslint@7.29.0 '@babel/plugin-transform-runtime': 7.14.5_@babel+core@7.14.6 '@babel/preset-env': 7.14.7_@babel+core@7.14.6 '@babel/runtime': 7.14.6 @@ -706,6 +710,7 @@ importers: jest-cli: ^27.0.5 prettier: ^2.3.2 pretty-quick: ^3.1.1 + single-spa: ^5.9.3 ts-config-single-spa: ^2.0.1 typescript: ^4.3.4 webpack: ^5.40.0 @@ -717,12 +722,13 @@ importers: '@types/jest': 26.0.23 '@types/systemjs': 6.1.1 '@types/webpack-env': 1.16.2 + single-spa: 5.9.3 devDependencies: '@babel/core': 7.14.6 - '@babel/eslint-parser': 7.14.7_@babel+core@7.14.6+eslint@7.29.0 + '@babel/eslint-parser': 7.15.0_@babel+core@7.14.6+eslint@7.29.0 '@babel/plugin-transform-runtime': 7.14.5_@babel+core@7.14.6 '@babel/preset-env': 7.14.7_@babel+core@7.14.6 - '@babel/preset-typescript': 7.14.5_@babel+core@7.14.6 + '@babel/preset-typescript': 7.15.0_@babel+core@7.14.6 '@babel/runtime': 7.14.6 babel-jest: 27.0.5_@babel+core@7.14.6 concurrently: 6.2.0 @@ -769,14 +775,14 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.14.5 - '@babel/generator': 7.14.5 + '@babel/generator': 7.15.0 '@babel/helper-compilation-targets': 7.14.5_@babel+core@7.14.6 '@babel/helper-module-transforms': 7.14.5 '@babel/helpers': 7.14.6 - '@babel/parser': 7.14.7 + '@babel/parser': 7.15.3 '@babel/template': 7.14.5 - '@babel/traverse': 7.14.7 - '@babel/types': 7.14.5 + '@babel/traverse': 7.15.0 + '@babel/types': 7.15.0 convert-source-map: 1.7.0 debug: 4.3.2 gensync: 1.0.0-beta.2 @@ -787,8 +793,8 @@ packages: - supports-color dev: true - /@babel/eslint-parser/7.14.7_@babel+core@7.14.6+eslint@7.29.0: - resolution: {integrity: sha512-6WPwZqO5priAGIwV6msJcdc9TsEPzYeYdS/Xuoap+/ihkgN6dzHp2bcAAwyWZ5bLzk0vvjDmKvRwkqNaiJ8BiQ==} + /@babel/eslint-parser/7.15.0_@babel+core@7.14.6+eslint@7.29.0: + resolution: {integrity: sha512-+gSPtjSBxOZz4Uh8Ggqu7HbfpB8cT1LwW0DnVVLZEJvzXauiD0Di3zszcBkRmfGGrLdYeHUwcflG7i3tr9kQlw==} engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} peerDependencies: '@babel/core': '>=7.11.0' @@ -810,11 +816,20 @@ packages: source-map: 0.5.7 dev: true + /@babel/generator/7.15.0: + resolution: {integrity: sha512-eKl4XdMrbpYvuB505KTta4AV9g+wWzmVBW69tX0H2NwKVKd2YJbKgyK6M8j/rgLbmHOYJn6rUklV677nOyJrEQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.15.0 + jsesc: 2.5.2 + source-map: 0.5.7 + dev: true + /@babel/helper-annotate-as-pure/7.14.5: resolution: {integrity: sha512-EivH9EgBIb+G8ij1B2jAwSH36WnGvkQSEC6CkX/6v6ZFlw5fVOHvsgGF4uiEHO2GzMvunZb6tDLQEQSdrdocrA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.14.5 + '@babel/types': 7.15.0 dev: true /@babel/helper-builder-binary-assignment-operator-visitor/7.14.5: @@ -822,7 +837,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/helper-explode-assignable-expression': 7.14.5 - '@babel/types': 7.14.5 + '@babel/types': 7.15.0 dev: true /@babel/helper-compilation-targets/7.14.5_@babel+core@7.14.6: @@ -838,8 +853,8 @@ packages: semver: 6.3.0 dev: true - /@babel/helper-create-class-features-plugin/7.14.6_@babel+core@7.14.6: - resolution: {integrity: sha512-Z6gsfGofTxH/+LQXqYEK45kxmcensbzmk/oi8DmaQytlQCgqNZt9XQF8iqlI/SeXWVjaMNxvYvzaYw+kh42mDg==} + /@babel/helper-create-class-features-plugin/7.15.0_@babel+core@7.14.6: + resolution: {integrity: sha512-MdmDXgvTIi4heDVX/e9EFfeGpugqm9fobBVg/iioE8kueXrOHdRDe36FAY7SnE9xXLVeYCoJR/gdrBEIHRC83Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -847,9 +862,9 @@ packages: '@babel/core': 7.14.6 '@babel/helper-annotate-as-pure': 7.14.5 '@babel/helper-function-name': 7.14.5 - '@babel/helper-member-expression-to-functions': 7.14.7 + '@babel/helper-member-expression-to-functions': 7.15.0 '@babel/helper-optimise-call-expression': 7.14.5 - '@babel/helper-replace-supers': 7.14.5 + '@babel/helper-replace-supers': 7.15.0 '@babel/helper-split-export-declaration': 7.14.5 transitivePeerDependencies: - supports-color @@ -875,7 +890,7 @@ packages: '@babel/helper-compilation-targets': 7.14.5_@babel+core@7.14.6 '@babel/helper-module-imports': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 - '@babel/traverse': 7.14.7 + '@babel/traverse': 7.15.0 debug: 4.3.2 lodash.debounce: 4.0.8 resolve: 1.20.0 @@ -888,7 +903,7 @@ packages: resolution: {integrity: sha512-Htb24gnGJdIGT4vnRKMdoXiOIlqOLmdiUYpAQ0mYfgVT/GDm8GOYhgi4GL+hMKrkiPRohO4ts34ELFsGAPQLDQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.14.5 + '@babel/types': 7.15.0 dev: true /@babel/helper-function-name/7.14.5: @@ -897,35 +912,35 @@ packages: dependencies: '@babel/helper-get-function-arity': 7.14.5 '@babel/template': 7.14.5 - '@babel/types': 7.14.5 + '@babel/types': 7.15.0 dev: true /@babel/helper-get-function-arity/7.14.5: resolution: {integrity: sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.14.5 + '@babel/types': 7.15.0 dev: true /@babel/helper-hoist-variables/7.14.5: resolution: {integrity: sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.14.5 + '@babel/types': 7.15.0 dev: true - /@babel/helper-member-expression-to-functions/7.14.7: - resolution: {integrity: sha512-TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA==} + /@babel/helper-member-expression-to-functions/7.15.0: + resolution: {integrity: sha512-Jq8H8U2kYiafuj2xMTPQwkTBnEEdGKpT35lJEQsRRjnG0LW3neucsaMWLgKcwu3OHKNeYugfw+Z20BXBSEs2Lg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.14.5 + '@babel/types': 7.15.0 dev: true /@babel/helper-module-imports/7.14.5: resolution: {integrity: sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.14.5 + '@babel/types': 7.15.0 dev: true /@babel/helper-module-transforms/7.14.5: @@ -933,13 +948,13 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/helper-module-imports': 7.14.5 - '@babel/helper-replace-supers': 7.14.5 + '@babel/helper-replace-supers': 7.15.0 '@babel/helper-simple-access': 7.14.5 '@babel/helper-split-export-declaration': 7.14.5 - '@babel/helper-validator-identifier': 7.14.5 + '@babel/helper-validator-identifier': 7.14.9 '@babel/template': 7.14.5 - '@babel/traverse': 7.14.7 - '@babel/types': 7.14.5 + '@babel/traverse': 7.15.0 + '@babel/types': 7.15.0 transitivePeerDependencies: - supports-color dev: true @@ -948,7 +963,7 @@ packages: resolution: {integrity: sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.14.5 + '@babel/types': 7.15.0 dev: true /@babel/helper-plugin-utils/7.14.5: @@ -962,19 +977,19 @@ packages: dependencies: '@babel/helper-annotate-as-pure': 7.14.5 '@babel/helper-wrap-function': 7.14.5 - '@babel/types': 7.14.5 + '@babel/types': 7.15.0 transitivePeerDependencies: - supports-color dev: true - /@babel/helper-replace-supers/7.14.5: - resolution: {integrity: sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow==} + /@babel/helper-replace-supers/7.15.0: + resolution: {integrity: sha512-6O+eWrhx+HEra/uJnifCwhwMd6Bp5+ZfZeJwbqUTuqkhIT6YcRhiZCOOFChRypOIe0cV46kFrRBlm+t5vHCEaA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-member-expression-to-functions': 7.14.7 + '@babel/helper-member-expression-to-functions': 7.15.0 '@babel/helper-optimise-call-expression': 7.14.5 - '@babel/traverse': 7.14.7 - '@babel/types': 7.14.5 + '@babel/traverse': 7.15.0 + '@babel/types': 7.15.0 transitivePeerDependencies: - supports-color dev: true @@ -983,26 +998,31 @@ packages: resolution: {integrity: sha512-nfBN9xvmCt6nrMZjfhkl7i0oTV3yxR4/FztsbOASyTvVcoYd0TRHh7eMLdlEcCqobydC0LAF3LtC92Iwxo0wyw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.14.5 + '@babel/types': 7.15.0 dev: true /@babel/helper-skip-transparent-expression-wrappers/7.14.5: resolution: {integrity: sha512-dmqZB7mrb94PZSAOYtr+ZN5qt5owZIAgqtoTuqiFbHFtxgEcmQlRJVI+bO++fciBunXtB6MK7HrzrfcAzIz2NQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.14.5 + '@babel/types': 7.15.0 dev: true /@babel/helper-split-export-declaration/7.14.5: resolution: {integrity: sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.14.5 + '@babel/types': 7.15.0 dev: true /@babel/helper-validator-identifier/7.14.5: resolution: {integrity: sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg==} engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-identifier/7.14.9: + resolution: {integrity: sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==} + engines: {node: '>=6.9.0'} /@babel/helper-validator-option/7.14.5: resolution: {integrity: sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==} @@ -1015,8 +1035,8 @@ packages: dependencies: '@babel/helper-function-name': 7.14.5 '@babel/template': 7.14.5 - '@babel/traverse': 7.14.7 - '@babel/types': 7.14.5 + '@babel/traverse': 7.15.0 + '@babel/types': 7.15.0 transitivePeerDependencies: - supports-color dev: true @@ -1026,8 +1046,8 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.14.5 - '@babel/traverse': 7.14.7 - '@babel/types': 7.14.5 + '@babel/traverse': 7.15.0 + '@babel/types': 7.15.0 transitivePeerDependencies: - supports-color dev: true @@ -1036,7 +1056,7 @@ packages: resolution: {integrity: sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-validator-identifier': 7.14.5 + '@babel/helper-validator-identifier': 7.14.9 chalk: 2.4.2 js-tokens: 4.0.0 @@ -1046,6 +1066,12 @@ packages: hasBin: true dev: true + /@babel/parser/7.15.3: + resolution: {integrity: sha512-O0L6v/HvqbdJawj0iBEfVQMc3/6WP+AeOsovsIgBFyJaG+W2w7eqvZB7puddATmWuARlm1SX7DwxJ/JJUnDpEA==} + engines: {node: '>=6.0.0'} + hasBin: true + dev: true + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.14.5_@babel+core@7.14.6: resolution: {integrity: sha512-ZoJS2XCKPBfTmL122iP6NM9dOg+d4lc9fFk3zxc8iDjvt8Pk4+TlsHSKhIPf6X+L5ORCdBzqMZDjL/WHj7WknQ==} engines: {node: '>=6.9.0'} @@ -1079,7 +1105,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.14.6 - '@babel/helper-create-class-features-plugin': 7.14.6_@babel+core@7.14.6 + '@babel/helper-create-class-features-plugin': 7.15.0_@babel+core@7.14.6 '@babel/helper-plugin-utils': 7.14.5 transitivePeerDependencies: - supports-color @@ -1092,7 +1118,7 @@ packages: '@babel/core': ^7.12.0 dependencies: '@babel/core': 7.14.6 - '@babel/helper-create-class-features-plugin': 7.14.6_@babel+core@7.14.6 + '@babel/helper-create-class-features-plugin': 7.15.0_@babel+core@7.14.6 '@babel/helper-plugin-utils': 7.14.5 '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.14.6 transitivePeerDependencies: @@ -1209,7 +1235,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.14.6 - '@babel/helper-create-class-features-plugin': 7.14.6_@babel+core@7.14.6 + '@babel/helper-create-class-features-plugin': 7.15.0_@babel+core@7.14.6 '@babel/helper-plugin-utils': 7.14.5 transitivePeerDependencies: - supports-color @@ -1223,7 +1249,7 @@ packages: dependencies: '@babel/core': 7.14.6 '@babel/helper-annotate-as-pure': 7.14.5 - '@babel/helper-create-class-features-plugin': 7.14.6_@babel+core@7.14.6 + '@babel/helper-create-class-features-plugin': 7.15.0_@babel+core@7.14.6 '@babel/helper-plugin-utils': 7.14.5 '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.14.6 transitivePeerDependencies: @@ -1463,7 +1489,7 @@ packages: '@babel/helper-function-name': 7.14.5 '@babel/helper-optimise-call-expression': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 - '@babel/helper-replace-supers': 7.14.5 + '@babel/helper-replace-supers': 7.15.0 '@babel/helper-split-export-declaration': 7.14.5 globals: 11.12.0 transitivePeerDependencies: @@ -1602,7 +1628,7 @@ packages: '@babel/helper-hoist-variables': 7.14.5 '@babel/helper-module-transforms': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 - '@babel/helper-validator-identifier': 7.14.5 + '@babel/helper-validator-identifier': 7.14.9 babel-plugin-dynamic-import-node: 2.3.3 transitivePeerDependencies: - supports-color @@ -1649,7 +1675,7 @@ packages: dependencies: '@babel/core': 7.14.6 '@babel/helper-plugin-utils': 7.14.5 - '@babel/helper-replace-supers': 7.14.5 + '@babel/helper-replace-supers': 7.15.0 transitivePeerDependencies: - supports-color dev: true @@ -1705,7 +1731,7 @@ packages: '@babel/helper-module-imports': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 '@babel/plugin-syntax-jsx': 7.14.5_@babel+core@7.14.6 - '@babel/types': 7.14.5 + '@babel/types': 7.15.0 dev: true /@babel/plugin-transform-react-pure-annotations/7.14.5_@babel+core@7.14.6: @@ -1807,14 +1833,14 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-typescript/7.14.6_@babel+core@7.14.6: - resolution: {integrity: sha512-XlTdBq7Awr4FYIzqhmYY80WN0V0azF74DMPyFqVHBvf81ZUgc4X7ZOpx6O8eLDK6iM5cCQzeyJw0ynTaefixRA==} + /@babel/plugin-transform-typescript/7.15.0_@babel+core@7.14.6: + resolution: {integrity: sha512-WIIEazmngMEEHDaPTx0IZY48SaAmjVWe3TRSX7cmJXn0bEv9midFzAjxiruOWYIVf5iQ10vFx7ASDpgEO08L5w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.14.6 - '@babel/helper-create-class-features-plugin': 7.14.6_@babel+core@7.14.6 + '@babel/helper-create-class-features-plugin': 7.15.0_@babel+core@7.14.6 '@babel/helper-plugin-utils': 7.14.5 '@babel/plugin-syntax-typescript': 7.14.5_@babel+core@7.14.6 transitivePeerDependencies: @@ -1916,7 +1942,7 @@ packages: '@babel/plugin-transform-unicode-escapes': 7.14.5_@babel+core@7.14.6 '@babel/plugin-transform-unicode-regex': 7.14.5_@babel+core@7.14.6 '@babel/preset-modules': 0.1.4_@babel+core@7.14.6 - '@babel/types': 7.14.5 + '@babel/types': 7.15.0 babel-plugin-polyfill-corejs2: 0.2.2_@babel+core@7.14.6 babel-plugin-polyfill-corejs3: 0.2.3_@babel+core@7.14.6 babel-plugin-polyfill-regenerator: 0.2.2_@babel+core@7.14.6 @@ -1935,7 +1961,7 @@ packages: '@babel/helper-plugin-utils': 7.14.5 '@babel/plugin-proposal-unicode-property-regex': 7.14.5_@babel+core@7.14.6 '@babel/plugin-transform-dotall-regex': 7.14.5_@babel+core@7.14.6 - '@babel/types': 7.14.5 + '@babel/types': 7.15.0 esutils: 2.0.3 dev: true @@ -1954,8 +1980,8 @@ packages: '@babel/plugin-transform-react-pure-annotations': 7.14.5_@babel+core@7.14.6 dev: true - /@babel/preset-typescript/7.14.5_@babel+core@7.14.6: - resolution: {integrity: sha512-u4zO6CdbRKbS9TypMqrlGH7sd2TAJppZwn3c/ZRLeO/wGsbddxgbPDUZVNrie3JWYLQ9vpineKlsrWFvO6Pwkw==} + /@babel/preset-typescript/7.15.0_@babel+core@7.14.6: + resolution: {integrity: sha512-lt0Y/8V3y06Wq/8H/u0WakrqciZ7Fz7mwPDHWUJAXlABL5hiUG42BNlRXiELNjeWjO5rWmnNKlx+yzJvxezHow==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1963,7 +1989,7 @@ packages: '@babel/core': 7.14.6 '@babel/helper-plugin-utils': 7.14.5 '@babel/helper-validator-option': 7.14.5 - '@babel/plugin-transform-typescript': 7.14.6_@babel+core@7.14.6 + '@babel/plugin-transform-typescript': 7.15.0_@babel+core@7.14.6 transitivePeerDependencies: - supports-color dev: true @@ -1987,8 +2013,8 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.14.5 - '@babel/parser': 7.14.7 - '@babel/types': 7.14.5 + '@babel/parser': 7.15.3 + '@babel/types': 7.15.0 dev: true /@babel/traverse/7.14.7: @@ -2008,6 +2034,23 @@ packages: - supports-color dev: true + /@babel/traverse/7.15.0: + resolution: {integrity: sha512-392d8BN0C9eVxVWd8H6x9WfipgVH5IaIoLp23334Sc1vbKKWINnvwRpb4us0xtPaCumlwbTtIYNA0Dv/32sVFw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.14.5 + '@babel/generator': 7.15.0 + '@babel/helper-function-name': 7.14.5 + '@babel/helper-hoist-variables': 7.14.5 + '@babel/helper-split-export-declaration': 7.14.5 + '@babel/parser': 7.15.3 + '@babel/types': 7.15.0 + debug: 4.3.2 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/types/7.14.5: resolution: {integrity: sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==} engines: {node: '>=6.9.0'} @@ -2016,6 +2059,14 @@ packages: to-fast-properties: 2.0.0 dev: true + /@babel/types/7.15.0: + resolution: {integrity: sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.14.9 + to-fast-properties: 2.0.0 + dev: true + /@bcoe/v8-coverage/0.2.3: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} dev: true @@ -2439,7 +2490,7 @@ packages: dependencies: '@types/istanbul-lib-coverage': 2.0.3 '@types/istanbul-reports': 3.0.0 - '@types/node': 14.14.31 + '@types/node': 16.4.0 '@types/yargs': 16.0.3 chalk: 4.1.1 dev: true @@ -2723,38 +2774,42 @@ packages: resolution: {integrity: sha512-15spi3V28QdevleWBNXE4pIls3nFZmBbUGrW9IVPwiQczuSb9n76TCB4bsk8TSel+I1OkHEdPhu5QKMfY6rQHA==} dev: false - /@rollup/plugin-commonjs/19.0.1_rollup@2.54.0: - resolution: {integrity: sha512-bRrPTIAsWw2LmEspEMvV9f+7N7CEQgZCj2Zi1F0e0P3+/tbjQaSNNVVRSRWVhuDagp8yjK5kbIut8KTPsseRhg==} + /@polka/url/1.0.0-next.17: + resolution: {integrity: sha512-0p1rCgM3LLbAdwBnc7gqgnvjHg9KpbhcSphergHShlkWz8EdPawoMJ3/VbezI0mGC5eKCDzMaPgF9Yca6cKvrg==} + dev: false + + /@rollup/plugin-commonjs/19.0.2_rollup@2.56.2: + resolution: {integrity: sha512-gBjarfqlC7qs0AutpRW/hrFNm+cd2/QKxhwyFa+srbg1oX7rDsEU3l+W7LAUhsAp9mPJMAkXDhLbQaVwEaE8bA==} engines: {node: '>= 8.0.0'} peerDependencies: rollup: ^2.38.3 dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.54.0 + '@rollup/pluginutils': 3.1.0_rollup@2.56.2 commondir: 1.0.1 estree-walker: 2.0.2 glob: 7.1.7 is-reference: 1.2.1 magic-string: 0.25.7 resolve: 1.20.0 - rollup: 2.54.0 + rollup: 2.56.2 dev: true - /@rollup/plugin-node-resolve/13.0.4_rollup@2.54.0: + /@rollup/plugin-node-resolve/13.0.4_rollup@2.56.2: resolution: {integrity: sha512-eYq4TFy40O8hjeDs+sIxEH/jc9lyuI2k9DM557WN6rO5OpnC2qXMBNj4IKH1oHrnAazL49C5p0tgP0/VpqJ+/w==} engines: {node: '>= 10.0.0'} peerDependencies: rollup: ^2.42.0 dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.54.0 + '@rollup/pluginutils': 3.1.0_rollup@2.56.2 '@types/resolve': 1.17.1 builtin-modules: 3.2.0 deepmerge: 4.2.2 is-module: 1.0.0 resolve: 1.20.0 - rollup: 2.54.0 + rollup: 2.56.2 dev: true - /@rollup/pluginutils/3.1.0_rollup@2.54.0: + /@rollup/pluginutils/3.1.0_rollup@2.56.2: resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} engines: {node: '>= 8.0.0'} peerDependencies: @@ -2763,7 +2818,7 @@ packages: '@types/estree': 0.0.39 estree-walker: 1.0.1 picomatch: 2.3.0 - rollup: 2.54.0 + rollup: 2.56.2 dev: true /@sinonjs/commons/1.8.2: @@ -2852,14 +2907,14 @@ packages: react-dom: 17.0.2_react@17.0.2 dev: true - /@testing-library/svelte/3.0.3_svelte@3.40.2: + /@testing-library/svelte/3.0.3_svelte@3.42.1: resolution: {integrity: sha512-GxafAllShGM2nkntFGURZ7fYVlUYwv7K62lqv1aFqtTYzzeZ2Cu8zTVhtE/Qt3bk2zMl6+FPKP03wjLip/G8mA==} engines: {node: '>= 8'} peerDependencies: svelte: 3.x dependencies: '@testing-library/dom': 7.31.2 - svelte: 3.40.2 + svelte: 3.42.1 dev: true /@tootallnate/once/1.1.2: @@ -2873,8 +2928,8 @@ packages: /@types/babel__core/7.1.14: resolution: {integrity: sha512-zGZJzzBUVDo/eV6KgbE0f0ZI7dInEYvo12Rb70uNQDshC3SkRMb67ja0GgRHZgAX3Za6rhaWlvbDO8rrGyAb1g==} dependencies: - '@babel/parser': 7.14.7 - '@babel/types': 7.14.5 + '@babel/parser': 7.15.3 + '@babel/types': 7.15.0 '@types/babel__generator': 7.6.2 '@types/babel__template': 7.4.0 '@types/babel__traverse': 7.11.0 @@ -2883,20 +2938,20 @@ packages: /@types/babel__generator/7.6.2: resolution: {integrity: sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ==} dependencies: - '@babel/types': 7.14.5 + '@babel/types': 7.15.0 dev: true /@types/babel__template/7.4.0: resolution: {integrity: sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A==} dependencies: - '@babel/parser': 7.14.7 - '@babel/types': 7.14.5 + '@babel/parser': 7.15.3 + '@babel/types': 7.15.0 dev: true /@types/babel__traverse/7.11.0: resolution: {integrity: sha512-kSjgDMZONiIfSH1Nxcr5JIRMwUetDki63FSQfpTCz8ogF3Ulqm8+mr5f78dUYs6vMiB6gBusQqfQmBvHZj/lwg==} dependencies: - '@babel/types': 7.14.5 + '@babel/types': 7.15.0 dev: true /@types/eslint-scope/3.7.0: @@ -3002,11 +3057,11 @@ packages: /@types/react-dom/17.0.9: resolution: {integrity: sha512-wIvGxLfgpVDSAMH5utdL9Ngm5Owu0VsGmldro3ORLXV8CShrL8awVj06NuEXFQ5xyaYfdca7Sgbk/50Ri1GdPg==} dependencies: - '@types/react': 17.0.15 + '@types/react': 17.0.18 dev: false - /@types/react/17.0.15: - resolution: {integrity: sha512-uTKHDK9STXFHLaKv6IMnwp52fm0hwU+N89w/p9grdUqcFA6WuqDyPhaWopbNyE1k/VhgzmHl8pu1L4wITtmlLw==} + /@types/react/17.0.18: + resolution: {integrity: sha512-YTLgu7oS5zvSqq49X5Iue5oAbVGhgPc5Au29SJC4VeE17V6gASoOxVkUDy9pXFMRFxCWCD9fLeweNFizo3UzOg==} dependencies: '@types/prop-types': 15.7.4 '@types/scheduler': 0.16.2 @@ -3603,7 +3658,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@babel/template': 7.14.5 - '@babel/types': 7.14.5 + '@babel/types': 7.15.0 '@types/babel__core': 7.1.14 '@types/babel__traverse': 7.11.0 dev: true @@ -4238,6 +4293,22 @@ packages: yargs: 16.2.0 dev: true + /concurrently/6.2.1: + resolution: {integrity: sha512-emgwhH+ezkuYKSHZQ+AkgEpoUZZlbpPVYCVv7YZx0r+T7fny1H03r2nYRebpi2DudHR4n1Rgbo2YTxKOxVJ4+g==} + engines: {node: '>=10.0.0'} + hasBin: true + dependencies: + chalk: 4.1.1 + date-fns: 2.17.0 + lodash: 4.17.21 + read-pkg: 5.2.0 + rxjs: 6.6.7 + spawn-command: 0.0.2-1 + supports-color: 8.1.1 + tree-kill: 1.2.2 + yargs: 16.2.0 + dev: true + /connect-history-api-fallback/1.6.0: resolution: {integrity: sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==} engines: {node: '>=0.8'} @@ -8310,14 +8381,14 @@ packages: fast-diff: 1.2.0 dev: true - /prettier-plugin-svelte/2.3.1_prettier@2.3.2+svelte@3.40.2: + /prettier-plugin-svelte/2.3.1_prettier@2.3.2+svelte@3.42.1: resolution: {integrity: sha512-F1/r6OYoBq8Zgurhs1MN25tdrhPw0JW5JjioPRqpxbYdmrZ3gY/DzHGs0B6zwd4DLyRsfGB2gqhxUCbHt/D1fw==} peerDependencies: prettier: ^1.16.4 || ^2.0.0 svelte: ^3.2.0 dependencies: prettier: 2.3.2 - svelte: 3.40.2 + svelte: 3.42.1 dev: true /prettier/1.19.1: @@ -8835,7 +8906,7 @@ packages: - utf-8-validate dev: true - /rollup-plugin-svelte/7.1.0_rollup@2.54.0+svelte@3.40.2: + /rollup-plugin-svelte/7.1.0_rollup@2.56.2+svelte@3.42.1: resolution: {integrity: sha512-vopCUq3G+25sKjwF5VilIbiY6KCuMNHP1PFvx2Vr3REBNMDllKHFZN2B9jwwC+MqNc3UPKkjXnceLPEjTjXGXg==} engines: {node: '>=10'} peerDependencies: @@ -8843,19 +8914,19 @@ packages: svelte: '>=3.5.0' dependencies: require-relative: 0.8.7 - rollup: 2.54.0 + rollup: 2.56.2 rollup-pluginutils: 2.8.2 - svelte: 3.40.2 + svelte: 3.42.1 dev: true - /rollup-plugin-terser/7.0.2_rollup@2.54.0: + /rollup-plugin-terser/7.0.2_rollup@2.56.2: resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==} peerDependencies: rollup: ^2.0.0 dependencies: '@babel/code-frame': 7.14.5 jest-worker: 26.6.2 - rollup: 2.54.0 + rollup: 2.56.2 serialize-javascript: 4.0.0 terser: 5.7.0 dev: true @@ -8866,8 +8937,8 @@ packages: estree-walker: 0.6.1 dev: true - /rollup/2.54.0: - resolution: {integrity: sha512-RHzvstAVwm9A751NxWIbGPFXs3zL4qe/eYg+N7WwGtIXVLy1cK64MiU37+hXeFm1jqipK6DGgMi6Z2hhPuCC3A==} + /rollup/2.56.2: + resolution: {integrity: sha512-s8H00ZsRi29M2/lGdm1u8DJpJ9ML8SUOpVVBd33XNeEeL3NVaTiUcSBHzBdF3eAyR0l7VSpsuoVUGrRHq7aPwQ==} engines: {node: '>=10.0.0'} hasBin: true optionalDependencies: @@ -9149,14 +9220,14 @@ packages: single-spa: 5.9.3 dev: false - /single-spa-react/4.2.0_b76badbec74303fd4db1767d5d43ac70: + /single-spa-react/4.2.0_85ade3237606dd19ee386469ebc70635: resolution: {integrity: sha512-4TO0vusg15mMIpYoKVYX6xbCuWpCkaLIxpYR/kpb9LTd5p49hQcUqpY7U+xyjdUoqo7pYkyUL9hnazfbRAwSAQ==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' react: '*' dependencies: - '@types/react': 17.0.15 + '@types/react': 17.0.18 '@types/react-dom': 17.0.9 react: 17.0.2 dev: false @@ -9189,8 +9260,8 @@ packages: supports-color: 7.2.0 dev: true - /sirv-cli/1.0.12: - resolution: {integrity: sha512-Rs5PvF3a48zuLmrl8vcqVv9xF/WWPES19QawVkpdzqx7vD5SMZS07+ece1gK4umbslXN43YeIksYtQM5csgIzQ==} + /sirv-cli/1.0.14: + resolution: {integrity: sha512-yyUTNr984ANKDloqepkYbBSqvx3buwYg2sQKPWjSU+IBia5loaoka2If8N9CMwt8AfP179cdEl7kYJ//iWJHjQ==} engines: {node: '>= 10'} hasBin: true dependencies: @@ -9200,7 +9271,7 @@ packages: local-access: 1.1.0 sade: 1.7.4 semiver: 1.1.0 - sirv: 1.0.12 + sirv: 1.0.14 tinydate: 1.3.0 dev: false @@ -9213,6 +9284,15 @@ packages: totalist: 1.1.0 dev: false + /sirv/1.0.14: + resolution: {integrity: sha512-czTFDFjK9lXj0u9mJ3OmJoXFztoilYS+NdRPcJoT182w44wSEkHSiO7A2517GLJ8wKM4GjCm2OXE66Dhngbzjg==} + engines: {node: '>= 10'} + dependencies: + '@polka/url': 1.0.0-next.17 + mime: 2.5.0 + totalist: 1.1.0 + dev: false + /sisteransi/1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} dev: true @@ -9594,19 +9674,19 @@ packages: supports-color: 7.2.0 dev: true - /svelte-jester/1.7.0_jest@27.0.5+svelte@3.40.2: - resolution: {integrity: sha512-eWJSmxGXR/jetU+gpuAvrSEZT7PpNxrhV2GoUm/WQUtXFjGJcy6sZTq3kKaUz7q8VddHU1/yt9cxDRxo8IUsLA==} + /svelte-jester/1.8.2_jest@27.0.5+svelte@3.42.1: + resolution: {integrity: sha512-m2ZhsnBY8T8b1KFE9u8CzUzAt1YoBgKkPWIuzeIfKd9ImYfa/aoiOb3/JcnUQQI4m/j/cPjWMGUBsTXhkXB7HQ==} engines: {node: '>= 14'} peerDependencies: jest: <= 26 svelte: '>= 3' dependencies: jest: 27.0.5 - svelte: 3.40.2 + svelte: 3.42.1 dev: true - /svelte/3.40.2: - resolution: {integrity: sha512-FrxVBISeRK0fEeg17D5TftKpaFTLPS7S1C+hf21w5gzzi11MlkJZdqJ9XYmPkAeLGeVpQSQDyWET65NVJjTJ4A==} + /svelte/3.42.1: + resolution: {integrity: sha512-XtExLd2JAU3T7M2g/DkO3UNj/3n1WdTXrfL63OZ5nZq7nAqd9wQw+lR4Pv/wkVbrWbAIPfLDX47UjFdmnY+YtQ==} engines: {node: '>= 8'} dev: true