chore: clean up local dev tooling (#856)
* chore: clean up husky + lint-staged * chore: format all files with prettier
This commit is contained in:
parent
0985a2ceff
commit
2e36dadfec
57 changed files with 326 additions and 441 deletions
|
@ -1,4 +1,4 @@
|
|||
#!/bin/sh
|
||||
. "$(dirname "$0")/_/husky.sh"
|
||||
|
||||
yarn test
|
||||
yarn run pre-commit
|
||||
|
|
4
.husky/pre-push
Executable file
4
.husky/pre-push
Executable file
|
@ -0,0 +1,4 @@
|
|||
#!/bin/sh
|
||||
. "$(dirname "$0")/_/husky.sh"
|
||||
|
||||
yarn run pre-push
|
|
@ -1 +1 @@
|
|||
{"teamId":"team_MjXkk3MAaGtBFaHcssVUiMgd","apiUrl":"https://api.vercel.com"}
|
||||
{ "teamId": "team_MjXkk3MAaGtBFaHcssVUiMgd", "apiUrl": "https://api.vercel.com" }
|
||||
|
|
|
@ -3,9 +3,7 @@
|
|||
"description": "A tiny little drawing app for your new tab screen.",
|
||||
"version": "1.0",
|
||||
"manifest_version": 3,
|
||||
"permissions": [
|
||||
"unlimitedStorage"
|
||||
],
|
||||
"permissions": ["unlimitedStorage"],
|
||||
"default_icon": {
|
||||
"16": "16.png",
|
||||
"32": "32.png",
|
||||
|
|
12
apps/vscode/extension/.vscode/launch.json
vendored
12
apps/vscode/extension/.vscode/launch.json
vendored
|
@ -16,15 +16,9 @@
|
|||
"--extensionDevelopmentPath=${workspaceFolder}",
|
||||
"${workspaceFolder}/src/extension.ts"
|
||||
],
|
||||
"outFiles": [
|
||||
"${workspaceFolder}/dist/web/**/*.js",
|
||||
"!**/node_modules/**"
|
||||
],
|
||||
"skipFiles": [
|
||||
"<node_internals>/**",
|
||||
"**/node_modules/**"
|
||||
],
|
||||
"sourceMaps": true,
|
||||
"outFiles": ["${workspaceFolder}/dist/web/**/*.js", "!**/node_modules/**"],
|
||||
"skipFiles": ["<node_internals>/**", "**/node_modules/**"],
|
||||
"sourceMaps": true
|
||||
}
|
||||
]
|
||||
}
|
|
@ -16,7 +16,7 @@ export default async function CreateMultiplayerRoom(req: NextApiRequest, res: Ne
|
|||
Authorization: `Bearer ${process.env.LIVEBLOCKS_SECRET_KEY}`,
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
}).then(d => d.json())
|
||||
}).then((d) => d.json())
|
||||
|
||||
// 2. Create the Liveblocks storage JSON
|
||||
|
||||
|
|
15
package.json
15
package.json
|
@ -29,7 +29,6 @@
|
|||
"start:vscode": "code apps/vscode/extension & turbo run start:vscode --parallel; ",
|
||||
"version": "yarn changeset version",
|
||||
"changeset": "changeset",
|
||||
"fix:style": "yarn run prettier ./packages/core/src --write && yarn run prettier ./packages/tldraw/src --write",
|
||||
"turbo": "turbo",
|
||||
"test": "turbo run test --stream",
|
||||
"test:ci": "turbo run test:ci --stream",
|
||||
|
@ -37,8 +36,9 @@
|
|||
"docs": "turbo run docs",
|
||||
"docs:watch": "turbo run docs --watch",
|
||||
"postinstall": "husky install",
|
||||
"pretty-quick": "pretty-quick",
|
||||
"clean": "turbo run clean"
|
||||
"clean": "turbo run clean",
|
||||
"pre-commit": "lint-staged",
|
||||
"pre-push": "yarn test"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@swc-node/jest": "^1.4.3",
|
||||
|
@ -58,7 +58,6 @@
|
|||
"lint-staged": "^12.3.3",
|
||||
"mobx": "^6.3.8",
|
||||
"prettier": "^2.5.1",
|
||||
"pretty-quick": "^3.1.3",
|
||||
"resize-observer-polyfill": "^1.5.1",
|
||||
"source-map-loader": "^3.0.1",
|
||||
"tslib": "^2.4.0",
|
||||
|
@ -67,11 +66,9 @@
|
|||
"typescript": "^4.7.3",
|
||||
"webpack": "^5.68.0"
|
||||
},
|
||||
"husky": {
|
||||
"hooks": {
|
||||
"pre-commit": "pretty-quick --staged",
|
||||
"pre-push": "fix:style && eslint && test"
|
||||
}
|
||||
"lint-staged": {
|
||||
"*": "prettier --ignore-unknown --write",
|
||||
"*.{ts,tsx}": "eslint --fix"
|
||||
},
|
||||
"packageManager": "yarn@1.22.17",
|
||||
"dependencies": {
|
||||
|
|
|
@ -251,7 +251,7 @@ export function useKeyboardShortcuts(ref: React.RefObject<HTMLDivElement>) {
|
|||
useHotkeys(
|
||||
'⌘+z,ctrl+z',
|
||||
(e) => {
|
||||
e.preventDefault();
|
||||
e.preventDefault()
|
||||
if (!canHandleEvent(true)) return
|
||||
|
||||
if (app.session) {
|
||||
|
|
|
@ -16,10 +16,10 @@
|
|||
// @license © 2020 Google LLC. Licensed under the Apache License, Version 2.0.
|
||||
|
||||
const getFileWithHandle = async (handle) => {
|
||||
const file = await handle.getFile();
|
||||
file.handle = handle;
|
||||
return file;
|
||||
};
|
||||
const file = await handle.getFile()
|
||||
file.handle = handle
|
||||
return file
|
||||
}
|
||||
|
||||
/**
|
||||
* Opens a file from disk using the File System Access API.
|
||||
|
@ -27,32 +27,32 @@ const getFileWithHandle = async (handle) => {
|
|||
*/
|
||||
export default async (options = [{}]) => {
|
||||
if (!Array.isArray(options)) {
|
||||
options = [options];
|
||||
options = [options]
|
||||
}
|
||||
const types = [];
|
||||
const types = []
|
||||
options.forEach((option, i) => {
|
||||
types[i] = {
|
||||
description: option.description || '',
|
||||
accept: {},
|
||||
};
|
||||
}
|
||||
if (option.mimeTypes) {
|
||||
option.mimeTypes.map((mimeType) => {
|
||||
types[i].accept[mimeType] = option.extensions || [];
|
||||
});
|
||||
types[i].accept[mimeType] = option.extensions || []
|
||||
})
|
||||
} else {
|
||||
types[i].accept['*/*'] = option.extensions || [];
|
||||
types[i].accept['*/*'] = option.extensions || []
|
||||
}
|
||||
});
|
||||
})
|
||||
const handleOrHandles = await window.showOpenFilePicker({
|
||||
id: options[0].id,
|
||||
startIn: options[0].startIn,
|
||||
types,
|
||||
multiple: options[0].multiple || false,
|
||||
excludeAcceptAllOption: options[0].excludeAcceptAllOption || false,
|
||||
});
|
||||
const files = await Promise.all(handleOrHandles.map(getFileWithHandle));
|
||||
})
|
||||
const files = await Promise.all(handleOrHandles.map(getFileWithHandle))
|
||||
if (options[0].multiple) {
|
||||
return files;
|
||||
return files
|
||||
}
|
||||
return files[0];
|
||||
};
|
||||
return files[0]
|
||||
}
|
||||
|
|
|
@ -26,41 +26,38 @@ export default async (
|
|||
throwIfExistingHandleNotGood = false
|
||||
) => {
|
||||
if (!Array.isArray(options)) {
|
||||
options = [options];
|
||||
options = [options]
|
||||
}
|
||||
options[0].fileName = options[0].fileName || 'Untitled';
|
||||
const types = [];
|
||||
options[0].fileName = options[0].fileName || 'Untitled'
|
||||
const types = []
|
||||
options.forEach((option, i) => {
|
||||
types[i] = {
|
||||
description: option.description || '',
|
||||
accept: {},
|
||||
};
|
||||
}
|
||||
if (option.mimeTypes) {
|
||||
if (i === 0) {
|
||||
if (blobOrResponse.type) {
|
||||
option.mimeTypes.push(blobOrResponse.type);
|
||||
} else if (
|
||||
blobOrResponse.headers &&
|
||||
blobOrResponse.headers.get('content-type')
|
||||
) {
|
||||
option.mimeTypes.push(blobOrResponse.headers.get('content-type'));
|
||||
option.mimeTypes.push(blobOrResponse.type)
|
||||
} else if (blobOrResponse.headers && blobOrResponse.headers.get('content-type')) {
|
||||
option.mimeTypes.push(blobOrResponse.headers.get('content-type'))
|
||||
}
|
||||
}
|
||||
option.mimeTypes.map((mimeType) => {
|
||||
types[i].accept[mimeType] = option.extensions || [];
|
||||
});
|
||||
types[i].accept[mimeType] = option.extensions || []
|
||||
})
|
||||
} else if (blobOrResponse.type) {
|
||||
types[i].accept[blobOrResponse.type] = option.extensions || [];
|
||||
types[i].accept[blobOrResponse.type] = option.extensions || []
|
||||
}
|
||||
});
|
||||
})
|
||||
if (existingHandle) {
|
||||
try {
|
||||
// Check if the file still exists.
|
||||
await existingHandle.getFile();
|
||||
await existingHandle.getFile()
|
||||
} catch (err) {
|
||||
existingHandle = null;
|
||||
existingHandle = null
|
||||
if (throwIfExistingHandleNotGood) {
|
||||
throw err;
|
||||
throw err
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -72,20 +69,20 @@ export default async (
|
|||
startIn: options[0].startIn,
|
||||
types,
|
||||
excludeAcceptAllOption: options[0].excludeAcceptAllOption || false,
|
||||
}));
|
||||
const writable = await handle.createWritable();
|
||||
}))
|
||||
const writable = await handle.createWritable()
|
||||
// Use streaming on the `Blob` if the browser supports it.
|
||||
if ('stream' in blobOrResponse) {
|
||||
const stream = blobOrResponse.stream();
|
||||
await stream.pipeTo(writable);
|
||||
return handle;
|
||||
const stream = blobOrResponse.stream()
|
||||
await stream.pipeTo(writable)
|
||||
return handle
|
||||
// Handle passed `ReadableStream`.
|
||||
} else if ('body' in blobOrResponse) {
|
||||
await blobOrResponse.body.pipeTo(writable);
|
||||
return handle;
|
||||
await blobOrResponse.body.pipeTo(writable)
|
||||
return handle
|
||||
}
|
||||
// Default case of `Blob` passed and `Blob.stream()` not supported.
|
||||
await writable.write(blob);
|
||||
await writable.close();
|
||||
return handle;
|
||||
};
|
||||
await writable.write(blob)
|
||||
await writable.close()
|
||||
return handle
|
||||
}
|
||||
|
|
|
@ -22,49 +22,48 @@
|
|||
*/
|
||||
export default async (options = [{}]) => {
|
||||
if (!Array.isArray(options)) {
|
||||
options = [options];
|
||||
options = [options]
|
||||
}
|
||||
options[0].recursive = options[0].recursive || false;
|
||||
options[0].recursive = options[0].recursive || false
|
||||
return new Promise((resolve, reject) => {
|
||||
const input = document.createElement('input');
|
||||
input.type = 'file';
|
||||
input.webkitdirectory = true;
|
||||
const input = document.createElement('input')
|
||||
input.type = 'file'
|
||||
input.webkitdirectory = true
|
||||
|
||||
const _reject = () => cleanupListenersAndMaybeReject(reject);
|
||||
const _reject = () => cleanupListenersAndMaybeReject(reject)
|
||||
const _resolve = (value) => {
|
||||
if (typeof cleanupListenersAndMaybeReject === 'function') {
|
||||
cleanupListenersAndMaybeReject();
|
||||
cleanupListenersAndMaybeReject()
|
||||
}
|
||||
resolve(value)
|
||||
}
|
||||
resolve(value);
|
||||
};
|
||||
// ToDo: Remove this workaround once
|
||||
// https://github.com/whatwg/html/issues/6376 is specified and supported.
|
||||
const cleanupListenersAndMaybeReject =
|
||||
options[0].legacySetup &&
|
||||
options[0].legacySetup(_resolve, _reject, input);
|
||||
options[0].legacySetup && options[0].legacySetup(_resolve, _reject, input)
|
||||
|
||||
input.addEventListener('change', () => {
|
||||
let files = Array.from(input.files);
|
||||
let files = Array.from(input.files)
|
||||
if (!options[0].recursive) {
|
||||
files = files.filter((file) => {
|
||||
return file.webkitRelativePath.split('/').length === 2;
|
||||
});
|
||||
return file.webkitRelativePath.split('/').length === 2
|
||||
})
|
||||
} else if (options[0].recursive && options[0].skipDirectory) {
|
||||
files = files.filter((file) => {
|
||||
const directoriesName = file.webkitRelativePath.split('/');
|
||||
const directoriesName = file.webkitRelativePath.split('/')
|
||||
return directoriesName.every(
|
||||
(directoryName) =>
|
||||
!options[0].skipDirectory({
|
||||
name: directoryName,
|
||||
kind: 'directory',
|
||||
})
|
||||
);
|
||||
});
|
||||
)
|
||||
})
|
||||
}
|
||||
|
||||
_resolve(files);
|
||||
});
|
||||
_resolve(files)
|
||||
})
|
||||
|
||||
input.click();
|
||||
});
|
||||
};
|
||||
input.click()
|
||||
})
|
||||
}
|
||||
|
|
|
@ -21,34 +21,33 @@
|
|||
*/
|
||||
export default async (options = [{}]) => {
|
||||
if (!Array.isArray(options)) {
|
||||
options = [options];
|
||||
options = [options]
|
||||
}
|
||||
return new Promise((resolve, reject) => {
|
||||
const input = document.createElement('input');
|
||||
input.type = 'file';
|
||||
const input = document.createElement('input')
|
||||
input.type = 'file'
|
||||
const accept = [
|
||||
...options.map((option) => option.mimeTypes || []).join(),
|
||||
options.map((option) => option.extensions || []).join(),
|
||||
].join();
|
||||
input.multiple = options[0].multiple || false;
|
||||
].join()
|
||||
input.multiple = options[0].multiple || false
|
||||
// Empty string allows everything.
|
||||
input.accept = accept || '';
|
||||
const _reject = () => cleanupListenersAndMaybeReject(reject);
|
||||
input.accept = accept || ''
|
||||
const _reject = () => cleanupListenersAndMaybeReject(reject)
|
||||
const _resolve = (value) => {
|
||||
if (typeof cleanupListenersAndMaybeReject === 'function') {
|
||||
cleanupListenersAndMaybeReject();
|
||||
cleanupListenersAndMaybeReject()
|
||||
}
|
||||
resolve(value)
|
||||
}
|
||||
resolve(value);
|
||||
};
|
||||
// ToDo: Remove this workaround once
|
||||
// https://github.com/whatwg/html/issues/6376 is specified and supported.
|
||||
const cleanupListenersAndMaybeReject =
|
||||
options[0].legacySetup &&
|
||||
options[0].legacySetup(_resolve, _reject, input);
|
||||
options[0].legacySetup && options[0].legacySetup(_resolve, _reject, input)
|
||||
input.addEventListener('change', () => {
|
||||
_resolve(input.multiple ? Array.from(input.files) : input.files[0]);
|
||||
});
|
||||
_resolve(input.multiple ? Array.from(input.files) : input.files[0])
|
||||
})
|
||||
|
||||
input.click();
|
||||
});
|
||||
};
|
||||
input.click()
|
||||
})
|
||||
}
|
||||
|
|
|
@ -21,40 +21,37 @@
|
|||
*/
|
||||
export default async (blobOrResponse, options = {}) => {
|
||||
if (Array.isArray(options)) {
|
||||
options = options[0];
|
||||
options = options[0]
|
||||
}
|
||||
const a = document.createElement('a');
|
||||
let data = blobOrResponse;
|
||||
const a = document.createElement('a')
|
||||
let data = blobOrResponse
|
||||
// Handle the case where input is a `ReadableStream`.
|
||||
if ('body' in blobOrResponse) {
|
||||
data = await streamToBlob(
|
||||
blobOrResponse.body,
|
||||
blobOrResponse.headers.get('content-type')
|
||||
);
|
||||
data = await streamToBlob(blobOrResponse.body, blobOrResponse.headers.get('content-type'))
|
||||
}
|
||||
a.download = options.fileName || 'Untitled';
|
||||
a.href = URL.createObjectURL(data);
|
||||
a.download = options.fileName || 'Untitled'
|
||||
a.href = URL.createObjectURL(data)
|
||||
|
||||
const _reject = () => cleanupListenersAndMaybeReject(reject);
|
||||
const _reject = () => cleanupListenersAndMaybeReject(reject)
|
||||
const _resolve = () => {
|
||||
if (typeof cleanupListenersAndMaybeReject === 'function') {
|
||||
cleanupListenersAndMaybeReject();
|
||||
cleanupListenersAndMaybeReject()
|
||||
}
|
||||
}
|
||||
};
|
||||
// ToDo: Remove this workaround once
|
||||
// https://github.com/whatwg/html/issues/6376 is specified and supported.
|
||||
const cleanupListenersAndMaybeReject =
|
||||
options.legacySetup && options.legacySetup(_resolve, _reject, a);
|
||||
options.legacySetup && options.legacySetup(_resolve, _reject, a)
|
||||
|
||||
a.addEventListener('click', () => {
|
||||
// `setTimeout()` due to
|
||||
// https://github.com/LLK/scratch-gui/issues/1783#issuecomment-426286393
|
||||
setTimeout(() => URL.revokeObjectURL(a.href), 30 * 1000);
|
||||
_resolve(null);
|
||||
});
|
||||
a.click();
|
||||
return null;
|
||||
};
|
||||
setTimeout(() => URL.revokeObjectURL(a.href), 30 * 1000)
|
||||
_resolve(null)
|
||||
})
|
||||
a.click()
|
||||
return null
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts a passed `ReadableStream` to a `Blob`.
|
||||
|
@ -63,10 +60,10 @@ export default async (blobOrResponse, options = {}) => {
|
|||
* @returns {Promise<Blob>}
|
||||
*/
|
||||
async function streamToBlob(stream, type) {
|
||||
const reader = stream.getReader();
|
||||
const reader = stream.getReader()
|
||||
const pumpedStream = new ReadableStream({
|
||||
start(controller) {
|
||||
return pump();
|
||||
return pump()
|
||||
/**
|
||||
* Recursively pumps data chunks out of the `ReadableStream`.
|
||||
* @type { () => Promise<void> }
|
||||
|
@ -74,17 +71,17 @@ async function streamToBlob(stream, type) {
|
|||
async function pump() {
|
||||
return reader.read().then(({ done, value }) => {
|
||||
if (done) {
|
||||
controller.close();
|
||||
return;
|
||||
controller.close()
|
||||
return
|
||||
}
|
||||
controller.enqueue(value);
|
||||
return pump();
|
||||
});
|
||||
controller.enqueue(value)
|
||||
return pump()
|
||||
})
|
||||
}
|
||||
},
|
||||
});
|
||||
})
|
||||
|
||||
const res = new Response(pumpedStream);
|
||||
reader.releaseLock();
|
||||
return new Blob([await res.blob()], { type });
|
||||
const res = new Response(pumpedStream)
|
||||
reader.releaseLock()
|
||||
return new Blob([await res.blob()], { type })
|
||||
}
|
||||
|
|
|
@ -36,7 +36,7 @@ export class DrawTool extends BaseTool {
|
|||
|
||||
/* ----------------- Event Handlers ----------------- */
|
||||
|
||||
onPointerDown: TLPointerEventHandler = info => {
|
||||
onPointerDown: TLPointerEventHandler = (info) => {
|
||||
if (this.status !== Status.Idle) return
|
||||
if (this.app.readOnly) return
|
||||
const {
|
||||
|
|
|
@ -521,7 +521,7 @@ export enum TDExportBackground {
|
|||
Transparent = 'transparent',
|
||||
Auto = 'auto',
|
||||
Light = 'light',
|
||||
Dark = 'dark'
|
||||
Dark = 'dark',
|
||||
}
|
||||
|
||||
/* -------------------------------------------------- */
|
||||
|
|
78
turbo.json
78
turbo.json
|
@ -24,89 +24,47 @@
|
|||
"cache": false
|
||||
},
|
||||
"docs": {
|
||||
"dependsOn": [
|
||||
"^build"
|
||||
],
|
||||
"outputs": [
|
||||
"docs"
|
||||
]
|
||||
"dependsOn": ["^build"],
|
||||
"outputs": ["docs"]
|
||||
},
|
||||
"build": {
|
||||
"dependsOn": [
|
||||
"^build"
|
||||
],
|
||||
"outputs": [
|
||||
"dist/**",
|
||||
".next/**"
|
||||
]
|
||||
"dependsOn": ["^build"],
|
||||
"outputs": ["dist/**", ".next/**"]
|
||||
},
|
||||
"build:packages": {
|
||||
"dependsOn": [
|
||||
"^build"
|
||||
],
|
||||
"outputs": [
|
||||
"dist/**"
|
||||
]
|
||||
"dependsOn": ["^build"],
|
||||
"outputs": ["dist/**"]
|
||||
},
|
||||
"build:core": {
|
||||
"dependsOn": [
|
||||
"^build"
|
||||
],
|
||||
"outputs": [
|
||||
"dist/**"
|
||||
]
|
||||
"dependsOn": ["^build"],
|
||||
"outputs": ["dist/**"]
|
||||
},
|
||||
"build:apps": {
|
||||
"dependsOn": [
|
||||
"^build"
|
||||
],
|
||||
"outputs": [
|
||||
"dist/**",
|
||||
".next/**"
|
||||
]
|
||||
"dependsOn": ["^build"],
|
||||
"outputs": ["dist/**", ".next/**"]
|
||||
},
|
||||
"build:www": {
|
||||
"dependsOn": [
|
||||
"build:packages",
|
||||
"^build"
|
||||
],
|
||||
"outputs": [
|
||||
"dist/**",
|
||||
".next/**"
|
||||
]
|
||||
"dependsOn": ["build:packages", "^build"],
|
||||
"outputs": ["dist/**", ".next/**"]
|
||||
},
|
||||
"test": {
|
||||
"dependsOn": [
|
||||
"build:packages"
|
||||
],
|
||||
"dependsOn": ["build:packages"],
|
||||
"outputs": []
|
||||
},
|
||||
"test:ci": {
|
||||
"dependsOn": [
|
||||
"build"
|
||||
],
|
||||
"outputs": [
|
||||
"coverage/**"
|
||||
]
|
||||
"dependsOn": ["build"],
|
||||
"outputs": ["coverage/**"]
|
||||
},
|
||||
"lint": {
|
||||
"dependsOn": [
|
||||
"build"
|
||||
],
|
||||
"dependsOn": ["build"],
|
||||
"outputs": []
|
||||
},
|
||||
"clean": {
|
||||
"cache": false
|
||||
},
|
||||
"deploy": {
|
||||
"dependsOn": [
|
||||
"build",
|
||||
"test"
|
||||
],
|
||||
"outputs": [
|
||||
"dist/**",
|
||||
".next/**"
|
||||
]
|
||||
"dependsOn": ["build", "test"],
|
||||
"outputs": ["dist/**", ".next/**"]
|
||||
}
|
||||
}
|
||||
}
|
68
yarn.lock
68
yarn.lock
|
@ -3374,7 +3374,7 @@
|
|||
resolved "https://registry.yarnpkg.com/@types/lz-string/-/lz-string-1.3.34.tgz#69bfadde419314b4a374bf2c8e58659c035ed0a5"
|
||||
integrity sha512-j6G1e8DULJx3ONf6NdR5JiR2ZY3K3PaaqiEuKYkLQO0Czfi1AzrtjfnfCROyWGeDd5IVMKCwsgSmMip9OWijow==
|
||||
|
||||
"@types/minimatch@*", "@types/minimatch@^3.0.3":
|
||||
"@types/minimatch@*":
|
||||
version "3.0.5"
|
||||
resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40"
|
||||
integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==
|
||||
|
@ -4066,11 +4066,6 @@ aria-query@^5.0.0:
|
|||
resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.0.0.tgz#210c21aaf469613ee8c9a62c7f86525e058db52c"
|
||||
integrity sha512-V+SM7AbUwJ+EBnB8+DXs0hPZHO0W6pqBcc0dW90OwtVG02PswOu/teuARoLQjdDOH+t9pJgGnW5/Qmouf3gPJg==
|
||||
|
||||
array-differ@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-3.0.0.tgz#3cbb3d0f316810eafcc47624734237d6aee4ae6b"
|
||||
integrity sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==
|
||||
|
||||
array-includes@^3.1.3, array-includes@^3.1.4:
|
||||
version "3.1.4"
|
||||
resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.4.tgz#f5b493162c760f3539631f005ba2bb46acb45ba9"
|
||||
|
@ -4122,11 +4117,6 @@ arrify@^1.0.1:
|
|||
resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
|
||||
integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=
|
||||
|
||||
arrify@^2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa"
|
||||
integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==
|
||||
|
||||
asar@^3.0.3:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/asar/-/asar-3.1.0.tgz#70b0509449fe3daccc63beb4d3c7d2e24d3c6473"
|
||||
|
@ -5078,7 +5068,7 @@ cross-spawn@^5.1.0:
|
|||
shebang-command "^1.2.0"
|
||||
which "^1.2.9"
|
||||
|
||||
cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3:
|
||||
cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3:
|
||||
version "7.0.3"
|
||||
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
|
||||
integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
|
||||
|
@ -6514,21 +6504,6 @@ events@^3.2.0:
|
|||
resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400"
|
||||
integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==
|
||||
|
||||
execa@^4.0.0:
|
||||
version "4.1.0"
|
||||
resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a"
|
||||
integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==
|
||||
dependencies:
|
||||
cross-spawn "^7.0.0"
|
||||
get-stream "^5.0.0"
|
||||
human-signals "^1.1.1"
|
||||
is-stream "^2.0.0"
|
||||
merge-stream "^2.0.0"
|
||||
npm-run-path "^4.0.0"
|
||||
onetime "^5.1.0"
|
||||
signal-exit "^3.0.2"
|
||||
strip-final-newline "^2.0.0"
|
||||
|
||||
execa@^5.0.0, execa@^5.1.1:
|
||||
version "5.1.1"
|
||||
resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd"
|
||||
|
@ -6954,7 +6929,7 @@ get-stream@^4.1.0:
|
|||
dependencies:
|
||||
pump "^3.0.0"
|
||||
|
||||
get-stream@^5.0.0, get-stream@^5.1.0:
|
||||
get-stream@^5.1.0:
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3"
|
||||
integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==
|
||||
|
@ -7313,11 +7288,6 @@ human-id@^1.0.2:
|
|||
resolved "https://registry.yarnpkg.com/human-id/-/human-id-1.0.2.tgz#e654d4b2b0d8b07e45da9f6020d8af17ec0a5df3"
|
||||
integrity sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==
|
||||
|
||||
human-signals@^1.1.1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3"
|
||||
integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==
|
||||
|
||||
human-signals@^2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0"
|
||||
|
@ -7382,7 +7352,7 @@ ignore@^4.0.6:
|
|||
resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
|
||||
integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
|
||||
|
||||
ignore@^5.1.1, ignore@^5.1.4, ignore@^5.1.8, ignore@^5.2.0:
|
||||
ignore@^5.1.1, ignore@^5.1.8, ignore@^5.2.0:
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a"
|
||||
integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==
|
||||
|
@ -9064,11 +9034,6 @@ module-lookup-amd@^7.0.1:
|
|||
requirejs "^2.3.5"
|
||||
requirejs-config-file "^4.0.0"
|
||||
|
||||
mri@^1.1.5:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b"
|
||||
integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==
|
||||
|
||||
ms@2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
|
||||
|
@ -9084,17 +9049,6 @@ ms@2.1.3, ms@^2.1.1:
|
|||
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
|
||||
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
|
||||
|
||||
multimatch@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-4.0.0.tgz#8c3c0f6e3e8449ada0af3dd29efb491a375191b3"
|
||||
integrity sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==
|
||||
dependencies:
|
||||
"@types/minimatch" "^3.0.3"
|
||||
array-differ "^3.0.0"
|
||||
array-union "^2.1.0"
|
||||
arrify "^2.0.1"
|
||||
minimatch "^3.0.4"
|
||||
|
||||
mute-stream@~0.0.4:
|
||||
version "0.0.8"
|
||||
resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d"
|
||||
|
@ -9286,7 +9240,7 @@ npm-package-arg@^8.1.5:
|
|||
semver "^7.3.4"
|
||||
validate-npm-package-name "^3.0.0"
|
||||
|
||||
npm-run-path@^4.0.0, npm-run-path@^4.0.1:
|
||||
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"
|
||||
integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==
|
||||
|
@ -9810,18 +9764,6 @@ pretty-format@^27.0.0, pretty-format@^27.0.2, pretty-format@^27.5.1:
|
|||
ansi-styles "^5.0.0"
|
||||
react-is "^17.0.1"
|
||||
|
||||
pretty-quick@^3.1.3:
|
||||
version "3.1.3"
|
||||
resolved "https://registry.yarnpkg.com/pretty-quick/-/pretty-quick-3.1.3.tgz#15281108c0ddf446675157ca40240099157b638e"
|
||||
integrity sha512-kOCi2FJabvuh1as9enxYmrnBC6tVMoVOenMaBqRfsvBHB0cbpYHjdQEpSglpASDFEXVwplpcGR4CLEaisYAFcA==
|
||||
dependencies:
|
||||
chalk "^3.0.0"
|
||||
execa "^4.0.0"
|
||||
find-up "^4.1.0"
|
||||
ignore "^5.1.4"
|
||||
mri "^1.1.5"
|
||||
multimatch "^4.0.0"
|
||||
|
||||
process-nextick-args@~2.0.0:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
|
||||
|
|
Loading…
Reference in a new issue