diff --git a/.eslintrc b/.eslintrc index a14efbf462..3bf730b22f 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,20 +1,9 @@ { "root": true, "parser": "@typescript-eslint/parser", - "parserOptions": { - "ecmaVersion": 10, - "ecmaFeatures": { - "jsx": true - }, - "project": "tsconfig.json" - }, "extends": ["plugin:import/recommended", "plugin:import/typescript", "prettier"], "plugins": ["jest", "@typescript-eslint/eslint-plugin", "testing-library"], - "env": { - "es6": true, - "browser": true, - "node": true - }, + "env": { "node": true }, "rules": { "@typescript-eslint/ban-ts-comment": "off", "@typescript-eslint/no-use-before-define": "off", @@ -77,16 +66,6 @@ "rules": { "jest/expect-expect": "off" } - }, - { - "files": ["*.test.*", "*.test.*"], - "extends": ["plugin:jest/recommended", "plugin:jest/style"], - "excludedFiles": ["cypress/**/*.test.ts"], - "rules": { - "jsx-a11y/label-has-associated-control": "off", - "global-require": "off", - "no-new": "off" - } } ] } diff --git a/.gitignore b/.gitignore index a1b79b5dd5..e2ff11562b 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,9 @@ yarn-debug.log* yarn-error.log* lerna-debug.log* +# Disable turbo cache +.turbo + # Diagnostic reports (https://nodejs.org/api/report.html) report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json @@ -163,4 +166,4 @@ temp/ # System files .DS_Store -.ultra.cache.json \ No newline at end of file +.ultra.cache.json diff --git a/examples/vue-ts/package.json b/examples/vue-ts/package.json index 1a8b9cdbc9..e647aa0d26 100644 --- a/examples/vue-ts/package.json +++ b/examples/vue-ts/package.json @@ -22,7 +22,7 @@ "@vue/compiler-sfc": "^3.0.5", "@vue/runtime-dom": "^3.2.21", "eslint-plugin-vue": "^6.0.1", - "typescript": "4.5.4", + "typescript": "^4.6.3", "vite-plugin-components": "^0.10.4", "vite-plugin-optimize-persist": "^0.1.0", "vite-plugin-package-config": "^0.0.3", diff --git a/jest.config.js b/jest.config.js index 80515c19c5..615ad12ee3 100644 --- a/jest.config.js +++ b/jest.config.js @@ -7,11 +7,6 @@ module.exports = { testPathIgnorePatterns: ["/cypress/"], transformIgnorePatterns: ["[/\\\\]node_modules[/\\\\].+\\.(js|jsx)$"], setupFilesAfterEnv: ["@testing-library/jest-dom/extend-expect"], - globals: { - "ts-jest": { - tsconfig: "tsconfig.json", - }, - }, watchPlugins: ["jest-watch-typeahead/filename", "jest-watch-typeahead/testname"], collectCoverageFrom: ["**/src/**/*.(ts|tsx)"], modulePathIgnorePatterns: ["dist"], diff --git a/lask.config.json b/lask.config.json new file mode 100644 index 0000000000..e32b173d16 --- /dev/null +++ b/lask.config.json @@ -0,0 +1,13 @@ +{ + "entryPoints": ["./src/index.ts"], + "clean": true, + "outDir": "dist", + "external": { + "dependencies": true, + "peerDependencies": true + }, + "devConfig": "tsconfig.json", + "buildConfig": "tsconfig.json", + "format": ["cjs", "esm"], + "calculateSize": true +} diff --git a/package.json b/package.json index 7058e6430d..0e512cbf5c 100644 --- a/package.json +++ b/package.json @@ -1,19 +1,25 @@ { "name": "zag", "private": true, - "description": "UI machines monorepo root package", "repository": { "type": "git", "url": "git+https://github.com/chakra-ui/zag.git" }, "author": "Segun Adebayo ", "license": "MIT", + "workspaces": { + "packages": [ + "packages/**/*", + "scripts", + "examples/*" + ] + }, "scripts": { "build:module": "esr scripts/build.ts", "build:prod": "NODE_ENV=production yarn build:module", "dev": "yarn build:module --dev", "watch": "yarn build:module --dev --watch", - "prepare": "husky install && yarn dev", + "prepare": "husky install", "clean": "esr scripts/generate-typings.ts", "build:types": "ultra -r --silent --concurrency 20 --filter \"@zag-js/*\" \"tsc src/index.ts --declaration --emitDeclarationOnly --target es2018 --outDir dist --skipLibCheck --moduleResolution node --strict false\"", "prebuild": "yarn build:types", @@ -35,7 +41,7 @@ "test": "jest --maxWorkers=50%", "test:ci": "jest --runInBand" }, - "dependencies": { + "devDependencies": { "@changesets/changelog-github": "^0.4.0", "@changesets/cli": "^2.19.0", "@commitlint/cli": "^16.0.2", @@ -84,26 +90,13 @@ "rimraf": "^3.0.2", "shelljs": "^0.8.5", "start-server-and-test": "^1.14.0", - "typescript": "4.5.4", + "typescript": "^4.6.3", + "turbo": "^1.2.2", + "lask": "^0.1.0", "ultra-runner": "^3.10.5" }, - "workspaces": { - "packages": [ - "packages/core", - "packages/machines/*", - "packages/frameworks/*", - "packages/types", - "packages/utilities/*", - "examples/*" - ] - }, "lint-staged": { - "**/*.{ts,tsx,js,jsx}": [ - "prettier --write" - ], - "**/*.{md,yml,json,babelrc,eslintrc,prettierrc}": [ - "prettier --write" - ] + "**/*.{ts,tsx,js,jsx}": "prettier --write" }, "commitlint": { "extends": [ diff --git a/packages/core/package.json b/packages/core/package.json index 073c6743da..32806aa7ed 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -11,24 +11,29 @@ "finite state machine" ], "author": "Segun Adebayo ", - "homepage": "https://github.com/chakra-ui/core#readme", + "homepage": "https://github.com/chakra-ui/zag#readme", "license": "MIT", "main": "dist/index.js", "module": "dist/index.mjs", "types": "dist/index.d.ts", - "repository": "https://github.com/chakra-ui/core/tree/main/packages/machine", + "repository": "https://github.com/chakra-ui/zag/tree/main/packages/machine", "sideEffects": false, "files": [ - "src", - "dist", - "package.json", - "README.md" + "dist/**/*" ], + "scripts": { + "start": "yarn zag build --watch", + "build": "yarn zag build --prod", + "test": "jest --config ../../jest.config.js --rootDir tests", + "lint": "eslint src --ext .ts,.tsx", + "test:ci": "yarn test --ci --runInBand --updateSnapshot", + "test:watch": "yarn test --watchAll" + }, "publishConfig": { "access": "public" }, "bugs": { - "url": "https://github.com/chakra-ui/core/issues" + "url": "https://github.com/chakra-ui/zag/issues" }, "dependencies": { "@zag-js/utils": "^0.0.0", diff --git a/packages/utilities/number/README.md b/packages/utilities/number/README.md index 8a8916f9c6..80dade91e1 100644 --- a/packages/utilities/number/README.md +++ b/packages/utilities/number/README.md @@ -10,8 +10,8 @@ npm i @zag-js/number ## Contribution -Yes please! See the [contributing guidelines](https://github.com/chakra-ui/core/blob/main/CONTRIBUTING.md) for details. +Yes please! See the [contributing guidelines](https://github.com/chakra-ui/zag/blob/main/CONTRIBUTING.md) for details. ## Licence -This project is licensed under the terms of the [MIT license](https://github.com/chakra-ui/core/blob/main/LICENSE). +This project is licensed under the terms of the [MIT license](https://github.com/chakra-ui/zag/blob/main/LICENSE). diff --git a/packages/utilities/popper/README.md b/packages/utilities/popper/README.md index 36ec2be65c..a4779b5a68 100644 --- a/packages/utilities/popper/README.md +++ b/packages/utilities/popper/README.md @@ -12,8 +12,8 @@ npm i @zag-js/popper ## Contribution -Yes please! See the [contributing guidelines](https://github.com/chakra-ui/core/blob/main/CONTRIBUTING.md) for details. +Yes please! See the [contributing guidelines](https://github.com/chakra-ui/zag/blob/main/CONTRIBUTING.md) for details. ## Licence -This project is licensed under the terms of the [MIT license](https://github.com/chakra-ui/core/blob/main/LICENSE). +This project is licensed under the terms of the [MIT license](https://github.com/chakra-ui/zag/blob/main/LICENSE). diff --git a/packages/utilities/rect/README.md b/packages/utilities/rect/README.md index 7c7f16e207..2c893fb69f 100644 --- a/packages/utilities/rect/README.md +++ b/packages/utilities/rect/README.md @@ -10,8 +10,8 @@ npm i @zag-js/geometry ## Contribution -Yes please! See the [contributing guidelines](https://github.com/chakra-ui/core/blob/main/CONTRIBUTING.md) for details. +Yes please! See the [contributing guidelines](https://github.com/chakra-ui/zag/blob/main/CONTRIBUTING.md) for details. ## Licence -This project is licensed under the terms of the [MIT license](https://github.com/chakra-ui/core/blob/main/LICENSE). +This project is licensed under the terms of the [MIT license](https://github.com/chakra-ui/zag/blob/main/LICENSE). diff --git a/plop-templates/util-template/README.md.hbs b/plop-templates/util-template/README.md.hbs index dd7fe17ff5..6bebcd45b9 100644 --- a/plop-templates/util-template/README.md.hbs +++ b/plop-templates/util-template/README.md.hbs @@ -13,10 +13,10 @@ npm i @zag-js/{{packageName}} ## Contribution Yes please! See the -[contributing guidelines](https://github.com/chakra-ui/core/blob/main/CONTRIBUTING.md) +[contributing guidelines](https://github.com/chakra-ui/zag/blob/main/CONTRIBUTING.md) for details. ## Licence This project is licensed under the terms of the -[MIT license](https://github.com/chakra-ui/core/blob/main/LICENSE). +[MIT license](https://github.com/chakra-ui/zag/blob/main/LICENSE). diff --git a/scripts/build.ts b/scripts/build.ts index 827b4d480f..bed051fd03 100644 --- a/scripts/build.ts +++ b/scripts/build.ts @@ -58,10 +58,10 @@ function buildPackage(dir: string, pkg: Record, opts: BuildOptions) const common: esbuild.BuildOptions = { minify: process.env.NODE_ENV === "production", bundle: true, - sourcemap: true, + sourcemap: "inline", absWorkingDir: dir, entryPoints: ["src/index.ts"], - external: Object.keys(pkg.peerDependencies ?? {}), + external: ["valtio"].concat(Object.keys(pkg.peerDependencies ?? {})), } esbuild.buildSync({ diff --git a/scripts/index.js b/scripts/index.js new file mode 100755 index 0000000000..ac82783076 --- /dev/null +++ b/scripts/index.js @@ -0,0 +1,3 @@ +#!/usr/bin/env node +require("@swc-node/register") +require("./src/index.ts") diff --git a/scripts/package.json b/scripts/package.json new file mode 100644 index 0000000000..8c9496a049 --- /dev/null +++ b/scripts/package.json @@ -0,0 +1,15 @@ +{ + "name": "@zag-js/scripts", + "version": "1.0.0", + "private": true, + "bin": { + "zag": "index.js" + }, + "dependencies": { + "esbuild-plugin-alias": "^0.2.1", + "@swc-node/register": "1.4.2", + "commander": "8.3.0", + "signale": "^1.4.0", + "@types/signale": "^1.4.4" + } +} diff --git a/scripts/play.ts b/scripts/play.ts new file mode 100644 index 0000000000..60b21027f3 --- /dev/null +++ b/scripts/play.ts @@ -0,0 +1,25 @@ +import { getWorkspacePkgs } from "./build-utils" +import fs from "fs" + +const patch = { + files: ["dist/**/*"], + scripts: { + start: "yarn zag build --watch", + build: "yarn zag build --prod", + test: "jest --config ../../jest.config.js --rootDir tests", + lint: "eslint src --ext .ts,.tsx", + "test:ci": "yarn test --ci --runInBand --updateSnapshot", + "test:watch": "yarn test --watchAll", + }, +} + +async function main() { + const pkgs = await getWorkspacePkgs() + for (const { pkg } of pkgs) { + if (pkg.name === "@zag-js/scripts") continue + Object.assign(pkg, patch) + fs.writeFileSync(`${pkg.dir}/package.json`, JSON.stringify(pkg, null, 2)) + } +} + +main() diff --git a/scripts/src/commands/build.ts b/scripts/src/commands/build.ts new file mode 100644 index 0000000000..9e6167b66f --- /dev/null +++ b/scripts/src/commands/build.ts @@ -0,0 +1,105 @@ +import * as esbuild from "esbuild" +import fs from "fs" +import path from "path" +import { spawn } from "child_process" +import { logger } from "../utilities/log" +import { getBundleSize } from "../utilities/bundle-size" + +function getPackageJson(dir: string) { + const pkgPath = path.join(dir, "package.json") + return JSON.parse(fs.readFileSync(pkgPath, "utf8")) as Record +} + +type BuildArgs = { + report?: boolean + watch?: boolean + prod?: boolean + clean?: boolean +} + +const EXCLUDES = ["valtio"] + +export async function build(opts: BuildArgs) { + const { report, watch, prod } = opts + + const cwd = process.cwd() + const pkgJson = getPackageJson(cwd) + + const common: esbuild.BuildOptions = { + target: "es6", + minify: false, + bundle: true, + treeShaking: true, + platform: "neutral", + sourcemap: true, + absWorkingDir: cwd, + entryPoints: ["src/index.ts"], + define: { + "process.env.NODE_ENV": JSON.stringify(process.env.NODE_ENV), + }, + external: EXCLUDES.concat(Object.keys(pkgJson.peerDependencies ?? {})), + plugins: [ + { + name: "resolve", + setup(builder) { + builder.onResolve({ filter: /^@zag-js/ }, (args) => { + const root = args.resolveDir.split("packages")[0] + const _path = path.resolve(path.join(root, "node_modules", args.path, "src", "index.ts")) + return { path: _path } + }) + }, + }, + ], + } + + if (watch) { + common.watch = { + onRebuild(err) { + if (err) { + throw Error(`${err.name}: Rebuild failed`) + } + logger.buildComplete(pkgJson.name + " [cjs/esm]") + }, + } + } + + await Promise.all([ + esbuild.build({ + ...common, + format: "cjs", + outfile: "dist/index.js", + }), + esbuild.build({ + ...common, + format: "esm", + outfile: "dist/index.mjs", + }), + ]) + + logger.buildComplete(pkgJson.name + " [cjs/esm]") + + if (!prod) { + const dist = path.join(cwd, "dist", "index.d.ts") + fs.writeFileSync(dist, 'export * from "../src"') + } else { + spawn("tsc", [ + "src/index.ts", + "--declaration", + "--emitDeclarationOnly", + "--declarationMap", + "--skipLibCheck", + "--target", + "es2018", + "--moduleResolution", + "node", + "--outDir", + "dist", + ]) + } + + logger.typesGenerated(pkgJson.name + " [d.ts]") + + if (report) { + logger.info(getBundleSize(cwd, pkgJson.name)) + } +} diff --git a/scripts/src/commands/index.ts b/scripts/src/commands/index.ts new file mode 100644 index 0000000000..5f86833654 --- /dev/null +++ b/scripts/src/commands/index.ts @@ -0,0 +1 @@ +export * from "./build" diff --git a/scripts/src/index.ts b/scripts/src/index.ts new file mode 100644 index 0000000000..479a328186 --- /dev/null +++ b/scripts/src/index.ts @@ -0,0 +1,23 @@ +import { Command } from "commander" +import { build } from "./commands" +import { logger } from "./utilities/log" + +const program = new Command() + +// prettier-ignore +program.name("zag-cli") + .description("cli utilities for zag") + +program + .command("build") + .description("Build a package") + .option("-r, --report", "report bundle size") + .option("-w, --watch", "watch for changes") + .option("-p, --prod", "minify for production") + .action(build) + +program.parse(process.argv) + +process.on("uncaughtException", (error) => { + logger.error(error.message) +}) diff --git a/scripts/src/utilities/bundle-size.ts b/scripts/src/utilities/bundle-size.ts new file mode 100644 index 0000000000..54c86a1bb9 --- /dev/null +++ b/scripts/src/utilities/bundle-size.ts @@ -0,0 +1,9 @@ +import gzipSize from "gzip-size" +import pretty from "pretty-bytes" +import chalk from "chalk" + +export function getBundleSize(dir: string, name: string) { + const output = [chalk.green(name), "gzip size", chalk.dim("→")] + output.push(pretty(gzipSize.fileSync(`${dir}/dist/index.mjs`))) + return output.join(" ") +} diff --git a/scripts/src/utilities/log.ts b/scripts/src/utilities/log.ts new file mode 100644 index 0000000000..036a4c6afa --- /dev/null +++ b/scripts/src/utilities/log.ts @@ -0,0 +1,16 @@ +import signale from "signale" + +const fn = signale.scope("build") + +export const logger = { + ...fn, + watching() { + fn.info("Watching packages...") + }, + buildComplete(name: string) { + fn.success(`${name}: Build complete.`) + }, + typesGenerated(name: string) { + fn.success(`${name}: Type generation complete...`) + }, +} diff --git a/scripts/tsconfig.json b/scripts/tsconfig.json new file mode 100644 index 0000000000..42acb8d09a --- /dev/null +++ b/scripts/tsconfig.json @@ -0,0 +1,9 @@ +{ + "compilerOptions": { + "strict": true, + "esModuleInterop": true, + "downlevelIteration": true, + "jsx": "react" + }, + "include": ["src"] +} diff --git a/tsconfig.eslint.json b/tsconfig.eslint.json index 6b1ff0631e..3a660fe087 100644 --- a/tsconfig.eslint.json +++ b/tsconfig.eslint.json @@ -1,4 +1,4 @@ { "extends": "./tsconfig.json", - "include": ["**/*.config.js", "examples/**/*.ts", "examples/**/*.tsx", "cypress/**/*.ts"] + "include": ["**/*.config.js", "examples/**/*.ts", "examples/**/*.tsx", "cypress/**/*.ts", "scripts"] } diff --git a/tsconfig.json b/tsconfig.json index d58aa5021a..25a5efe5cb 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,4 +1,6 @@ { + "exclude": ["node_modules"], + "include": ["packages", "scripts", "shared", "scripts", "examples/misc"], "compilerOptions": { "allowJs": false, "allowSyntheticDefaultImports": true, @@ -7,14 +9,13 @@ "downlevelIteration": true, "esModuleInterop": true, "isolatedModules": true, + "incremental": true, "forceConsistentCasingInFileNames": true, "jsx": "preserve", "noEmit": true, "lib": ["dom", "esnext"], "module": "esnext", - "pretty": true, "moduleResolution": "node", - // "incremental": true, "noFallthroughCasesInSwitch": false, "noImplicitAny": true, "noImplicitThis": true, @@ -28,7 +29,5 @@ "strictPropertyInitialization": true, "suppressImplicitAnyIndexErrors": true, "target": "es2018" - }, - "exclude": ["node_modules"], - "include": ["packages", "scripts", "shared", "examples/misc"] + } } diff --git a/turbo.json b/turbo.json new file mode 100644 index 0000000000..386bdb5d90 --- /dev/null +++ b/turbo.json @@ -0,0 +1,16 @@ +{ + "$schema": "https://turborepo.org/schema.json", + "baseBranch": "origin/main", + "pipeline": { + "build": { + "dependsOn": ["^build"], + "outputs": ["dist/**"] + }, + "test": { + "cache": false + }, + "lint": { + "cache": false + } + } +} diff --git a/yarn.lock b/yarn.lock index 29396775d6..da250d2d75 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1678,6 +1678,26 @@ "@node-rs/xxhash" "^1.0.1" "@swc-node/core" "^1.8.2" +"@swc-node/register@1.4.2": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@swc-node/register/-/register-1.4.2.tgz#98801cc5ad8792519511bd6ae31c01f40aa487a3" + integrity sha512-wLZz0J7BTO//1Eq7e4eBQjKF380Hr2eVemz849msQSKcVM1D7UJUt/dP2TinEVGx++/BXJ/0q37i6n9Iw0EM0w== + dependencies: + "@swc-node/core" "^1.8.2" + "@swc-node/sourcemap-support" "^0.1.11" + chalk "4" + debug "^4.3.3" + pirates "^4.0.4" + tslib "^2.3.1" + typescript "^4.5.3" + +"@swc-node/sourcemap-support@^0.1.11": + version "0.1.11" + resolved "https://registry.yarnpkg.com/@swc-node/sourcemap-support/-/sourcemap-support-0.1.11.tgz#50cda396baade0636e8f53596b7a66386490c06d" + integrity sha512-b+Mn3oQl+7nUSt7hPzIbY9B30YhcFo1PT4kd9P4QmD6raycmIealOAhAdZID/JevphzsOXHQB4OqJm7Yi5tMcA== + dependencies: + source-map-support "^0.5.21" + "@swc/core-android-arm-eabi@1.2.129": version "1.2.129" resolved "https://registry.yarnpkg.com/@swc/core-android-arm-eabi/-/core-android-arm-eabi-1.2.129.tgz#4fb265ecaaba17e879be179213b8a81ae7730c72" @@ -2063,6 +2083,13 @@ "@types/glob" "*" "@types/node" "*" +"@types/signale@^1.4.4": + version "1.4.4" + resolved "https://registry.yarnpkg.com/@types/signale/-/signale-1.4.4.tgz#dbfd32b39f1084551ecda9ba0888e4fef49e9fea" + integrity sha512-VYy4VL64gA4uyUIYVj4tiGFF0VpdnRbJeqNENKGX42toNiTvt83rRzxdr0XK4DR3V01zPM0JQNIsL+IwWWfhsQ== + dependencies: + "@types/node" "*" + "@types/sinonjs__fake-timers@^6.0.2": version "6.0.4" resolved "https://registry.yarnpkg.com/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-6.0.4.tgz#0ecc1b9259b76598ef01942f547904ce61a6a77d" @@ -3141,7 +3168,15 @@ caseless@~0.12.0: resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= -chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.4.2: +chalk@4, chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.2, 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== @@ -3158,14 +3193,6 @@ chalk@^3.0.0: ansi-styles "^4.1.0" supports-color "^7.1.0" -chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - change-case@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/change-case/-/change-case-3.1.0.tgz#0e611b7edc9952df2e8513b27b42de72647dd17e" @@ -3401,16 +3428,26 @@ combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" +commander@8.3.0, commander@^8.2.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" + integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== + +commander@^2.20.0: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/commander/-/commander-3.0.2.tgz#6837c3fb677ad9933d1cfba42dd14d5117d6b39e" + integrity sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow== + commander@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== -commander@^8.2.0: - version "8.3.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" - integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== - commitlint@^12.1.4: version "12.1.4" resolved "https://registry.yarnpkg.com/commitlint/-/commitlint-12.1.4.tgz#afc185957afdd07d2ebb6c78b5956d407fc09ad0" @@ -3793,6 +3830,13 @@ debug@^3.1.0, debug@^3.2.7: dependencies: ms "^2.1.1" +debug@^4.3.3: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + decamelize-keys@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" @@ -4319,6 +4363,11 @@ esbuild-openbsd-64@0.14.36: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.36.tgz#c94c04c557fae516872a586eae67423da6d2fabb" integrity sha512-NvGB2Chf8GxuleXRGk8e9zD3aSdRO5kLt9coTQbCg7WMGXeX471sBgh4kSg8pjx0yTXRt0MlrUDnjVYnetyivg== +esbuild-plugin-alias@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/esbuild-plugin-alias/-/esbuild-plugin-alias-0.2.1.tgz#45a86cb941e20e7c2bc68a2bea53562172494fcb" + integrity sha512-jyfL/pwPqaFXyKnj8lP8iLk6Z0m099uXR45aSN8Av1XD4vhvQutxxPzgA2bTcAwQpa1zCXDcWOlhFgyP3GKqhQ== + esbuild-runner@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/esbuild-runner/-/esbuild-runner-2.2.1.tgz#3866fca62cbf9645e939b43a0c65446f9a53064f" @@ -4390,7 +4439,7 @@ esbuild@^0.13.2: esbuild-windows-64 "0.13.15" esbuild-windows-arm64 "0.13.15" -esbuild@^0.14.36: +esbuild@^0.14.18, esbuild@^0.14.36: version "0.14.36" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.36.tgz#0023a73eab57886ac5605df16ee421e471a971b3" integrity sha512-HhFHPiRXGYOCRlrhpiVDYKcFJRdO0sBElZ668M4lh2ER0YgnkLxECuFe7uWCf23FrcLc59Pqr7dHkTqmRPDHmw== @@ -4968,6 +5017,13 @@ fd-slicer@~1.1.0: dependencies: pend "~1.2.0" +figures@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" + integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= + dependencies: + escape-string-regexp "^1.0.5" + figures@^3.0.0, figures@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" @@ -5004,7 +5060,7 @@ find-root@^1.1.0: resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== -find-up@^2.1.0: +find-up@^2.0.0, find-up@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= @@ -6768,6 +6824,11 @@ json-buffer@3.0.0: resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= +json-parse-better-errors@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + json-parse-even-better-errors@^2.3.0: version "2.3.1" resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" @@ -6929,6 +6990,17 @@ language-tags@^1.0.5: dependencies: language-subtag-registry "~0.3.2" +lask@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/lask/-/lask-0.1.0.tgz#fe7a327c2859fc014f329cf7bd515a9c60d1da37" + integrity sha512-fpZmwLLMbkmCqSHeuQt7AZPJ85Kv8sNRwXLK/F32VV5T3tsaCwxNRWy4e4bvF0d1b0uGxVMOXtazhi+9yD0SEQ== + dependencies: + commander "^2.20.0" + esbuild "^0.14.18" + tsconfig-paths "^3.12.0" + tsconfig-replace-paths "^0.0.11" + zlib "^1.0.5" + lazy-ass@1.6.0, lazy-ass@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/lazy-ass/-/lazy-ass-1.6.0.tgz#7999655e8646c17f089fdd187d150d3324d54513" @@ -6994,6 +7066,16 @@ listr2@^3.12.2, listr2@^3.8.3: through "^2.3.8" wrap-ansi "^7.0.0" +load-json-file@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= + dependencies: + graceful-fs "^4.1.2" + parse-json "^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" @@ -7827,6 +7909,14 @@ parse-github-url@^1.0.2: resolved "https://registry.yarnpkg.com/parse-github-url/-/parse-github-url-1.0.2.tgz#242d3b65cbcdda14bb50439e3242acf6971db395" integrity sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw== +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + parse-json@^5.0.0: version "5.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" @@ -7982,6 +8072,19 @@ pirates@^4.0.1: dependencies: node-modules-regexp "^1.0.0" +pirates@^4.0.4: + version "4.0.5" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" + integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== + +pkg-conf@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/pkg-conf/-/pkg-conf-2.1.0.tgz#2126514ca6f2abfebd168596df18ba57867f0058" + integrity sha1-ISZRTKbyq/69FoWW3xi6V4Z/AFg= + dependencies: + find-up "^2.0.0" + load-json-file "^4.0.0" + pkg-dir@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" @@ -8802,6 +8905,15 @@ signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.6.tgz#24e630c4b0f03fea446a2bd299e62b4a6ca8d0af" integrity sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ== +signale@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/signale/-/signale-1.4.0.tgz#c4be58302fb0262ac00fc3d886a7c113759042f1" + integrity sha512-iuh+gPf28RkltuJC7W5MRi6XAjTDCAPC/prJUpQoG4vIP3MJZ+GTydVnodXA7pwvTKb2cA0m9OFZW/cdWy/I/w== + dependencies: + chalk "^2.3.2" + figures "^2.0.0" + pkg-conf "^2.1.0" + sisteransi@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" @@ -8935,7 +9047,7 @@ source-map-support@0.5.19: buffer-from "^1.0.0" source-map "^0.6.0" -source-map-support@^0.5.6: +source-map-support@^0.5.21, source-map-support@^0.5.6: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== @@ -9515,12 +9627,21 @@ tsconfig-paths@^3.12.0: minimist "^1.2.0" strip-bom "^3.0.0" +tsconfig-replace-paths@^0.0.11: + version "0.0.11" + resolved "https://registry.yarnpkg.com/tsconfig-replace-paths/-/tsconfig-replace-paths-0.0.11.tgz#0059a5ba5b6c156b00038ce46842e3d4d801a33b" + integrity sha512-BX10vOJL/kTZExQwj22FJgxCpneNYKfXvujBKGFpnvaKWl4/9Cpd678ZvKF+CX5NdxbKphscwtc8QzFA7zhVsA== + dependencies: + commander "^3.0.2" + globby "^10.0.1" + json5 "^2.2.0" + tslib@2.1.0, tslib@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A== -tslib@2.3.1, tslib@^2.3.0: +tslib@2.3.1, tslib@^2.3.0, tslib@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== @@ -9556,6 +9677,84 @@ tunnel-agent@^0.6.0: dependencies: safe-buffer "^5.0.1" +turbo-darwin-64@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/turbo-darwin-64/-/turbo-darwin-64-1.2.2.tgz#001151b708207141fe17371004b0871ca048dedb" + integrity sha512-2hidknFGrm2OzTcE0FBcvPIb2oewrnq4WbOOuVj+9e19rBVIs5BdN4LLvxihIxQelQdZXiPvSTVGLvvg8+mSpg== + +turbo-darwin-arm64@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/turbo-darwin-arm64/-/turbo-darwin-arm64-1.2.2.tgz#b392a013338e946b6973240fe7e6e66751bd86fa" + integrity sha512-R+7TAOdTSTDHZJoFVtL24GKUuWD4v+0qUcq8KzkLyAd7AeaPssTpwN+Tc0Nj/46RStf1PryBflu0J8ovi7SWbQ== + +turbo-freebsd-64@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/turbo-freebsd-64/-/turbo-freebsd-64-1.2.2.tgz#ef2e1da981f6b5f0485cc6c07fbd5385a621cf47" + integrity sha512-EviJUMNfw9qah3Ko8Aow0qrglJ/qGadsv8LHfTuRL8SNix4cx3s2eEAkQ82kQey1eWjtfB6XSf4JTr5EzHko8w== + +turbo-freebsd-arm64@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/turbo-freebsd-arm64/-/turbo-freebsd-arm64-1.2.2.tgz#52f0d30a9ce43ef0200c848c32b52c1e53abb39e" + integrity sha512-enz9o3qJq7SwD8pNU1EIcRIZaymNWih/SYQyrTnkD88kLcTS3LKsoenv8Jy2G0w4rCgoBsBLHLpepzRttGaxwQ== + +turbo-linux-32@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/turbo-linux-32/-/turbo-linux-32-1.2.2.tgz#cabbd7991df856441cc15b34ae646446c435d480" + integrity sha512-JyuJnFVT2u2wrvd3a5VpHigoKPJnGuNwGDnYYh6hJLpQLDk0mCRcdtViKInryPIQjbiq1oZYefYJfpPnU4MgtA== + +turbo-linux-64@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/turbo-linux-64/-/turbo-linux-64-1.2.2.tgz#11a1c9d765502ca84419ab073eec95d846a5205c" + integrity sha512-UT7SiMcN+4fyVcM7Y/p11qdypNmCUkY6zqyEGpC6G3HLZHeNt3z+nq0FZDDPiMskEP0WUbLAv1sICUKvHC4wPA== + +turbo-linux-arm64@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/turbo-linux-arm64/-/turbo-linux-arm64-1.2.2.tgz#cc283cf69715366a6aeb4ab3e51df81af1eaa479" + integrity sha512-RG/cXgrjLKowLYuYd5I7W0KS+RKoCpu6UI2YiIXShG8UGVHpGhKb1duJ2GC5gptYVWIJC3q1jqNgr5a93W+Rfw== + +turbo-linux-arm@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/turbo-linux-arm/-/turbo-linux-arm-1.2.2.tgz#7b3ef11685f80185490702dfc1cbd0d0c3dad998" + integrity sha512-HZPZG2eU1D+iHu7OvIIsMu2retLvERKgqAPb4mJ4R/xynXO0FUd07uUEJWU881ZH11mKPFWDwVfI4gjW95UuRg== + +turbo-linux-mips64le@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/turbo-linux-mips64le/-/turbo-linux-mips64le-1.2.2.tgz#0c4081206c0ca559c0c46f4c6959c7144202ccd2" + integrity sha512-r7M0e7AFBa8xBkifqsFfW3F+FLQanJkK4NiaSi2Y9IUgI1v4JEw6o6HKRGtUZ8wRRxGKY/4t8NyzzUH8a+PBXA== + +turbo-linux-ppc64le@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/turbo-linux-ppc64le/-/turbo-linux-ppc64le-1.2.2.tgz#e3b94a009eb8189c26b72f146920d2c146966363" + integrity sha512-NY96rIJxKHqQgUkvLYQCwSsXeUkkcUFmKyRqrBlsVP0BZO3CbNvLgt+EPKy1+/RLAI7wwdes9B57GoezLyZezQ== + +turbo-windows-32@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/turbo-windows-32/-/turbo-windows-32-1.2.2.tgz#0c889f0fb85a192e1a29922313e0b141da24f5da" + integrity sha512-IQYdaKqP7BxSGyU3iFNO/wKuJ17NwHPExACJiYZmua1pxM4wkeNcUCmb1u5zuJ2QbPB/+m4iGnDgitAdxUmdLw== + +turbo-windows-64@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/turbo-windows-64/-/turbo-windows-64-1.2.2.tgz#446d96ce8c015d380dfa4d805296cc4e3ce6c00d" + integrity sha512-o7jF8cCzfhTZXvGySudi/Tx72Dqv6mce8Qq58jXWXEpbMV8KJwYuX2BMhIZilNZWyCk0IUqofVPMmampga6nfQ== + +turbo@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/turbo/-/turbo-1.2.2.tgz#27e9530cfa8457d2dae50c538073f6d8fcc2e78c" + integrity sha512-gt+QuvZVAQVcrKhgSCDJObIdh12bpt4zWOPe0yiWD/zyRJjNzkiXxR6WKSuAEUl0uQIB4XrRn2OGTmrR7KROJw== + optionalDependencies: + turbo-darwin-64 "1.2.2" + turbo-darwin-arm64 "1.2.2" + turbo-freebsd-64 "1.2.2" + turbo-freebsd-arm64 "1.2.2" + turbo-linux-32 "1.2.2" + turbo-linux-64 "1.2.2" + turbo-linux-arm "1.2.2" + turbo-linux-arm64 "1.2.2" + turbo-linux-mips64le "1.2.2" + turbo-linux-ppc64le "1.2.2" + turbo-windows-32 "1.2.2" + turbo-windows-64 "1.2.2" + tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" @@ -9622,6 +9821,11 @@ typescript@4.5.4, typescript@^4.4.3: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.4.tgz#a17d3a0263bf5c8723b9c52f43c5084edf13c2e8" integrity sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg== +typescript@^4.5.3, typescript@^4.6.3: + version "4.6.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.3.tgz#eefeafa6afdd31d725584c67a0eaba80f6fc6c6c" + integrity sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw== + uglify-js@^3.1.4: version "3.14.3" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.14.3.tgz#c0f25dfea1e8e5323eccf59610be08b6043c15cf" @@ -10381,3 +10585,8 @@ 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== + +zlib@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/zlib/-/zlib-1.0.5.tgz#6e7c972fc371c645a6afb03ab14769def114fcc0" + integrity sha1-bnyXL8NxxkWmr7A6sUdp3vEU/MA=