From fa98a085c6f75dc1861c7c16393684ade2216b85 Mon Sep 17 00:00:00 2001 From: web-padawan Date: Sat, 18 Dec 2021 19:09:24 +0200 Subject: [PATCH 01/27] chore: add initial monorepo scripts --- .eslintrc.json | 8 ++ .gitignore | 3 + fixtures/expansion-panel/package.json | 11 +++ fixtures/expansion-panel/tsconfig.json | 18 ++++ fixtures/fancy-accordion/package.json | 12 +++ fixtures/fancy-accordion/tsconfig.json | 18 ++++ fixtures/intl-currency/package.json | 11 +++ fixtures/intl-currency/tsconfig.json | 18 ++++ fixtures/progress-bar/package.json | 11 +++ fixtures/progress-bar/tsconfig.json | 18 ++++ package.json | 19 ++-- packages/api-demo/package.json | 50 ++++++++++ packages/api-demo/tsconfig.json | 18 ++++ packages/api-docs/package.json | 56 +++++++++++ packages/api-docs/tsconfig.json | 18 ++++ packages/api-viewer/package.json | 51 ++++++++++ packages/api-viewer/tsconfig.json | 22 +++++ scripts/generate-ts-configs.js | 129 +++++++++++++++++++++++++ scripts/runWorkspacesScripts.js | 71 ++++++++++++++ scripts/workspaces-scripts-bin.js | 4 + tsconfig.base.json | 24 +++++ tsconfig.json | 54 ++++++----- workspace-packages.js | 11 +++ 23 files changed, 621 insertions(+), 34 deletions(-) create mode 100644 fixtures/expansion-panel/package.json create mode 100644 fixtures/expansion-panel/tsconfig.json create mode 100644 fixtures/fancy-accordion/package.json create mode 100644 fixtures/fancy-accordion/tsconfig.json create mode 100644 fixtures/intl-currency/package.json create mode 100644 fixtures/intl-currency/tsconfig.json create mode 100644 fixtures/progress-bar/package.json create mode 100644 fixtures/progress-bar/tsconfig.json create mode 100644 packages/api-demo/package.json create mode 100644 packages/api-demo/tsconfig.json create mode 100644 packages/api-docs/package.json create mode 100644 packages/api-docs/tsconfig.json create mode 100644 packages/api-viewer/package.json create mode 100644 packages/api-viewer/tsconfig.json create mode 100644 scripts/generate-ts-configs.js create mode 100644 scripts/runWorkspacesScripts.js create mode 100644 scripts/workspaces-scripts-bin.js create mode 100644 tsconfig.base.json mode change 100755 => 100644 tsconfig.json create mode 100644 workspace-packages.js diff --git a/.eslintrc.json b/.eslintrc.json index 4928a99..a765c56 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -41,6 +41,14 @@ "rules": { "@typescript-eslint/no-explicit-any": "off" } + }, + { + "files": ["scripts/*.js"], + "rules": { + "import/no-extraneous-dependencies": "off", + "no-console": "off", + "no-restricted-syntax": "off" + } } ] } diff --git a/.gitignore b/.gitignore index 513c668..2748940 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,8 @@ node_modules /lib +/fixtures/**/lib +/packages/**/lib +/**/*.tsbuildinfo /dist /custom-elements.json docs/_merged_data/ diff --git a/fixtures/expansion-panel/package.json b/fixtures/expansion-panel/package.json new file mode 100644 index 0000000..be2b7b7 --- /dev/null +++ b/fixtures/expansion-panel/package.json @@ -0,0 +1,11 @@ +{ + "name": "@api-viewer-fixtures/expansion-panel", + "version": "0.0.0", + "private": true, + "main": "lib/expansion-panel.js", + "module": "lib/expansion-panel.js", + "dependencies": { + "lit": "^2.0.0", + "tslib": "^2.3.1" + } +} diff --git a/fixtures/expansion-panel/tsconfig.json b/fixtures/expansion-panel/tsconfig.json new file mode 100644 index 0000000..d8f7a97 --- /dev/null +++ b/fixtures/expansion-panel/tsconfig.json @@ -0,0 +1,18 @@ +// Don't edit this file directly. It is generated by /scripts/update-package-configs.ts + +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "module": "ESNext", + "outDir": "./lib", + "rootDir": "./src", + "composite": true + }, + "references": [], + "include": [ + "src" + ], + "exclude": [ + "lib" + ] +} \ No newline at end of file diff --git a/fixtures/fancy-accordion/package.json b/fixtures/fancy-accordion/package.json new file mode 100644 index 0000000..70fd4e8 --- /dev/null +++ b/fixtures/fancy-accordion/package.json @@ -0,0 +1,12 @@ +{ + "name": "@api-viewer-fixtures/fancy-accordion", + "version": "0.0.0", + "private": true, + "main": "lib/fancy-accordion.js", + "module": "lib/fancy-accordion.js", + "dependencies": { + "@api-viewer-fixtures/expansion-panel": "^0.0.0", + "lit": "^2.0.0", + "tslib": "^2.3.1" + } +} diff --git a/fixtures/fancy-accordion/tsconfig.json b/fixtures/fancy-accordion/tsconfig.json new file mode 100644 index 0000000..d8f7a97 --- /dev/null +++ b/fixtures/fancy-accordion/tsconfig.json @@ -0,0 +1,18 @@ +// Don't edit this file directly. It is generated by /scripts/update-package-configs.ts + +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "module": "ESNext", + "outDir": "./lib", + "rootDir": "./src", + "composite": true + }, + "references": [], + "include": [ + "src" + ], + "exclude": [ + "lib" + ] +} \ No newline at end of file diff --git a/fixtures/intl-currency/package.json b/fixtures/intl-currency/package.json new file mode 100644 index 0000000..42cbb80 --- /dev/null +++ b/fixtures/intl-currency/package.json @@ -0,0 +1,11 @@ +{ + "name": "@api-viewer-fixtures/intl-currency", + "version": "0.0.0", + "private": true, + "main": "lib/intl-currency.js", + "module": "lib/intl-currency.js", + "dependencies": { + "lit": "^2.0.0", + "tslib": "^2.3.1" + } +} diff --git a/fixtures/intl-currency/tsconfig.json b/fixtures/intl-currency/tsconfig.json new file mode 100644 index 0000000..d8f7a97 --- /dev/null +++ b/fixtures/intl-currency/tsconfig.json @@ -0,0 +1,18 @@ +// Don't edit this file directly. It is generated by /scripts/update-package-configs.ts + +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "module": "ESNext", + "outDir": "./lib", + "rootDir": "./src", + "composite": true + }, + "references": [], + "include": [ + "src" + ], + "exclude": [ + "lib" + ] +} \ No newline at end of file diff --git a/fixtures/progress-bar/package.json b/fixtures/progress-bar/package.json new file mode 100644 index 0000000..05b913c --- /dev/null +++ b/fixtures/progress-bar/package.json @@ -0,0 +1,11 @@ +{ + "name": "@api-viewer-fixtures/progress-bar", + "version": "0.0.0", + "private": true, + "main": "lib/progress-bar.js", + "module": "lib/progress-bar.js", + "dependencies": { + "lit": "^2.0.0", + "tslib": "^2.3.1" + } +} diff --git a/fixtures/progress-bar/tsconfig.json b/fixtures/progress-bar/tsconfig.json new file mode 100644 index 0000000..d8f7a97 --- /dev/null +++ b/fixtures/progress-bar/tsconfig.json @@ -0,0 +1,18 @@ +// Don't edit this file directly. It is generated by /scripts/update-package-configs.ts + +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "module": "ESNext", + "outDir": "./lib", + "rootDir": "./src", + "composite": true + }, + "references": [], + "include": [ + "src" + ], + "exclude": [ + "lib" + ] +} \ No newline at end of file diff --git a/package.json b/package.json index 59408ac..95fc784 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,6 @@ { - "name": "api-viewer-element", + "name": "api-viewer-workspace", + "private": true, "version": "0.6.4", "description": "Web Components API viewer element", "author": "open-wc", @@ -47,13 +48,13 @@ "customElements": "custom-elements.json", "scripts": { "analyze": "cem analyze --litelement --globs 'src/*.ts' --exclude 'src/fixtures/*'", - "build": "tsc", + "build": "tsc --build", "copy": "cp docs/assets/* _site/assets", "dev": "npm run watch & npm run serve", "dist": "npm run fixtures && npm run analyze && patch-package && rocket build && npm run copy", "fixtures": "cem analyze --litelement --outdir docs/assets --globs 'src/fixtures/*.ts'", "lint:css": "stylelint src/**/*.ts", - "lint:eslint": "eslint src --ext .ts", + "lint:eslint": "eslint src scripts", "lint:lit": "lit-analyzer src --strict", "lint": "npm-run-all --parallel lint:*", "prestart": "patch-package", @@ -62,13 +63,9 @@ "size": "size-limit", "size:why": "size-limit --why", "start": "rocket start", + "update:tsconfigs": "node scripts/generate-ts-configs.js", "watch": "tsc-watch" }, - "files": [ - "custom-elements.json", - "lib", - "!lib/fixtures" - ], "dependencies": { "@types/dompurify": "^2.3.1", "@types/marked": "^4.0.0", @@ -89,6 +86,7 @@ "@typescript-eslint/eslint-plugin": "^5.5.0", "@typescript-eslint/parser": "^5.5.0", "@web/dev-server": "^0.1.28", + "deepmerge": "^4.2.2", "eslint": "^8.4.0", "eslint-config-airbnb-base": "^15.0.0", "eslint-config-prettier": "^8.3.0", @@ -100,6 +98,7 @@ "lit-analyzer": "^1.2.1", "npm-run-all": "^4.1.5", "patch-package": "^6.4.7", + "picocolors": "^1.0.0", "postcss-lit": "^0.1.2", "prettier": "^2.5.1", "rimraf": "^3.0.2", @@ -142,5 +141,9 @@ "path": "lib/api-viewer.js", "limit": "38.5 KB" } + ], + "workspaces": [ + "packages/*", + "fixtures/*" ] } diff --git a/packages/api-demo/package.json b/packages/api-demo/package.json new file mode 100644 index 0000000..33e1734 --- /dev/null +++ b/packages/api-demo/package.json @@ -0,0 +1,50 @@ +{ + "name": "@api-viewer/demo", + "version": "0.1.0", + "description": "Web Components API viewer element", + "publishConfig": { + "access": "public" + }, + "author": "open-wc", + "contributors": [ + { + "name" : "Serhii Kulykov", + "email" : "iamkulykov@gmail.com", + "url" : "https://twitter.com/serhiikulykov" + }, + { + "name" : "Benny Powers", + "email" : "web@bennypowers.com", + "url" : "https://twitter.com/PowersBenny" + }, + { + "name" : "Mikhail Bashkirov", + "email" : "bashmish@gmail.com", + "url" : "https://twitter.com/bashmish" + } + ], + "license": "MIT", + "main": "lib/api-demo.js", + "module": "lib/api-demo.js", + "type": "module", + "files": [ + "lib" + ], + "repository": { + "type": "git", + "url": "https://github.com/open-wc/api-viewer-element.git" + }, + "bugs": { + "url": "https://github.com/open-wc/api-viewer-element/issues" + }, + "keywords": [ + "API", + "documentation", + "web-components" + ], + "dependencies": { + "highlight-ts": "9.12.1-2", + "lit": "^2.0.0", + "tslib": "^2.3.1" + } +} diff --git a/packages/api-demo/tsconfig.json b/packages/api-demo/tsconfig.json new file mode 100644 index 0000000..d8f7a97 --- /dev/null +++ b/packages/api-demo/tsconfig.json @@ -0,0 +1,18 @@ +// Don't edit this file directly. It is generated by /scripts/update-package-configs.ts + +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "module": "ESNext", + "outDir": "./lib", + "rootDir": "./src", + "composite": true + }, + "references": [], + "include": [ + "src" + ], + "exclude": [ + "lib" + ] +} \ No newline at end of file diff --git a/packages/api-docs/package.json b/packages/api-docs/package.json new file mode 100644 index 0000000..08745e1 --- /dev/null +++ b/packages/api-docs/package.json @@ -0,0 +1,56 @@ +{ + "name": "@api-viewer/docs", + "version": "0.1.0", + "description": "Web Components API viewer element", + "publishConfig": { + "access": "public" + }, + "author": "open-wc", + "contributors": [ + { + "name" : "Serhii Kulykov", + "email" : "iamkulykov@gmail.com", + "url" : "https://twitter.com/serhiikulykov" + }, + { + "name" : "Benny Powers", + "email" : "web@bennypowers.com", + "url" : "https://twitter.com/PowersBenny" + }, + { + "name" : "Mikhail Bashkirov", + "email" : "bashmish@gmail.com", + "url" : "https://twitter.com/bashmish" + } + ], + "license": "MIT", + "main": "lib/api-docs.js", + "module": "lib/api-docs.js", + "type": "module", + "files": [ + "lib", + "!lib/fixtures" + ], + "repository": { + "type": "git", + "url": "https://github.com/open-wc/api-viewer-element.git" + }, + "bugs": { + "url": "https://github.com/open-wc/api-viewer-element/issues" + }, + "keywords": [ + "API", + "documentation", + "web-components" + ], + "dependencies": { + "@types/dompurify": "^2.3.1", + "@types/marked": "^4.0.0", + "custom-elements-manifest": "^1.0.0", + "dompurify": "^2.3.3", + "highlight-ts": "9.12.1-2", + "lit": "^2.0.0", + "marked": "^4.0.0", + "tslib": "^2.3.1" + } +} diff --git a/packages/api-docs/tsconfig.json b/packages/api-docs/tsconfig.json new file mode 100644 index 0000000..d8f7a97 --- /dev/null +++ b/packages/api-docs/tsconfig.json @@ -0,0 +1,18 @@ +// Don't edit this file directly. It is generated by /scripts/update-package-configs.ts + +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "module": "ESNext", + "outDir": "./lib", + "rootDir": "./src", + "composite": true + }, + "references": [], + "include": [ + "src" + ], + "exclude": [ + "lib" + ] +} \ No newline at end of file diff --git a/packages/api-viewer/package.json b/packages/api-viewer/package.json new file mode 100644 index 0000000..d8c872a --- /dev/null +++ b/packages/api-viewer/package.json @@ -0,0 +1,51 @@ +{ + "name": "api-viewer-element", + "version": "0.6.4", + "description": "Web Components API viewer element", + "publishConfig": { + "access": "public" + }, + "author": "open-wc", + "contributors": [ + { + "name" : "Serhii Kulykov", + "email" : "iamkulykov@gmail.com", + "url" : "https://twitter.com/serhiikulykov" + }, + { + "name" : "Benny Powers", + "email" : "web@bennypowers.com", + "url" : "https://twitter.com/PowersBenny" + }, + { + "name" : "Mikhail Bashkirov", + "email" : "bashmish@gmail.com", + "url" : "https://twitter.com/bashmish" + } + ], + "license": "MIT", + "main": "lib/api-viewer.js", + "module": "lib/api-viewer.js", + "type": "module", + "files": [ + "lib", + "!lib/fixtures" + ], + "repository": { + "type": "git", + "url": "https://github.com/open-wc/api-viewer-element.git" + }, + "bugs": { + "url": "https://github.com/open-wc/api-viewer-element/issues" + }, + "keywords": [ + "API", + "documentation", + "web-components" + ], + "dependencies": { + "@api-viewer/docs": "^0.1.0", + "lit": "^2.0.0", + "tslib": "^2.3.1" + } +} diff --git a/packages/api-viewer/tsconfig.json b/packages/api-viewer/tsconfig.json new file mode 100644 index 0000000..3da457b --- /dev/null +++ b/packages/api-viewer/tsconfig.json @@ -0,0 +1,22 @@ +// Don't edit this file directly. It is generated by /scripts/update-package-configs.ts + +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "module": "ESNext", + "outDir": "./lib", + "rootDir": "./src", + "composite": true + }, + "references": [ + { + "path": "../api-docs/tsconfig.json" + } + ], + "include": [ + "src" + ], + "exclude": [ + "lib" + ] +} \ No newline at end of file diff --git a/scripts/generate-ts-configs.js b/scripts/generate-ts-configs.js new file mode 100644 index 0000000..3ab3c01 --- /dev/null +++ b/scripts/generate-ts-configs.js @@ -0,0 +1,129 @@ +import fs from 'fs'; +import path from 'path'; +import { fileURLToPath } from 'url'; +import merge from 'deepmerge'; +import { packages } from '../workspace-packages.js'; + +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 fixturesRoot = path.join(__dirname, '..', 'fixtures'); + +const packageJSONMap = new Map(); +const packageDirnameMap = new Map(); +const internalDependencyMap = new Map(); + +const isFixture = (str) => !str.includes('api') || str.includes('fixtures'); + +// collect package json for all packages +packages.forEach((pkg) => { + const pkgRoot = isFixture(pkg.name) ? fixturesRoot : packagesRoot; + const packageJSONPath = path.join(pkgRoot, 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((p) => p.name === packageDirname); + const pkgRoot = isFixture(packageDirname) ? fixturesRoot : packagesRoot; + + const pkgDir = path.join(pkgRoot, 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.base.json`, + compilerOptions: { + module: pkg.environment === 'browser' ? 'ESNext' : 'commonjs', + outDir: './lib', + rootDir: './src', + composite: true, + strict: pkg.strict, + 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'], + exclude: ['lib'] + }, + tsConfigOverride, + { arrayMerge: overwriteMerge } + ); + fs.writeFileSync( + tsconfigPath, + TSCONFIG_COMMENT + JSON.stringify(tsconfigData, null, ' ') + ); +}); + +const projectLevelTsconfigPath = path.join(__dirname, '..', 'tsconfig.json'); + +const projectLevelTsconfigData = { + extends: './tsconfig.base.json', + files: [], + references: resolveInternalDependencies( + Array.from(packageDirnameMap.keys()) + ).map((packageName) => { + const folder = isFixture(packageName) ? 'fixtures' : 'packages'; + return { + path: `./${folder}/${packageDirnameMap.get(packageName)}/tsconfig.json` + }; + }) +}; + +fs.writeFileSync( + projectLevelTsconfigPath, + TSCONFIG_COMMENT + JSON.stringify(projectLevelTsconfigData, null, ' ') +); diff --git a/scripts/runWorkspacesScripts.js b/scripts/runWorkspacesScripts.js new file mode 100644 index 0000000..0f4b77b --- /dev/null +++ b/scripts/runWorkspacesScripts.js @@ -0,0 +1,71 @@ +import fs from 'fs'; +import { join, dirname, basename } from 'path'; +import { fileURLToPath } from 'url'; +import concurrently from 'concurrently'; +import pc from 'picocolors'; + +export function runWorkspacesScripts({ + script, + concurrency, + filteredPackages = [] +}) { + const moduleDir = dirname(fileURLToPath(import.meta.url)); + + function findPackagesWithScript(directory) { + const packages = []; + + for (const name of fs.readdirSync(directory)) { + if (!filteredPackages.includes(name)) { + const pkgPath = join(directory, name); + const pkgJsonPath = join(pkgPath, 'package.json'); + + if (fs.existsSync(pkgJsonPath)) { + const pkgJson = JSON.parse(fs.readFileSync(pkgJsonPath, 'utf-8')); + + if (pkgJson && pkgJson.scripts && pkgJson.scripts[script]) { + packages.push(pkgPath); + } + } + } + } + + return packages; + } + + const packagesDir = join(moduleDir, '..', 'packages'); + const packagesWithScript = findPackagesWithScript(packagesDir); + + const commands = packagesWithScript.map((pkgPath) => ({ + name: basename(pkgPath), + command: `cd ${pkgPath} && yarn ${script}` + })); + + concurrently(commands, { maxProcesses: concurrency }) + .then(() => { + console.log( + pc.green( + `Successfully executed command ${pc.yellow( + script + )} for packages: ${pc.yellow(commands.map((c) => c.name).join(', '))}` + ) + ); + console.log(); + }) + .catch((error) => { + if (error instanceof Error) { + console.error(error); + } else if (Array.isArray(error)) { + const count = error.filter((err) => err !== 0).length; + console.log(''); + console.log( + pc.red( + `Failed to execute command ${pc.yellow( + script + )} for ${count} packages. But we don't know which ones, because concurrently doesn't say.` + ) + ); + console.log(); + } + process.exit(1); + }); +} diff --git a/scripts/workspaces-scripts-bin.js b/scripts/workspaces-scripts-bin.js new file mode 100644 index 0000000..6df1688 --- /dev/null +++ b/scripts/workspaces-scripts-bin.js @@ -0,0 +1,4 @@ +import { runWorkspacesScripts } from './runWorkspacesScripts.js'; + +const script = process.argv[process.argv.length - 1]; +runWorkspacesScripts({ script, concurrency: 5 }); diff --git a/tsconfig.base.json b/tsconfig.base.json new file mode 100644 index 0000000..3ffcfce --- /dev/null +++ b/tsconfig.base.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "target": "esNext", + "module": "esNext", + "declaration": true, + "declarationMap": true, + "sourceMap": true, + "inlineSources": true, + "lib": ["esnext", "es2018", "dom"], + "moduleResolution": "node", + "noFallthroughCasesInSwitch": true, + "noImplicitAny": true, + "noImplicitReturns": true, + "noImplicitThis": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "strict": true, + "skipLibCheck": true, + "experimentalDecorators": true, + "allowSyntheticDefaultImports": true, + "useDefineForClassFields": false, + "importHelpers": true + } +} diff --git a/tsconfig.json b/tsconfig.json old mode 100755 new mode 100644 index e435391..309cb9f --- a/tsconfig.json +++ b/tsconfig.json @@ -1,27 +1,29 @@ +// Don't edit this file directly. It is generated by /scripts/update-package-configs.ts + { - "compilerOptions": { - "outDir": "./lib", - "target": "esNext", - "module": "esNext", - "declaration": true, - "declarationMap": true, - "sourceMap": true, - "inlineSources": true, - "lib": ["esnext", "es2017", "dom"], - "moduleResolution": "node", - "noFallthroughCasesInSwitch": true, - "noImplicitAny": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noUnusedLocals": true, - "noUnusedParameters": true, - "strict": true, - "skipLibCheck": true, - "experimentalDecorators": true, - "allowSyntheticDefaultImports": true, - "useDefineForClassFields": false, - "importHelpers": true - }, - "include": ["src/**/*.ts"], - "exclude": ["demo/**/.ts"] -} + "extends": "./tsconfig.base.json", + "files": [], + "references": [ + { + "path": "./packages/api-docs/tsconfig.json" + }, + { + "path": "./packages/api-demo/tsconfig.json" + }, + { + "path": "./packages/api-viewer/tsconfig.json" + }, + { + "path": "./fixtures/expansion-panel/tsconfig.json" + }, + { + "path": "./fixtures/fancy-accordion/tsconfig.json" + }, + { + "path": "./fixtures/intl-currency/tsconfig.json" + }, + { + "path": "./fixtures/progress-bar/tsconfig.json" + } + ] +} \ No newline at end of file diff --git a/workspace-packages.js b/workspace-packages.js new file mode 100644 index 0000000..c2ca020 --- /dev/null +++ b/workspace-packages.js @@ -0,0 +1,11 @@ +const packages = [ + { name: 'api-demo', type: 'ts', environment: 'browser' }, + { name: 'api-docs', type: 'ts', environment: 'browser' }, + { name: 'api-viewer', type: 'ts', environment: 'browser' }, + { name: 'expansion-panel', type: 'ts', environment: 'browser' }, + { name: 'fancy-accordion', type: 'ts', environment: 'browser' }, + { name: 'intl-currency', type: 'ts', environment: 'browser' }, + { name: 'progress-bar', type: 'ts', environment: 'browser' } +]; + +export { packages }; From fce75e6d0924331bbda587a704eba09a2ae71920 Mon Sep 17 00:00:00 2001 From: web-padawan Date: Sat, 18 Dec 2021 20:03:47 +0200 Subject: [PATCH 02/27] chore: split fixtures to own packages --- docs/assets/custom-elements.json | 644 +++++++++++++++--- .../expansion-panel/src}/expansion-panel.ts | 0 .../fancy-accordion/src}/fancy-accordion.ts | 2 +- .../intl-currency/src}/intl-currency.ts | 0 .../progress-bar/src}/progress-bar.ts | 0 package.json | 22 +- 6 files changed, 549 insertions(+), 119 deletions(-) rename {src/fixtures => fixtures/expansion-panel/src}/expansion-panel.ts (100%) rename {src/fixtures => fixtures/fancy-accordion/src}/fancy-accordion.ts (98%) rename {src/fixtures => fixtures/intl-currency/src}/intl-currency.ts (100%) rename {src/fixtures => fixtures/progress-bar/src}/progress-bar.ts (100%) diff --git a/docs/assets/custom-elements.json b/docs/assets/custom-elements.json index 78ee9d9..6ad0a41 100644 --- a/docs/assets/custom-elements.json +++ b/docs/assets/custom-elements.json @@ -4,7 +4,7 @@ "modules": [ { "kind": "javascript-module", - "path": "src/fixtures/expansion-panel.ts", + "path": "fixtures/expansion-panel/src/expansion-panel.ts", "declarations": [ { "kind": "class", @@ -257,7 +257,7 @@ "name": "ExpansionPanel", "declaration": { "name": "ExpansionPanel", - "module": "src/fixtures/expansion-panel.ts" + "module": "fixtures/expansion-panel/src/expansion-panel.ts" } }, { @@ -265,181 +265,249 @@ "name": "expansion-panel", "declaration": { "name": "ExpansionPanel", - "module": "src/fixtures/expansion-panel.ts" + "module": "fixtures/expansion-panel/src/expansion-panel.ts" } } ] }, { "kind": "javascript-module", - "path": "src/fixtures/fancy-accordion.ts", + "path": "fixtures/expansion-panel/lib/expansion-panel.d.ts", "declarations": [ { "kind": "class", - "description": "A custom element implementing the accordion widget: a vertically stacked set of expandable panels\nthat wraps several instances of the `` element. Only one panel can be opened\n(expanded) at a time.\n\nPanel headings function as controls that enable users to open (expand) or hide (collapse) their\nassociated sections of content. The user can toggle panels by mouse click, Enter and Space keys.\n\nThe component supports keyboard navigation and is aligned with the\n[WAI-ARIA Authoring Practices](https://www.w3.org/TR/wai-aria-practices-1.1/#accordion).", - "name": "FancyAccordion", + "description": "A custom element similar to the HTML5 `
` element.", + "name": "ExpansionPanel", + "cssProperties": [ + { + "type": { + "text": "Background" + }, + "description": "Default panel header background color.", + "name": "--panel-header-background", + "default": "#fff" + }, + { + "description": "Panel header minimum height.", + "name": "--panel-header-min-height", + "default": "48px" + }, + { + "type": { + "text": "Background" + }, + "description": "Active toggle button ripple background.", + "name": "--panel-ripple-background", + "default": "rgba(0, 0, 0, 0.38)" + } + ], + "cssParts": [ + { + "description": "An element wrapping the `header` slot.", + "name": "header" + }, + { + "description": "A toggle button, child of the header part.", + "name": "toggle" + }, + { + "description": "An element wrapping the `content` slot.", + "name": "content" + } + ], "slots": [ { - "description": "Slot fot panel elements.", + "description": "Slot fot panel content", "name": "" + }, + { + "description": "Slot for panel header", + "name": "header" } ], "members": [ { "kind": "field", - "name": "openedIndex", + "name": "opened", "type": { - "text": "number | null | undefined" + "text": "boolean | null | undefined" }, - "default": "null", - "description": "Index of the currently opened panel. By default all the panels are closed.\nOnly one panel can be opened at the same time. Setting `null` or `undefined`\ncloses all the accordion panels.", - "attribute": "opened-index" + "description": "When true, the panel content is expanded and visible" }, { "kind": "field", - "name": "_items", + "name": "disabled", "type": { - "text": "ExpansionPanel[]" + "text": "boolean" }, - "privacy": "protected", - "default": "[]" + "description": "Disabled panel can not be expanded or collapsed" }, { "kind": "field", - "name": "_boundOnOpened", - "privacy": "private", - "default": "this._onOpened.bind(this)" + "name": "header", + "type": { + "text": "HTMLDivElement | undefined" + }, + "privacy": "protected" }, { "kind": "field", - "name": "focused", + "name": "_isShiftTabbing", "type": { - "text": "Element | null" - } + "text": "boolean" + }, + "privacy": "protected" }, { - "kind": "method", - "name": "_onKeydown", - "privacy": "private", - "return": { - "type": { - "text": "void" - } + "kind": "field", + "name": "_tabPressed", + "type": { + "text": "boolean" }, - "parameters": [ - { - "name": "event", - "type": { - "text": "KeyboardEvent" - } - } - ] + "privacy": "protected" }, { - "kind": "method", - "name": "_getAvailableIndex", - "privacy": "private", - "return": { - "type": { - "text": "number" - } - }, - "parameters": [ - { - "name": "index", - "optional": true, - "type": { - "text": "number" - } - }, - { - "name": "increment", - "optional": true, - "type": { - "text": "number" - } - } - ] + "kind": "field", + "name": "_boundBodyKeydown", + "privacy": "private" }, { - "kind": "method", - "name": "_onOpened", - "privacy": "private", - "return": { - "type": { - "text": "void" - } - }, - "parameters": [ - { - "name": "e", - "type": { - "text": "CustomEvent" - } - } - ] + "kind": "field", + "name": "_boundBodyKeyup", + "privacy": "private" }, { "kind": "method", - "name": "_notifyOpen", - "privacy": "private", + "name": "focus", "return": { "type": { "text": "void" } } + }, + { + "kind": "field", + "name": "_setFocused", + "privacy": "private" + }, + { + "kind": "field", + "name": "_onToggleClick", + "privacy": "private" + }, + { + "kind": "field", + "name": "_onToggleKeyDown", + "privacy": "private" + }, + { + "kind": "field", + "name": "_onBodyKeydown", + "privacy": "private" + }, + { + "kind": "field", + "name": "_onBodyKeyup", + "privacy": "private" } ], "events": [ { - "name": "opened-index-changed", - "type": { - "text": "CustomEvent" - }, - "description": "Event fired when changing currently opened panel." + "description": "Event fired when expanding / collapsing", + "name": "opened-changed" } ], "attributes": [ { - "name": "opened-index", "type": { - "text": "number | null | undefined" + "text": "boolean" }, - "default": "null", - "description": "Index of the currently opened panel. By default all the panels are closed.\nOnly one panel can be opened at the same time. Setting `null` or `undefined`\ncloses all the accordion panels.", - "fieldName": "openedIndex" + "description": "State attribute set when element has focus.", + "name": "focused" + }, + { + "type": { + "text": "boolean" + }, + "description": "State attribute set when focused from keyboard.", + "name": "focus-ring" } ], "superclass": { "name": "LitElement", "package": "lit" }, - "tagName": "fancy-accordion", + "tagName": "expansion-panel", "customElement": true } ], "exports": [ { "kind": "js", - "name": "FancyAccordion", + "name": "ExpansionPanel", "declaration": { - "name": "FancyAccordion", - "module": "src/fixtures/fancy-accordion.ts" + "name": "ExpansionPanel", + "module": "fixtures/expansion-panel/lib/expansion-panel.d.ts" } - }, + } + ] + }, + { + "kind": "javascript-module", + "path": "fixtures/intl-currency/lib/intl-currency.d.ts", + "declarations": [ { - "kind": "custom-element-definition", - "name": "fancy-accordion", + "kind": "class", + "description": "A custom element that formats currency using Intl.", + "name": "IntlCurrency", + "members": [ + { + "kind": "field", + "name": "value", + "type": { + "text": "number" + }, + "description": "Amount to be formatted." + }, + { + "kind": "field", + "name": "currency", + "type": { + "text": "string | null | undefined" + }, + "description": "Currency code used for formatting." + }, + { + "kind": "field", + "name": "locale", + "type": { + "text": "string | null | undefined" + }, + "description": "Locale code used for formatting." + } + ], + "superclass": { + "name": "LitElement", + "package": "lit" + }, + "tagName": "intl-currency", + "customElement": true + } + ], + "exports": [ + { + "kind": "js", + "name": "IntlCurrency", "declaration": { - "name": "FancyAccordion", - "module": "src/fixtures/fancy-accordion.ts" + "name": "IntlCurrency", + "module": "fixtures/intl-currency/lib/intl-currency.d.ts" } } ] }, { "kind": "javascript-module", - "path": "src/fixtures/intl-currency.ts", + "path": "fixtures/intl-currency/src/intl-currency.ts", "declarations": [ { "kind": "class", @@ -520,22 +588,128 @@ "name": "IntlCurrency", "declaration": { "name": "IntlCurrency", - "module": "src/fixtures/intl-currency.ts" + "module": "fixtures/intl-currency/src/intl-currency.ts" } }, { - "kind": "custom-element-definition", - "name": "intl-currency", + "kind": "custom-element-definition", + "name": "intl-currency", + "declaration": { + "name": "IntlCurrency", + "module": "fixtures/intl-currency/src/intl-currency.ts" + } + } + ] + }, + { + "kind": "javascript-module", + "path": "fixtures/progress-bar/lib/progress-bar.d.ts", + "declarations": [ + { + "kind": "class", + "description": "A custom element similar to the HTML5 `` element.", + "name": "ProgressBar", + "cssProperties": [ + { + "type": { + "text": "Color" + }, + "description": "Color of the filled progress bar part.", + "name": "--progress-bar-fill-color", + "default": "#6200ee" + }, + { + "description": "Opacity set on the underlying track.", + "name": "--progress-bar-opacity", + "default": "0.16" + } + ], + "cssParts": [ + { + "description": "A progress bar background.", + "name": "bar" + }, + { + "description": "A progress bar foreground.", + "name": "value" + } + ], + "members": [ + { + "kind": "field", + "name": "value", + "type": { + "text": "number" + }, + "description": "Current progress value." + }, + { + "kind": "field", + "name": "min", + "type": { + "text": "number" + }, + "description": "Minimum bound of the progress bar." + }, + { + "kind": "field", + "name": "max", + "type": { + "text": "number" + }, + "description": "Maximum bound of the progress bar." + }, + { + "kind": "field", + "name": "indeterminate", + "type": { + "text": "boolean" + }, + "description": "Indeterminate state of the progress bar.\nThis property takes precedence over other state properties (min, max, value)." + }, + { + "kind": "field", + "name": "_normalizedValueChanged", + "privacy": "private" + }, + { + "kind": "field", + "name": "_valueChanged", + "privacy": "private" + }, + { + "kind": "field", + "name": "_minChanged", + "privacy": "private" + }, + { + "kind": "field", + "name": "_maxChanged", + "privacy": "private" + } + ], + "superclass": { + "name": "LitElement", + "package": "lit" + }, + "tagName": "progress-bar", + "customElement": true + } + ], + "exports": [ + { + "kind": "js", + "name": "ProgressBar", "declaration": { - "name": "IntlCurrency", - "module": "src/fixtures/intl-currency.ts" + "name": "ProgressBar", + "module": "fixtures/progress-bar/lib/progress-bar.d.ts" } } ] }, { "kind": "javascript-module", - "path": "src/fixtures/progress-bar.ts", + "path": "fixtures/progress-bar/src/progress-bar.ts", "declarations": [ { "kind": "class", @@ -745,7 +919,7 @@ "name": "ProgressBar", "declaration": { "name": "ProgressBar", - "module": "src/fixtures/progress-bar.ts" + "module": "fixtures/progress-bar/src/progress-bar.ts" } }, { @@ -753,7 +927,263 @@ "name": "progress-bar", "declaration": { "name": "ProgressBar", - "module": "src/fixtures/progress-bar.ts" + "module": "fixtures/progress-bar/src/progress-bar.ts" + } + } + ] + }, + { + "kind": "javascript-module", + "path": "fixtures/fancy-accordion/lib/fancy-accordion.d.ts", + "declarations": [ + { + "kind": "class", + "description": "A custom element implementing the accordion widget: a vertically stacked set of expandable panels\nthat wraps several instances of the `` element. Only one panel can be opened\n(expanded) at a time.\n\nPanel headings function as controls that enable users to open (expand) or hide (collapse) their\nassociated sections of content. The user can toggle panels by mouse click, Enter and Space keys.\n\nThe component supports keyboard navigation and is aligned with the\n[WAI-ARIA Authoring Practices](https://www.w3.org/TR/wai-aria-practices-1.1/#accordion).", + "name": "FancyAccordion", + "slots": [ + { + "description": "Slot fot panel elements.", + "name": "" + } + ], + "members": [ + { + "kind": "field", + "name": "openedIndex", + "type": { + "text": "number | null | undefined" + }, + "description": "Index of the currently opened panel. By default all the panels are closed.\nOnly one panel can be opened at the same time. Setting `null` or `undefined`\ncloses all the accordion panels." + }, + { + "kind": "field", + "name": "_items", + "type": { + "text": "ExpansionPanel[]" + }, + "privacy": "protected" + }, + { + "kind": "field", + "name": "_boundOnOpened", + "privacy": "private" + }, + { + "kind": "field", + "name": "focused", + "type": { + "text": "Element | null" + } + }, + { + "kind": "field", + "name": "_onKeydown", + "privacy": "private" + }, + { + "kind": "field", + "name": "_getAvailableIndex", + "privacy": "private" + }, + { + "kind": "field", + "name": "_onOpened", + "privacy": "private" + }, + { + "kind": "field", + "name": "_notifyOpen", + "privacy": "private" + } + ], + "events": [ + { + "description": "Event fired when changing currently opened panel.", + "name": "opened-index-changed" + } + ], + "superclass": { + "name": "LitElement", + "package": "lit" + }, + "tagName": "fancy-accordion", + "customElement": true + } + ], + "exports": [ + { + "kind": "js", + "name": "FancyAccordion", + "declaration": { + "name": "FancyAccordion", + "module": "fixtures/fancy-accordion/lib/fancy-accordion.d.ts" + } + } + ] + }, + { + "kind": "javascript-module", + "path": "fixtures/fancy-accordion/src/fancy-accordion.ts", + "declarations": [ + { + "kind": "class", + "description": "A custom element implementing the accordion widget: a vertically stacked set of expandable panels\nthat wraps several instances of the `` element. Only one panel can be opened\n(expanded) at a time.\n\nPanel headings function as controls that enable users to open (expand) or hide (collapse) their\nassociated sections of content. The user can toggle panels by mouse click, Enter and Space keys.\n\nThe component supports keyboard navigation and is aligned with the\n[WAI-ARIA Authoring Practices](https://www.w3.org/TR/wai-aria-practices-1.1/#accordion).", + "name": "FancyAccordion", + "slots": [ + { + "description": "Slot fot panel elements.", + "name": "" + } + ], + "members": [ + { + "kind": "field", + "name": "openedIndex", + "type": { + "text": "number | null | undefined" + }, + "default": "null", + "description": "Index of the currently opened panel. By default all the panels are closed.\nOnly one panel can be opened at the same time. Setting `null` or `undefined`\ncloses all the accordion panels.", + "attribute": "opened-index" + }, + { + "kind": "field", + "name": "_items", + "type": { + "text": "ExpansionPanel[]" + }, + "privacy": "protected", + "default": "[]" + }, + { + "kind": "field", + "name": "_boundOnOpened", + "privacy": "private", + "default": "this._onOpened.bind(this)" + }, + { + "kind": "field", + "name": "focused", + "type": { + "text": "Element | null" + } + }, + { + "kind": "method", + "name": "_onKeydown", + "privacy": "private", + "return": { + "type": { + "text": "void" + } + }, + "parameters": [ + { + "name": "event", + "type": { + "text": "KeyboardEvent" + } + } + ] + }, + { + "kind": "method", + "name": "_getAvailableIndex", + "privacy": "private", + "return": { + "type": { + "text": "number" + } + }, + "parameters": [ + { + "name": "index", + "optional": true, + "type": { + "text": "number" + } + }, + { + "name": "increment", + "optional": true, + "type": { + "text": "number" + } + } + ] + }, + { + "kind": "method", + "name": "_onOpened", + "privacy": "private", + "return": { + "type": { + "text": "void" + } + }, + "parameters": [ + { + "name": "e", + "type": { + "text": "CustomEvent" + } + } + ] + }, + { + "kind": "method", + "name": "_notifyOpen", + "privacy": "private", + "return": { + "type": { + "text": "void" + } + } + } + ], + "events": [ + { + "name": "opened-index-changed", + "type": { + "text": "CustomEvent" + }, + "description": "Event fired when changing currently opened panel." + } + ], + "attributes": [ + { + "name": "opened-index", + "type": { + "text": "number | null | undefined" + }, + "default": "null", + "description": "Index of the currently opened panel. By default all the panels are closed.\nOnly one panel can be opened at the same time. Setting `null` or `undefined`\ncloses all the accordion panels.", + "fieldName": "openedIndex" + } + ], + "superclass": { + "name": "LitElement", + "package": "lit" + }, + "tagName": "fancy-accordion", + "customElement": true + } + ], + "exports": [ + { + "kind": "js", + "name": "FancyAccordion", + "declaration": { + "name": "FancyAccordion", + "module": "fixtures/fancy-accordion/src/fancy-accordion.ts" + } + }, + { + "kind": "custom-element-definition", + "name": "fancy-accordion", + "declaration": { + "name": "FancyAccordion", + "module": "fixtures/fancy-accordion/src/fancy-accordion.ts" } } ] diff --git a/src/fixtures/expansion-panel.ts b/fixtures/expansion-panel/src/expansion-panel.ts similarity index 100% rename from src/fixtures/expansion-panel.ts rename to fixtures/expansion-panel/src/expansion-panel.ts diff --git a/src/fixtures/fancy-accordion.ts b/fixtures/fancy-accordion/src/fancy-accordion.ts similarity index 98% rename from src/fixtures/fancy-accordion.ts rename to fixtures/fancy-accordion/src/fancy-accordion.ts index 14335d3..0cfe8f8 100644 --- a/src/fixtures/fancy-accordion.ts +++ b/fixtures/fancy-accordion/src/fancy-accordion.ts @@ -1,7 +1,7 @@ import { LitElement, html, css, PropertyValues, TemplateResult } from 'lit'; import { customElement } from 'lit/decorators/custom-element.js'; import { property } from 'lit/decorators/property.js'; -import { ExpansionPanel } from './expansion-panel.js'; +import { ExpansionPanel } from '@api-viewer-fixtures/expansion-panel/'; /** * A custom element implementing the accordion widget: a vertically stacked set of expandable panels diff --git a/src/fixtures/intl-currency.ts b/fixtures/intl-currency/src/intl-currency.ts similarity index 100% rename from src/fixtures/intl-currency.ts rename to fixtures/intl-currency/src/intl-currency.ts diff --git a/src/fixtures/progress-bar.ts b/fixtures/progress-bar/src/progress-bar.ts similarity index 100% rename from src/fixtures/progress-bar.ts rename to fixtures/progress-bar/src/progress-bar.ts diff --git a/package.json b/package.json index 95fc784..10e5569 100644 --- a/package.json +++ b/package.json @@ -6,19 +6,19 @@ "author": "open-wc", "contributors": [ { - "name" : "Serhii Kulykov", - "email" : "iamkulykov@gmail.com", - "url" : "https://twitter.com/serhiikulykov" + "name": "Serhii Kulykov", + "email": "iamkulykov@gmail.com", + "url": "https://twitter.com/serhiikulykov" }, { - "name" : "Benny Powers", - "email" : "web@bennypowers.com", - "url" : "https://twitter.com/PowersBenny" + "name": "Benny Powers", + "email": "web@bennypowers.com", + "url": "https://twitter.com/PowersBenny" }, { - "name" : "Mikhail Bashkirov", - "email" : "bashmish@gmail.com", - "url" : "https://twitter.com/bashmish" + "name": "Mikhail Bashkirov", + "email": "bashmish@gmail.com", + "url": "https://twitter.com/bashmish" } ], "license": "MIT", @@ -45,14 +45,14 @@ "engines": { "node": "^14.13.1 || >=16.0.0" }, - "customElements": "custom-elements.json", + "customElements": "docs/assets/custom-elements.json", "scripts": { "analyze": "cem analyze --litelement --globs 'src/*.ts' --exclude 'src/fixtures/*'", "build": "tsc --build", "copy": "cp docs/assets/* _site/assets", "dev": "npm run watch & npm run serve", "dist": "npm run fixtures && npm run analyze && patch-package && rocket build && npm run copy", - "fixtures": "cem analyze --litelement --outdir docs/assets --globs 'src/fixtures/*.ts'", + "fixtures": "cem analyze --litelement --outdir docs/assets --globs 'fixtures/**/*.ts'", "lint:css": "stylelint src/**/*.ts", "lint:eslint": "eslint src scripts", "lint:lit": "lit-analyzer src --strict", From 1a88b150edee65b3f3d7ef29bdc8a06926bf666a Mon Sep 17 00:00:00 2001 From: web-padawan Date: Fri, 31 Dec 2021 13:10:11 +0200 Subject: [PATCH 03/27] chore: convert project to monorepo --- .gitignore | 4 +- docs/assets/custom-elements.json | 244 +++++++++--------- docs/docs/examples/api-demo.md | 10 +- docs/docs/examples/api-docs.md | 2 +- docs/docs/examples/api-viewer.md | 10 +- docs/docs/examples/theming.md | 10 +- fixtures/fancy-accordion/tsconfig.json | 6 +- package.json | 10 - packages/api-common/package.json | 50 ++++ packages/api-common/src/index.ts | 3 + .../api-common/src/manifest-mixin.ts | 12 +- .../api-common/src}/manifest.ts | 0 .../api-common/src}/shared-styles.ts | 0 .../api-common/src/templates.ts | 0 packages/api-common/src/utils.ts | 10 + packages/api-common/tsconfig.json | 18 ++ packages/api-demo/package.json | 2 + {src => packages/api-demo/src}/api-demo.ts | 8 +- .../api-demo/src/base.ts | 7 +- .../src}/controllers/events-controller.ts | 4 +- .../src}/controllers/slots-controller.ts | 7 +- .../src}/controllers/styles-controller.ts | 7 +- .../api-demo/src/layout.ts | 29 ++- .../api-demo/src/styles.ts | 62 ++++- .../api-demo/src/ui/controls.ts | 8 +- .../api-demo/src/ui/events.ts | 0 .../api-demo/src/ui}/highlight-css.ts | 0 .../lib => packages/api-demo/src/ui}/knobs.ts | 4 +- .../api-demo/src/ui}/renderer.ts | 4 +- .../api-demo/src/ui/snippet.ts | 8 +- packages/api-demo/tsconfig.json | 6 +- packages/api-docs/package.json | 4 +- {src => packages/api-docs/src}/api-docs.ts | 6 +- .../api-docs/src/base.ts | 9 +- .../api-docs/src/layout.ts | 19 +- .../api-docs/src/styles.ts | 2 +- .../api-docs/src/utils}/markdown.ts | 0 packages/api-docs/tsconfig.json | 6 +- packages/api-tabs/package.json | 49 ++++ .../api-tabs/src}/api-viewer-panel.ts | 0 .../api-tabs/src}/api-viewer-tab.ts | 0 .../api-tabs/src}/api-viewer-tabs.ts | 3 +- packages/api-tabs/tsconfig.json | 18 ++ packages/api-viewer/package.json | 2 + .../api-viewer/src}/api-viewer.ts | 6 +- .../api-viewer/src/base.ts | 23 +- .../api-viewer/src/styles.ts | 6 +- packages/api-viewer/tsconfig.json | 6 + src/styles/highlight-styles.ts | 60 ----- tsconfig.json | 10 +- workspace-packages.js | 2 + 51 files changed, 477 insertions(+), 299 deletions(-) create mode 100644 packages/api-common/package.json create mode 100644 packages/api-common/src/index.ts rename src/api-viewer-mixin.ts => packages/api-common/src/manifest-mixin.ts (79%) rename {src/lib => packages/api-common/src}/manifest.ts (100%) rename {src/styles => packages/api-common/src}/shared-styles.ts (100%) rename src/lib/utils.ts => packages/api-common/src/templates.ts (100%) create mode 100644 packages/api-common/src/utils.ts create mode 100644 packages/api-common/tsconfig.json rename {src => packages/api-demo/src}/api-demo.ts (69%) rename src/api-demo-base.ts => packages/api-demo/src/base.ts (92%) rename {src => packages/api-demo/src}/controllers/events-controller.ts (92%) rename {src => packages/api-demo/src}/controllers/slots-controller.ts (92%) rename {src => packages/api-demo/src}/controllers/styles-controller.ts (93%) rename src/api-viewer-demo.ts => packages/api-demo/src/layout.ts (94%) rename src/styles/demo-styles.ts => packages/api-demo/src/styles.ts (72%) rename src/lib/demo-controls.ts => packages/api-demo/src/ui/controls.ts (95%) rename src/lib/demo-events.ts => packages/api-demo/src/ui/events.ts (100%) rename {src/lib => packages/api-demo/src/ui}/highlight-css.ts (100%) rename {src/lib => packages/api-demo/src/ui}/knobs.ts (96%) rename {src/lib => packages/api-demo/src/ui}/renderer.ts (99%) rename src/lib/demo-snippet.ts => packages/api-demo/src/ui/snippet.ts (97%) rename {src => packages/api-docs/src}/api-docs.ts (61%) rename src/api-docs-base.ts => packages/api-docs/src/base.ts (89%) rename src/api-viewer-docs.ts => packages/api-docs/src/layout.ts (94%) rename src/styles/docs-styles.ts => packages/api-docs/src/styles.ts (98%) rename {src/lib => packages/api-docs/src/utils}/markdown.ts (100%) create mode 100644 packages/api-tabs/package.json rename {src => packages/api-tabs/src}/api-viewer-panel.ts (100%) rename {src => packages/api-tabs/src}/api-viewer-tab.ts (100%) rename {src => packages/api-tabs/src}/api-viewer-tabs.ts (98%) create mode 100644 packages/api-tabs/tsconfig.json rename {src => packages/api-viewer/src}/api-viewer.ts (76%) rename src/api-viewer-base.ts => packages/api-viewer/src/base.ts (88%) rename src/styles/viewer-styles.ts => packages/api-viewer/src/styles.ts (55%) delete mode 100644 src/styles/highlight-styles.ts diff --git a/.gitignore b/.gitignore index 2748940..df27c7d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,7 @@ node_modules /lib -/fixtures/**/lib -/packages/**/lib +/fixtures/*/lib +/packages/*/lib /**/*.tsbuildinfo /dist /custom-elements.json diff --git a/docs/assets/custom-elements.json b/docs/assets/custom-elements.json index 6ad0a41..57f50d1 100644 --- a/docs/assets/custom-elements.json +++ b/docs/assets/custom-elements.json @@ -4,7 +4,7 @@ "modules": [ { "kind": "javascript-module", - "path": "fixtures/expansion-panel/src/expansion-panel.ts", + "path": "fixtures/expansion-panel/lib/expansion-panel.d.ts", "declarations": [ { "kind": "class", @@ -64,10 +64,7 @@ "type": { "text": "boolean | null | undefined" }, - "default": "false", - "description": "When true, the panel content is expanded and visible", - "attribute": "opened", - "reflects": true + "description": "When true, the panel content is expanded and visible" }, { "kind": "field", @@ -75,10 +72,7 @@ "type": { "text": "boolean" }, - "default": "false", - "description": "Disabled panel can not be expanded or collapsed", - "attribute": "disabled", - "reflects": true + "description": "Disabled panel can not be expanded or collapsed" }, { "kind": "field", @@ -94,8 +88,7 @@ "type": { "text": "boolean" }, - "privacy": "protected", - "default": "false" + "privacy": "protected" }, { "kind": "field", @@ -103,8 +96,7 @@ "type": { "text": "boolean" }, - "privacy": "protected", - "default": "false" + "privacy": "protected" }, { "kind": "field", @@ -126,87 +118,35 @@ } }, { - "kind": "method", + "kind": "field", "name": "_setFocused", - "privacy": "private", - "return": { - "type": { - "text": "void" - } - }, - "parameters": [ - { - "name": "focused", - "type": { - "text": "boolean" - } - } - ] + "privacy": "private" }, { - "kind": "method", + "kind": "field", "name": "_onToggleClick", - "privacy": "private", - "return": { - "type": { - "text": "void" - } - } + "privacy": "private" }, { - "kind": "method", + "kind": "field", "name": "_onToggleKeyDown", - "privacy": "private", - "return": { - "type": { - "text": "void" - } - }, - "parameters": [ - { - "name": "e", - "type": { - "text": "KeyboardEvent" - } - } - ] + "privacy": "private" }, { - "kind": "method", + "kind": "field", "name": "_onBodyKeydown", - "privacy": "private", - "return": { - "type": { - "text": "void" - } - }, - "parameters": [ - { - "name": "e", - "type": { - "text": "KeyboardEvent" - } - } - ] + "privacy": "private" }, { - "kind": "method", + "kind": "field", "name": "_onBodyKeyup", - "privacy": "private", - "return": { - "type": { - "text": "void" - } - } + "privacy": "private" } ], "events": [ { - "name": "opened-changed", - "type": { - "text": "CustomEvent" - }, - "description": "Event fired when expanding / collapsing" + "description": "Event fired when expanding / collapsing", + "name": "opened-changed" } ], "attributes": [ @@ -223,24 +163,6 @@ }, "description": "State attribute set when focused from keyboard.", "name": "focus-ring" - }, - { - "name": "opened", - "type": { - "text": "boolean | null | undefined" - }, - "default": "false", - "description": "When true, the panel content is expanded and visible", - "fieldName": "opened" - }, - { - "name": "disabled", - "type": { - "text": "boolean" - }, - "default": "false", - "description": "Disabled panel can not be expanded or collapsed", - "fieldName": "disabled" } ], "superclass": { @@ -257,22 +179,14 @@ "name": "ExpansionPanel", "declaration": { "name": "ExpansionPanel", - "module": "fixtures/expansion-panel/src/expansion-panel.ts" - } - }, - { - "kind": "custom-element-definition", - "name": "expansion-panel", - "declaration": { - "name": "ExpansionPanel", - "module": "fixtures/expansion-panel/src/expansion-panel.ts" + "module": "fixtures/expansion-panel/lib/expansion-panel.d.ts" } } ] }, { "kind": "javascript-module", - "path": "fixtures/expansion-panel/lib/expansion-panel.d.ts", + "path": "fixtures/expansion-panel/src/expansion-panel.ts", "declarations": [ { "kind": "class", @@ -332,7 +246,10 @@ "type": { "text": "boolean | null | undefined" }, - "description": "When true, the panel content is expanded and visible" + "default": "false", + "description": "When true, the panel content is expanded and visible", + "attribute": "opened", + "reflects": true }, { "kind": "field", @@ -340,7 +257,10 @@ "type": { "text": "boolean" }, - "description": "Disabled panel can not be expanded or collapsed" + "default": "false", + "description": "Disabled panel can not be expanded or collapsed", + "attribute": "disabled", + "reflects": true }, { "kind": "field", @@ -356,7 +276,8 @@ "type": { "text": "boolean" }, - "privacy": "protected" + "privacy": "protected", + "default": "false" }, { "kind": "field", @@ -364,7 +285,8 @@ "type": { "text": "boolean" }, - "privacy": "protected" + "privacy": "protected", + "default": "false" }, { "kind": "field", @@ -386,35 +308,87 @@ } }, { - "kind": "field", + "kind": "method", "name": "_setFocused", - "privacy": "private" + "privacy": "private", + "return": { + "type": { + "text": "void" + } + }, + "parameters": [ + { + "name": "focused", + "type": { + "text": "boolean" + } + } + ] }, { - "kind": "field", + "kind": "method", "name": "_onToggleClick", - "privacy": "private" + "privacy": "private", + "return": { + "type": { + "text": "void" + } + } }, { - "kind": "field", + "kind": "method", "name": "_onToggleKeyDown", - "privacy": "private" + "privacy": "private", + "return": { + "type": { + "text": "void" + } + }, + "parameters": [ + { + "name": "e", + "type": { + "text": "KeyboardEvent" + } + } + ] }, { - "kind": "field", + "kind": "method", "name": "_onBodyKeydown", - "privacy": "private" + "privacy": "private", + "return": { + "type": { + "text": "void" + } + }, + "parameters": [ + { + "name": "e", + "type": { + "text": "KeyboardEvent" + } + } + ] }, { - "kind": "field", + "kind": "method", "name": "_onBodyKeyup", - "privacy": "private" + "privacy": "private", + "return": { + "type": { + "text": "void" + } + } } ], "events": [ { - "description": "Event fired when expanding / collapsing", - "name": "opened-changed" + "name": "opened-changed", + "type": { + "text": "CustomEvent" + }, + "description": "Event fired when expanding / collapsing" } ], "attributes": [ @@ -431,6 +405,24 @@ }, "description": "State attribute set when focused from keyboard.", "name": "focus-ring" + }, + { + "name": "opened", + "type": { + "text": "boolean | null | undefined" + }, + "default": "false", + "description": "When true, the panel content is expanded and visible", + "fieldName": "opened" + }, + { + "name": "disabled", + "type": { + "text": "boolean" + }, + "default": "false", + "description": "Disabled panel can not be expanded or collapsed", + "fieldName": "disabled" } ], "superclass": { @@ -447,7 +439,15 @@ "name": "ExpansionPanel", "declaration": { "name": "ExpansionPanel", - "module": "fixtures/expansion-panel/lib/expansion-panel.d.ts" + "module": "fixtures/expansion-panel/src/expansion-panel.ts" + } + }, + { + "kind": "custom-element-definition", + "name": "expansion-panel", + "declaration": { + "name": "ExpansionPanel", + "module": "fixtures/expansion-panel/src/expansion-panel.ts" } } ] diff --git a/docs/docs/examples/api-demo.md b/docs/docs/examples/api-demo.md index e4dae09..db13c95 100644 --- a/docs/docs/examples/api-demo.md +++ b/docs/docs/examples/api-demo.md @@ -2,11 +2,11 @@ ```js script import { html } from '@mdjs/mdjs-preview'; -import '../../../lib/api-demo.js'; -import '../../../lib/fixtures/expansion-panel.js'; -import '../../../lib/fixtures/fancy-accordion.js'; -import '../../../lib/fixtures/intl-currency.js'; -import '../../../lib/fixtures/progress-bar.js'; +import '../../../packages/api-demo/lib/api-demo.js'; +import '../../../fixtures/expansion-panel/lib/expansion-panel.js'; +import '../../../fixtures/fancy-accordion/lib/fancy-accordion.js'; +import '../../../fixtures/intl-currency/lib/intl-currency.js'; +import '../../../fixtures/progress-bar/lib/progress-bar.js'; ``` ```html preview-story diff --git a/docs/docs/examples/api-docs.md b/docs/docs/examples/api-docs.md index ba8a9fc..48c625b 100644 --- a/docs/docs/examples/api-docs.md +++ b/docs/docs/examples/api-docs.md @@ -2,7 +2,7 @@ ```js script import { html } from '@mdjs/mdjs-preview'; -import '../../../lib/api-docs.js'; +import '../../../packages/api-docs/lib/api-docs.js'; ``` ```html preview-story diff --git a/docs/docs/examples/api-viewer.md b/docs/docs/examples/api-viewer.md index e438910..1f6dbe9 100644 --- a/docs/docs/examples/api-viewer.md +++ b/docs/docs/examples/api-viewer.md @@ -2,11 +2,11 @@ ```js script import { html } from '@mdjs/mdjs-preview'; -import '../../../lib/api-viewer.js'; -import '../../../lib/fixtures/expansion-panel.js'; -import '../../../lib/fixtures/fancy-accordion.js'; -import '../../../lib/fixtures/intl-currency.js'; -import '../../../lib/fixtures/progress-bar.js'; +import '../../../packages/api-viewer/lib/api-viewer.js'; +import '../../../fixtures/expansion-panel/lib/expansion-panel.js'; +import '../../../fixtures/fancy-accordion/lib/fancy-accordion.js'; +import '../../../fixtures/intl-currency/lib/intl-currency.js'; +import '../../../fixtures/progress-bar/lib/progress-bar.js'; ``` ```html preview-story diff --git a/docs/docs/examples/theming.md b/docs/docs/examples/theming.md index 13b9ef8..1db1f95 100644 --- a/docs/docs/examples/theming.md +++ b/docs/docs/examples/theming.md @@ -2,11 +2,11 @@ ```js script import { html } from '@mdjs/mdjs-preview'; -import '../../../lib/api-viewer.js'; -import '../../../lib/fixtures/expansion-panel.js'; -import '../../../lib/fixtures/fancy-accordion.js'; -import '../../../lib/fixtures/intl-currency.js'; -import '../../../lib/fixtures/progress-bar.js'; +import '../../../packages/api-viewer/lib/api-viewer.js'; +import '../../../fixtures/expansion-panel/lib/expansion-panel.js'; +import '../../../fixtures/fancy-accordion/lib/fancy-accordion.js'; +import '../../../fixtures/intl-currency/lib/intl-currency.js'; +import '../../../fixtures/progress-bar/lib/progress-bar.js'; ``` ```html preview-story diff --git a/fixtures/fancy-accordion/tsconfig.json b/fixtures/fancy-accordion/tsconfig.json index d8f7a97..2683df8 100644 --- a/fixtures/fancy-accordion/tsconfig.json +++ b/fixtures/fancy-accordion/tsconfig.json @@ -8,7 +8,11 @@ "rootDir": "./src", "composite": true }, - "references": [], + "references": [ + { + "path": "../expansion-panel/tsconfig.json" + } + ], "include": [ "src" ], diff --git a/package.json b/package.json index 10e5569..7c6e985 100644 --- a/package.json +++ b/package.json @@ -66,16 +66,6 @@ "update:tsconfigs": "node scripts/generate-ts-configs.js", "watch": "tsc-watch" }, - "dependencies": { - "@types/dompurify": "^2.3.1", - "@types/marked": "^4.0.0", - "custom-elements-manifest": "^1.0.0", - "dompurify": "^2.3.3", - "highlight-ts": "9.12.1-2", - "lit": "^2.0.0", - "marked": "^4.0.0", - "tslib": "^2.3.1" - }, "devDependencies": { "@custom-elements-manifest/analyzer": "^0.5.7", "@rocket/cli": "^0.10.1", diff --git a/packages/api-common/package.json b/packages/api-common/package.json new file mode 100644 index 0000000..979fe65 --- /dev/null +++ b/packages/api-common/package.json @@ -0,0 +1,50 @@ +{ + "name": "@api-viewer/common", + "version": "0.1.0", + "description": "Web Components API viewer element", + "publishConfig": { + "access": "public" + }, + "author": "open-wc", + "contributors": [ + { + "name" : "Serhii Kulykov", + "email" : "iamkulykov@gmail.com", + "url" : "https://twitter.com/serhiikulykov" + }, + { + "name" : "Benny Powers", + "email" : "web@bennypowers.com", + "url" : "https://twitter.com/PowersBenny" + }, + { + "name" : "Mikhail Bashkirov", + "email" : "bashmish@gmail.com", + "url" : "https://twitter.com/bashmish" + } + ], + "license": "MIT", + "main": "lib/index.js", + "module": "lib/index.js", + "type": "module", + "files": [ + "lib" + ], + "repository": { + "type": "git", + "url": "https://github.com/open-wc/api-viewer-element.git" + }, + "bugs": { + "url": "https://github.com/open-wc/api-viewer-element/issues" + }, + "keywords": [ + "API", + "documentation", + "web-components" + ], + "dependencies": { + "custom-elements-manifest": "^1.0.0", + "lit": "^2.0.0", + "tslib": "^2.3.1" + } +} diff --git a/packages/api-common/src/index.ts b/packages/api-common/src/index.ts new file mode 100644 index 0000000..57875b4 --- /dev/null +++ b/packages/api-common/src/index.ts @@ -0,0 +1,3 @@ +export * from './manifest.js'; +export * from './manifest-mixin.js'; +export * from './utils.js'; diff --git a/src/api-viewer-mixin.ts b/packages/api-common/src/manifest-mixin.ts similarity index 79% rename from src/api-viewer-mixin.ts rename to packages/api-common/src/manifest-mixin.ts index 0d38ac5..83b18eb 100644 --- a/src/api-viewer-mixin.ts +++ b/packages/api-common/src/manifest-mixin.ts @@ -1,11 +1,11 @@ import { LitElement, html } from 'lit'; import { property } from 'lit/decorators/property.js'; -import { fetchManifest, hasCustomElements, Package } from './lib/manifest.js'; +import { fetchManifest, hasCustomElements, Package } from './manifest.js'; /* eslint-disable @typescript-eslint/no-explicit-any */ export type Constructor = new (...args: any[]) => T; -export interface ApiViewerInterface { +export interface ManifestMixinInterface { src?: string; manifest?: Package; @@ -19,10 +19,10 @@ export const emptyDataWarning = html`
No custom elements found in the JSON file.
`; -export const ApiViewerMixin = >( +export const ManifestMixin = >( base: T -): T & Constructor => { - class ApiViewer extends base { +): T & Constructor => { + class ManifestClass extends base { @property() src?: string; @property({ attribute: false }) @@ -51,5 +51,5 @@ export const ApiViewerMixin = >( } } - return ApiViewer; + return ManifestClass; }; diff --git a/src/lib/manifest.ts b/packages/api-common/src/manifest.ts similarity index 100% rename from src/lib/manifest.ts rename to packages/api-common/src/manifest.ts diff --git a/src/styles/shared-styles.ts b/packages/api-common/src/shared-styles.ts similarity index 100% rename from src/styles/shared-styles.ts rename to packages/api-common/src/shared-styles.ts diff --git a/src/lib/utils.ts b/packages/api-common/src/templates.ts similarity index 100% rename from src/lib/utils.ts rename to packages/api-common/src/templates.ts diff --git a/packages/api-common/src/utils.ts b/packages/api-common/src/utils.ts new file mode 100644 index 0000000..24ff1ef --- /dev/null +++ b/packages/api-common/src/utils.ts @@ -0,0 +1,10 @@ +export const unquote = (value?: string): string | undefined => + typeof value === 'string' && value.startsWith("'") && value.endsWith("'") + ? value.slice(1, value.length - 1) + : value; + +const capitalize = (name: string): string => + name[0].toUpperCase() + name.slice(1); + +export const getSlotContent = (name: string, initial = 'content'): string => + capitalize(name === '' ? initial : name); diff --git a/packages/api-common/tsconfig.json b/packages/api-common/tsconfig.json new file mode 100644 index 0000000..d8f7a97 --- /dev/null +++ b/packages/api-common/tsconfig.json @@ -0,0 +1,18 @@ +// Don't edit this file directly. It is generated by /scripts/update-package-configs.ts + +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "module": "ESNext", + "outDir": "./lib", + "rootDir": "./src", + "composite": true + }, + "references": [], + "include": [ + "src" + ], + "exclude": [ + "lib" + ] +} \ No newline at end of file diff --git a/packages/api-demo/package.json b/packages/api-demo/package.json index 33e1734..069835a 100644 --- a/packages/api-demo/package.json +++ b/packages/api-demo/package.json @@ -43,6 +43,8 @@ "web-components" ], "dependencies": { + "@api-viewer/common": "^0.1.0", + "@api-viewer/tabs": "^0.1.0", "highlight-ts": "9.12.1-2", "lit": "^2.0.0", "tslib": "^2.3.1" diff --git a/src/api-demo.ts b/packages/api-demo/src/api-demo.ts similarity index 69% rename from src/api-demo.ts rename to packages/api-demo/src/api-demo.ts index 4fe3cee..4c67063 100644 --- a/src/api-demo.ts +++ b/packages/api-demo/src/api-demo.ts @@ -1,7 +1,7 @@ -import { ApiDemoBase } from './api-demo-base.js'; -import { setTemplates } from './lib/utils.js'; -import demoStyles from './styles/demo-styles.js'; -import sharedStyles from './styles/shared-styles.js'; +import sharedStyles from '@api-viewer/common/lib/shared-styles.js'; +import { setTemplates } from '@api-viewer/common/lib/templates.js'; +import { ApiDemoBase } from './base.js'; +import demoStyles from './styles.js'; export class ApiDemo extends ApiDemoBase { static get styles() { diff --git a/src/api-demo-base.ts b/packages/api-demo/src/base.ts similarity index 92% rename from src/api-demo-base.ts rename to packages/api-demo/src/base.ts index fc82f97..a782123 100644 --- a/src/api-demo-base.ts +++ b/packages/api-demo/src/base.ts @@ -3,13 +3,14 @@ import { property } from 'lit/decorators/property.js'; import { until } from 'lit/directives/until.js'; import { CustomElement, + emptyDataWarning, getCustomElements, getElementData, getPublicFields, hasCustomElements, + ManifestMixin, Package -} from './lib/manifest.js'; -import { ApiViewerMixin, emptyDataWarning } from './api-viewer-mixin.js'; +} from '@api-viewer/common'; import './api-viewer-demo.js'; async function renderDemo( @@ -63,7 +64,7 @@ async function renderDemo( let id = 0; -export class ApiDemoBase extends ApiViewerMixin(LitElement) { +export class ApiDemoBase extends ManifestMixin(LitElement) { @property({ type: String, attribute: 'exclude-knobs' }) excludeKnobs?: string; protected _id?: number; diff --git a/src/controllers/events-controller.ts b/packages/api-demo/src/controllers/events-controller.ts similarity index 92% rename from src/controllers/events-controller.ts rename to packages/api-demo/src/controllers/events-controller.ts index 9f53a38..da60f03 100644 --- a/src/controllers/events-controller.ts +++ b/packages/api-demo/src/controllers/events-controller.ts @@ -1,6 +1,6 @@ import { ReactiveController, ReactiveControllerHost } from 'lit'; -import { Event } from '../lib/manifest.js'; -import { HasKnobs } from '../lib/knobs.js'; +import { Event } from '@api-viewer/common'; +import { HasKnobs } from '../ui/knobs.js'; type EventsHost = HTMLElement & ReactiveControllerHost & HasKnobs; diff --git a/src/controllers/slots-controller.ts b/packages/api-demo/src/controllers/slots-controller.ts similarity index 92% rename from src/controllers/slots-controller.ts rename to packages/api-demo/src/controllers/slots-controller.ts index df38658..45d72c3 100644 --- a/src/controllers/slots-controller.ts +++ b/packages/api-demo/src/controllers/slots-controller.ts @@ -1,6 +1,9 @@ import { ReactiveController, ReactiveControllerHost } from 'lit'; -import { Slot, SlotValue } from '../lib/manifest.js'; -import { getSlotContent, hasTemplate, TemplateTypes } from '../lib/utils.js'; +import { getSlotContent, Slot, SlotValue } from '@api-viewer/common'; +import { + hasTemplate, + TemplateTypes +} from '@api-viewer/common/lib/templates.js'; export class SlotsController implements ReactiveController { host: ReactiveControllerHost; diff --git a/src/controllers/styles-controller.ts b/packages/api-demo/src/controllers/styles-controller.ts similarity index 93% rename from src/controllers/styles-controller.ts rename to packages/api-demo/src/controllers/styles-controller.ts index 64a431d..10cbdde 100644 --- a/src/controllers/styles-controller.ts +++ b/packages/api-demo/src/controllers/styles-controller.ts @@ -1,6 +1,9 @@ import { ReactiveController, ReactiveControllerHost } from 'lit'; -import { CssCustomProperty, CssCustomPropertyValue } from '../lib/manifest.js'; -import { unquote } from '../lib/utils.js'; +import { + CssCustomProperty, + CssCustomPropertyValue, + unquote +} from '@api-viewer/common'; export class StylesController implements ReactiveController { host: HTMLElement & ReactiveControllerHost; diff --git a/src/api-viewer-demo.ts b/packages/api-demo/src/layout.ts similarity index 94% rename from src/api-viewer-demo.ts rename to packages/api-demo/src/layout.ts index 852db04..7e3aa81 100644 --- a/src/api-viewer-demo.ts +++ b/packages/api-demo/src/layout.ts @@ -1,11 +1,17 @@ import { LitElement, html, PropertyValues, TemplateResult } from 'lit'; import { property } from 'lit/decorators/property.js'; import { cache } from 'lit/directives/cache.js'; +import { ClassField, CssCustomProperty, Event, Slot } from '@api-viewer/common'; +import { + hasTemplate, + TemplateTypes +} from '@api-viewer/common/lib/templates.js'; +import '@api-viewer/tabs'; import { EventsController } from './controllers/events-controller.js'; import { SlotsController } from './controllers/slots-controller.js'; import { StylesController } from './controllers/styles-controller.js'; -import { renderEvents } from './lib/demo-events.js'; -import { renderSnippet } from './lib/demo-snippet.js'; +import { renderEvents } from './ui/events.js'; +import { renderSnippet } from './ui/snippet.js'; import { ComponentWithProps, getCustomKnobs, @@ -13,21 +19,16 @@ import { getKnobs, Knob, KnobValue -} from './lib/knobs.js'; -import { renderer } from './lib/renderer.js'; +} from './ui/knobs.js'; +import { renderer } from './ui/renderer.js'; import { cssPropRenderer, propRenderer, renderKnobs, slotRenderer -} from './lib/demo-controls.js'; -import { ClassField, CssCustomProperty, Event, Slot } from './lib/manifest.js'; -import { hasTemplate, TemplateTypes } from './lib/utils.js'; -import './api-viewer-panel.js'; -import './api-viewer-tab.js'; -import './api-viewer-tabs.js'; - -class ApiViewerDemo extends LitElement { +} from './ui/controls.js'; + +class ApiDemoLayout extends LitElement { @property() copyBtnText = 'copy'; @property({ attribute: false }) @@ -393,10 +394,10 @@ class ApiViewerDemo extends LitElement { } } -customElements.define('api-viewer-demo', ApiViewerDemo); +customElements.define('api-demo-layout', ApiDemoLayout); declare global { interface HTMLElementTagNameMap { - 'api-viewer-demo': ApiViewerDemo; + 'api-demo-layout': ApiDemoLayout; } } diff --git a/src/styles/demo-styles.ts b/packages/api-demo/src/styles.ts similarity index 72% rename from src/styles/demo-styles.ts rename to packages/api-demo/src/styles.ts index d898347..17ed44a 100644 --- a/src/styles/demo-styles.ts +++ b/packages/api-demo/src/styles.ts @@ -1,5 +1,63 @@ import { css } from 'lit'; -import highlightTheme from './highlight-styles.js'; + +const highlightTheme = css` + pre { + margin: 0; + color: black; + background: none; + font-family: var(--ave-monospace-font); + font-size: 0.875rem; + text-align: left; + white-space: pre-wrap; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + tab-size: 4; + hyphens: none; + text-shadow: none; + } + + code { + font-family: inherit; + } + + .comment { + color: slategray; + } + + .attr, + .selector-tag { + color: #690; + } + + .css { + color: #333; + } + + .built_in { + color: #dd4a68; + } + + .meta { + color: #e90; + font-weight: bold; + } + + .string { + color: #07a; + } + + .tag { + color: #999; + } + + .attribute, + .name, + .number { + color: #905; + } +`; const demoStyles = css` button { @@ -19,7 +77,7 @@ const demoStyles = css` background: var(--ave-button-active-background, rgba(0, 0, 0, 0.6)); } - api-viewer-demo { + api-demo-layout { display: block; } diff --git a/src/lib/demo-controls.ts b/packages/api-demo/src/ui/controls.ts similarity index 95% rename from src/lib/demo-controls.ts rename to packages/api-demo/src/ui/controls.ts index 7dd58d0..512f88b 100644 --- a/src/lib/demo-controls.ts +++ b/packages/api-demo/src/ui/controls.ts @@ -1,7 +1,11 @@ import { html, TemplateResult } from 'lit'; +import { + ClassField, + CssCustomPropertyValue, + getSlotContent, + SlotValue +} from '@api-viewer/common'; import { Knob, Knobable } from './knobs.js'; -import { ClassField, CssCustomPropertyValue, SlotValue } from './manifest.js'; -import { getSlotContent } from './utils.js'; type InputRenderer = (item: Knobable, id: string) => TemplateResult; diff --git a/src/lib/demo-events.ts b/packages/api-demo/src/ui/events.ts similarity index 100% rename from src/lib/demo-events.ts rename to packages/api-demo/src/ui/events.ts diff --git a/src/lib/highlight-css.ts b/packages/api-demo/src/ui/highlight-css.ts similarity index 100% rename from src/lib/highlight-css.ts rename to packages/api-demo/src/ui/highlight-css.ts diff --git a/src/lib/knobs.ts b/packages/api-demo/src/ui/knobs.ts similarity index 96% rename from src/lib/knobs.ts rename to packages/api-demo/src/ui/knobs.ts index 9ceb1ad..0d590a3 100644 --- a/src/lib/knobs.ts +++ b/packages/api-demo/src/ui/knobs.ts @@ -1,10 +1,10 @@ -import { ClassField, CssCustomProperty, SlotValue } from './manifest.js'; +import { ClassField, CssCustomProperty, SlotValue } from '@api-viewer/common'; import { getTemplates, TemplateTypes, unquote, getTemplateNode -} from './utils.js'; +} from '@api-viewer/common/lib/templates.js'; export type KnobValue = string | number | boolean | null | undefined; diff --git a/src/lib/renderer.ts b/packages/api-demo/src/ui/renderer.ts similarity index 99% rename from src/lib/renderer.ts rename to packages/api-demo/src/ui/renderer.ts index 2967735..81675d3 100644 --- a/src/lib/renderer.ts +++ b/packages/api-demo/src/ui/renderer.ts @@ -2,13 +2,13 @@ import { ChildPart, html, noChange, nothing, TemplateResult } from 'lit'; import { directive, Directive, PartInfo, PartType } from 'lit/directive.js'; import { templateContent } from 'lit/directives/template-content.js'; import { unsafeHTML } from 'lit/directives/unsafe-html.js'; -import { ComponentWithProps, Knob } from './knobs.js'; import { getTemplate, getTemplateNode, isTemplate, TemplateTypes -} from './utils.js'; +} from '@api-viewer/common/lib/templates.js'; +import { ComponentWithProps, Knob } from './knobs.js'; export type ComponentRendererOptions = { id: number; diff --git a/src/lib/demo-snippet.ts b/packages/api-demo/src/ui/snippet.ts similarity index 97% rename from src/lib/demo-snippet.ts rename to packages/api-demo/src/ui/snippet.ts index 919f74a..59e6a10 100644 --- a/src/lib/demo-snippet.ts +++ b/packages/api-demo/src/ui/snippet.ts @@ -4,15 +4,15 @@ import { htmlRender } from 'highlight-ts/es/render/html.js'; import { registerLanguages } from 'highlight-ts/es/languages.js'; import { XML } from 'highlight-ts/es/languages/xml.js'; import { init, process } from 'highlight-ts/es/process.js'; -import { CssCustomPropertyValue, SlotValue } from './manifest.js'; -import { Knob } from './knobs.js'; -import { CSS } from './highlight-css.js'; +import { CssCustomPropertyValue, SlotValue } from '@api-viewer/common'; import { getTemplate, getTemplateNode, isTemplate, TemplateTypes -} from './utils.js'; +} from '@api-viewer/common/lib/templates.js'; +import { Knob } from './knobs.js'; +import { CSS } from './highlight-css.js'; // register languages registerLanguages(CSS, XML); diff --git a/packages/api-demo/tsconfig.json b/packages/api-demo/tsconfig.json index d8f7a97..d7fbe8d 100644 --- a/packages/api-demo/tsconfig.json +++ b/packages/api-demo/tsconfig.json @@ -8,7 +8,11 @@ "rootDir": "./src", "composite": true }, - "references": [], + "references": [ + { + "path": "../api-tabs/tsconfig.json" + } + ], "include": [ "src" ], diff --git a/packages/api-docs/package.json b/packages/api-docs/package.json index 08745e1..5ab873d 100644 --- a/packages/api-docs/package.json +++ b/packages/api-docs/package.json @@ -44,11 +44,11 @@ "web-components" ], "dependencies": { + "@api-viewer/common": "^0.1.0", + "@api-viewer/tabs": "^0.1.0", "@types/dompurify": "^2.3.1", "@types/marked": "^4.0.0", - "custom-elements-manifest": "^1.0.0", "dompurify": "^2.3.3", - "highlight-ts": "9.12.1-2", "lit": "^2.0.0", "marked": "^4.0.0", "tslib": "^2.3.1" diff --git a/src/api-docs.ts b/packages/api-docs/src/api-docs.ts similarity index 61% rename from src/api-docs.ts rename to packages/api-docs/src/api-docs.ts index 8bf0ab3..f741a4b 100644 --- a/src/api-docs.ts +++ b/packages/api-docs/src/api-docs.ts @@ -1,6 +1,6 @@ -import { ApiDocsBase } from './api-docs-base.js'; -import docsStyles from './styles/docs-styles.js'; -import sharedStyles from './styles/shared-styles.js'; +import sharedStyles from '@api-viewer/common/lib/shared-styles.js'; +import { ApiDocsBase } from './base.js'; +import docsStyles from './styles.js'; export class ApiDocs extends ApiDocsBase { static get styles() { diff --git a/src/api-docs-base.ts b/packages/api-docs/src/base.ts similarity index 89% rename from src/api-docs-base.ts rename to packages/api-docs/src/base.ts index 509c5bc..de04cb9 100644 --- a/src/api-docs-base.ts +++ b/packages/api-docs/src/base.ts @@ -1,15 +1,16 @@ import { LitElement, html, TemplateResult } from 'lit'; import { until } from 'lit/directives/until.js'; -import { parse } from './lib/markdown.js'; import { CustomElement, + emptyDataWarning, getCustomElements, getElementData, getPublicFields, hasCustomElements, + ManifestMixin, Package -} from './lib/manifest.js'; -import { ApiViewerMixin, emptyDataWarning } from './api-viewer-mixin.js'; +} from '@api-viewer/common'; +import { parse } from './utils/markdown.js'; import './api-viewer-docs.js'; async function renderDocs( @@ -62,7 +63,7 @@ async function renderDocs( `; } -export class ApiDocsBase extends ApiViewerMixin(LitElement) { +export class ApiDocsBase extends ManifestMixin(LitElement) { protected render(): TemplateResult { return html`${until( renderDocs(this.jsonFetched, this._onSelect, this.selected) diff --git a/src/api-viewer-docs.ts b/packages/api-docs/src/layout.ts similarity index 94% rename from src/api-viewer-docs.ts rename to packages/api-docs/src/layout.ts index 729f0b3..c8e336b 100644 --- a/src/api-viewer-docs.ts +++ b/packages/api-docs/src/layout.ts @@ -6,14 +6,11 @@ import { CssCustomProperty, CssPart, Event, - Slot -} from './lib/manifest.js'; -import { unquote } from './lib/utils.js'; -import { parse } from './lib/markdown.js'; - -import './api-viewer-panel.js'; -import './api-viewer-tab.js'; -import './api-viewer-tabs.js'; + Slot, + unquote +} from '@api-viewer/common'; +import '@api-viewer/tabs'; +import { parse } from './utils/markdown.js'; const renderItem = ( prefix: string, @@ -80,7 +77,7 @@ const renderTab = ( `; }; -class ApiViewerDocs extends LitElement { +class ApiDocsLayout extends LitElement { @property() name = ''; @property({ attribute: false }) @@ -211,10 +208,10 @@ class ApiViewerDocs extends LitElement { } } -customElements.define('api-viewer-docs', ApiViewerDocs); +customElements.define('api-docs-layout', ApiDocsLayout); declare global { interface HTMLElementTagNameMap { - 'api-viewer-docs': ApiViewerDocs; + 'api-docs-layout': ApiDocsLayout; } } diff --git a/src/styles/docs-styles.ts b/packages/api-docs/src/styles.ts similarity index 98% rename from src/styles/docs-styles.ts rename to packages/api-docs/src/styles.ts index d2b20b6..010978b 100644 --- a/src/styles/docs-styles.ts +++ b/packages/api-docs/src/styles.ts @@ -21,7 +21,7 @@ export default css` white-space: pre-wrap; } - api-viewer-docs { + api-docs-layout { display: block; } diff --git a/src/lib/markdown.ts b/packages/api-docs/src/utils/markdown.ts similarity index 100% rename from src/lib/markdown.ts rename to packages/api-docs/src/utils/markdown.ts diff --git a/packages/api-docs/tsconfig.json b/packages/api-docs/tsconfig.json index d8f7a97..d7fbe8d 100644 --- a/packages/api-docs/tsconfig.json +++ b/packages/api-docs/tsconfig.json @@ -8,7 +8,11 @@ "rootDir": "./src", "composite": true }, - "references": [], + "references": [ + { + "path": "../api-tabs/tsconfig.json" + } + ], "include": [ "src" ], diff --git a/packages/api-tabs/package.json b/packages/api-tabs/package.json new file mode 100644 index 0000000..f75116a --- /dev/null +++ b/packages/api-tabs/package.json @@ -0,0 +1,49 @@ +{ + "name": "@api-viewer/tabs", + "version": "0.1.0", + "description": "Web Components API viewer element", + "publishConfig": { + "access": "public" + }, + "author": "open-wc", + "contributors": [ + { + "name" : "Serhii Kulykov", + "email" : "iamkulykov@gmail.com", + "url" : "https://twitter.com/serhiikulykov" + }, + { + "name" : "Benny Powers", + "email" : "web@bennypowers.com", + "url" : "https://twitter.com/PowersBenny" + }, + { + "name" : "Mikhail Bashkirov", + "email" : "bashmish@gmail.com", + "url" : "https://twitter.com/bashmish" + } + ], + "license": "MIT", + "main": "lib/api-viewer-tabs.js", + "module": "lib/api-viewer-tabs.js", + "type": "module", + "files": [ + "lib" + ], + "repository": { + "type": "git", + "url": "https://github.com/open-wc/api-viewer-element.git" + }, + "bugs": { + "url": "https://github.com/open-wc/api-viewer-element/issues" + }, + "keywords": [ + "API", + "documentation", + "web-components" + ], + "dependencies": { + "lit": "^2.0.0", + "tslib": "^2.3.1" + } +} diff --git a/src/api-viewer-panel.ts b/packages/api-tabs/src/api-viewer-panel.ts similarity index 100% rename from src/api-viewer-panel.ts rename to packages/api-tabs/src/api-viewer-panel.ts diff --git a/src/api-viewer-tab.ts b/packages/api-tabs/src/api-viewer-tab.ts similarity index 100% rename from src/api-viewer-tab.ts rename to packages/api-tabs/src/api-viewer-tab.ts diff --git a/src/api-viewer-tabs.ts b/packages/api-tabs/src/api-viewer-tabs.ts similarity index 98% rename from src/api-viewer-tabs.ts rename to packages/api-tabs/src/api-viewer-tabs.ts index 98d6ac1..fa3313d 100644 --- a/src/api-viewer-tabs.ts +++ b/packages/api-tabs/src/api-viewer-tabs.ts @@ -1,6 +1,7 @@ import { LitElement, html, css, TemplateResult } from 'lit'; import { ApiViewerTab } from './api-viewer-tab.js'; -import { ApiViewerPanel } from './api-viewer-panel.js'; +import type { ApiViewerPanel } from './api-viewer-panel.js'; +import './api-viewer-panel.js'; const KEYCODE = { DOWN: 40, diff --git a/packages/api-tabs/tsconfig.json b/packages/api-tabs/tsconfig.json new file mode 100644 index 0000000..d8f7a97 --- /dev/null +++ b/packages/api-tabs/tsconfig.json @@ -0,0 +1,18 @@ +// Don't edit this file directly. It is generated by /scripts/update-package-configs.ts + +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "module": "ESNext", + "outDir": "./lib", + "rootDir": "./src", + "composite": true + }, + "references": [], + "include": [ + "src" + ], + "exclude": [ + "lib" + ] +} \ No newline at end of file diff --git a/packages/api-viewer/package.json b/packages/api-viewer/package.json index d8c872a..84258d7 100644 --- a/packages/api-viewer/package.json +++ b/packages/api-viewer/package.json @@ -44,6 +44,8 @@ "web-components" ], "dependencies": { + "@api-viewer/common": "^0.1.0", + "@api-viewer/demo": "^0.1.0", "@api-viewer/docs": "^0.1.0", "lit": "^2.0.0", "tslib": "^2.3.1" diff --git a/src/api-viewer.ts b/packages/api-viewer/src/api-viewer.ts similarity index 76% rename from src/api-viewer.ts rename to packages/api-viewer/src/api-viewer.ts index f37b2de..d87c8d7 100644 --- a/src/api-viewer.ts +++ b/packages/api-viewer/src/api-viewer.ts @@ -1,6 +1,6 @@ -import { ApiViewerBase } from './api-viewer-base.js'; -import { setTemplates } from './lib/utils.js'; -import styles from './styles/viewer-styles.js'; +import { setTemplates } from '@api-viewer/common/lib/templates.js'; +import { ApiViewerBase } from './base.js'; +import styles from './styles.js'; export class ApiViewer extends ApiViewerBase { static get styles() { diff --git a/src/api-viewer-base.ts b/packages/api-viewer/src/base.ts similarity index 88% rename from src/api-viewer-base.ts rename to packages/api-viewer/src/base.ts index fb9a7e2..44e85b8 100644 --- a/src/api-viewer-base.ts +++ b/packages/api-viewer/src/base.ts @@ -2,19 +2,20 @@ import { LitElement, html, TemplateResult } from 'lit'; import { property } from 'lit/decorators/property.js'; import { cache } from 'lit/directives/cache.js'; import { until } from 'lit/directives/until.js'; -import { parse } from './lib/markdown.js'; import { CustomElement, + emptyDataWarning, getCustomElements, getElementData, getPublicFields, hasCustomElements, + ManifestMixin, Package -} from './lib/manifest.js'; -import { setTemplates } from './lib/utils.js'; -import { ApiViewerMixin, emptyDataWarning } from './api-viewer-mixin.js'; -import './api-viewer-docs.js'; -import './api-viewer-demo.js'; +} from '@api-viewer/common'; +import '@api-viewer/demo/lib/layout.js'; +import '@api-viewer/docs/lib/layout.js'; +import { setTemplates } from '@api-viewer/common/lib/templates.js'; +import { parse } from '@api-viewer/docs/lib/utils/markdown.js'; async function renderDocs( jsonFetched: Promise, @@ -80,7 +81,7 @@ async function renderDocs(
${parse(data.description)}
- + > ` : html` - + > ` )} `; @@ -109,7 +110,7 @@ async function renderDocs( let id = 0; -export class ApiViewerBase extends ApiViewerMixin(LitElement) { +export class ApiViewerBase extends ManifestMixin(LitElement) { @property() section = 'docs'; @property({ type: String, attribute: 'exclude-knobs' }) excludeKnobs?: string; diff --git a/src/styles/viewer-styles.ts b/packages/api-viewer/src/styles.ts similarity index 55% rename from src/styles/viewer-styles.ts rename to packages/api-viewer/src/styles.ts index 7072d9c..553645d 100644 --- a/src/styles/viewer-styles.ts +++ b/packages/api-viewer/src/styles.ts @@ -1,7 +1,7 @@ import { css } from 'lit'; -import demoStyles from './demo-styles.js'; -import docsStyles from './docs-styles.js'; -import sharedStyles from './shared-styles.js'; +import sharedStyles from '@api-viewer/common/lib/shared-styles.js'; +import demoStyles from '@api-viewer/demo/lib/styles.js'; +import docsStyles from '@api-viewer/docs/lib/styles.js'; export default css` ${sharedStyles} diff --git a/packages/api-viewer/tsconfig.json b/packages/api-viewer/tsconfig.json index 3da457b..0b9c5f6 100644 --- a/packages/api-viewer/tsconfig.json +++ b/packages/api-viewer/tsconfig.json @@ -9,6 +9,12 @@ "composite": true }, "references": [ + { + "path": "../api-tabs/tsconfig.json" + }, + { + "path": "../api-demo/tsconfig.json" + }, { "path": "../api-docs/tsconfig.json" } diff --git a/src/styles/highlight-styles.ts b/src/styles/highlight-styles.ts deleted file mode 100644 index 0a71d4f..0000000 --- a/src/styles/highlight-styles.ts +++ /dev/null @@ -1,60 +0,0 @@ -import { css } from 'lit'; - -export default css` - pre { - margin: 0; - color: black; - background: none; - font-family: var(--ave-monospace-font); - font-size: 0.875rem; - text-align: left; - white-space: pre-wrap; - word-spacing: normal; - word-break: normal; - word-wrap: normal; - line-height: 1.5; - tab-size: 4; - hyphens: none; - text-shadow: none; - } - - code { - font-family: inherit; - } - - .comment { - color: slategray; - } - - .attr, - .selector-tag { - color: #690; - } - - .css { - color: #333; - } - - .built_in { - color: #dd4a68; - } - - .meta { - color: #e90; - font-weight: bold; - } - - .string { - color: #07a; - } - - .tag { - color: #999; - } - - .attribute, - .name, - .number { - color: #905; - } -`; diff --git a/tsconfig.json b/tsconfig.json index 309cb9f..d35db9b 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -5,17 +5,23 @@ "files": [], "references": [ { - "path": "./packages/api-docs/tsconfig.json" + "path": "./packages/api-tabs/tsconfig.json" }, { "path": "./packages/api-demo/tsconfig.json" }, { - "path": "./packages/api-viewer/tsconfig.json" + "path": "./packages/api-docs/tsconfig.json" }, { "path": "./fixtures/expansion-panel/tsconfig.json" }, + { + "path": "./packages/api-common/tsconfig.json" + }, + { + "path": "./packages/api-viewer/tsconfig.json" + }, { "path": "./fixtures/fancy-accordion/tsconfig.json" }, diff --git a/workspace-packages.js b/workspace-packages.js index c2ca020..9d0c551 100644 --- a/workspace-packages.js +++ b/workspace-packages.js @@ -1,6 +1,8 @@ const packages = [ + { name: 'api-common', type: 'ts', environment: 'browser' }, { name: 'api-demo', type: 'ts', environment: 'browser' }, { name: 'api-docs', type: 'ts', environment: 'browser' }, + { name: 'api-tabs', type: 'ts', environment: 'browser' }, { name: 'api-viewer', type: 'ts', environment: 'browser' }, { name: 'expansion-panel', type: 'ts', environment: 'browser' }, { name: 'fancy-accordion', type: 'ts', environment: 'browser' }, From cc5a45519cca56b03b1fa3976c3ad347620867fa Mon Sep 17 00:00:00 2001 From: web-padawan Date: Fri, 31 Dec 2021 13:52:58 +0200 Subject: [PATCH 04/27] chore: format contributors fields --- packages/api-common/package.json | 18 +++++++++--------- packages/api-demo/package.json | 18 +++++++++--------- packages/api-docs/package.json | 18 +++++++++--------- packages/api-tabs/package.json | 18 +++++++++--------- packages/api-viewer/package.json | 18 +++++++++--------- 5 files changed, 45 insertions(+), 45 deletions(-) diff --git a/packages/api-common/package.json b/packages/api-common/package.json index 979fe65..d4d37f4 100644 --- a/packages/api-common/package.json +++ b/packages/api-common/package.json @@ -8,19 +8,19 @@ "author": "open-wc", "contributors": [ { - "name" : "Serhii Kulykov", - "email" : "iamkulykov@gmail.com", - "url" : "https://twitter.com/serhiikulykov" + "name": "Serhii Kulykov", + "email": "iamkulykov@gmail.com", + "url": "https://twitter.com/serhiikulykov" }, { - "name" : "Benny Powers", - "email" : "web@bennypowers.com", - "url" : "https://twitter.com/PowersBenny" + "name": "Benny Powers", + "email": "web@bennypowers.com", + "url": "https://twitter.com/PowersBenny" }, { - "name" : "Mikhail Bashkirov", - "email" : "bashmish@gmail.com", - "url" : "https://twitter.com/bashmish" + "name": "Mikhail Bashkirov", + "email": "bashmish@gmail.com", + "url": "https://twitter.com/bashmish" } ], "license": "MIT", diff --git a/packages/api-demo/package.json b/packages/api-demo/package.json index 069835a..bb1c0f3 100644 --- a/packages/api-demo/package.json +++ b/packages/api-demo/package.json @@ -8,19 +8,19 @@ "author": "open-wc", "contributors": [ { - "name" : "Serhii Kulykov", - "email" : "iamkulykov@gmail.com", - "url" : "https://twitter.com/serhiikulykov" + "name": "Serhii Kulykov", + "email": "iamkulykov@gmail.com", + "url": "https://twitter.com/serhiikulykov" }, { - "name" : "Benny Powers", - "email" : "web@bennypowers.com", - "url" : "https://twitter.com/PowersBenny" + "name": "Benny Powers", + "email": "web@bennypowers.com", + "url": "https://twitter.com/PowersBenny" }, { - "name" : "Mikhail Bashkirov", - "email" : "bashmish@gmail.com", - "url" : "https://twitter.com/bashmish" + "name": "Mikhail Bashkirov", + "email": "bashmish@gmail.com", + "url": "https://twitter.com/bashmish" } ], "license": "MIT", diff --git a/packages/api-docs/package.json b/packages/api-docs/package.json index 5ab873d..e2ea9c3 100644 --- a/packages/api-docs/package.json +++ b/packages/api-docs/package.json @@ -8,19 +8,19 @@ "author": "open-wc", "contributors": [ { - "name" : "Serhii Kulykov", - "email" : "iamkulykov@gmail.com", - "url" : "https://twitter.com/serhiikulykov" + "name": "Serhii Kulykov", + "email": "iamkulykov@gmail.com", + "url": "https://twitter.com/serhiikulykov" }, { - "name" : "Benny Powers", - "email" : "web@bennypowers.com", - "url" : "https://twitter.com/PowersBenny" + "name": "Benny Powers", + "email": "web@bennypowers.com", + "url": "https://twitter.com/PowersBenny" }, { - "name" : "Mikhail Bashkirov", - "email" : "bashmish@gmail.com", - "url" : "https://twitter.com/bashmish" + "name": "Mikhail Bashkirov", + "email": "bashmish@gmail.com", + "url": "https://twitter.com/bashmish" } ], "license": "MIT", diff --git a/packages/api-tabs/package.json b/packages/api-tabs/package.json index f75116a..0e77957 100644 --- a/packages/api-tabs/package.json +++ b/packages/api-tabs/package.json @@ -8,19 +8,19 @@ "author": "open-wc", "contributors": [ { - "name" : "Serhii Kulykov", - "email" : "iamkulykov@gmail.com", - "url" : "https://twitter.com/serhiikulykov" + "name": "Serhii Kulykov", + "email": "iamkulykov@gmail.com", + "url": "https://twitter.com/serhiikulykov" }, { - "name" : "Benny Powers", - "email" : "web@bennypowers.com", - "url" : "https://twitter.com/PowersBenny" + "name": "Benny Powers", + "email": "web@bennypowers.com", + "url": "https://twitter.com/PowersBenny" }, { - "name" : "Mikhail Bashkirov", - "email" : "bashmish@gmail.com", - "url" : "https://twitter.com/bashmish" + "name": "Mikhail Bashkirov", + "email": "bashmish@gmail.com", + "url": "https://twitter.com/bashmish" } ], "license": "MIT", diff --git a/packages/api-viewer/package.json b/packages/api-viewer/package.json index 84258d7..5df60ab 100644 --- a/packages/api-viewer/package.json +++ b/packages/api-viewer/package.json @@ -8,19 +8,19 @@ "author": "open-wc", "contributors": [ { - "name" : "Serhii Kulykov", - "email" : "iamkulykov@gmail.com", - "url" : "https://twitter.com/serhiikulykov" + "name": "Serhii Kulykov", + "email": "iamkulykov@gmail.com", + "url": "https://twitter.com/serhiikulykov" }, { - "name" : "Benny Powers", - "email" : "web@bennypowers.com", - "url" : "https://twitter.com/PowersBenny" + "name": "Benny Powers", + "email": "web@bennypowers.com", + "url": "https://twitter.com/PowersBenny" }, { - "name" : "Mikhail Bashkirov", - "email" : "bashmish@gmail.com", - "url" : "https://twitter.com/bashmish" + "name": "Mikhail Bashkirov", + "email": "bashmish@gmail.com", + "url": "https://twitter.com/bashmish" } ], "license": "MIT", From 52764c855ac3504beb94ba488814502be39f21b0 Mon Sep 17 00:00:00 2001 From: web-padawan Date: Fri, 31 Dec 2021 13:54:38 +0200 Subject: [PATCH 05/27] chore: setup chanegsets, enter pre-release --- .changeset/config.json | 15 + .changeset/pre.json | 16 + .changeset/rich-berries-prove.md | 9 + package.json | 1 + packages/api-common/package.json | 2 +- packages/api-demo/package.json | 6 +- packages/api-docs/package.json | 6 +- packages/api-tabs/package.json | 2 +- packages/api-viewer/package.json | 8 +- yarn.lock | 670 ++++++++++++++++++++++++++++++- 10 files changed, 710 insertions(+), 25 deletions(-) create mode 100644 .changeset/config.json create mode 100644 .changeset/pre.json create mode 100644 .changeset/rich-berries-prove.md diff --git a/.changeset/config.json b/.changeset/config.json new file mode 100644 index 0000000..4393255 --- /dev/null +++ b/.changeset/config.json @@ -0,0 +1,15 @@ +{ + "$schema": "https://unpkg.com/@changesets/config@1.6.3/schema.json", + "changelog": "@changesets/cli/changelog", + "commit": false, + "linked": [], + "access": "restricted", + "baseBranch": "master", + "updateInternalDependencies": "patch", + "ignore": [ + "@api-viewer-fixtures/expansion-panel", + "@api-viewer-fixtures/fancy-accordion", + "@api-viewer-fixtures/intl-currency", + "@api-viewer-fixtures/progress-bar" + ] +} diff --git a/.changeset/pre.json b/.changeset/pre.json new file mode 100644 index 0000000..0b04910 --- /dev/null +++ b/.changeset/pre.json @@ -0,0 +1,16 @@ +{ + "mode": "pre", + "tag": "pre", + "initialVersions": { + "@api-viewer/common": "1.0.0-pre.0", + "@api-viewer/demo": "1.0.0-pre.0", + "@api-viewer/docs": "1.0.0-pre.0", + "@api-viewer/tabs": "1.0.0-pre.0", + "api-viewer-element": "1.0.0-pre.0", + "@api-viewer-fixtures/expansion-panel": "0.0.0", + "@api-viewer-fixtures/fancy-accordion": "0.0.0", + "@api-viewer-fixtures/intl-currency": "0.0.0", + "@api-viewer-fixtures/progress-bar": "0.0.0" + }, + "changesets": [] +} diff --git a/.changeset/rich-berries-prove.md b/.changeset/rich-berries-prove.md new file mode 100644 index 0000000..bef3f72 --- /dev/null +++ b/.changeset/rich-berries-prove.md @@ -0,0 +1,9 @@ +--- +'@api-viewer/common': patch +'@api-viewer/demo': patch +'@api-viewer/docs': patch +'@api-viewer/tabs': patch +'api-viewer-element': patch +--- + +Convert api-viewer-element to monorepo diff --git a/package.json b/package.json index 7c6e985..cfb028c 100644 --- a/package.json +++ b/package.json @@ -67,6 +67,7 @@ "watch": "tsc-watch" }, "devDependencies": { + "@changesets/cli": "^2.19.0", "@custom-elements-manifest/analyzer": "^0.5.7", "@rocket/cli": "^0.10.1", "@rocket/core": "^0.1.2", diff --git a/packages/api-common/package.json b/packages/api-common/package.json index d4d37f4..b0d2a34 100644 --- a/packages/api-common/package.json +++ b/packages/api-common/package.json @@ -1,6 +1,6 @@ { "name": "@api-viewer/common", - "version": "0.1.0", + "version": "1.0.0-pre.0", "description": "Web Components API viewer element", "publishConfig": { "access": "public" diff --git a/packages/api-demo/package.json b/packages/api-demo/package.json index bb1c0f3..9f941bd 100644 --- a/packages/api-demo/package.json +++ b/packages/api-demo/package.json @@ -1,6 +1,6 @@ { "name": "@api-viewer/demo", - "version": "0.1.0", + "version": "1.0.0-pre.0", "description": "Web Components API viewer element", "publishConfig": { "access": "public" @@ -43,8 +43,8 @@ "web-components" ], "dependencies": { - "@api-viewer/common": "^0.1.0", - "@api-viewer/tabs": "^0.1.0", + "@api-viewer/common": "^1.0.0-pre.0", + "@api-viewer/tabs": "^1.0.0-pre.0", "highlight-ts": "9.12.1-2", "lit": "^2.0.0", "tslib": "^2.3.1" diff --git a/packages/api-docs/package.json b/packages/api-docs/package.json index e2ea9c3..71175b9 100644 --- a/packages/api-docs/package.json +++ b/packages/api-docs/package.json @@ -1,6 +1,6 @@ { "name": "@api-viewer/docs", - "version": "0.1.0", + "version": "1.0.0-pre.0", "description": "Web Components API viewer element", "publishConfig": { "access": "public" @@ -44,8 +44,8 @@ "web-components" ], "dependencies": { - "@api-viewer/common": "^0.1.0", - "@api-viewer/tabs": "^0.1.0", + "@api-viewer/common": "^1.0.0-pre.0", + "@api-viewer/tabs": "^1.0.0-pre.0", "@types/dompurify": "^2.3.1", "@types/marked": "^4.0.0", "dompurify": "^2.3.3", diff --git a/packages/api-tabs/package.json b/packages/api-tabs/package.json index 0e77957..c9622e2 100644 --- a/packages/api-tabs/package.json +++ b/packages/api-tabs/package.json @@ -1,6 +1,6 @@ { "name": "@api-viewer/tabs", - "version": "0.1.0", + "version": "1.0.0-pre.0", "description": "Web Components API viewer element", "publishConfig": { "access": "public" diff --git a/packages/api-viewer/package.json b/packages/api-viewer/package.json index 5df60ab..e3e891e 100644 --- a/packages/api-viewer/package.json +++ b/packages/api-viewer/package.json @@ -1,6 +1,6 @@ { "name": "api-viewer-element", - "version": "0.6.4", + "version": "1.0.0-pre.0", "description": "Web Components API viewer element", "publishConfig": { "access": "public" @@ -44,9 +44,9 @@ "web-components" ], "dependencies": { - "@api-viewer/common": "^0.1.0", - "@api-viewer/demo": "^0.1.0", - "@api-viewer/docs": "^0.1.0", + "@api-viewer/common": "^1.0.0-pre.0", + "@api-viewer/demo": "^1.0.0-pre.0", + "@api-viewer/docs": "^1.0.0-pre.0", "lit": "^2.0.0", "tslib": "^2.3.1" } diff --git a/yarn.lock b/yarn.lock index 42bf521..430feb6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -911,6 +911,13 @@ dependencies: regenerator-runtime "^0.13.4" +"@babel/runtime@^7.10.4", "@babel/runtime@^7.5.5": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.7.tgz#03ff99f64106588c9c403c6ecb8c3bafbbdff1fa" + integrity sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ== + dependencies: + regenerator-runtime "^0.13.4" + "@babel/template@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.0.tgz#d16a35ebf4cd74e202083356fab21dd89363ddd6" @@ -948,6 +955,191 @@ resolved "https://registry.yarnpkg.com/@bundled-es-modules/message-format/-/message-format-6.0.4.tgz#232da6877adb960f6c8f598c72588a84352de147" integrity sha512-NGUoPxqsBzDwvRhY3A3L/AhS1hzS9OWappfyDOyCwE7G3W4ua28gau7QwvJz7QzA6ArbAdeb8c1mLjvd1WUFAA== +"@changesets/apply-release-plan@^5.0.3": + version "5.0.3" + resolved "https://registry.yarnpkg.com/@changesets/apply-release-plan/-/apply-release-plan-5.0.3.tgz#3f516ef881fa1278cb9795ef282db57cfd6dd0e2" + integrity sha512-V15OPq/GyaRB3FA0hEV0V21OhsxXcPAOUeXFF9VKKPl9XkB+nDndvUcqUfr06OeeXczP8+1aCB9N+bazbfa0TQ== + dependencies: + "@babel/runtime" "^7.10.4" + "@changesets/config" "^1.6.3" + "@changesets/get-version-range-type" "^0.3.2" + "@changesets/git" "^1.2.1" + "@changesets/types" "^4.0.2" + "@manypkg/get-packages" "^1.1.3" + detect-indent "^6.0.0" + fs-extra "^7.0.1" + lodash.startcase "^4.4.0" + outdent "^0.5.0" + prettier "^1.19.1" + resolve-from "^5.0.0" + semver "^5.4.1" + +"@changesets/assemble-release-plan@^5.0.4": + version "5.0.4" + resolved "https://registry.yarnpkg.com/@changesets/assemble-release-plan/-/assemble-release-plan-5.0.4.tgz#3de6f6d3928187399ca8dedbc8e23a54890c0000" + integrity sha512-kn0UecLXiif6DzB2EBEOrS54BWSo2nPC4111I4a42ut0Tpeu5z4dEOGmREMd2lMQjx9EE/q9VudkfFa12SFdwA== + dependencies: + "@babel/runtime" "^7.10.4" + "@changesets/errors" "^0.1.4" + "@changesets/get-dependents-graph" "^1.2.4" + "@changesets/types" "^4.0.2" + "@manypkg/get-packages" "^1.1.3" + semver "^5.4.1" + +"@changesets/cli@^2.19.0": + version "2.19.0" + resolved "https://registry.yarnpkg.com/@changesets/cli/-/cli-2.19.0.tgz#fb1f20816ba6e505b78dbe10f698035df3258314" + integrity sha512-AqtWiarNSUD42pv7ldTAFMU7pa/39t78VDAWFy78RgUJQyFmXktOG8fzjMhksJ+G5+pWLVSXaLSj6cCbpeWivg== + dependencies: + "@babel/runtime" "^7.10.4" + "@changesets/apply-release-plan" "^5.0.3" + "@changesets/assemble-release-plan" "^5.0.4" + "@changesets/config" "^1.6.3" + "@changesets/errors" "^0.1.4" + "@changesets/get-dependents-graph" "^1.2.4" + "@changesets/get-release-plan" "^3.0.4" + "@changesets/git" "^1.2.1" + "@changesets/logger" "^0.0.5" + "@changesets/pre" "^1.0.9" + "@changesets/read" "^0.5.2" + "@changesets/types" "^4.0.2" + "@changesets/write" "^0.1.6" + "@manypkg/get-packages" "^1.1.3" + "@types/is-ci" "^3.0.0" + "@types/semver" "^6.0.0" + boxen "^1.3.0" + chalk "^2.1.0" + enquirer "^2.3.0" + external-editor "^3.1.0" + fs-extra "^7.0.1" + human-id "^1.0.2" + is-ci "^3.0.1" + meow "^6.0.0" + outdent "^0.5.0" + p-limit "^2.2.0" + preferred-pm "^3.0.0" + semver "^5.4.1" + spawndamnit "^2.0.0" + term-size "^2.1.0" + tty-table "^2.8.10" + +"@changesets/config@^1.6.3": + version "1.6.3" + resolved "https://registry.yarnpkg.com/@changesets/config/-/config-1.6.3.tgz#f33f040b2b01cebbb5aacf040ff0e78698e38350" + integrity sha512-J1PwxgAdvUZpvASFnzPQ1ixl20Pn42UmaqozqBlWENQDbCO/VlmianctCmwwBeR0RR/cx7oIC/ACbR1fy7mXTw== + dependencies: + "@changesets/errors" "^0.1.4" + "@changesets/get-dependents-graph" "^1.2.4" + "@changesets/logger" "^0.0.5" + "@changesets/types" "^4.0.2" + "@manypkg/get-packages" "^1.1.3" + fs-extra "^7.0.1" + micromatch "^4.0.2" + +"@changesets/errors@^0.1.4": + version "0.1.4" + resolved "https://registry.yarnpkg.com/@changesets/errors/-/errors-0.1.4.tgz#f79851746c43679a66b383fdff4c012f480f480d" + integrity sha512-HAcqPF7snsUJ/QzkWoKfRfXushHTu+K5KZLJWPb34s4eCZShIf8BFO3fwq6KU8+G7L5KdtN2BzQAXOSXEyiY9Q== + dependencies: + extendable-error "^0.1.5" + +"@changesets/get-dependents-graph@^1.2.4": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@changesets/get-dependents-graph/-/get-dependents-graph-1.2.4.tgz#809226aa424ff5ec990696fc7c031f02b1380470" + integrity sha512-53lYhG9RFW5YIilMSo2TpZ3ocAkK3KENkiWhXYrbyXSt6SPOsIWW1wtialTJOqiuC7Lrdlazd5AHvGH7nlV4fg== + dependencies: + "@changesets/types" "^4.0.2" + "@manypkg/get-packages" "^1.1.3" + chalk "^2.1.0" + fs-extra "^7.0.1" + semver "^5.4.1" + +"@changesets/get-release-plan@^3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@changesets/get-release-plan/-/get-release-plan-3.0.4.tgz#d7b23b42f7f794ddb3632cc2f778042255df041f" + integrity sha512-XEMI1WlB2crtXHLrpF8qLteZDe6ZIvuj9J3Pc9EkCo1QbVonx74zOC65KFPqNJOTpcYrex6MzOueUn2Vp32gwA== + dependencies: + "@babel/runtime" "^7.10.4" + "@changesets/assemble-release-plan" "^5.0.4" + "@changesets/config" "^1.6.3" + "@changesets/pre" "^1.0.9" + "@changesets/read" "^0.5.2" + "@changesets/types" "^4.0.2" + "@manypkg/get-packages" "^1.1.3" + +"@changesets/get-version-range-type@^0.3.2": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@changesets/get-version-range-type/-/get-version-range-type-0.3.2.tgz#8131a99035edd11aa7a44c341cbb05e668618c67" + integrity sha512-SVqwYs5pULYjYT4op21F2pVbcrca4qA/bAA3FmFXKMN7Y+HcO8sbZUTx3TAy2VXulP2FACd1aC7f2nTuqSPbqg== + +"@changesets/git@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@changesets/git/-/git-1.2.1.tgz#c429d70ca616a4f03872f82e2ca6f7eef707a6af" + integrity sha512-Qkubed8zg4/YOXnR97ZOocKXncjLMc185jSKu3ah5TgCpwMcK1EMkGcmpf3U8EHtQbh9pRKAxlfGq376WPPyPA== + dependencies: + "@babel/runtime" "^7.10.4" + "@changesets/errors" "^0.1.4" + "@changesets/types" "^4.0.2" + "@manypkg/get-packages" "^1.1.3" + is-subdir "^1.1.1" + spawndamnit "^2.0.0" + +"@changesets/logger@^0.0.5": + version "0.0.5" + resolved "https://registry.yarnpkg.com/@changesets/logger/-/logger-0.0.5.tgz#68305dd5a643e336be16a2369cb17cdd8ed37d4c" + integrity sha512-gJyZHomu8nASHpaANzc6bkQMO9gU/ib20lqew1rVx753FOxffnCrJlGIeQVxNWCqM+o6OOleCo/ivL8UAO5iFw== + dependencies: + chalk "^2.1.0" + +"@changesets/parse@^0.3.10": + version "0.3.10" + resolved "https://registry.yarnpkg.com/@changesets/parse/-/parse-0.3.10.tgz#1c42d00d89107a94d5c047a6d5a80011f7e228e0" + integrity sha512-Zqw4NozzYKsfULxeQaSXCEHeGfaxa/eDIf5F1NWi7sP5xtVTh9M3bnzQXgjQKqfUG2nlmx9BUtFwmpVML7Pu3Q== + dependencies: + "@changesets/types" "^4.0.2" + js-yaml "^3.13.1" + +"@changesets/pre@^1.0.9": + version "1.0.9" + resolved "https://registry.yarnpkg.com/@changesets/pre/-/pre-1.0.9.tgz#f1a0efea42733c25ef4a782377b2ac61023bd1b7" + integrity sha512-F3+qMun89KlynecBD15fEpwGT/KxbYb3WGeut6w1xhZb0u7V/jdcPy9b+kJ2xmBqFZLn1WteWIP96IjxS57H7A== + dependencies: + "@babel/runtime" "^7.10.4" + "@changesets/errors" "^0.1.4" + "@changesets/types" "^4.0.2" + "@manypkg/get-packages" "^1.1.3" + fs-extra "^7.0.1" + +"@changesets/read@^0.5.2": + version "0.5.2" + resolved "https://registry.yarnpkg.com/@changesets/read/-/read-0.5.2.tgz#73c062882ba75615a3aa7c66d6ef393ba8a62fcf" + integrity sha512-spI5uMYsyZfuXbZmUAQhXitu09YZ6iwmEE1QJnJkAPFLkpt5uEgyG9EnP3HRkGSkmLy8c+3pYIR2bbhxbZIm6w== + dependencies: + "@babel/runtime" "^7.10.4" + "@changesets/git" "^1.2.1" + "@changesets/logger" "^0.0.5" + "@changesets/parse" "^0.3.10" + "@changesets/types" "^4.0.2" + chalk "^2.1.0" + fs-extra "^7.0.1" + p-filter "^2.1.0" + +"@changesets/types@^4.0.1", "@changesets/types@^4.0.2": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@changesets/types/-/types-4.0.2.tgz#d20e1e45bdc96a97cc509c655e708b53a9292465" + integrity sha512-OeDaB7D+WVy/ErymPzFm58IeGvz4DOl+oedyZETfnkfMezF/Uhrm1Ub6MHrO5LcAaQTW+ptDmr0fmaVyoTxgHw== + +"@changesets/write@^0.1.6": + version "0.1.6" + resolved "https://registry.yarnpkg.com/@changesets/write/-/write-0.1.6.tgz#798d882bada93f391902a854a17965f3b80a5201" + integrity sha512-JWE2gJs9eHhorxqembkf43fllKlCz+sp1TJKSheaWfhWILMHPdfa/xQG4+sMZkISo1qZ+IlJyiBLha6iGGjXyA== + dependencies: + "@babel/runtime" "^7.10.4" + "@changesets/types" "^4.0.2" + fs-extra "^7.0.1" + human-id "^1.0.2" + prettier "^1.19.1" + "@custom-elements-manifest/analyzer@^0.5.7": version "0.5.7" resolved "https://registry.yarnpkg.com/@custom-elements-manifest/analyzer/-/analyzer-0.5.7.tgz#8ae74ede984f9a8f8717f4d938cb542c72af8db8" @@ -1061,6 +1253,28 @@ resolved "https://registry.yarnpkg.com/@lit/reactive-element/-/reactive-element-1.0.2.tgz#daa7a7c7a6c63d735f0c9634de6b7dbd70a702ab" integrity sha512-oz3d3MKjQ2tXynQgyaQaMpGTDNyNDeBdo6dXf1AbjTwhA1IRINHmA7kSaVYv9ttKweNkEoNqp9DqteDdgWzPEg== +"@manypkg/find-root@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@manypkg/find-root/-/find-root-1.1.0.tgz#a62d8ed1cd7e7d4c11d9d52a8397460b5d4ad29f" + integrity sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA== + dependencies: + "@babel/runtime" "^7.5.5" + "@types/node" "^12.7.1" + find-up "^4.1.0" + fs-extra "^8.1.0" + +"@manypkg/get-packages@^1.1.3": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@manypkg/get-packages/-/get-packages-1.1.3.tgz#e184db9bba792fa4693de4658cfb1463ac2c9c47" + integrity sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A== + dependencies: + "@babel/runtime" "^7.5.5" + "@changesets/types" "^4.0.1" + "@manypkg/find-root" "^1.1.0" + fs-extra "^8.1.0" + globby "^11.0.0" + read-yaml-file "^1.1.0" + "@mdjs/core@^0.9.0": version "0.9.1" resolved "https://registry.yarnpkg.com/@mdjs/core/-/core-0.9.1.tgz#c07f85f84089068214c5dcf4ab163ffc38a5c962" @@ -1596,6 +1810,13 @@ resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-1.8.1.tgz#e81ad28a60bee0328c6d2384e029aec626f1ae67" integrity sha512-e+2rjEwK6KDaNOm5Aa9wNGgyS9oSZU/4pfSMMPYNOfjvFI0WVXm29+ITRFr6aKDvvKo7uU1jV68MW4ScsfDi7Q== +"@types/is-ci@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/is-ci/-/is-ci-3.0.0.tgz#7e8910af6857601315592436f030aaa3ed9783c3" + integrity sha512-Q0Op0hdWbYd1iahB+IFNQcWXFq4O0Q5MwQP7uN0souuQ4rPg1vEYcnIOfr1gY+M+6rc8FGoRaBO1mOOvL29sEQ== + dependencies: + ci-info "^3.1.0" + "@types/json-schema@*", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": version "7.0.9" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" @@ -1676,6 +1897,11 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.37.tgz#abb38afa9d6e8a2f627a8cb52290b3c80fbe61ed" integrity sha512-i1KGxqcvJaLQali+WuypQnXwcplhtNtjs66eNsZpp2P2FL/trJJxx/VWsM0YCL2iMoIJrbXje48lvIQAQ4p2ZA== +"@types/node@^12.7.1": + version "12.20.39" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.39.tgz#ef3cb119eaba80e9f1012c78b9384a7489a18bf6" + integrity sha512-U7PMwkDmc3bnL0e4U8oA0POpi1vfsYDc+DEUS2+rPxm9NlLcW1dBa5JcRhO633PoPUcCSWMNXrMsqhmAVEo+IQ== + "@types/normalize-package-data@^2.4.0": version "2.4.1" resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" @@ -1713,6 +1939,11 @@ dependencies: "@types/node" "*" +"@types/semver@^6.0.0": + version "6.2.3" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-6.2.3.tgz#5798ecf1bec94eaa64db39ee52808ec0693315aa" + integrity sha512-KQf+QAMWKMrtBMsB8/24w53tEsxllMj6TuA80TT/5igJalLI/zm0L3oXRbIAl4Ohfc85gyHX/jhMwsVkmhLU4A== + "@types/semver@^7.3.6": version "7.3.9" resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.9.tgz#152c6c20a7688c30b967ec1841d31ace569863fc" @@ -2191,6 +2422,13 @@ alphanum-sort@^1.0.2: resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= +ansi-align@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f" + integrity sha1-w2rsy6VjuJzrVW82kPCx2eNUf38= + dependencies: + string-width "^2.0.0" + ansi-colors@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" @@ -2208,6 +2446,11 @@ ansi-regex@^2.0.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= + ansi-regex@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" @@ -2527,6 +2770,13 @@ batch@0.6.1: resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" integrity sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY= +better-path-resolve@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/better-path-resolve/-/better-path-resolve-1.0.0.tgz#13a35a1104cdd48a7b74bf8758f96a1ee613f99d" + integrity sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g== + dependencies: + is-windows "^1.0.0" + binary-extensions@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" @@ -2551,6 +2801,19 @@ boolbase@^1.0.0: resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= +boxen@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b" + integrity sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw== + dependencies: + ansi-align "^2.0.0" + camelcase "^4.0.0" + chalk "^2.0.1" + cli-boxes "^1.0.0" + string-width "^2.0.0" + term-size "^1.2.0" + widest-line "^2.0.0" + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -2582,6 +2845,13 @@ braces@^3.0.1, braces@~3.0.2: dependencies: fill-range "^7.0.1" +breakword@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/breakword/-/breakword-1.0.5.tgz#fd420a417f55016736b5b615161cae1c8f819810" + integrity sha512-ex5W9DoOQ/LUEU3PMdLs9ua/CYZl1678NUkKOdUSi8Aw5F1idieaiRURCBFJCwVcrD1J8Iy3vfWSloaMwO2qFg== + dependencies: + wcwidth "^1.0.1" + browser-sync-client@^2.27.7: version "2.27.7" resolved "https://registry.yarnpkg.com/browser-sync-client/-/browser-sync-client-2.27.7.tgz#e09dce1add876984cf8232de95d2332d29401a64" @@ -2747,6 +3017,11 @@ camelcase-keys@^6.2.2: map-obj "^4.0.0" quick-lru "^4.0.1" +camelcase@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" + integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= + camelcase@^5.0.0, camelcase@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" @@ -2797,7 +3072,7 @@ chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2: +chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -2849,6 +3124,11 @@ character-reference-invalid@^1.0.0: resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560" integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg== +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== + charenc@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" @@ -2896,6 +3176,11 @@ ci-info@^2.0.0: resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== +ci-info@^3.1.0, ci-info@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.3.0.tgz#b4ed1fb6818dea4803a55c623041f9165d2066b2" + integrity sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw== + ci-job-number@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/ci-job-number/-/ci-job-number-1.2.2.tgz#f4e5918fcaeeda95b604f214be7d7d4a961fe0c0" @@ -2923,6 +3208,11 @@ clean-stack@^2.0.0: resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== +cli-boxes@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" + integrity sha1-T6kXw+WclKAEzWH47lCdplFocUM= + cli-cursor@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" @@ -2971,6 +3261,11 @@ clone-regexp@^2.1.0: dependencies: is-regexp "^2.0.0" +clone@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= + clone@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" @@ -3245,6 +3540,15 @@ cosmiconfig@^7.0.1: path-type "^4.0.0" yaml "^1.10.0" +cross-spawn@^5.0.1, cross-spawn@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + cross-spawn@^6.0.5: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" @@ -3390,6 +3694,31 @@ csso@^4.2.0: dependencies: css-tree "^1.1.2" +csv-generate@^3.4.3: + version "3.4.3" + resolved "https://registry.yarnpkg.com/csv-generate/-/csv-generate-3.4.3.tgz#bc42d943b45aea52afa896874291da4b9108ffff" + integrity sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw== + +csv-parse@^4.16.3: + version "4.16.3" + resolved "https://registry.yarnpkg.com/csv-parse/-/csv-parse-4.16.3.tgz#7ca624d517212ebc520a36873c3478fa66efbaf7" + integrity sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg== + +csv-stringify@^5.6.5: + version "5.6.5" + resolved "https://registry.yarnpkg.com/csv-stringify/-/csv-stringify-5.6.5.tgz#c6d74badda4b49a79bf4e72f91cce1e33b94de00" + integrity sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A== + +csv@^5.3.1: + version "5.5.3" + resolved "https://registry.yarnpkg.com/csv/-/csv-5.5.3.tgz#cd26c1e45eae00ce6a9b7b27dcb94955ec95207d" + integrity sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g== + dependencies: + csv-generate "^3.4.3" + csv-parse "^4.16.3" + csv-stringify "^5.6.5" + stream-transform "^2.1.3" + custom-elements-manifest@1.0.0, custom-elements-manifest@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/custom-elements-manifest/-/custom-elements-manifest-1.0.0.tgz#b35c2129076a1dc9f95d720c6f7b5b71a857274b" @@ -3492,6 +3821,13 @@ deepmerge@^4.2.2: resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== +defaults@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" + integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= + dependencies: + clone "^1.0.2" + define-lazy-prop@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" @@ -3569,6 +3905,11 @@ destroy@^1.0.4, destroy@~1.0.4: resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= +detect-indent@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6" + integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== + detect-libc@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" @@ -3781,7 +4122,7 @@ enhanced-resolve@^5.8.3: graceful-fs "^4.2.4" tapable "^2.2.0" -enquirer@^2.3.5, enquirer@^2.3.6: +enquirer@^2.3.0, enquirer@^2.3.5, enquirer@^2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== @@ -4110,6 +4451,19 @@ events@^3.2.0: resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== +execa@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" + integrity sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c= + dependencies: + cross-spawn "^5.0.1" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + execa@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" @@ -4170,6 +4524,20 @@ extend@^3.0.0: resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== +extendable-error@^0.1.5: + version "0.1.7" + resolved "https://registry.yarnpkg.com/extendable-error/-/extendable-error-0.1.7.tgz#60b9adf206264ac920058a7395685ae4670c2b96" + integrity sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg== + +external-editor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" + integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== + dependencies: + chardet "^0.7.0" + iconv-lite "^0.4.24" + tmp "^0.0.33" + extglob@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" @@ -4290,7 +4658,7 @@ find-up@^2.1.0: dependencies: locate-path "^2.0.0" -find-up@^4.1.0: +find-up@^4.0.0, find-up@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== @@ -4298,6 +4666,22 @@ find-up@^4.1.0: locate-path "^5.0.0" path-exists "^4.0.0" +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +find-yarn-workspace-root2@1.2.16: + version "1.2.16" + resolved "https://registry.yarnpkg.com/find-yarn-workspace-root2/-/find-yarn-workspace-root2-1.2.16.tgz#60287009dd2f324f59646bdb4b7610a6b301c2a9" + integrity sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA== + dependencies: + micromatch "^4.0.2" + pkg-dir "^4.2.0" + find-yarn-workspace-root@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz#f47fb8d239c900eb78179aa81b66673eac88f7bd" @@ -4445,6 +4829,11 @@ get-stdin@^8.0.0: resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-8.0.0.tgz#cbad6a73feb75f6eeb22ba9e01f89aa28aa97a53" integrity sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg== +get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= + get-stream@^6.0.0: version "6.0.1" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" @@ -4535,7 +4924,7 @@ globals@^13.6.0, globals@^13.9.0: dependencies: type-fest "^0.20.2" -globby@11.0.4, globby@^11.0.4: +globby@11.0.4, globby@^11.0.0, globby@^11.0.4: version "11.0.4" resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5" integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== @@ -4564,11 +4953,16 @@ globjoin@^0.1.4: resolved "https://registry.yarnpkg.com/globjoin/-/globjoin-0.1.4.tgz#2f4494ac8919e3767c5cbb691e9f463324285d43" integrity sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM= -graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.4, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4: +graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.4, graceful-fs@^4.1.5, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4: version "4.2.8" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== +grapheme-splitter@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" + integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== + gray-matter@^4.0.2: version "4.0.3" resolved "https://registry.yarnpkg.com/gray-matter/-/gray-matter-4.0.3.tgz#e893c064825de73ea1f5f7d88c7a9f7274288798" @@ -4917,12 +5311,17 @@ http-proxy@^1.18.1: follow-redirects "^1.0.0" requires-port "^1.0.0" +human-id@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/human-id/-/human-id-1.0.2.tgz#e654d4b2b0d8b07e45da9f6020d8af17ec0a5df3" + integrity sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw== + human-signals@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== -iconv-lite@0.4.24: +iconv-lite@0.4.24, iconv-lite@^0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== @@ -5135,6 +5534,13 @@ is-ci@^2.0.0: dependencies: ci-info "^2.0.0" +is-ci@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867" + integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ== + dependencies: + ci-info "^3.2.0" + is-core-module@^2.2.0, is-core-module@^2.5.0, is-core-module@^2.8.0: version "2.8.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.0.tgz#0321336c3d0925e497fd97f5d95cb114a5ccd548" @@ -5223,6 +5629,11 @@ is-fullwidth-code-point@^1.0.0: dependencies: number-is-nan "^1.0.0" +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + is-fullwidth-code-point@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" @@ -5369,6 +5780,11 @@ is-shared-array-buffer@^1.0.1: resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA== +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + is-stream@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" @@ -5381,6 +5797,13 @@ is-string@^1.0.5, is-string@^1.0.7: dependencies: has-tostringtag "^1.0.0" +is-subdir@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/is-subdir/-/is-subdir-1.2.0.tgz#b791cd28fab5202e91a08280d51d9d7254fd20d4" + integrity sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw== + dependencies: + better-path-resolve "1.0.0" + is-symbol@^1.0.2, is-symbol@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" @@ -5419,7 +5842,7 @@ is-whitespace@^0.3.0: resolved "https://registry.yarnpkg.com/is-whitespace/-/is-whitespace-0.3.0.tgz#1639ecb1be036aec69a54cbb401cfbed7114ab7f" integrity sha1-Fjnssb4DauxppUy7QBz77XEUq38= -is-windows@^1.0.1, is-windows@^1.0.2: +is-windows@^1.0.0, is-windows@^1.0.1, is-windows@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== @@ -5521,7 +5944,7 @@ js-tokens@^4.0.0: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@^3.13.1: +js-yaml@^3.13.0, js-yaml@^3.13.1, js-yaml@^3.6.1: version "3.14.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== @@ -5852,6 +6275,16 @@ load-json-file@^4.0.0: pify "^3.0.0" strip-bom "^3.0.0" +load-yaml-file@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/load-yaml-file/-/load-yaml-file-0.2.0.tgz#af854edaf2bea89346c07549122753c07372f64d" + integrity sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw== + dependencies: + graceful-fs "^4.1.5" + js-yaml "^3.13.0" + pify "^4.0.1" + strip-bom "^3.0.0" + loader-runner@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.2.0.tgz#d7022380d66d14c5fb1d496b89864ebcfd478384" @@ -5882,6 +6315,13 @@ locate-path@^5.0.0: dependencies: p-locate "^4.1.0" +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + lodash.camelcase@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" @@ -5912,6 +6352,11 @@ lodash.merge@^4.6.2: resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== +lodash.startcase@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.startcase/-/lodash.startcase-4.4.0.tgz#9436e34ed26093ed7ffae1936144350915d9add8" + integrity sha1-lDbjTtJgk+1/+uGTYUQ1CRXZrdg= + lodash.truncate@^4.4.2: version "4.4.2" resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" @@ -5949,7 +6394,7 @@ lower-case@^2.0.2: dependencies: tslib "^2.0.3" -lru-cache@^4.1.5: +lru-cache@^4.0.1, lru-cache@^4.1.5: version "4.1.5" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== @@ -6170,6 +6615,23 @@ memorystream@^0.3.1: resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" integrity sha1-htcJCzDORV1j+64S3aUaR93K+bI= +meow@^6.0.0: + version "6.1.1" + resolved "https://registry.yarnpkg.com/meow/-/meow-6.1.1.tgz#1ad64c4b76b2a24dfb2f635fddcadf320d251467" + integrity sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg== + dependencies: + "@types/minimist" "^1.2.0" + camelcase-keys "^6.2.2" + decamelize-keys "^1.1.0" + hard-rejection "^2.1.0" + minimist-options "^4.0.2" + normalize-package-data "^2.5.0" + read-pkg-up "^7.0.1" + redent "^3.0.0" + trim-newlines "^3.0.0" + type-fest "^0.13.1" + yargs-parser "^18.1.3" + meow@^9.0.0: version "9.0.0" resolved "https://registry.yarnpkg.com/meow/-/meow-9.0.0.tgz#cd9510bc5cac9dee7d03c73ee1f9ad959f4ea364" @@ -6317,7 +6779,7 @@ minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4: dependencies: brace-expansion "^1.1.7" -minimist-options@4.1.0: +minimist-options@4.1.0, minimist-options@^4.0.2: version "4.1.0" resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== @@ -6349,6 +6811,11 @@ mixin-deep@^1.2.0: for-in "^1.0.2" is-extendable "^1.0.1" +mixme@^0.5.1: + version "0.5.4" + resolved "https://registry.yarnpkg.com/mixme/-/mixme-0.5.4.tgz#8cb3bd0cd32a513c161bf1ca99d143f0bcf2eff3" + integrity sha512-3KYa4m4Vlqx98GPdOHghxSdNtTvcP8E0kkaJ5Dlh+h2DRzF7zpuVVcA8B0QpKd11YJeP9QQ7ASkKzOeu195Wzw== + mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: version "0.5.3" resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" @@ -6555,6 +7022,13 @@ npm-run-all@^4.1.5: shell-quote "^1.6.1" string.prototype.padend "^3.0.0" +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + dependencies: + path-key "^2.0.0" + npm-run-path@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" @@ -6731,6 +7205,18 @@ os-tmpdir@~1.0.2: resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= +outdent@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/outdent/-/outdent-0.5.0.tgz#9e10982fdc41492bb473ad13840d22f9655be2ff" + integrity sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q== + +p-filter@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-filter/-/p-filter-2.1.0.tgz#1b1472562ae7a0f742f0f3d3d3718ea66ff9c09c" + integrity sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw== + dependencies: + p-map "^2.0.0" + p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" @@ -6750,6 +7236,13 @@ p-limit@^2.2.0: dependencies: p-try "^2.0.0" +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + p-locate@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" @@ -6764,6 +7257,18 @@ p-locate@^4.1.0: dependencies: p-limit "^2.2.0" +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-map@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" + integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== + p-map@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" @@ -6951,7 +7456,7 @@ path-is-inside@^1.0.1: resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= -path-key@^2.0.1: +path-key@^2.0.0, path-key@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= @@ -7027,6 +7532,11 @@ pify@^3.0.0: resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + pinkie-promise@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" @@ -7046,6 +7556,13 @@ pkg-dir@^2.0.0: dependencies: find-up "^2.1.0" +pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + please-upgrade-node@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942" @@ -7384,6 +7901,16 @@ prebuild-install@^6.1.2: tar-fs "^2.0.0" tunnel-agent "^0.6.0" +preferred-pm@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/preferred-pm/-/preferred-pm-3.0.3.tgz#1b6338000371e3edbce52ef2e4f65eb2e73586d6" + integrity sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ== + dependencies: + find-up "^5.0.0" + find-yarn-workspace-root2 "1.2.16" + path-exists "^4.0.0" + which-pm "2.0.0" + prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -7396,6 +7923,11 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" +prettier@^1.19.1: + version "1.19.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" + integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== + prettier@^2.5.1: version "2.5.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.5.1.tgz#fff75fa9d519c54cf0fce328c1017d94546bc56a" @@ -7666,6 +8198,16 @@ read-pkg@^5.2.0: parse-json "^5.0.0" type-fest "^0.6.0" +read-yaml-file@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/read-yaml-file/-/read-yaml-file-1.1.0.tgz#9362bbcbdc77007cc8ea4519fe1c0b821a7ce0d8" + integrity sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA== + dependencies: + graceful-fs "^4.1.5" + js-yaml "^3.6.1" + pify "^4.0.1" + strip-bom "^3.0.0" + readable-stream@^2.0.6: version "2.3.7" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" @@ -8366,6 +8908,17 @@ slugify@^1.4.0: resolved "https://registry.yarnpkg.com/slugify/-/slugify-1.6.3.tgz#325aec50871acfb17976f2d3cb09ee1e7ab563be" integrity sha512-1MPyqnIhgiq+/0iDJyqSJHENdnH5MMIlgJIBxmkRMzTNKlS/QsN5dXsB+MdDq4E6w0g9jFA4XOTRkVDjDae/2w== +smartwrap@^1.2.3: + version "1.2.5" + resolved "https://registry.yarnpkg.com/smartwrap/-/smartwrap-1.2.5.tgz#45ee3e09ac234e5f7f17c16e916f511834f3cd23" + integrity sha512-bzWRwHwu0RnWjwU7dFy7tF68pDAx/zMSu3g7xr9Nx5J0iSImYInglwEVExyHLxXljy6PWMjkSAbwF7t2mPnRmg== + dependencies: + breakword "^1.0.5" + grapheme-splitter "^1.0.4" + strip-ansi "^6.0.0" + wcwidth "^1.0.1" + yargs "^15.1.0" + snapdragon-node@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" @@ -8502,6 +9055,14 @@ space-separated-tokens@^1.0.0: resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz#85f32c3d10d9682007e917414ddc5c26d1aa6899" integrity sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA== +spawndamnit@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/spawndamnit/-/spawndamnit-2.0.0.tgz#9f762ac5c3476abb994b42ad592b5ad22bb4b0ad" + integrity sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA== + dependencies: + cross-spawn "^5.1.0" + signal-exit "^3.0.2" + spdx-correct@^3.0.0: version "3.1.1" resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" @@ -8595,6 +9156,13 @@ stream-throttle@^0.1.3: commander "^2.2.0" limiter "^1.0.5" +stream-transform@^2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/stream-transform/-/stream-transform-2.1.3.tgz#a1c3ecd72ddbf500aa8d342b0b9df38f5aa598e3" + integrity sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ== + dependencies: + mixme "^0.5.1" + string-argv@^0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.1.2.tgz#c5b7bc03fb2b11983ba3a72333dd0559e77e4738" @@ -8623,6 +9191,14 @@ string-width@^1.0.1: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" +string-width@^2.0.0, string-width@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + string-width@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.0.1.tgz#0d8158335a6cfd8eb95da9b6b262ce314a036ffd" @@ -8687,6 +9263,13 @@ strip-ansi@^3.0.0, strip-ansi@^3.0.1: dependencies: ansi-regex "^2.0.0" +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= + dependencies: + ansi-regex "^3.0.0" + strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" @@ -8716,6 +9299,11 @@ strip-bom@^3.0.0: resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + strip-final-newline@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" @@ -8930,6 +9518,18 @@ tar-stream@^2.1.4: inherits "^2.0.3" readable-stream "^3.1.1" +term-size@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69" + integrity sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk= + dependencies: + execa "^0.7.0" + +term-size@^2.1.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.2.1.tgz#2a6a54840432c2fb6320fea0f415531e90189f54" + integrity sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg== + terser-webpack-plugin@^5.1.3: version "5.2.5" resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.2.5.tgz#ce65b9880a0c36872555c4874f45bbdb02ee32c9" @@ -9117,6 +9717,18 @@ tsutils@^3.21.0: dependencies: tslib "^1.8.1" +tty-table@^2.8.10: + version "2.8.13" + resolved "https://registry.yarnpkg.com/tty-table/-/tty-table-2.8.13.tgz#d484a416381973eaebbdf19c79136b390e5c6d70" + integrity sha512-eVV/+kB6fIIdx+iUImhXrO22gl7f6VmmYh0Zbu6C196fe1elcHXd7U6LcLXu0YoVPc2kNesWiukYcdK8ZmJ6aQ== + dependencies: + chalk "^3.0.0" + csv "^5.3.1" + smartwrap "^1.2.3" + strip-ansi "^6.0.0" + wcwidth "^1.0.1" + yargs "^15.1.0" + tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" @@ -9131,6 +9743,11 @@ type-check@^0.4.0, type-check@~0.4.0: dependencies: prelude-ls "^1.2.1" +type-fest@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" + integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== + type-fest@^0.18.0: version "0.18.1" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" @@ -9500,6 +10117,13 @@ watchpack@^2.3.0: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" +wcwidth@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" + integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g= + dependencies: + defaults "^1.0.3" + web-component-analyzer@^1.1.6, web-component-analyzer@~1.1.1: version "1.1.6" resolved "https://registry.yarnpkg.com/web-component-analyzer/-/web-component-analyzer-1.1.6.tgz#d9bd904d904a711c19ba6046a45b60a7ee3ed2e9" @@ -9597,6 +10221,14 @@ which-module@^2.0.0: resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= +which-pm@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-pm/-/which-pm-2.0.0.tgz#8245609ecfe64bf751d0eef2f376d83bf1ddb7ae" + integrity sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w== + dependencies: + load-yaml-file "^0.2.0" + path-exists "^4.0.0" + which@^1.2.9, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" @@ -9618,6 +10250,13 @@ wide-align@^1.1.0: dependencies: string-width "^1.0.2 || 2 || 3 || 4" +widest-line@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-2.0.1.tgz#7438764730ec7ef4381ce4df82fb98a53142a3fc" + integrity sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA== + dependencies: + string-width "^2.1.1" + with@^7.0.0: version "7.0.2" resolved "https://registry.yarnpkg.com/with/-/with-7.0.2.tgz#ccee3ad542d25538a7a7a80aad212b9828495bac" @@ -9773,7 +10412,7 @@ yaml@^1.10.0, yaml@^1.10.2: resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== -yargs-parser@^18.1.2: +yargs-parser@^18.1.2, yargs-parser@^18.1.3: version "18.1.3" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== @@ -9799,7 +10438,7 @@ yargs@17.1.1: y18n "^5.0.5" yargs-parser "^20.2.2" -yargs@^15.3.1, yargs@^15.4.1: +yargs@^15.1.0, yargs@^15.3.1, yargs@^15.4.1: version "15.4.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== @@ -9826,6 +10465,11 @@ ylru@^1.2.0: resolved "https://registry.yarnpkg.com/ylru/-/ylru-1.2.1.tgz#f576b63341547989c1de7ba288760923b27fe84f" integrity sha512-faQrqNMzcPCHGVC2aaOINk13K+aaBDUPjGWl0teOXywElLjyVAB6Oe2jj62jHYtwsU49jXhScYbvPENK+6zAvQ== +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + zwitch@^1.0.0: version "1.0.5" resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-1.0.5.tgz#d11d7381ffed16b742f6af7b3f223d5cd9fe9920" From 26cbcdf99e8c15275f7e340b0df25ec7a37690b8 Mon Sep 17 00:00:00 2001 From: web-padawan Date: Fri, 31 Dec 2021 14:18:05 +0200 Subject: [PATCH 06/27] fix: use correct imports and HTML tags --- index.html | 14 +++++++------- package.json | 4 ++-- packages/api-demo/src/base.ts | 8 ++++---- packages/api-docs/src/base.ts | 8 ++++---- packages/api-viewer/src/base.ts | 4 ++-- 5 files changed, 19 insertions(+), 19 deletions(-) diff --git a/index.html b/index.html index 052c9aa..50bbba8 100755 --- a/index.html +++ b/index.html @@ -199,13 +199,13 @@

CSS shadow parts