[dx] use Biome instead of Prettier, part 1 (#2729)

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
This commit is contained in:
Dan Groshev 2024-02-05 17:41:42 +00:00 committed by GitHub
parent b379a7a47c
commit 826433751c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
13 changed files with 227 additions and 244 deletions

View file

@ -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

View file

@ -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

View file

@ -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/**/*.*

View file

@ -5,5 +5,5 @@
"printWidth": 100,
"tabWidth": 2,
"useTabs": true,
"plugins": ["prettier-plugin-organize-imports"]
"plugins": []
}

3
.vscode/extensions.json vendored Normal file
View file

@ -0,0 +1,3 @@
{
"recommendations": ["tldraw-org.tldraw-vscode", "biomejs.biome"]
}

View file

@ -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",

77
biome.json Normal file
View file

@ -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
}
}

View file

@ -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",

View file

@ -5,23 +5,6 @@
/// <reference path="./modules.d.ts" />
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]

View file

@ -5,23 +5,6 @@
/// <reference path="./modules.d.ts" />
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]

View file

@ -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",

View file

@ -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',

252
yarn.lock
View file

@ -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