From fff5be26a87667ab0cb0f51959c158df66ba1482 Mon Sep 17 00:00:00 2001 From: Pionxzh Date: Tue, 27 Aug 2024 02:07:39 +0800 Subject: [PATCH 1/4] feat: support `displayComma` for showing comma --- docs/pages/apis.mdx | 1 + docs/pages/full/index.tsx | 13 +++++++- src/components/DataKeyPair.tsx | 27 ++++++++++++++--- src/components/DataTypes/Object.tsx | 47 +++++++++++++++++++++++------ src/index.tsx | 3 ++ src/stores/JsonViewerStore.ts | 2 ++ src/type.ts | 7 +++++ 7 files changed, 86 insertions(+), 14 deletions(-) diff --git a/docs/pages/apis.mdx b/docs/pages/apis.mdx index 536efbd0..7e2cbe67 100644 --- a/docs/pages/apis.mdx +++ b/docs/pages/apis.mdx @@ -29,6 +29,7 @@ | `quotesOnKeys` | `boolean` | `true` | Whether add quotes on keys. | | `displayDataTypes` | `boolean` | `true` | Whether display data type labels. | | `displaySize` | `boolean` \|
`(path, currentValue) => boolean` | `true` | Whether display the size of `Object`, `Array`, `Map` and `Set`. Provide a function to customize this behavior by returning a boolean based on the value and path. | +| `displayComma` | `boolean` | `true` | Whether display commas at the end of the line. | | `highlightUpdates` | `boolean` | `true` | Whether to highlight updates. | ### Mapping from [`mac-s-g/react-json-view`](https://github.com/mac-s-g/react-json-view) diff --git a/docs/pages/full/index.tsx b/docs/pages/full/index.tsx index b23dcb3a..7624c630 100644 --- a/docs/pages/full/index.tsx +++ b/docs/pages/full/index.tsx @@ -206,6 +206,7 @@ const IndexPage: FC = () => { const [src, setSrc] = useState(() => example) const [displayDataTypes, setDisplayDataTypes] = useState(true) const [displaySize, setDisplaySize] = useState(true) + const [displayComma, setDisplayComma] = useState(false) const [editable, setEditable] = useState(true) const [highlightUpdates, setHighlightUpdates] = useState(true) useEffect(() => { @@ -281,6 +282,15 @@ const IndexPage: FC = () => { )} label='DisplayObjectSize' /> + setDisplayComma(event.target.checked)} + /> + )} + label='DisplayComma' + /> { enableDelete={true} displayDataTypes={displayDataTypes} displaySize={displaySize} + displayComma={displayComma} groupArraysAfterLength={groupArraysAfterLength} keyRenderer={KeyRenderer} valueTypes={[ @@ -376,7 +387,7 @@ const IndexPage: FC = () => { ) } sx={{ - paddingLeft: 2 + paddingX: 2 }} /> diff --git a/src/components/DataKeyPair.tsx b/src/components/DataKeyPair.tsx index fef5e632..bcf16335 100644 --- a/src/components/DataKeyPair.tsx +++ b/src/components/DataKeyPair.tsx @@ -27,6 +27,7 @@ export type DataKeyPairProps = { nestedIndex?: number editable?: boolean path: (string | number)[] + last: boolean } type IconBoxProps = ComponentProps @@ -44,7 +45,7 @@ const IconBox: FC = (props) => ( ) export const DataKeyPair: FC = (props) => { - const { value, prevValue, path, nestedIndex } = props + const { value, prevValue, path, nestedIndex, last } = props const { Component, PreComponent, PostComponent, Editor, serialize, deserialize } = useTypeComponents(value, path) const propsEditable = props.editable ?? undefined @@ -79,6 +80,7 @@ export const DataKeyPair: FC = (props) => { const keyColor = useTextColor() const numberKeyColor = useJsonViewerStore(store => store.colorspace.base0C) const highlightColor = useJsonViewerStore(store => store.colorspace.base0A) + const displayComma = useJsonViewerStore(store => store.displayComma) const quotesOnKeys = useJsonViewerStore(store => store.quotesOnKeys) const rootName = useJsonViewerStore(store => store.rootName) const isRoot = root === value @@ -373,7 +375,17 @@ export const DataKeyPair: FC = (props) => { ? : nestedIndex === undefined && ( isNumberKey - ? {key} + ? ( + + {key} + + ) : quotesOnKeys ? <>"{key}" : <>{key} ) ) @@ -382,13 +394,19 @@ export const DataKeyPair: FC = (props) => { { ( isRoot - ? (rootName !== false && :) + ? (rootName !== false && ( + : + )) : nestedIndex === undefined && ( : ) @@ -417,6 +435,7 @@ export const DataKeyPair: FC = (props) => { ) } {PostComponent && } + {!last && displayComma && ,} {(isHover && expandable && !inspect) && actionIcons} {(isHover && !expandable) && actionIcons} {(!isHover && editing) && actionIcons} diff --git a/src/components/DataTypes/Object.tsx b/src/components/DataTypes/Object.tsx index a0361207..a5df25a4 100644 --- a/src/components/DataTypes/Object.tsx +++ b/src/components/DataTypes/Object.tsx @@ -32,7 +32,7 @@ function inspectMetadata (value: object) { const PreObjectType: FC> = (props) => { const metadataColor = useJsonViewerStore(store => store.colorspace.base04) const textColor = useTextColor() - const isArray = useMemo(() => Array.isArray(props.value), [props.value]) + const isArrayLike = useMemo(() => Array.isArray(props.value) || (props.value instanceof Set), [props.value]) const isEmptyValue = useMemo(() => getValueSize(props.value) === 0, [props.value]) const sizeOfValue = useMemo(() => inspectMetadata(props.value), [props.value]) const displaySize = useJsonViewerStore(store => store.displaySize) @@ -46,7 +46,7 @@ const PreObjectType: FC> = (props) => { letterSpacing: 0.5 }} > - {isArray ? arrayLb : objectLb} + {isArrayLike ? arrayLb : objectLb} {shouldDisplaySize && props.inspect && !isEmptyValue && ( > = (props) => { mx: 0.5 }} /> - {isTrap} + + {isTrap} + )} @@ -80,7 +87,7 @@ const PreObjectType: FC> = (props) => { const PostObjectType: FC> = (props) => { const metadataColor = useJsonViewerStore(store => store.colorspace.base04) const textColor = useTextColor() - const isArray = useMemo(() => Array.isArray(props.value), [props.value]) + const isArrayLike = useMemo(() => Array.isArray(props.value) || (props.value instanceof Set), [props.value]) const isEmptyValue = useMemo(() => getValueSize(props.value) === 0, [props.value]) const sizeOfValue = useMemo(() => inspectMetadata(props.value), [props.value]) const displaySize = useJsonViewerStore(store => store.displaySize) @@ -97,7 +104,7 @@ const PostObjectType: FC> = (props) => { opacity: 0.8 }} > - {isArray ? arrayRb : objectRb} + {isArrayLike ? arrayRb : objectRb} {shouldDisplaySize && (isEmptyValue || !props.inspect) ? ( > = (props) => { if (iterator && !Array.isArray(value)) { const elements = [] if (value instanceof Map) { + const lastIndex = value.size - 1 + let index = 0 value.forEach((value, k) => { // fixme: key might be a object, array, or any value for the `Map` const key = k.toString() @@ -149,15 +158,18 @@ const ObjectType: FC> = (props) => { value={value} prevValue={props.prevValue instanceof Map ? props.prevValue.get(k) : undefined} editable={false} + last={index === lastIndex} /> ) + index++ }) } else { // iterate with iterator func const iterator = value[Symbol.iterator]() let result = iterator.next() let count = 0 - while (!result.done) { + while (true) { + const nextResult = iterator.next() elements.push( > = (props) => { value={result.value} nestedIndex={count} editable={false} + last={nextResult.done ?? false} /> ) + + if (nextResult.done) { + break + } + count++ - result = iterator.next() + result = nextResult } } return elements } if (Array.isArray(value)) { + const lastIndex = value.length - 1 // unknown[] if (value.length <= groupArraysAfterLength) { const elements = value.slice(0, displayLength).map((value, _index) => { @@ -185,6 +204,7 @@ const ObjectType: FC> = (props) => { path={path} value={value} prevValue={Array.isArray(props.prevValue) ? props.prevValue[index] : undefined} + last={_index === lastIndex} /> ) }) @@ -213,6 +233,7 @@ const ObjectType: FC> = (props) => { const elements: unknown[][] = segmentArray(value, groupArraysAfterLength) const prevElements = Array.isArray(props.prevValue) ? segmentArray(props.prevValue, groupArraysAfterLength) : undefined + const elementsLastIndex = elements.length - 1 return elements.map((list, index) => { return ( > = (props) => { value={list} nestedIndex={index} prevValue={prevElements?.[index]} + last={index === elementsLastIndex} /> ) }) @@ -232,10 +254,17 @@ const ObjectType: FC> = (props) => { ? entries.sort(([a], [b]) => a.localeCompare(b)) : entries.sort(([a], [b]) => objectSortKeys(a, b)) } - const elements = entries.slice(0, displayLength).map(([key, value]) => { + const lastIndex = entries.length - 1 + const elements = entries.slice(0, displayLength).map(([key, value], index) => { const path = [...props.path, key] return ( - + ) }) if (entries.length > displayLength) { diff --git a/src/index.tsx b/src/index.tsx index c1bc7ef0..8732e42b 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -64,8 +64,10 @@ const JsonViewerInner: FC = (props) => { useSetIfNotUndefinedEffect('onDelete', props.onDelete) useSetIfNotUndefinedEffect('maxDisplayLength', props.maxDisplayLength) useSetIfNotUndefinedEffect('groupArraysAfterLength', props.groupArraysAfterLength) + useSetIfNotUndefinedEffect('quotesOnKeys', props.quotesOnKeys) useSetIfNotUndefinedEffect('displayDataTypes', props.displayDataTypes) useSetIfNotUndefinedEffect('displaySize', props.displaySize) + useSetIfNotUndefinedEffect('displayComma', props.displayComma) useSetIfNotUndefinedEffect('highlightUpdates', props.highlightUpdates) useEffect(() => { if (props.theme === 'light') { @@ -124,6 +126,7 @@ const JsonViewerInner: FC = (props) => { value={value} prevValue={prevValue} path={emptyPath} + last={true} /> ) diff --git a/src/stores/JsonViewerStore.ts b/src/stores/JsonViewerStore.ts index b98da67b..7f4a147b 100644 --- a/src/stores/JsonViewerStore.ts +++ b/src/stores/JsonViewerStore.ts @@ -39,6 +39,7 @@ export type JsonViewerState = { quotesOnKeys: boolean displayDataTypes: boolean displaySize: boolean | ((path: Path, value: unknown) => boolean) + displayComma: boolean highlightUpdates: boolean inspectCache: Record @@ -79,6 +80,7 @@ export const createJsonViewerStore = (props: JsonViewerProps) = quotesOnKeys: props.quotesOnKeys ?? true, displayDataTypes: props.displayDataTypes ?? true, displaySize: props.displaySize ?? true, + displayComma: props.displayComma ?? false, highlightUpdates: props.highlightUpdates ?? false, // internal state diff --git a/src/type.ts b/src/type.ts index 92d40d1f..1219ef4f 100644 --- a/src/type.ts +++ b/src/type.ts @@ -283,6 +283,13 @@ export type JsonViewerProps = { */ displaySize?: boolean | ((path: Path, value: unknown) => boolean) + /** + * Whether display comma at the end of items. Just like valid JSON. + * + * @default false + */ + displayComma?: boolean + /** * Whether to highlight updates. * From 125669e0a58c59625510e879b39515f117a6f5b5 Mon Sep 17 00:00:00 2001 From: Pionxzh Date: Tue, 27 Aug 2024 02:09:29 +0800 Subject: [PATCH 2/4] feat: add `data-key-toggle-*` class name for customization --- docs/pages/how-to/styling.mdx | 5 +++++ src/components/DataKeyPair.tsx | 2 ++ 2 files changed, 7 insertions(+) diff --git a/docs/pages/how-to/styling.mdx b/docs/pages/how-to/styling.mdx index 42637b58..85e44096 100644 --- a/docs/pages/how-to/styling.mdx +++ b/docs/pages/how-to/styling.mdx @@ -69,7 +69,12 @@ Different part of the dom structure will have class names like `data-object-star This is the list of class names. 🧐 +- `data-key` - `data-key-pair` +- `data-key-key` +- `data-key-colon` +- `data-key-toggle-expanded` +- `data-key-toggle-collapsed` - `data-type-label` - `data-object` - `data-object-start` diff --git a/src/components/DataKeyPair.tsx b/src/components/DataKeyPair.tsx index bcf16335..e17fac18 100644 --- a/src/components/DataKeyPair.tsx +++ b/src/components/DataKeyPair.tsx @@ -344,6 +344,7 @@ export const DataKeyPair: FC = (props) => { ? (inspect ? ( = (props) => { ) : ( Date: Tue, 27 Aug 2024 02:14:08 +0800 Subject: [PATCH 3/4] ci: fix release please --- .github/workflows/release-please.yml | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml index e9194e38..c0e48db1 100644 --- a/.github/workflows/release-please.yml +++ b/.github/workflows/release-please.yml @@ -4,19 +4,18 @@ on: branches: - main jobs: - release-please: + release: + name: 'Release Please' runs-on: ubuntu-latest - outputs: - releases_created: ${{ steps.release.outputs.releases_created }} steps: - - uses: google-github-actions/release-please-action@v4 + - uses: googleapis/release-please-action@v4 id: release with: token: ${{secrets.GITHUB_TOKEN}} - publish-json-viewer: + publish: name: 'Publish @textea/json-viewer' - needs: release-please - if: ${{ needs.release-please.outputs.releases_created }} + needs: release + if: needs.release.outputs.release_created runs-on: ubuntu-latest permissions: contents: read From f503dde7139245760d01970cd353f58ba4eadf8f Mon Sep 17 00:00:00 2001 From: Pionxzh Date: Tue, 27 Aug 2024 02:26:56 +0800 Subject: [PATCH 4/4] chore: downgrade eslint back to v8 --- package.json | 2 +- yarn.lock | 171 ++++++++++++++++++++++----------------------------- 2 files changed, 76 insertions(+), 97 deletions(-) diff --git a/package.json b/package.json index 75033d55..3c32ab62 100644 --- a/package.json +++ b/package.json @@ -94,7 +94,7 @@ "@typescript-eslint/parser": "^8.2.0", "@vitejs/plugin-react": "^4.3.1", "@vitest/coverage-v8": "^1.4.0", - "eslint": "^9.9.0", + "eslint": "^8.57.0", "eslint-config-standard": "^17.1.0", "eslint-plugin-import": "npm:eslint-plugin-i@^2.29.1", "eslint-plugin-n": "^16.6.2", diff --git a/yarn.lock b/yarn.lock index 66e7f135..4d4fa65e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -789,13 +789,6 @@ __metadata: languageName: node linkType: hard -"@eslint-community/regexpp@npm:^4.11.0": - version: 4.11.0 - resolution: "@eslint-community/regexpp@npm:4.11.0" - checksum: 97d2fe46690b69417a551bd19a3dc53b6d9590d2295c43cc4c4e44e64131af541e2f4a44d5c12e87de990403654d3dae9d33600081f3a2f0386b368abc9111ec - languageName: node - linkType: hard - "@eslint-community/regexpp@npm:^4.5.1, @eslint-community/regexpp@npm:^4.6.0": version: 4.10.0 resolution: "@eslint-community/regexpp@npm:4.10.0" @@ -803,45 +796,34 @@ __metadata: languageName: node linkType: hard -"@eslint/config-array@npm:^0.17.1": - version: 0.17.1 - resolution: "@eslint/config-array@npm:0.17.1" - dependencies: - "@eslint/object-schema": ^2.1.4 - debug: ^4.3.1 - minimatch: ^3.1.2 - checksum: b678a7af5b0be8f1b29deaf751c77c365cf0b24bead3add677edbc7c7793dfb3eb423e33395787ff86fdbd85117a571f2f338d612a23210d9771aedf765d5482 +"@eslint-community/regexpp@npm:^4.6.1": + version: 4.11.0 + resolution: "@eslint-community/regexpp@npm:4.11.0" + checksum: 97d2fe46690b69417a551bd19a3dc53b6d9590d2295c43cc4c4e44e64131af541e2f4a44d5c12e87de990403654d3dae9d33600081f3a2f0386b368abc9111ec languageName: node linkType: hard -"@eslint/eslintrc@npm:^3.1.0": - version: 3.1.0 - resolution: "@eslint/eslintrc@npm:3.1.0" +"@eslint/eslintrc@npm:^2.1.4": + version: 2.1.4 + resolution: "@eslint/eslintrc@npm:2.1.4" dependencies: ajv: ^6.12.4 debug: ^4.3.2 - espree: ^10.0.1 - globals: ^14.0.0 + espree: ^9.6.0 + globals: ^13.19.0 ignore: ^5.2.0 import-fresh: ^3.2.1 js-yaml: ^4.1.0 minimatch: ^3.1.2 strip-json-comments: ^3.1.1 - checksum: b0a9bbd98c8b9e0f4d975b042ff9b874dde722b20834ea2ff46551c3de740d4f10f56c449b790ef34d7f82147cbddfc22b004a43cc885dbc2664bb134766b5e4 - languageName: node - linkType: hard - -"@eslint/js@npm:9.9.0": - version: 9.9.0 - resolution: "@eslint/js@npm:9.9.0" - checksum: 33f0c8988e4e6f6c1499d05e2e91ef3df1c0b221a46c41ed1d27cf1265809451fba5b7a9452ece70e98bfd2f745c0f0df3c9cc1fdcfdcaacbcae45ddc415b5d6 + checksum: 10957c7592b20ca0089262d8c2a8accbad14b4f6507e35416c32ee6b4dbf9cad67dfb77096bbd405405e9ada2b107f3797fe94362e1c55e0b09d6e90dd149127 languageName: node linkType: hard -"@eslint/object-schema@npm:^2.1.4": - version: 2.1.4 - resolution: "@eslint/object-schema@npm:2.1.4" - checksum: 5a03094115bcdab7991dbbc5d17a9713f394cebb4b44d3eaf990d7487b9b8e1877b817997334ab40be52e299a0384595c6f6ba91b389901e5e1d21efda779271 +"@eslint/js@npm:8.57.0": + version: 8.57.0 + resolution: "@eslint/js@npm:8.57.0" + checksum: 315dc65b0e9893e2bff139bddace7ea601ad77ed47b4550e73da8c9c2d2766c7a575c3cddf17ef85b8fd6a36ff34f91729d0dcca56e73ca887c10df91a41b0bb languageName: node linkType: hard @@ -872,6 +854,17 @@ __metadata: languageName: node linkType: hard +"@humanwhocodes/config-array@npm:^0.11.14": + version: 0.11.14 + resolution: "@humanwhocodes/config-array@npm:0.11.14" + dependencies: + "@humanwhocodes/object-schema": ^2.0.2 + debug: ^4.3.1 + minimatch: ^3.0.5 + checksum: 861ccce9eaea5de19546653bccf75bf09fe878bc39c3aab00aeee2d2a0e654516adad38dd1098aab5e3af0145bbcbf3f309bdf4d964f8dab9dcd5834ae4c02f2 + languageName: node + linkType: hard + "@humanwhocodes/module-importer@npm:^1.0.1": version: 1.0.1 resolution: "@humanwhocodes/module-importer@npm:1.0.1" @@ -879,10 +872,10 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/retry@npm:^0.3.0": - version: 0.3.0 - resolution: "@humanwhocodes/retry@npm:0.3.0" - checksum: 4349cb8b60466a000e945fde8f8551cefb01ebba22ead4a92ac7b145f67f5da6b52e5a1e0c53185d732d0a49958ac29327934a4a5ac1d0bc20efb4429a4f7bf7 +"@humanwhocodes/object-schema@npm:^2.0.2": + version: 2.0.3 + resolution: "@humanwhocodes/object-schema@npm:2.0.3" + checksum: d3b78f6c5831888c6ecc899df0d03bcc25d46f3ad26a11d7ea52944dc36a35ef543fad965322174238d677a43d5c694434f6607532cff7077062513ad7022631 languageName: node linkType: hard @@ -1949,7 +1942,7 @@ __metadata: "@vitest/coverage-v8": ^1.4.0 clsx: ^2.1.1 copy-to-clipboard: ^3.3.3 - eslint: ^9.9.0 + eslint: ^8.57.0 eslint-config-standard: ^17.1.0 eslint-plugin-import: "npm:eslint-plugin-i@^2.29.1" eslint-plugin-n: ^16.6.2 @@ -2480,7 +2473,7 @@ __metadata: languageName: node linkType: hard -"@ungap/structured-clone@npm:^1.0.0": +"@ungap/structured-clone@npm:^1.0.0, @ungap/structured-clone@npm:^1.2.0": version: 1.2.0 resolution: "@ungap/structured-clone@npm:1.2.0" checksum: 4f656b7b4672f2ce6e272f2427d8b0824ed11546a601d8d5412b9d7704e83db38a8d9f402ecdf2b9063fc164af842ad0ec4a55819f621ed7e7ea4d1efcc74524 @@ -2624,7 +2617,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.12.0": +"acorn@npm:^8.9.0": version: 8.12.1 resolution: "acorn@npm:8.12.1" bin: @@ -4745,13 +4738,13 @@ __metadata: languageName: node linkType: hard -"eslint-scope@npm:^8.0.2": - version: 8.0.2 - resolution: "eslint-scope@npm:8.0.2" +"eslint-scope@npm:^7.2.2": + version: 7.2.2 + resolution: "eslint-scope@npm:7.2.2" dependencies: esrecurse: ^4.3.0 estraverse: ^5.2.0 - checksum: bd1e7a0597ec605cf3bc9b35c9e13d7ea6c11fee031b0cada9e8993b0ecf16d81d6f40f1dcd463424af439abf53cd62302ea25707c1599689eb2750d6aa29688 + checksum: ec97dbf5fb04b94e8f4c5a91a7f0a6dd3c55e46bfc7bbcd0e3138c3a76977570e02ed89a1810c778dcd72072ff0e9621ba1379b4babe53921d71e2e4486fda3e languageName: node linkType: hard @@ -4762,43 +4755,40 @@ __metadata: languageName: node linkType: hard -"eslint-visitor-keys@npm:^4.0.0": - version: 4.0.0 - resolution: "eslint-visitor-keys@npm:4.0.0" - checksum: 5c09f89cf29d87cdbfbac38802a880d3c2e65f8cb61c689888346758f1e24a4c7f6caefeac9474dfa52058a99920623599bdb00516976a30134abeba91275aa2 - languageName: node - linkType: hard - -"eslint@npm:^9.9.0": - version: 9.9.0 - resolution: "eslint@npm:9.9.0" +"eslint@npm:^8.57.0": + version: 8.57.0 + resolution: "eslint@npm:8.57.0" dependencies: "@eslint-community/eslint-utils": ^4.2.0 - "@eslint-community/regexpp": ^4.11.0 - "@eslint/config-array": ^0.17.1 - "@eslint/eslintrc": ^3.1.0 - "@eslint/js": 9.9.0 + "@eslint-community/regexpp": ^4.6.1 + "@eslint/eslintrc": ^2.1.4 + "@eslint/js": 8.57.0 + "@humanwhocodes/config-array": ^0.11.14 "@humanwhocodes/module-importer": ^1.0.1 - "@humanwhocodes/retry": ^0.3.0 "@nodelib/fs.walk": ^1.2.8 + "@ungap/structured-clone": ^1.2.0 ajv: ^6.12.4 chalk: ^4.0.0 cross-spawn: ^7.0.2 debug: ^4.3.2 + doctrine: ^3.0.0 escape-string-regexp: ^4.0.0 - eslint-scope: ^8.0.2 - eslint-visitor-keys: ^4.0.0 - espree: ^10.1.0 - esquery: ^1.5.0 + eslint-scope: ^7.2.2 + eslint-visitor-keys: ^3.4.3 + espree: ^9.6.1 + esquery: ^1.4.2 esutils: ^2.0.2 fast-deep-equal: ^3.1.3 - file-entry-cache: ^8.0.0 + file-entry-cache: ^6.0.1 find-up: ^5.0.0 glob-parent: ^6.0.2 + globals: ^13.19.0 + graphemer: ^1.4.0 ignore: ^5.2.0 imurmurhash: ^0.1.4 is-glob: ^4.0.0 is-path-inside: ^3.0.3 + js-yaml: ^4.1.0 json-stable-stringify-without-jsonify: ^1.0.1 levn: ^0.4.1 lodash.merge: ^4.6.2 @@ -4807,25 +4797,20 @@ __metadata: optionator: ^0.9.3 strip-ansi: ^6.0.1 text-table: ^0.2.0 - peerDependencies: - jiti: "*" - peerDependenciesMeta: - jiti: - optional: true bin: eslint: bin/eslint.js - checksum: 050956566d1cab8abc3ae81f98debc0e48bb612e007c62dac2c99272471885b62a8aa4814b3713838e9e2e825a7446adfc8453066c708d91579ead0ad63fed7d + checksum: 3a48d7ff85ab420a8447e9810d8087aea5b1df9ef68c9151732b478de698389ee656fd895635b5f2871c89ee5a2652b3f343d11e9db6f8486880374ebc74a2d9 languageName: node linkType: hard -"espree@npm:^10.0.1, espree@npm:^10.1.0": - version: 10.1.0 - resolution: "espree@npm:10.1.0" +"espree@npm:^9.6.0, espree@npm:^9.6.1": + version: 9.6.1 + resolution: "espree@npm:9.6.1" dependencies: - acorn: ^8.12.0 + acorn: ^8.9.0 acorn-jsx: ^5.3.2 - eslint-visitor-keys: ^4.0.0 - checksum: a4708ab987f6c03734b8738b1588e9f31b2e305e869ca4677c60d82294eb05f7099b6687eb39eeb0913bb2d49bdf0bd0f31c511599ea7ee171281f871a9c897e + eslint-visitor-keys: ^3.4.1 + checksum: eb8c149c7a2a77b3f33a5af80c10875c3abd65450f60b8af6db1bfcfa8f101e21c1e56a561c6dc13b848e18148d43469e7cd208506238554fb5395a9ea5a1ab9 languageName: node linkType: hard @@ -4839,7 +4824,7 @@ __metadata: languageName: node linkType: hard -"esquery@npm:^1.5.0": +"esquery@npm:^1.4.2": version: 1.6.0 resolution: "esquery@npm:1.6.0" dependencies: @@ -5049,12 +5034,12 @@ __metadata: languageName: node linkType: hard -"file-entry-cache@npm:^8.0.0": - version: 8.0.0 - resolution: "file-entry-cache@npm:8.0.0" +"file-entry-cache@npm:^6.0.1": + version: 6.0.1 + resolution: "file-entry-cache@npm:6.0.1" dependencies: - flat-cache: ^4.0.0 - checksum: f67802d3334809048c69b3d458f672e1b6d26daefda701761c81f203b80149c35dea04d78ea4238969dd617678e530876722a0634c43031a0957f10cc3ed190f + flat-cache: ^3.0.4 + checksum: f49701feaa6314c8127c3c2f6173cfefff17612f5ed2daaafc6da13b5c91fd43e3b2a58fd0d63f9f94478a501b167615931e7200e31485e320f74a33885a9c74 languageName: node linkType: hard @@ -5095,13 +5080,14 @@ __metadata: languageName: node linkType: hard -"flat-cache@npm:^4.0.0": - version: 4.0.1 - resolution: "flat-cache@npm:4.0.1" +"flat-cache@npm:^3.0.4": + version: 3.2.0 + resolution: "flat-cache@npm:3.2.0" dependencies: flatted: ^3.2.9 - keyv: ^4.5.4 - checksum: 899fc86bf6df093547d76e7bfaeb900824b869d7d457d02e9b8aae24836f0a99fbad79328cfd6415ee8908f180699bf259dc7614f793447cb14f707caf5996f6 + keyv: ^4.5.3 + rimraf: ^3.0.2 + checksum: e7e0f59801e288b54bee5cb9681e9ee21ee28ef309f886b312c9d08415b79fc0f24ac842f84356ce80f47d6a53de62197ce0e6e148dc42d5db005992e2a756ec languageName: node linkType: hard @@ -5430,7 +5416,7 @@ __metadata: languageName: node linkType: hard -"globals@npm:^13.24.0": +"globals@npm:^13.19.0, globals@npm:^13.24.0": version: 13.24.0 resolution: "globals@npm:13.24.0" dependencies: @@ -5439,13 +5425,6 @@ __metadata: languageName: node linkType: hard -"globals@npm:^14.0.0": - version: 14.0.0 - resolution: "globals@npm:14.0.0" - checksum: 534b8216736a5425737f59f6e6a5c7f386254560c9f41d24a9227d60ee3ad4a9e82c5b85def0e212e9d92162f83a92544be4c7fd4c902cb913736c10e08237ac - languageName: node - linkType: hard - "globalthis@npm:^1.0.3": version: 1.0.3 resolution: "globalthis@npm:1.0.3" @@ -6651,7 +6630,7 @@ __metadata: languageName: node linkType: hard -"keyv@npm:^4.5.4": +"keyv@npm:^4.5.3": version: 4.5.4 resolution: "keyv@npm:4.5.4" dependencies: @@ -7882,7 +7861,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^3.0.4, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": +"minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": version: 3.1.2 resolution: "minimatch@npm:3.1.2" dependencies: