From 826433751cdd3d8563051751a159791d6276b5d6 Mon Sep 17 00:00:00 2001 From: Dan Groshev Date: Mon, 5 Feb 2024 17:41:42 +0000 Subject: [PATCH] [dx] use Biome instead of Prettier, part 1 (#2729) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Biome seems to be MUCH faster than Prettier. Unfortunately, it introduces some formatting changes around the ternary operator, so we have to update files in the repo. To make revert easier if we need it, the change is split into two PRs. This PR has only config/package changes and is expected to fail the CI. ## Change Type - [x] `minor` — New feature --- .github/workflows/checks.yml | 6 + .ignore | 4 +- .prettierignore | 25 ---- .prettierrc | 2 +- .vscode/extensions.json | 3 + apps/docs/package.json | 5 +- biome.json | 77 ++++++++++ package.json | 10 +- packages/assets/imports.js | 34 ++--- packages/assets/imports.vite.js | 34 ++--- packages/tlschema/package.json | 1 - scripts/lint.ts | 18 --- yarn.lock | 252 ++++++++++++-------------------- 13 files changed, 227 insertions(+), 244 deletions(-) delete mode 100644 .prettierignore create mode 100644 .vscode/extensions.json create mode 100644 biome.json diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index 3eff996dd..83de06d16 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -38,6 +38,12 @@ jobs: - name: Check for installation warnings run: 'yarn | grep -vzq "with warnings"' + - name: Setup Biome CLI + uses: biomejs/setup-biome@v2 + +# - name: Run Biome +# run: biome ci --formatter-enabled=true --linter-enabled=false --organize-imports-enabled=false . + - name: Typecheck run: yarn build-types diff --git a/.ignore b/.ignore index 7f42387d4..236f8f98d 100644 --- a/.ignore +++ b/.ignore @@ -2,7 +2,7 @@ dist .tsbuild-dev .tsbuild-pub .tsbuild -node\*modules +node_modules *.d.ts *.md **/_archive @@ -18,4 +18,6 @@ apps/example/www/index.css *.cjs apps/docs/.next +e2e/**/*.png + packages/tldraw/tldraw.css \ No newline at end of file diff --git a/.prettierignore b/.prettierignore deleted file mode 100644 index 2088ec33e..000000000 --- a/.prettierignore +++ /dev/null @@ -1,25 +0,0 @@ -**/node_modules/* -**/out/* -**/dist/* -**/dist-cjs/* -**/dist-esm/* -**/.next/* -**/api/* -!**/pages/api/* -**/.tsbuild* -**/.next/* -*.mdx -**/_archive/* -apps/docs/api-content.json -apps/docs/content.json -apps/vscode/extension/editor/* -apps/examples/www -content.json -apps/docs/utils/vector-db/index.json -**/gen/**/*.md - -**/.vercel/* -**/.wrangler/* -**/.out/* -**/.temp/* -apps/dotcom/public/**/*.* \ No newline at end of file diff --git a/.prettierrc b/.prettierrc index a808b9c2b..0d4b44d10 100644 --- a/.prettierrc +++ b/.prettierrc @@ -5,5 +5,5 @@ "printWidth": 100, "tabWidth": 2, "useTabs": true, - "plugins": ["prettier-plugin-organize-imports"] + "plugins": [] } \ No newline at end of file diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 000000000..a7e684c38 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["tldraw-org.tldraw-vscode", "biomejs.biome"] +} \ No newline at end of file diff --git a/apps/docs/package.json b/apps/docs/package.json index 93738f48f..c37cc4845 100644 --- a/apps/docs/package.json +++ b/apps/docs/package.json @@ -39,7 +39,7 @@ "refresh-embeddings": "yarn run -T tsx --tsconfig ./tsconfig.content.json ./scripts/refresh-embeddings.ts", "refresh-everything": "yarn fetch-api-source && yarn fetch-releases && yarn create-api-markdown && yarn refresh-content && yarn refresh-embeddings && yarn format", "clean": "rm -rf node_modules .yarn", - "format": "yarn run -T prettier --write .", + "format": "biome format --write .", "watch-content": "tsx ./watcher.ts" }, "dependencies": { @@ -67,10 +67,7 @@ "next-themes": "^0.2.1", "octokit": "^3.1.1", "openai": "^4.11.1", - "patch-package": "^8.0.0", - "postinstall-postinstall": "^2.1.0", "prettier": "^3.0.3", - "prettier-plugin-organize-imports": "^3.2.3", "react": "^18.2.0", "react-dom": "^18.2.0", "react-hotkeys-hook": "^4.4.1", diff --git a/biome.json b/biome.json new file mode 100644 index 000000000..293ecf333 --- /dev/null +++ b/biome.json @@ -0,0 +1,77 @@ +{ + "$schema": "https://biomejs.dev/schemas/1.5.3/schema.json", + "organizeImports": { + "enabled": true + }, + "vcs": { + "enabled": true, + "clientKind": "git", + "useIgnoreFile": true, + "defaultBranch": "main" + }, + "files": { + "ignoreUnknown": true, + "ignore": [ + "dist", + "node_modules", + "**/*.d.ts", + ".next", + ".vercel", + ".vscode", + ".lazy", + ".husky", + "index.json", + "*.api.json", + "api.json", + "**/out/*", + "**/dist/*", + "**/dist-cjs/*", + "**/dist-esm/*", + "**/.next/*", + "**/packages/**/api/*", + "**/.tsbuild*", + "*.mdx", + "**/_archive/*", + "apps/docs/api-content.json", + "apps/docs/content.json", + "apps/vscode/extension/editor/*", + "apps/examples/www", + "content.json", + "apps/docs/utils/vector-db/index.json", + "**/gen/**/*.md", + "**/.vercel/*", + "**/.wrangler/*", + "**/.out/*", + "**/.temp/*", + "apps/dotcom/public/**/*.*" + ] + }, + "formatter": { + "enabled": true, + "formatWithErrors": true, + "indentStyle": "tab", + "indentWidth": 2, + "lineEnding": "lf", + "lineWidth": 100 + }, + "javascript": { + "formatter": { + "semicolons": "asNeeded", + "trailingComma": "es5", + "quoteStyle": "single", + "jsxQuoteStyle": "double", + "quoteProperties": "asNeeded", + "arrowParentheses": "always", + "bracketSameLine": false, + "bracketSpacing": true + } + }, + "json": { + "formatter": { + "lineWidth": 80 + } + }, + "linter": { + "enabled": false + } +} diff --git a/package.json b/package.json index 2bfd21648..0dc626c08 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "build-package": "lazy build-package", "preview-app": "VITE_PREVIEW=1 yarn dev-app", "lint": "lazy lint", - "format": "prettier --write --cache \"**/*.{ts,tsx,js,jsx,json}\"", + "format": "biome format --write .", "typecheck": "yarn refresh-assets && tsx scripts/typecheck.ts", "check-scripts": "tsx scripts/check-scripts.ts", "api-check": "lazy api-check", @@ -65,10 +65,11 @@ "packageManager": "yarn@4.0.2", "lint-staged": { "*.{js,jsx,ts,tsx,json}": [ - "prettier --write --cache" + "biome format --write --no-errors-on-unmatched" ] }, "devDependencies": { + "@biomejs/biome": "1.5.3", "@microsoft/api-extractor": "^7.35.4", "@next/eslint-plugin-next": "^13.3.0", "@swc/core": "^1.3.55", @@ -95,13 +96,14 @@ "json5": "^2.2.3", "lazyrepo": "0.0.0-alpha.27", "lint-staged": ">=10", - "prettier": "^3.0.3", - "prettier-plugin-organize-imports": "^3.2.3", "rimraf": "^4.4.0", "tsx": "^4.0.0", "typescript": "^5.2.2", "vercel": "^28.16.15" }, + "devDependenciesComments": { + "@biomejs/biome": "biome recommends pinning the particular version, see https://github.com/marketplace/actions/setup-biome" + }, "resolutions": { "@microsoft/api-extractor@^7.35.4": "patch:@microsoft/api-extractor@npm%3A7.35.4#./.yarn/patches/@microsoft-api-extractor-npm-7.35.4-5f4f0357b4.patch", "vectra@^0.4.4": "patch:vectra@npm%3A0.4.4#./.yarn/patches/vectra-npm-0.4.4-6aac3f6c29.patch", diff --git a/packages/assets/imports.js b/packages/assets/imports.js index f295efd85..ef673c563 100644 --- a/packages/assets/imports.js +++ b/packages/assets/imports.js @@ -5,23 +5,6 @@ /// import { formatAssetUrl } from './utils.js' -import embedIconsCodepen from './embed-icons/codepen.png' -import embedIconsCodesandbox from './embed-icons/codesandbox.png' -import embedIconsExcalidraw from './embed-icons/excalidraw.png' -import embedIconsFelt from './embed-icons/felt.png' -import embedIconsFigma from './embed-icons/figma.png' -import embedIconsGithubGist from './embed-icons/github_gist.png' -import embedIconsGoogleCalendar from './embed-icons/google_calendar.png' -import embedIconsGoogleMaps from './embed-icons/google_maps.png' -import embedIconsGoogleSlides from './embed-icons/google_slides.png' -import embedIconsObservable from './embed-icons/observable.png' -import embedIconsReplit from './embed-icons/replit.png' -import embedIconsScratch from './embed-icons/scratch.png' -import embedIconsSpotify from './embed-icons/spotify.png' -import embedIconsTldraw from './embed-icons/tldraw.png' -import embedIconsValTown from './embed-icons/val_town.png' -import embedIconsVimeo from './embed-icons/vimeo.png' -import embedIconsYoutube from './embed-icons/youtube.png' import fontsMonospace from './fonts/IBMPlexMono-Medium.woff2' import fontsSansSerif from './fonts/IBMPlexSans-Medium.woff2' import fontsSerif from './fonts/IBMPlexSerif-Medium.woff2' @@ -226,6 +209,23 @@ import translationsUk from './translations/uk.json' import translationsVi from './translations/vi.json' import translationsZhCn from './translations/zh-cn.json' import translationsZhTw from './translations/zh-tw.json' +import embedIconsCodepen from './embed-icons/codepen.png' +import embedIconsCodesandbox from './embed-icons/codesandbox.png' +import embedIconsExcalidraw from './embed-icons/excalidraw.png' +import embedIconsFelt from './embed-icons/felt.png' +import embedIconsFigma from './embed-icons/figma.png' +import embedIconsGithubGist from './embed-icons/github_gist.png' +import embedIconsGoogleCalendar from './embed-icons/google_calendar.png' +import embedIconsGoogleMaps from './embed-icons/google_maps.png' +import embedIconsGoogleSlides from './embed-icons/google_slides.png' +import embedIconsObservable from './embed-icons/observable.png' +import embedIconsReplit from './embed-icons/replit.png' +import embedIconsScratch from './embed-icons/scratch.png' +import embedIconsSpotify from './embed-icons/spotify.png' +import embedIconsTldraw from './embed-icons/tldraw.png' +import embedIconsValTown from './embed-icons/val_town.png' +import embedIconsVimeo from './embed-icons/vimeo.png' +import embedIconsYoutube from './embed-icons/youtube.png' /** * @param {AssetUrlOptions} [opts] diff --git a/packages/assets/imports.vite.js b/packages/assets/imports.vite.js index 478dee9cc..4cbc50d00 100644 --- a/packages/assets/imports.vite.js +++ b/packages/assets/imports.vite.js @@ -5,23 +5,6 @@ /// import { formatAssetUrl } from './utils.js' -import embedIconsCodepen from './embed-icons/codepen.png?url' -import embedIconsCodesandbox from './embed-icons/codesandbox.png?url' -import embedIconsExcalidraw from './embed-icons/excalidraw.png?url' -import embedIconsFelt from './embed-icons/felt.png?url' -import embedIconsFigma from './embed-icons/figma.png?url' -import embedIconsGithubGist from './embed-icons/github_gist.png?url' -import embedIconsGoogleCalendar from './embed-icons/google_calendar.png?url' -import embedIconsGoogleMaps from './embed-icons/google_maps.png?url' -import embedIconsGoogleSlides from './embed-icons/google_slides.png?url' -import embedIconsObservable from './embed-icons/observable.png?url' -import embedIconsReplit from './embed-icons/replit.png?url' -import embedIconsScratch from './embed-icons/scratch.png?url' -import embedIconsSpotify from './embed-icons/spotify.png?url' -import embedIconsTldraw from './embed-icons/tldraw.png?url' -import embedIconsValTown from './embed-icons/val_town.png?url' -import embedIconsVimeo from './embed-icons/vimeo.png?url' -import embedIconsYoutube from './embed-icons/youtube.png?url' import fontsMonospace from './fonts/IBMPlexMono-Medium.woff2?url' import fontsSansSerif from './fonts/IBMPlexSans-Medium.woff2?url' import fontsSerif from './fonts/IBMPlexSerif-Medium.woff2?url' @@ -226,6 +209,23 @@ import translationsUk from './translations/uk.json?url' import translationsVi from './translations/vi.json?url' import translationsZhCn from './translations/zh-cn.json?url' import translationsZhTw from './translations/zh-tw.json?url' +import embedIconsCodepen from './embed-icons/codepen.png?url' +import embedIconsCodesandbox from './embed-icons/codesandbox.png?url' +import embedIconsExcalidraw from './embed-icons/excalidraw.png?url' +import embedIconsFelt from './embed-icons/felt.png?url' +import embedIconsFigma from './embed-icons/figma.png?url' +import embedIconsGithubGist from './embed-icons/github_gist.png?url' +import embedIconsGoogleCalendar from './embed-icons/google_calendar.png?url' +import embedIconsGoogleMaps from './embed-icons/google_maps.png?url' +import embedIconsGoogleSlides from './embed-icons/google_slides.png?url' +import embedIconsObservable from './embed-icons/observable.png?url' +import embedIconsReplit from './embed-icons/replit.png?url' +import embedIconsScratch from './embed-icons/scratch.png?url' +import embedIconsSpotify from './embed-icons/spotify.png?url' +import embedIconsTldraw from './embed-icons/tldraw.png?url' +import embedIconsValTown from './embed-icons/val_town.png?url' +import embedIconsVimeo from './embed-icons/vimeo.png?url' +import embedIconsYoutube from './embed-icons/youtube.png?url' /** * @param {AssetUrlOptions} [opts] diff --git a/packages/tlschema/package.json b/packages/tlschema/package.json index aecd57d51..76bb1a22a 100644 --- a/packages/tlschema/package.json +++ b/packages/tlschema/package.json @@ -34,7 +34,6 @@ "test-dev": "yarn run -T jest --watch", "test-coverage": "lazy inherit", "index": "node ./scripts/build-index.js && yarn format", - "format": "yarn run -T prettier --write --cache \"src/**/*.{ts,tsx,js,jsx,json,md}\"", "build": "yarn run -T tsx ../../scripts/build-package.ts", "build-api": "yarn run -T tsx ../../scripts/build-api.ts", "prepack": "yarn run -T tsx ../../scripts/prepack.ts", diff --git a/scripts/lint.ts b/scripts/lint.ts index 79fe74391..cbd8a378d 100755 --- a/scripts/lint.ts +++ b/scripts/lint.ts @@ -4,7 +4,6 @@ import { exec } from './lib/exec' import { REPO_ROOT, readFileIfExists } from './lib/file' const ESLINT_EXTENSIONS = ['js', 'jsx', 'ts', 'tsx'] -const PRETTIER_EXTENSIONS = ['js', 'jsx', 'ts', 'tsx', 'json'] async function main() { const shouldFix = process.argv.includes('--fix') @@ -27,19 +26,10 @@ async function main() { files.push(file) } - let prettierFiles = PRETTIER_EXTENSIONS.flatMap((ext) => filesByExtension.get(ext) ?? []) let eslintFiles = ESLINT_EXTENSIONS.flatMap((ext) => filesByExtension.get(ext) ?? []) const relativeCwd = path.relative(REPO_ROOT, process.cwd()) - const prettierIgnoreFile = await readFileIfExists(path.join(REPO_ROOT, '.prettierignore')) - if (prettierIgnoreFile) { - prettierFiles = prettierFiles - .map((f) => path.join(relativeCwd, f)) - .filter(ignore().add(prettierIgnoreFile).createFilter()) - .map((f) => path.relative(relativeCwd, f)) - } - const eslintIgnoreFile = await readFileIfExists(path.join(REPO_ROOT, '.eslintignore')) if (eslintIgnoreFile) { eslintFiles = eslintFiles @@ -49,14 +39,6 @@ async function main() { } try { - await exec('yarn', [ - 'run', - '-T', - 'prettier', - shouldFix ? '--write' : '--check', - '--cache', - ...prettierFiles, - ]) await exec('yarn', [ 'run', '-T', diff --git a/yarn.lock b/yarn.lock index dda32a3b2..7cb6f1848 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2338,6 +2338,97 @@ __metadata: languageName: node linkType: hard +"@biomejs/biome@npm:1.5.3": + version: 1.5.3 + resolution: "@biomejs/biome@npm:1.5.3" + dependencies: + "@biomejs/cli-darwin-arm64": "npm:1.5.3" + "@biomejs/cli-darwin-x64": "npm:1.5.3" + "@biomejs/cli-linux-arm64": "npm:1.5.3" + "@biomejs/cli-linux-arm64-musl": "npm:1.5.3" + "@biomejs/cli-linux-x64": "npm:1.5.3" + "@biomejs/cli-linux-x64-musl": "npm:1.5.3" + "@biomejs/cli-win32-arm64": "npm:1.5.3" + "@biomejs/cli-win32-x64": "npm:1.5.3" + dependenciesMeta: + "@biomejs/cli-darwin-arm64": + optional: true + "@biomejs/cli-darwin-x64": + optional: true + "@biomejs/cli-linux-arm64": + optional: true + "@biomejs/cli-linux-arm64-musl": + optional: true + "@biomejs/cli-linux-x64": + optional: true + "@biomejs/cli-linux-x64-musl": + optional: true + "@biomejs/cli-win32-arm64": + optional: true + "@biomejs/cli-win32-x64": + optional: true + bin: + biome: bin/biome + checksum: 1bcdcc3a34de0871d91ecf37eae67f71847f3578723001f81616b1fd1d694d584accce37cf582f07aef3b920b47c32716e7244b7f67f52926c7c8526bc7cd5d9 + languageName: node + linkType: hard + +"@biomejs/cli-darwin-arm64@npm:1.5.3": + version: 1.5.3 + resolution: "@biomejs/cli-darwin-arm64@npm:1.5.3" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@biomejs/cli-darwin-x64@npm:1.5.3": + version: 1.5.3 + resolution: "@biomejs/cli-darwin-x64@npm:1.5.3" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@biomejs/cli-linux-arm64-musl@npm:1.5.3": + version: 1.5.3 + resolution: "@biomejs/cli-linux-arm64-musl@npm:1.5.3" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@biomejs/cli-linux-arm64@npm:1.5.3": + version: 1.5.3 + resolution: "@biomejs/cli-linux-arm64@npm:1.5.3" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@biomejs/cli-linux-x64-musl@npm:1.5.3": + version: 1.5.3 + resolution: "@biomejs/cli-linux-x64-musl@npm:1.5.3" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@biomejs/cli-linux-x64@npm:1.5.3": + version: 1.5.3 + resolution: "@biomejs/cli-linux-x64@npm:1.5.3" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@biomejs/cli-win32-arm64@npm:1.5.3": + version: 1.5.3 + resolution: "@biomejs/cli-win32-arm64@npm:1.5.3" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@biomejs/cli-win32-x64@npm:1.5.3": + version: 1.5.3 + resolution: "@biomejs/cli-win32-x64@npm:1.5.3" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@cloudflare/kv-asset-handler@npm:^0.2.0": version: 0.2.0 resolution: "@cloudflare/kv-asset-handler@npm:0.2.0" @@ -7277,10 +7368,7 @@ __metadata: next-themes: "npm:^0.2.1" octokit: "npm:^3.1.1" openai: "npm:^4.11.1" - patch-package: "npm:^8.0.0" - postinstall-postinstall: "npm:^2.1.0" prettier: "npm:^3.0.3" - prettier-plugin-organize-imports: "npm:^3.2.3" react: "npm:^18.2.0" react-dom: "npm:^18.2.0" react-hotkeys-hook: "npm:^4.4.1" @@ -7370,6 +7458,7 @@ __metadata: version: 0.0.0-use.local resolution: "@tldraw/monorepo@workspace:." dependencies: + "@biomejs/biome": "npm:1.5.3" "@microsoft/api-extractor": "npm:^7.35.4" "@next/eslint-plugin-next": "npm:^13.3.0" "@sentry/cli": "npm:^2.25.0" @@ -7399,8 +7488,6 @@ __metadata: json5: "npm:^2.2.3" lazyrepo: "npm:0.0.0-alpha.27" lint-staged: "npm:>=10" - prettier: "npm:^3.0.3" - prettier-plugin-organize-imports: "npm:^3.2.3" purgecss: "npm:^5.0.0" rimraf: "npm:^4.4.0" svgo: "npm:^3.0.2" @@ -9036,13 +9123,6 @@ __metadata: languageName: node linkType: hard -"@yarnpkg/lockfile@npm:^1.1.0": - version: 1.1.0 - resolution: "@yarnpkg/lockfile@npm:1.1.0" - checksum: cd19e1114aaf10a05126aeea8833ef4ca8af8a46e88e12884f8359d19333fd19711036dbc2698dbe937f81f037070cf9a8da45c2e8c6ca19cafd7d15659094ed - languageName: node - linkType: hard - "@yarnpkg/types@npm:^4.0.0": version: 4.0.0 resolution: "@yarnpkg/types@npm:4.0.0" @@ -9730,13 +9810,6 @@ __metadata: languageName: node linkType: hard -"at-least-node@npm:^1.0.0": - version: 1.0.0 - resolution: "at-least-node@npm:1.0.0" - checksum: 463e2f8e43384f1afb54bc68485c436d7622acec08b6fad269b421cb1d29cebb5af751426793d0961ed243146fe4dc983402f6d5a51b720b277818dbf6f2e49e - languageName: node - linkType: hard - "author-regex@npm:^1.0.0": version: 1.0.0 resolution: "author-regex@npm:1.0.0" @@ -10683,7 +10756,7 @@ __metadata: languageName: node linkType: hard -"ci-info@npm:^3.1.0, ci-info@npm:^3.2.0, ci-info@npm:^3.7.0, ci-info@npm:^3.8.0": +"ci-info@npm:^3.1.0, ci-info@npm:^3.2.0, ci-info@npm:^3.8.0": version: 3.9.0 resolution: "ci-info@npm:3.9.0" checksum: 75bc67902b4d1c7b435497adeb91598f6d52a3389398e44294f6601b20cfef32cf2176f7be0eb961d9e085bb333a8a5cae121cb22f81cf238ae7f58eb80e9397 @@ -13987,15 +14060,6 @@ __metadata: languageName: node linkType: hard -"find-yarn-workspace-root@npm:^2.0.0": - version: 2.0.0 - resolution: "find-yarn-workspace-root@npm:2.0.0" - dependencies: - micromatch: "npm:^4.0.2" - checksum: 7fa7942849eef4d5385ee96a0a9a5a9afe885836fd72ed6a4280312a38690afea275e7d09b343fe97daf0412d833f8ac4b78c17fc756386d9ebebf0759d707a7 - languageName: node - linkType: hard - "flat-cache@npm:^3.0.4": version: 3.2.0 resolution: "flat-cache@npm:3.2.0" @@ -14204,18 +14268,6 @@ __metadata: languageName: node linkType: hard -"fs-extra@npm:^9.0.0": - version: 9.1.0 - resolution: "fs-extra@npm:9.1.0" - dependencies: - at-least-node: "npm:^1.0.0" - graceful-fs: "npm:^4.2.0" - jsonfile: "npm:^6.0.1" - universalify: "npm:^2.0.0" - checksum: 08600da1b49552ed23dfac598c8fc909c66776dd130fea54fbcad22e330f7fcc13488bb995f6bc9ce5651aa35b65702faf616fe76370ee56f1aade55da982dca - languageName: node - linkType: hard - "fs-extra@npm:~7.0.1": version: 7.0.1 resolution: "fs-extra@npm:7.0.1" @@ -14765,7 +14817,7 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": +"graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" checksum: bf152d0ed1dc159239db1ba1f74fdbc40cb02f626770dcd5815c427ce0688c2635a06ed69af364396da4636d0408fcf7d4afdf7881724c3307e46aff30ca49e2 @@ -15772,15 +15824,6 @@ __metadata: languageName: node linkType: hard -"is-docker@npm:^2.0.0": - version: 2.2.1 - resolution: "is-docker@npm:2.2.1" - bin: - is-docker: cli.js - checksum: 3fef7ddbf0be25958e8991ad941901bf5922ab2753c46980b60b05c1bf9c9c2402d35e6dc32e4380b980ef5e1970a5d9d5e5aa2e02d77727c3b6b5e918474c56 - languageName: node - linkType: hard - "is-extendable@npm:^0.1.0": version: 0.1.1 resolution: "is-extendable@npm:0.1.1" @@ -16099,15 +16142,6 @@ __metadata: languageName: node linkType: hard -"is-wsl@npm:^2.1.1": - version: 2.2.0 - resolution: "is-wsl@npm:2.2.0" - dependencies: - is-docker: "npm:^2.0.0" - checksum: 20849846ae414997d290b75e16868e5261e86ff5047f104027026fd61d8b5a9b0b3ade16239f35e1a067b3c7cc02f70183cb661010ed16f4b6c7c93dad1b19d8 - languageName: node - linkType: hard - "isarray@npm:0.0.1": version: 0.0.1 resolution: "isarray@npm:0.0.1" @@ -17059,18 +17093,6 @@ __metadata: languageName: node linkType: hard -"json-stable-stringify@npm:^1.0.2": - version: 1.1.0 - resolution: "json-stable-stringify@npm:1.1.0" - dependencies: - call-bind: "npm:^1.0.5" - isarray: "npm:^2.0.5" - jsonify: "npm:^0.0.1" - object-keys: "npm:^1.1.1" - checksum: 2889eca4f39574905bde288791d3fcc79fc9952f445a5fefb82af175a7992ec48c64161421c1e142f553a14a5f541de2e173cb22ce61d7fffc36d4bb44720541 - languageName: node - linkType: hard - "json-stringify-safe@npm:~5.0.1": version: 5.0.1 resolution: "json-stringify-safe@npm:5.0.1" @@ -17130,13 +17152,6 @@ __metadata: languageName: node linkType: hard -"jsonify@npm:^0.0.1": - version: 0.0.1 - resolution: "jsonify@npm:0.0.1" - checksum: 7b86b6f4518582ff1d8b7624ed6c6277affd5246445e864615dbdef843a4057ac58587684faf129ea111eeb80e01c15f0a4d9d03820eb3f3985fa67e81b12398 - languageName: node - linkType: hard - "jsonwebtoken@npm:^9.0.0, jsonwebtoken@npm:^9.0.2": version: 9.0.2 resolution: "jsonwebtoken@npm:9.0.2" @@ -17227,15 +17242,6 @@ __metadata: languageName: node linkType: hard -"klaw-sync@npm:^6.0.0": - version: 6.0.0 - resolution: "klaw-sync@npm:6.0.0" - dependencies: - graceful-fs: "npm:^4.1.11" - checksum: 0da397f8961313c3ef8f79fb63af9002cde5a8fb2aeb1a37351feff0dd6006129c790400c3f5c3b4e757bedcabb13d21ec0a5eaef5a593d59515d4f2c291e475 - languageName: node - linkType: hard - "kleur@npm:^4.0.3, kleur@npm:^4.1.5": version: 4.1.5 resolution: "kleur@npm:4.1.5" @@ -19813,16 +19819,6 @@ __metadata: languageName: node linkType: hard -"open@npm:^7.4.2": - version: 7.4.2 - resolution: "open@npm:7.4.2" - dependencies: - is-docker: "npm:^2.0.0" - is-wsl: "npm:^2.1.1" - checksum: 4fc02ed3368dcd5d7247ad3566433ea2695b0713b041ebc0eeb2f0f9e5d4e29fc2068f5cdd500976b3464e77fe8b61662b1b059c73233ccc601fe8b16d6c1cd6 - languageName: node - linkType: hard - "openai@npm:^3.2.1": version: 3.3.0 resolution: "openai@npm:3.3.0" @@ -20206,31 +20202,6 @@ __metadata: languageName: node linkType: hard -"patch-package@npm:^8.0.0": - version: 8.0.0 - resolution: "patch-package@npm:8.0.0" - dependencies: - "@yarnpkg/lockfile": "npm:^1.1.0" - chalk: "npm:^4.1.2" - ci-info: "npm:^3.7.0" - cross-spawn: "npm:^7.0.3" - find-yarn-workspace-root: "npm:^2.0.0" - fs-extra: "npm:^9.0.0" - json-stable-stringify: "npm:^1.0.2" - klaw-sync: "npm:^6.0.0" - minimist: "npm:^1.2.6" - open: "npm:^7.4.2" - rimraf: "npm:^2.6.3" - semver: "npm:^7.5.3" - slash: "npm:^2.0.0" - tmp: "npm:^0.0.33" - yaml: "npm:^2.2.2" - bin: - patch-package: index.js - checksum: 8714322c35b29266e71c82d58443ce5322400a546a3327f1b8907b8eeb7e366dff33c4fdfbd25e3f0b3a9927189c26e9ac60636ca1e4140d6dbc11cca10f9b5d - languageName: node - linkType: hard - "path-browserify@npm:^1.0.1": version: 1.0.1 resolution: "path-browserify@npm:1.0.1" @@ -20617,13 +20588,6 @@ __metadata: languageName: node linkType: hard -"postinstall-postinstall@npm:^2.1.0": - version: 2.1.0 - resolution: "postinstall-postinstall@npm:2.1.0" - checksum: dae45fe6b22f3c1c1590721df1d4d4a7cdf848c48f55c1a37e72ce5df14c2f5103d86d857c8d7572e59b9228478c72c6888c5620c816b262b499ee5148b88553 - languageName: node - linkType: hard - "prebuild-install@npm:^7.0.1, prebuild-install@npm:^7.1.1": version: 7.1.1 resolution: "prebuild-install@npm:7.1.1" @@ -20660,23 +20624,6 @@ __metadata: languageName: node linkType: hard -"prettier-plugin-organize-imports@npm:^3.2.3": - version: 3.2.4 - resolution: "prettier-plugin-organize-imports@npm:3.2.4" - peerDependencies: - "@volar/vue-language-plugin-pug": ^1.0.4 - "@volar/vue-typescript": ^1.0.4 - prettier: ">=2.0" - typescript: ">=2.9" - peerDependenciesMeta: - "@volar/vue-language-plugin-pug": - optional: true - "@volar/vue-typescript": - optional: true - checksum: 93c98d365af500aa4c72f5330d82c20a20d0e7661a9692e6f26a76a2f4f88b99e0f85dcb8871e98b6d687d6e19ea5f1dcc937f9e29fd0778e888675ecafed233 - languageName: node - linkType: hard - "prettier@npm:2.7.1": version: 2.7.1 resolution: "prettier@npm:2.7.1" @@ -21960,7 +21907,7 @@ __metadata: languageName: node linkType: hard -"rimraf@npm:^2.6.1, rimraf@npm:^2.6.3": +"rimraf@npm:^2.6.1": version: 2.7.1 resolution: "rimraf@npm:2.7.1" dependencies: @@ -22505,13 +22452,6 @@ __metadata: languageName: node linkType: hard -"slash@npm:^2.0.0": - version: 2.0.0 - resolution: "slash@npm:2.0.0" - checksum: 512d4350735375bd11647233cb0e2f93beca6f53441015eea241fe784d8068281c3987fbaa93e7ef1c38df68d9c60013045c92837423c69115297d6169aa85e6 - languageName: node - linkType: hard - "slash@npm:^3.0.0": version: 3.0.0 resolution: "slash@npm:3.0.0" @@ -25727,7 +25667,7 @@ __metadata: languageName: node linkType: hard -"yaml@npm:2.3.4, yaml@npm:^2.0.0, yaml@npm:^2.2.1, yaml@npm:^2.2.2, yaml@npm:^2.3.4": +"yaml@npm:2.3.4, yaml@npm:^2.0.0, yaml@npm:^2.2.1, yaml@npm:^2.3.4": version: 2.3.4 resolution: "yaml@npm:2.3.4" checksum: f8207ce43065a22268a2806ea6a0fa3974c6fde92b4b2fa0082357e487bc333e85dc518910007e7ac001b532c7c84bd3eccb6c7757e94182b564028b0008f44b