chore: change types workflow

This commit is contained in:
Thomas Allmer
2020-10-26 13:05:20 +01:00
parent eadbd122c7
commit 17e9e7dcd2
33 changed files with 559 additions and 135 deletions

View File

@@ -0,0 +1,11 @@
---
'@import-maps/resolve': patch
'@mdjs/core': patch
'polyfills-loader': patch
'@open-wc/scoped-elements': patch
'@open-wc/semantic-dom-diff': patch
'@open-wc/testing': patch
'@open-wc/testing-helpers': patch
---
Change type distribution workflow

View File

@@ -40,7 +40,7 @@ jobs:
run: yarn --frozen-lockfile run: yarn --frozen-lockfile
- name: Build types - name: Build types
run: yarn build:types run: yarn types
- name: Create Release Pull Request or Publish to npm - name: Create Release Pull Request or Publish to npm
id: changesets id: changesets

4
.gitignore vendored
View File

@@ -8,6 +8,10 @@
## code coverage folders ## code coverage folders
coverage/ coverage/
## generated types
packages/*/types
tsconfig.tsbuildinfo
## npm ## npm
node_modules node_modules
!packages/es-dev-server/test/**/node_modules !packages/es-dev-server/test/**/node_modules

View File

@@ -3,7 +3,6 @@
"private": true, "private": true,
"license": "MIT", "license": "MIT",
"scripts": { "scripts": {
"build:types": "tsc -p tsconfig.build.types.json",
"codelabs:build": "node ./packages/codelabs/build-codelabs.js", "codelabs:build": "node ./packages/codelabs/build-codelabs.js",
"docs:build": "rimraf _site && node cli-build.js", "docs:build": "rimraf _site && node cli-build.js",
"docs:serve-build": "node packages/es-dev-server/dist/cli.js -o docs/", "docs:serve-build": "node packages/es-dev-server/dist/cli.js -o docs/",
@@ -14,10 +13,12 @@
"lint": "run-p lint:*", "lint": "run-p lint:*",
"lint:eslint": "eslint --ext .js,.html .", "lint:eslint": "eslint --ext .js,.html .",
"lint:prettier": "prettier \"**/*.{js,md}\" \"**/package.json\" --check", "lint:prettier": "prettier \"**/*.{js,md}\" \"**/package.json\" --check",
"lint:types": "tsc", "lint:types": "npm run types",
"lint:versions": "node ./scripts/lint-versions.js", "lint:versions": "node ./scripts/lint-versions.js",
"postinstall": "patch-package", "postinstall": "patch-package && npm run setup",
"release": "changeset publish && yarn format", "release": "changeset publish && yarn format",
"setup": "npm run setup:ts-configs",
"setup:ts-configs": "node scripts/generate-ts-configs.mjs",
"site:build": "npm run docs:build && node scripts/workspaces-scripts-bin.mjs site:build", "site:build": "npm run docs:build && node scripts/workspaces-scripts-bin.mjs site:build",
"site:start": "npm run docs:start", "site:start": "npm run docs:start",
"start": "npm run docs:start", "start": "npm run docs:start",
@@ -25,6 +26,10 @@
"test:node": "mocha \"packages/*/test-node/**/*.test.{ts,js,mjs,cjs}\" --exit --retries 3", "test:node": "mocha \"packages/*/test-node/**/*.test.{ts,js,mjs,cjs}\" --exit --retries 3",
"test:node:watch": "mocha \"packages/*/test-node/**/*.test.{ts,js,mjs,cjs}\" --watch", "test:node:watch": "mocha \"packages/*/test-node/**/*.test.{ts,js,mjs,cjs}\" --watch",
"test:web": "web-test-runner", "test:web": "web-test-runner",
"types": "run-s types:clear types:copy types:build",
"types:build": "tsc --build",
"types:clear": "rimraf packages/*/types/",
"types:copy": "node scripts/workspaces-scripts-bin.mjs types:copy",
"update-dependency": "node scripts/update-dependency.js" "update-dependency": "node scripts/update-dependency.js"
}, },
"dependencies": { "dependencies": {
@@ -41,11 +46,13 @@
"@types/eslint": "^7.2.4", "@types/eslint": "^7.2.4",
"@types/estree": "^0.0.45", "@types/estree": "^0.0.45",
"@types/parse5-htmlparser2-tree-adapter": "^5.0.1", "@types/parse5-htmlparser2-tree-adapter": "^5.0.1",
"@web/dev-server": "^0.0.15",
"@web/test-runner": "^0.9.5", "@web/test-runner": "^0.9.5",
"@web/test-runner-playwright": "^0.6.4", "@web/test-runner-playwright": "^0.6.4",
"babel-eslint": "^10.0.3", "babel-eslint": "^10.0.3",
"chai": "^4.2.0", "chai": "^4.2.0",
"concurrently": "^5.2.0", "concurrently": "^5.2.0",
"copyfiles": "^2.4.0",
"core-js": "2.6.10", "core-js": "2.6.10",
"eslint": "^7.6.0", "eslint": "^7.6.0",
"eslint-config-airbnb-base": "^14.0.0", "eslint-config-airbnb-base": "^14.0.0",
@@ -68,8 +75,7 @@
"rollup": "^2.7.2", "rollup": "^2.7.2",
"rollup-plugin-copy": "^3.3.0", "rollup-plugin-copy": "^3.3.0",
"sinon": "^7.4.1", "sinon": "^7.4.1",
"typescript": "~4.0.3", "typescript": "~4.0.3"
"webpack-merge": "^4.1.5"
}, },
"resolutions": { "resolutions": {
"@types/estree": "0.0.45" "@types/estree": "0.0.45"

View File

@@ -5,39 +5,38 @@ const path = require('path');
const fs = require('fs'); const fs = require('fs');
const rimraf = require('rimraf'); const rimraf = require('rimraf');
const { rollup } = require('rollup'); const { rollup } = require('rollup');
const { startServer, createConfig } = require('es-dev-server'); const { startDevServer } = require('@web/dev-server');
const rootDir = path.resolve(__dirname, '..', 'dist'); const rootDir = path.resolve(__dirname, '..', 'dist');
describe('integration tests', () => { describe('integration tests', () => {
let server; let server;
let serverConfig;
/** @type {import('puppeteer').Browser} */ /** @type {import('puppeteer').Browser} */
let browser; let browser;
before(async () => { before(async () => {
serverConfig = createConfig({ server = await startDevServer({
port: 8081, config: {
rootDir, port: 8081,
rootDir,
},
readCliArgs: false,
readFileConfig: false,
logStartMessage: false,
clearTerminalOnReload: false,
}); });
({ server } = await startServer(serverConfig));
browser = await puppeteer.launch(); browser = await puppeteer.launch();
rimraf.sync(rootDir); rimraf.sync(rootDir);
}); });
after(async () => { after(async () => {
await browser.close(); await browser.close();
await new Promise(resolve => await server.stop();
server.close(() => {
resolve();
}),
);
}); });
['js/rollup.spa.config.js', 'js/rollup.spa-nomodule.config.js'].forEach(testCase => { ['js/rollup.spa.config.js', 'js/rollup.spa-nomodule.config.js'].forEach(testCase => {
describe(`testcase ${testCase}`, function describe() { describe(`testcase ${testCase}`, function describe() {
this.timeout(20000); this.timeout(30000);
let page; let page;
before(async () => { before(async () => {

View File

@@ -5,38 +5,37 @@ const path = require('path');
const fs = require('fs'); const fs = require('fs');
const rimraf = require('rimraf'); const rimraf = require('rimraf');
const { rollup } = require('rollup'); const { rollup } = require('rollup');
const { startServer, createConfig } = require('es-dev-server'); const { startDevServer } = require('@web/dev-server');
const rootDir = path.resolve(__dirname, '..', 'dist'); const rootDir = path.resolve(__dirname, '..', 'dist');
describe('integration tests', () => { describe('integration tests', () => {
let server; let server;
let serverConfig;
/** @type {import('puppeteer').Browser} */ /** @type {import('puppeteer').Browser} */
let browser; let browser;
before(async () => { before(async () => {
serverConfig = createConfig({ server = await startDevServer({
port: 8081, config: {
rootDir, port: 8081,
rootDir,
},
readCliArgs: false,
readFileConfig: false,
logStartMessage: false,
clearTerminalOnReload: false,
}); });
({ server } = await startServer(serverConfig));
browser = await puppeteer.launch(); browser = await puppeteer.launch();
rimraf.sync(rootDir); rimraf.sync(rootDir);
}); });
after(async () => { after(async () => {
await browser.close(); await browser.close();
await new Promise(resolve => await server.stop();
server.close(() => {
resolve();
}),
);
}); });
describe(`Mpa Config`, function describe() { describe(`Mpa Config`, function describe() {
this.timeout(20000); this.timeout(30000);
let page; let page;
before(async () => { before(async () => {

View File

@@ -17,15 +17,18 @@
"scripts": { "scripts": {
"prepublishOnly": "../../scripts/insert-header.js", "prepublishOnly": "../../scripts/insert-header.js",
"test": "npm run test:node", "test": "npm run test:node",
"test:node": "mocha test/run-tests.js" "test:node": "mocha test/run-tests.js",
"types:copy": "copyfiles \"./src/**/*.d.ts\" \"./*.d.ts\" types"
}, },
"files": [ "files": [
"*.d.ts", "*.d.ts",
"*.js", "*.js",
"src" "src",
"types"
], ],
"keywords": [ "keywords": [
"import-map", "import-map",
"import-maps" "import-maps"
] ],
"types": "types/index.d.ts"
} }

View File

@@ -1,6 +1,23 @@
// Don't edit this file directly. It is generated by /scripts/update-package-configs.ts
{ {
"extends": "../../tsconfig.json", "extends": "../../tsconfig.node-base.json",
"compilerOptions": { "compilerOptions": {
"strict": true "module": "commonjs",
} "outDir": "./types",
} "rootDir": ".",
"composite": true,
"allowJs": true,
"checkJs": true,
"emitDeclarationOnly": true
},
"references": [],
"include": [
"src",
"*.js"
],
"exclude": [
"dist",
"types"
]
}

View File

@@ -1,7 +0,0 @@
import { mdjsParse } from './src/mdjsParse';
import { mdjsStoryParse } from './src/mdjsStoryParse';
import { mdjsDocPage } from './src/mdjsDocPage';
import { resolveToUnpkg } from './src/resolveToUnpkg';
export { MarkdownResult, ParseResult, Story, ProcessResult, MdjsProcessPlugin } from './src/types';
export { mdjsParse, mdjsStoryParse, mdjsDocPage, resolveToUnpkg };

View File

@@ -21,7 +21,8 @@
"start:stories": "node ../es-dev-server/dist/cli.js -c demo/stories/server.js --root-dir ../../", "start:stories": "node ../es-dev-server/dist/cli.js -c demo/stories/server.js --root-dir ../../",
"test": "npm run test:node", "test": "npm run test:node",
"test:node": "mocha test-node", "test:node": "mocha test-node",
"test:watch": "mocha test-node --watch" "test:watch": "mocha test-node --watch",
"types:copy": "copyfiles -f \"./types-global/**/*.d.ts\" types"
}, },
"files": [ "files": [
"*.d.ts", "*.d.ts",
@@ -61,5 +62,5 @@
"remark-slug": "^5.1.2", "remark-slug": "^5.1.2",
"remark-stringify": "^7.0.4" "remark-stringify": "^7.0.4"
}, },
"types": "index.d.ts" "types": "./types/index.d.ts"
} }

View File

@@ -0,0 +1,23 @@
// Don't edit this file directly. It is generated by /scripts/update-package-configs.ts
{
"extends": "../../tsconfig.node-base.json",
"compilerOptions": {
"module": "commonjs",
"outDir": "./types",
"rootDir": ".",
"composite": true,
"allowJs": true,
"checkJs": true,
"emitDeclarationOnly": true
},
"references": [],
"include": [
"src",
"*.js"
],
"exclude": [
"dist",
"types"
]
}

View File

@@ -22,7 +22,8 @@
"test": "npm run test:node", "test": "npm run test:node",
"test:node": "mocha test/**/*.test.js test/**/*.test.js", "test:node": "mocha test/**/*.test.js test/**/*.test.js",
"test:update-snapshots": "mocha test/**/*.test.js test/**/*.test.js --update-snapshots", "test:update-snapshots": "mocha test/**/*.test.js test/**/*.test.js --update-snapshots",
"test:watch": "mocha test/**/*.test.js test/**/*.test.js --watch" "test:watch": "mocha test/**/*.test.js test/**/*.test.js --watch",
"types:copy": "copyfiles \"./src/**/*.d.ts\" \"./*.d.ts\" types"
}, },
"files": [ "files": [
"index.d.ts", "index.d.ts",
@@ -50,5 +51,6 @@
"@types/babel__core": "^7.1.3", "@types/babel__core": "^7.1.3",
"@types/parse5": "^5.0.2", "@types/parse5": "^5.0.2",
"@types/valid-url": "^1.0.2" "@types/valid-url": "^1.0.2"
} },
"types": "types/index.d.ts"
} }

View File

@@ -11,7 +11,9 @@ const {
insertAfter, insertAfter,
append, append,
cloneNode, cloneNode,
// @ts-ignore
} = require('@open-wc/building-utils/dom5-fork'); } = require('@open-wc/building-utils/dom5-fork');
// @ts-ignore
const { createScript, createElement, findImportMapScripts } = require('@open-wc/building-utils'); const { createScript, createElement, findImportMapScripts } = require('@open-wc/building-utils');
const { createPolyfillsLoader } = require('./create-polyfills-loader'); const { createPolyfillsLoader } = require('./create-polyfills-loader');
const { hasFileOfType, fileTypes } = require('./utils'); const { hasFileOfType, fileTypes } = require('./utils');
@@ -70,6 +72,7 @@ function injectLoaderScript(bodyAst, polyfillsLoader) {
* @param {PolyfillsLoaderConfig} cfg * @param {PolyfillsLoaderConfig} cfg
*/ */
function injectPrefetchLinks(headAst, cfg) { function injectPrefetchLinks(headAst, cfg) {
// @ts-ignore
for (const file of cfg.modern.files) { for (const file of cfg.modern.files) {
const { path } = file; const { path } = file;
const href = path.startsWith('.') || path.startsWith('/') ? path : `./${path}`; const href = path.startsWith('.') || path.startsWith('/') ? path : `./${path}`;

View File

@@ -3,6 +3,7 @@
/** @typedef {import('./types').FileType} FileType */ /** @typedef {import('./types').FileType} FileType */
/** @typedef {import('./types').PolyfillsLoaderConfig} PolyfillsLoaderConfig */ /** @typedef {import('./types').PolyfillsLoaderConfig} PolyfillsLoaderConfig */
// @ts-ignore
const { getAttribute } = require('@open-wc/building-utils/dom5-fork'); const { getAttribute } = require('@open-wc/building-utils/dom5-fork');
const crypto = require('crypto'); const crypto = require('crypto');
@@ -54,6 +55,7 @@ function getScriptFileType(script) {
*/ */
function hasFileOfType(cfg, type) { function hasFileOfType(cfg, type) {
return ( return (
// @ts-ignore
cfg.modern.files.some(f => f.type === type) || cfg.modern.files.some(f => f.type === type) ||
(cfg.legacy && cfg.legacy.some(e => e.files.some(f => f.type === type))) (cfg.legacy && cfg.legacy.some(e => e.files.some(f => f.type === type)))
); );

View File

@@ -1,6 +1,23 @@
// Don't edit this file directly. It is generated by /scripts/update-package-configs.ts
{ {
"extends": "../../tsconfig.json", "extends": "../../tsconfig.node-base.json",
"compilerOptions": { "compilerOptions": {
"strict": true "module": "commonjs",
} "outDir": "./types",
} "rootDir": ".",
"composite": true,
"allowJs": true,
"checkJs": true,
"emitDeclarationOnly": true
},
"references": [],
"include": [
"src",
"*.js"
],
"exclude": [
"dist",
"types"
]
}

View File

@@ -24,7 +24,8 @@
"start:no-scope": "es-dev-server -c demo/no-scope/server.js", "start:no-scope": "es-dev-server -c demo/no-scope/server.js",
"start:with-scope": "es-dev-server -c demo/with-scope/server.js", "start:with-scope": "es-dev-server -c demo/with-scope/server.js",
"test": "cd ../../ && yarn test:browser --grep \"packages/scoped-elements/test/*.test.js\"", "test": "cd ../../ && yarn test:browser --grep \"packages/scoped-elements/test/*.test.js\"",
"test:watch": "cd ../../ && yarn test:browser:watch --grep \"packages/scoped-elements/test/*.test.js\"" "test:watch": "cd ../../ && yarn test:browser:watch --grep \"packages/scoped-elements/test/*.test.js\"",
"types:copy": "copyfiles \"./src/**/*.d.ts\" \"./*.d.ts\" types"
}, },
"files": [ "files": [
"*.d.ts", "*.d.ts",
@@ -42,5 +43,6 @@
"@open-wc/dedupe-mixin": "^1.3.0", "@open-wc/dedupe-mixin": "^1.3.0",
"lit-html": "^1.0.0" "lit-html": "^1.0.0"
}, },
"types": "types/index.d.ts",
"sideEffects": false "sideEffects": false
} }

View File

@@ -0,0 +1,23 @@
// Don't edit this file directly. It is generated by /scripts/update-package-configs.ts
{
"extends": "../../tsconfig.browser-base.json",
"compilerOptions": {
"module": "ESNext",
"outDir": "./types",
"rootDir": ".",
"composite": true,
"allowJs": true,
"checkJs": true,
"emitDeclarationOnly": true
},
"references": [],
"include": [
"src",
"*.js"
],
"exclude": [
"dist",
"types"
]
}

View File

@@ -29,5 +29,6 @@
], ],
"dependencies": { "dependencies": {
"@types/chai": "^4.2.11" "@types/chai": "^4.2.11"
} },
"types": "types/index.d.ts"
} }

View File

@@ -0,0 +1,23 @@
// Don't edit this file directly. It is generated by /scripts/update-package-configs.ts
{
"extends": "../../tsconfig.browser-base.json",
"compilerOptions": {
"module": "ESNext",
"outDir": "./types",
"rootDir": ".",
"composite": true,
"allowJs": true,
"checkJs": true,
"emitDeclarationOnly": true
},
"references": [],
"include": [
"src",
"*.js"
],
"exclude": [
"dist",
"types"
]
}

View File

@@ -14,13 +14,11 @@
"author": "open-wc", "author": "open-wc",
"homepage": "https://github.com/open-wc/open-wc/tree/master/packages/testing-helpers", "homepage": "https://github.com/open-wc/open-wc/tree/master/packages/testing-helpers",
"module": "index.js", "module": "index.js",
"scripts": {
"prepublishOnly": "../../scripts/insert-header.js"
},
"files": [ "files": [
"*.d.ts", "*.d.ts",
"*.js", "*.js",
"src" "src",
"types"
], ],
"keywords": [ "keywords": [
"testing", "testing",
@@ -33,7 +31,5 @@
"lit-element": "^2.2.1", "lit-element": "^2.2.1",
"lit-html": "^1.0.0" "lit-html": "^1.0.0"
}, },
"devDependencies": { "types": "types/index.d.ts"
"webpack-merge": "^4.1.5"
}
} }

View File

@@ -53,6 +53,7 @@ class ScopedElementsTestWrapper extends ScopedElementsMixin(LitElement) {
super.firstUpdated(_changed); super.firstUpdated(_changed);
Object.keys(this.scopedElements).forEach(key => Object.keys(this.scopedElements).forEach(key =>
// @ts-ignore
this.defineScopedElement(key, this.scopedElements[key]), this.defineScopedElement(key, this.scopedElements[key]),
); );
} }
@@ -79,6 +80,7 @@ const getWrapperUniqueName = (counter = 0) => {
const wrapperTagName = getWrapperUniqueName(); const wrapperTagName = getWrapperUniqueName();
// @ts-ignore
customElements.define(wrapperTagName, ScopedElementsTestWrapper); customElements.define(wrapperTagName, ScopedElementsTestWrapper);
/** /**

View File

@@ -0,0 +1,27 @@
// Don't edit this file directly. It is generated by /scripts/update-package-configs.ts
{
"extends": "../../tsconfig.browser-base.json",
"compilerOptions": {
"module": "ESNext",
"outDir": "./types",
"rootDir": ".",
"composite": true,
"allowJs": true,
"checkJs": true,
"emitDeclarationOnly": true
},
"references": [
{
"path": "../scoped-elements/tsconfig.json"
}
],
"include": [
"src",
"*.js"
],
"exclude": [
"dist",
"types"
]
}

View File

@@ -1,17 +1,17 @@
export { html } from '@open-wc/testing-helpers/index-no-side-effects.js'; export { html } from '@open-wc/testing-helpers/types/index-no-side-effects';
export { unsafeStatic } from '@open-wc/testing-helpers/index-no-side-effects.js'; export { unsafeStatic } from '@open-wc/testing-helpers/types/index-no-side-effects';
export { triggerBlurFor } from '@open-wc/testing-helpers/index-no-side-effects.js'; export { triggerBlurFor } from '@open-wc/testing-helpers/types/index-no-side-effects';
export { triggerFocusFor } from '@open-wc/testing-helpers/index-no-side-effects.js'; export { triggerFocusFor } from '@open-wc/testing-helpers/types/index-no-side-effects';
export { oneEvent } from '@open-wc/testing-helpers/index-no-side-effects.js'; export { oneEvent } from '@open-wc/testing-helpers/types/index-no-side-effects';
export { isIE } from '@open-wc/testing-helpers/index-no-side-effects.js'; export { isIE } from '@open-wc/testing-helpers/types/index-no-side-effects';
export { defineCE } from '@open-wc/testing-helpers/index-no-side-effects.js'; export { defineCE } from '@open-wc/testing-helpers/types/index-no-side-effects';
export { aTimeout } from '@open-wc/testing-helpers/index-no-side-effects.js'; export { aTimeout } from '@open-wc/testing-helpers/types/index-no-side-effects';
export { litFixture } from '@open-wc/testing-helpers/index-no-side-effects.js'; export { litFixture } from '@open-wc/testing-helpers/types/index-no-side-effects';
export { litFixtureSync } from '@open-wc/testing-helpers/index-no-side-effects.js'; export { litFixtureSync } from '@open-wc/testing-helpers/types/index-no-side-effects';
export { fixture } from '@open-wc/testing-helpers/index-no-side-effects.js'; export { fixture } from '@open-wc/testing-helpers/types/index-no-side-effects';
export { fixtureSync } from '@open-wc/testing-helpers/index-no-side-effects.js'; export { fixtureSync } from '@open-wc/testing-helpers/types/index-no-side-effects';
export { fixtureCleanup } from '@open-wc/testing-helpers/index-no-side-effects.js'; export { fixtureCleanup } from '@open-wc/testing-helpers/types/index-no-side-effects';
export { elementUpdated } from '@open-wc/testing-helpers/index-no-side-effects.js'; export { elementUpdated } from '@open-wc/testing-helpers/types/index-no-side-effects';
import chai from 'chai'; import chai from 'chai';

View File

@@ -1,21 +1,21 @@
/// <reference path="./register-chai-plugins.d.ts" /> /// <reference path="./register-chai-plugins.d.ts" />
export { html } from '@open-wc/testing-helpers/index.js'; export { html } from '@open-wc/testing-helpers';
export { unsafeStatic } from '@open-wc/testing-helpers/index.js'; export { unsafeStatic } from '@open-wc/testing-helpers';
export { triggerBlurFor } from '@open-wc/testing-helpers/index.js'; export { triggerBlurFor } from '@open-wc/testing-helpers';
export { triggerFocusFor } from '@open-wc/testing-helpers/index.js'; export { triggerFocusFor } from '@open-wc/testing-helpers';
export { oneEvent } from '@open-wc/testing-helpers/index.js'; export { oneEvent } from '@open-wc/testing-helpers';
export { isIE } from '@open-wc/testing-helpers/index.js'; export { isIE } from '@open-wc/testing-helpers';
export { defineCE } from '@open-wc/testing-helpers/index.js'; export { defineCE } from '@open-wc/testing-helpers';
export { aTimeout } from '@open-wc/testing-helpers/index.js'; export { aTimeout } from '@open-wc/testing-helpers';
export { nextFrame } from '@open-wc/testing-helpers/index.js'; export { nextFrame } from '@open-wc/testing-helpers';
export { litFixture } from '@open-wc/testing-helpers/index.js'; export { litFixture } from '@open-wc/testing-helpers';
export { litFixtureSync } from '@open-wc/testing-helpers/index.js'; export { litFixtureSync } from '@open-wc/testing-helpers';
export { fixture } from '@open-wc/testing-helpers/index.js'; export { fixture } from '@open-wc/testing-helpers';
export { fixtureSync } from '@open-wc/testing-helpers/index.js'; export { fixtureSync } from '@open-wc/testing-helpers';
export { fixtureCleanup } from '@open-wc/testing-helpers/index.js'; export { fixtureCleanup } from '@open-wc/testing-helpers';
export { elementUpdated } from '@open-wc/testing-helpers/index.js'; export { elementUpdated } from '@open-wc/testing-helpers';
export { waitUntil } from '@open-wc/testing-helpers/index.js'; export { waitUntil } from '@open-wc/testing-helpers';
import chai from 'chai'; import chai from 'chai';

View File

@@ -18,7 +18,7 @@ export {
fixtureCleanup, fixtureCleanup,
elementUpdated, elementUpdated,
waitUntil, waitUntil,
} from '@open-wc/testing-helpers/index.js'; } from '@open-wc/testing-helpers';
// @ts-ignore // @ts-ignore
const { expect, should, assert } = chai; const { expect, should, assert } = chai;

View File

@@ -0,0 +1,113 @@
import fs from 'fs';
import path from 'path';
import { fileURLToPath } from 'url';
import { packages } from '../workspace-packages.mjs';
import merge from 'deepmerge';
const __dirname = path.dirname(fileURLToPath(import.meta.url));
const TSCONFIG_COMMENT = `// Don't edit this file directly. It is generated by /scripts/update-package-configs.ts\n\n`;
const packagesRoot = path.join(__dirname, '..', 'packages');
const packageJSONMap = new Map();
const packageDirnameMap = new Map();
const internalDependencyMap = new Map();
// collect package json for all packages
packages.forEach(pkg => {
const packageJSONPath = path.join(packagesRoot, pkg.name, 'package.json');
if (!fs.existsSync(packageJSONPath)) {
console.error();
console.error(`Could not find package.json: ${packageJSONPath}`);
console.error();
process.exit(1);
}
const packageJSONData = JSON.parse(fs.readFileSync(packageJSONPath).toString());
const packageName = packageJSONData.name;
packageDirnameMap.set(packageName, pkg.name);
packageJSONMap.set(packageName, packageJSONData);
});
// collect initial cross package dependencies info
packageDirnameMap.forEach((_packageDirname, packageName) => {
const { dependencies, devDependencies } = packageJSONMap.get(packageName);
const internalDependencies = [
...(dependencies ? Object.keys(dependencies) : []),
...(devDependencies ? Object.keys(devDependencies) : []),
].filter(dep => packageDirnameMap.has(dep));
internalDependencyMap.set(packageName, internalDependencies);
});
function resolveInternalDependencies(dependencies) {
const childDeps = [];
for (const idep of dependencies) {
const deps = internalDependencyMap.get(idep);
const res = resolveInternalDependencies(deps);
for (const jdep of res) {
childDeps.push(jdep);
}
}
const resolved = childDeps.concat(dependencies);
// remove all duplicated after the first appearance
return resolved.filter((item, idx) => resolved.indexOf(item) === idx);
}
packageDirnameMap.forEach((packageDirname, packageName) => {
const pkg = packages.find(pkg => pkg.name === packageDirname);
const pkgDir = path.join(packagesRoot, packageDirname);
const tsconfigPath = path.join(pkgDir, 'tsconfig.json');
let tsConfigOverride = {};
const tsConfigOverridePath = path.join(pkgDir, 'tsconfig.override.json');
if (fs.existsSync(tsConfigOverridePath)) {
tsConfigOverride = JSON.parse(fs.readFileSync(tsConfigOverridePath));
}
const overwriteMerge = (destinationArray, sourceArray) => sourceArray;
const internalDependencies = resolveInternalDependencies(internalDependencyMap.get(packageName));
const tsconfigData = merge(
{
extends: `../../tsconfig.${pkg.environment === 'browser' ? 'browser' : 'node'}-base.json`,
compilerOptions: {
module: pkg.environment === 'browser' ? 'ESNext' : 'commonjs',
outDir: './types',
rootDir: '.',
composite: true,
allowJs: true,
checkJs: pkg.type === 'js' ? true : undefined,
emitDeclarationOnly: pkg.type === 'js' ? true : undefined,
},
references: internalDependencies.map(dep => {
return { path: `../${packageDirnameMap.get(dep)}/tsconfig.json` };
}),
include: ['src', '*.js'],
exclude: ['dist', 'types'],
},
tsConfigOverride,
{ arrayMerge: overwriteMerge },
);
fs.writeFileSync(tsconfigPath, TSCONFIG_COMMENT + JSON.stringify(tsconfigData, null, ' '));
});
const projectLevelTsconfigPath = path.join(__dirname, '..', 'tsconfig.json');
const projectLevelTsconfigData = {
extends: './tsconfig.node-base.json',
files: [],
references: resolveInternalDependencies(Array.from(packageDirnameMap.keys())).map(
packageName => ({
path: `./packages/${packageDirnameMap.get(packageName)}/tsconfig.json`,
}),
),
};
fs.writeFileSync(
projectLevelTsconfigPath,
TSCONFIG_COMMENT + JSON.stringify(projectLevelTsconfigData, null, ' '),
);

View File

@@ -0,0 +1,20 @@
{
"compilerOptions": {
"target": "ES2018" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */,
"declaration": true /* Generates corresponding '.d.ts' file. */,
"declarationMap": true /* Generates a sourcemap for each corresponding '.d.ts' file. */,
"sourceMap": true /* Generates corresponding '.map' file. */,
"downlevelIteration": true /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */,
/* TODO: enable strict mode - but there are too many not strict types now */
"strict": false /* Enable all strict type-checking options. */,
"moduleResolution": "node" /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */,
"typeRoots": ["@types", "./types-global", "./types"],
"types": ["mocha", "chai"] /* Type declaration files to be included in compilation. */,
"allowSyntheticDefaultImports": true /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */,
"esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */,
"forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */
}
}

View File

@@ -1,29 +1,26 @@
// Don't edit this file directly. It is generated by /scripts/update-package-configs.ts
{ {
"compilerOptions": { "extends": "./tsconfig.node-base.json",
"target": "esnext", "files": [],
"module": "esnext", "references": [
"moduleResolution": "node", {
"lib": ["es2017", "dom"], "path": "./packages/scoped-elements/tsconfig.json"
"allowJs": true, },
"checkJs": true, {
"noEmit": true, "path": "./packages/polyfills-loader/tsconfig.json"
"strict": false, },
"noImplicitThis": true, {
"alwaysStrict": true, "path": "./packages/import-maps-resolve/tsconfig.json"
"types": ["node", "mocha"], },
"esModuleInterop": true {
}, "path": "./packages/semantic-dom-diff/tsconfig.json"
"files": ["browser.d.ts"], },
"include": ["packages/**/*"], {
"exclude": [ "path": "./packages/testing-helpers/tsconfig.json"
"node_modules", },
"**/node_modules/*", {
"**/node_modules/**/node_modules", "path": "./packages/mdjs/tsconfig.json"
"packages/**/node_modules", }
"**/coverage/*",
"packages/building-utils/test/custom-polyfils/**/*",
"**/dist/**/*",
"packages/**/test-node/**/snapshots",
"packages/**/demo/**/*"
] ]
} }

31
tsconfig.node-base.json Normal file
View File

@@ -0,0 +1,31 @@
{
"compilerOptions": {
"target": "ES2017" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */,
"declaration": true /* Generates corresponding '.d.ts' file. */,
"declarationMap": true /* Generates a sourcemap for each corresponding '.d.ts' file. */,
"sourceMap": true /* Generates corresponding '.map' file. */,
"downlevelIteration": true /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */,
/* TODO: enable strict mode - but there are too many not strict types now */
"strict": false /* Enable all strict type-checking options. */,
/* Module Resolution Options */
"moduleResolution": "node" /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */,
"typeRoots": ["@types", "./types-global/", "./types"],
"types": ["node", "mocha", "chai"] /* Type declaration files to be included in compilation. */,
"allowSyntheticDefaultImports": true /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */,
"esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true, /* Disallow inconsistently-cased references to the same file. */
"lib": [
"DOM",
"DOM.Iterable",
"ES6",
"ES2017",
// Allows array.flatMap. import `array-flat-polyfill` to cover node10
"ES2019.array",
"ScriptHost"
]
}
}

10
workspace-packages.mjs Normal file
View File

@@ -0,0 +1,10 @@
const packages = [
{ name: 'polyfills-loader', type: 'js', environment: 'node' },
{ name: 'import-maps-resolve', type: 'js', environment: 'node' },
{ name: 'scoped-elements', type: 'js', environment: 'browser' },
{ name: 'semantic-dom-diff', type: 'js', environment: 'browser' },
{ name: 'testing-helpers', type: 'js', environment: 'browser' },
{ name: 'mdjs', type: 'js', environment: 'node' },
];
export { packages };

127
yarn.lock
View File

@@ -1978,7 +1978,7 @@
is-module "^1.0.0" is-module "^1.0.0"
resolve "^1.14.2" resolve "^1.14.2"
"@rollup/plugin-node-resolve@^8.1.0": "@rollup/plugin-node-resolve@^8.1.0", "@rollup/plugin-node-resolve@^8.4.0":
version "8.4.0" version "8.4.0"
resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-8.4.0.tgz#261d79a680e9dc3d86761c14462f24126ba83575" resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-8.4.0.tgz#261d79a680e9dc3d86761c14462f24126ba83575"
integrity sha512-LFqKdRLn0ShtQyf6SBYO69bGE1upV6wUhBX0vFOUnLAyzx5cwp8svA0eHUnu8+YU57XOkrMtfG63QOpQx25pHQ== integrity sha512-LFqKdRLn0ShtQyf6SBYO69bGE1upV6wUhBX0vFOUnLAyzx5cwp8svA0eHUnu8+YU57XOkrMtfG63QOpQx25pHQ==
@@ -3406,6 +3406,23 @@
dependencies: dependencies:
semver "^7.3.2" semver "^7.3.2"
"@web/dev-server-cli@^0.0.3":
version "0.0.3"
resolved "https://registry.yarnpkg.com/@web/dev-server-cli/-/dev-server-cli-0.0.3.tgz#65d36b92e1cf0be71098756b17957741691afab3"
integrity sha512-mcyWkU1R7eb6kswRQOIGNfvEH8mnkORQDGYAIR290A7FagRrto8ibZVFUe+leG4d7OIw0FGCbU4IlRrGKJgSxw==
dependencies:
"@babel/code-frame" "^7.10.4"
"@types/command-line-args" "^5.0.0"
"@web/config-loader" "^0.1.1"
"@web/dev-server-core" "^0.2.5"
camelcase "^6.0.0"
chalk "^4.1.0"
command-line-args "^5.1.1"
command-line-usage "^6.1.0"
ip "^1.1.5"
open "^7.1.0"
portfinder "^1.0.27"
"@web/dev-server-core@^0.2.11", "@web/dev-server-core@^0.2.2", "@web/dev-server-core@^0.2.6": "@web/dev-server-core@^0.2.11", "@web/dev-server-core@^0.2.2", "@web/dev-server-core@^0.2.6":
version "0.2.12" version "0.2.12"
resolved "https://registry.yarnpkg.com/@web/dev-server-core/-/dev-server-core-0.2.12.tgz#3e4c36755869fd3d61220ecf7f3127580fd20311" resolved "https://registry.yarnpkg.com/@web/dev-server-core/-/dev-server-core-0.2.12.tgz#3e4c36755869fd3d61220ecf7f3127580fd20311"
@@ -3427,6 +3444,27 @@
picomatch "^2.2.2" picomatch "^2.2.2"
ws "^7.3.1" ws "^7.3.1"
"@web/dev-server-core@^0.2.13", "@web/dev-server-core@^0.2.5":
version "0.2.13"
resolved "https://registry.yarnpkg.com/@web/dev-server-core/-/dev-server-core-0.2.13.tgz#53b678022535caddc8b4a8a77c00864eecc4e6d4"
integrity sha512-A5j5Pf2l593HltlitpaDDxf7jXEIn9+t2lPT27VRGEgb/JIzk25oOJ/P5vQKGbrDF9qHRfu0WR9LRZnFR9r2SA==
dependencies:
"@types/ws" "^7.2.6"
chokidar "^3.4.0"
clone "^2.1.2"
es-module-lexer "^0.3.24"
get-stream "^6.0.0"
is-stream "^2.0.0"
isbinaryfile "^4.0.6"
koa "^2.13.0"
koa-etag "^3.0.0"
koa-static "^5.0.0"
lru-cache "^5.1.1"
mime-types "^2.1.27"
parse5 "^6.0.0"
picomatch "^2.2.2"
ws "^7.3.1"
"@web/dev-server-esbuild@^0.2.4": "@web/dev-server-esbuild@^0.2.4":
version "0.2.4" version "0.2.4"
resolved "https://registry.yarnpkg.com/@web/dev-server-esbuild/-/dev-server-esbuild-0.2.4.tgz#6af53fd7f30d288e73287e4c98153fac894bfa0d" resolved "https://registry.yarnpkg.com/@web/dev-server-esbuild/-/dev-server-esbuild-0.2.4.tgz#6af53fd7f30d288e73287e4c98153fac894bfa0d"
@@ -3438,7 +3476,7 @@
parse5 "^6.0.1" parse5 "^6.0.1"
ua-parser-js "^0.7.21" ua-parser-js "^0.7.21"
"@web/dev-server-rollup@^0.2.9": "@web/dev-server-rollup@^0.2.5", "@web/dev-server-rollup@^0.2.9":
version "0.2.9" version "0.2.9"
resolved "https://registry.yarnpkg.com/@web/dev-server-rollup/-/dev-server-rollup-0.2.9.tgz#e76925846d966053a80ec6d726c189d2c2b7cd2d" resolved "https://registry.yarnpkg.com/@web/dev-server-rollup/-/dev-server-rollup-0.2.9.tgz#e76925846d966053a80ec6d726c189d2c2b7cd2d"
integrity sha512-YSlXV0igmhgXEy0tCdF0QzKKyDN6Bp5bj4TYmJpXLGWkUHyKwcohHNq/kAG1mxaxdkEX5cO9FUg/MfGZqeOA0w== integrity sha512-YSlXV0igmhgXEy0tCdF0QzKKyDN6Bp5bj4TYmJpXLGWkUHyKwcohHNq/kAG1mxaxdkEX5cO9FUg/MfGZqeOA0w==
@@ -3449,6 +3487,28 @@
rollup "^2.20.0" rollup "^2.20.0"
whatwg-url "^8.1.0" whatwg-url "^8.1.0"
"@web/dev-server@^0.0.15":
version "0.0.15"
resolved "https://registry.yarnpkg.com/@web/dev-server/-/dev-server-0.0.15.tgz#2a27bac3f72681bff332bb46357c2a3f8a39a096"
integrity sha512-58YY9aHfc2f6CZbjI5NDG+jCGIyb3Da74vbaLSklmFuawJZrQ5ntjnFiMvP0L4Z5IW6WV+W+FPyOS58GTda3Zw==
dependencies:
"@babel/code-frame" "^7.10.4"
"@rollup/plugin-node-resolve" "^8.4.0"
"@types/command-line-args" "^5.0.0"
"@web/config-loader" "^0.1.1"
"@web/dev-server-cli" "^0.0.3"
"@web/dev-server-core" "^0.2.13"
"@web/dev-server-rollup" "^0.2.5"
camelcase "^6.0.0"
chalk "^4.1.0"
command-line-args "^5.1.1"
command-line-usage "^6.1.0"
debounce "^1.2.0"
deepmerge "^4.2.2"
ip "^1.1.5"
open "^7.1.0"
portfinder "^1.0.27"
"@web/test-runner-chrome@^0.7.2": "@web/test-runner-chrome@^0.7.2":
version "0.7.2" version "0.7.2"
resolved "https://registry.yarnpkg.com/@web/test-runner-chrome/-/test-runner-chrome-0.7.2.tgz#56b4241219f508d1a1b9bc7046d853dedad4c5b8" resolved "https://registry.yarnpkg.com/@web/test-runner-chrome/-/test-runner-chrome-0.7.2.tgz#56b4241219f508d1a1b9bc7046d853dedad4c5b8"
@@ -6080,6 +6140,19 @@ copy-to-clipboard@^3.0.8:
dependencies: dependencies:
toggle-selection "^1.0.6" toggle-selection "^1.0.6"
copyfiles@^2.4.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/copyfiles/-/copyfiles-2.4.0.tgz#fcac72a4f2b882f021dd156b4bcf6d71315487bd"
integrity sha512-yGjpR3yjQdxccW8EcJ4a7ZCA6wGER6/Q2Y+b7bXbVxGeSHBf93i9d7MzTsx+VV1CpMKQa3v4ThZfXBcltMzl0w==
dependencies:
glob "^7.0.5"
minimatch "^3.0.3"
mkdirp "^1.0.4"
noms "0.0.0"
through2 "^2.0.1"
untildify "^4.0.0"
yargs "^15.3.1"
core-js-bundle@^3.6.0: core-js-bundle@^3.6.0:
version "3.6.5" version "3.6.5"
resolved "https://registry.yarnpkg.com/core-js-bundle/-/core-js-bundle-3.6.5.tgz#3a425ad66ad19aeefea89acfd48cff674ff58590" resolved "https://registry.yarnpkg.com/core-js-bundle/-/core-js-bundle-3.6.5.tgz#3a425ad66ad19aeefea89acfd48cff674ff58590"
@@ -8455,7 +8528,7 @@ glob@7.1.3:
once "^1.3.0" once "^1.3.0"
path-is-absolute "^1.0.0" path-is-absolute "^1.0.0"
glob@^7.0.0, glob@^7.0.3, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6:
version "7.1.6" version "7.1.6"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
@@ -11304,7 +11377,7 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1:
resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=
minimatch@3.0.4, minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4: minimatch@3.0.4, minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4:
version "3.0.4" version "3.0.4"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
@@ -11411,6 +11484,11 @@ mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.4, mkdirp@^0.5.5, mkdirp@~0.5.1:
dependencies: dependencies:
minimist "^1.2.5" minimist "^1.2.5"
mkdirp@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
mocha-chai-snapshot@^1.0.0: mocha-chai-snapshot@^1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/mocha-chai-snapshot/-/mocha-chai-snapshot-1.0.0.tgz#6c8747a2fa8d5b3b2d1d0600bb3e644b0fd5c913" resolved "https://registry.yarnpkg.com/mocha-chai-snapshot/-/mocha-chai-snapshot-1.0.0.tgz#6c8747a2fa8d5b3b2d1d0600bb3e644b0fd5c913"
@@ -11645,6 +11723,14 @@ node-releases@^1.1.29, node-releases@^1.1.53:
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.55.tgz#8af23b7c561d8e2e6e36a46637bab84633b07cee" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.55.tgz#8af23b7c561d8e2e6e36a46637bab84633b07cee"
integrity sha512-H3R3YR/8TjT5WPin/wOoHOUPHgvj8leuU/Keta/rwelEQN9pA/S2Dx8/se4pZ2LBxSd0nAGzsNzhqwa77v7F1w== integrity sha512-H3R3YR/8TjT5WPin/wOoHOUPHgvj8leuU/Keta/rwelEQN9pA/S2Dx8/se4pZ2LBxSd0nAGzsNzhqwa77v7F1w==
noms@0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/noms/-/noms-0.0.0.tgz#da8ebd9f3af9d6760919b27d9cdc8092a7332859"
integrity sha1-2o69nzr51nYJGbJ9nNyAkqczKFk=
dependencies:
inherits "^2.0.1"
readable-stream "~1.0.31"
nopt@~4.0.1: nopt@~4.0.1:
version "4.0.3" version "4.0.3"
resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.3.tgz#a375cad9d02fd921278d954c2254d5aa57e15e48" resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.3.tgz#a375cad9d02fd921278d954c2254d5aa57e15e48"
@@ -11921,7 +12007,7 @@ open@^7.0.0, open@^7.0.3:
is-docker "^2.0.0" is-docker "^2.0.0"
is-wsl "^2.1.1" is-wsl "^2.1.1"
open@^7.0.4: open@^7.0.4, open@^7.1.0:
version "7.3.0" version "7.3.0"
resolved "https://registry.yarnpkg.com/open/-/open-7.3.0.tgz#45461fdee46444f3645b6e14eb3ca94b82e1be69" resolved "https://registry.yarnpkg.com/open/-/open-7.3.0.tgz#45461fdee46444f3645b6e14eb3ca94b82e1be69"
integrity sha512-mgLwQIx2F/ye9SmbrUkurZCnkoXyXyu9EbHtJZrICjVAJfyMArdHp3KkixGdZx1ZHFPNIwl0DDM1dFFqXbTLZw== integrity sha512-mgLwQIx2F/ye9SmbrUkurZCnkoXyXyu9EbHtJZrICjVAJfyMArdHp3KkixGdZx1ZHFPNIwl0DDM1dFFqXbTLZw==
@@ -12605,7 +12691,7 @@ portfinder@^1.0.13, portfinder@^1.0.21:
debug "^3.1.1" debug "^3.1.1"
mkdirp "^0.5.1" mkdirp "^0.5.1"
portfinder@^1.0.26: portfinder@^1.0.26, portfinder@^1.0.27:
version "1.0.28" version "1.0.28"
resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778" resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778"
integrity sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA== integrity sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==
@@ -13559,6 +13645,16 @@ readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0:
string_decoder "^1.1.1" string_decoder "^1.1.1"
util-deprecate "^1.0.1" util-deprecate "^1.0.1"
readable-stream@~1.0.31:
version "1.0.34"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c"
integrity sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=
dependencies:
core-util-is "~1.0.0"
inherits "~2.0.1"
isarray "0.0.1"
string_decoder "~0.10.x"
readdirp@^2.2.1: readdirp@^2.2.1:
version "2.2.1" version "2.2.1"
resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525"
@@ -15247,6 +15343,11 @@ string_decoder@^1.0.0, string_decoder@^1.1.1:
dependencies: dependencies:
safe-buffer "~5.2.0" safe-buffer "~5.2.0"
string_decoder@~0.10.x:
version "0.10.31"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=
string_decoder@~1.1.1: string_decoder@~1.1.1:
version "1.1.1" version "1.1.1"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
@@ -15654,7 +15755,7 @@ throttle-debounce@^2.1.0:
resolved "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-2.1.0.tgz#257e648f0a56bd9e54fe0f132c4ab8611df4e1d5" resolved "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-2.1.0.tgz#257e648f0a56bd9e54fe0f132c4ab8611df4e1d5"
integrity sha512-AOvyNahXQuU7NN+VVvOOX+uW6FPaWdAOdRP5HfwYxAfCzXTFKRMoIMk+n+po318+ktcChx+F1Dd91G3YHeMKyg== integrity sha512-AOvyNahXQuU7NN+VVvOOX+uW6FPaWdAOdRP5HfwYxAfCzXTFKRMoIMk+n+po318+ktcChx+F1Dd91G3YHeMKyg==
through2@^2.0.0: through2@^2.0.0, through2@^2.0.1:
version "2.0.5" version "2.0.5"
resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd"
integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==
@@ -16260,6 +16361,11 @@ unset-value@^1.0.0:
has-value "^0.3.1" has-value "^0.3.1"
isobject "^3.0.0" isobject "^3.0.0"
untildify@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b"
integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==
upath@^1.1.1, upath@^1.2.0: upath@^1.1.1, upath@^1.2.0:
version "1.2.0" version "1.2.0"
resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894"
@@ -16603,13 +16709,6 @@ webpack-log@^2.0.0:
ansi-colors "^3.0.0" ansi-colors "^3.0.0"
uuid "^3.3.2" uuid "^3.3.2"
webpack-merge@^4.1.5:
version "4.2.2"
resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.2.2.tgz#a27c52ea783d1398afd2087f547d7b9d2f43634d"
integrity sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==
dependencies:
lodash "^4.17.15"
webpack-sources@^1.4.0, webpack-sources@^1.4.1, webpack-sources@^1.4.3: webpack-sources@^1.4.0, webpack-sources@^1.4.1, webpack-sources@^1.4.3:
version "1.4.3" version "1.4.3"
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933"