@askviraj/linter 1.1.2 → 1.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/node_modules/{synckit → @astrojs/compiler-binding}/LICENSE +1 -1
- package/node_modules/@astrojs/compiler-binding/browser.js +1 -0
- package/node_modules/@astrojs/compiler-binding/index.d.ts +337 -0
- package/node_modules/@astrojs/compiler-binding/index.js +599 -0
- package/node_modules/@astrojs/compiler-binding/package.json +83 -0
- package/node_modules/@astrojs/compiler-binding/webcontainer-fallback.cjs +23 -0
- package/node_modules/@astrojs/compiler-binding-linux-x64-gnu/README.md +3 -0
- package/node_modules/@astrojs/compiler-binding-linux-x64-gnu/astro.linux-x64-gnu.node +0 -0
- package/node_modules/@astrojs/compiler-binding-linux-x64-gnu/package.json +40 -0
- package/node_modules/{parse5 → @astrojs/compiler-rs}/LICENSE +7 -5
- package/node_modules/@astrojs/compiler-rs/README.md +62 -0
- package/node_modules/@astrojs/compiler-rs/async.d.ts +1 -0
- package/node_modules/@astrojs/compiler-rs/dist/async.d.mts +9 -0
- package/node_modules/@astrojs/compiler-rs/dist/async.mjs +1 -0
- package/node_modules/@astrojs/compiler-rs/dist/index.d.mts +9 -0
- package/node_modules/@astrojs/compiler-rs/dist/index.mjs +1 -0
- package/node_modules/@astrojs/compiler-rs/dist/shared.d.mts +45 -0
- package/node_modules/@astrojs/compiler-rs/dist/shared.mjs +1 -0
- package/node_modules/@astrojs/compiler-rs/dist/types.d.mts +94 -0
- package/node_modules/@astrojs/compiler-rs/dist/types.mjs +1 -0
- package/node_modules/@astrojs/compiler-rs/dist/utils.d.mts +4 -0
- package/node_modules/@astrojs/compiler-rs/dist/utils.mjs +1 -0
- package/node_modules/@astrojs/compiler-rs/package.json +55 -0
- package/node_modules/@astrojs/compiler-rs/types.d.ts +1 -0
- package/node_modules/@eslint/config-helpers/README.md +2 -2
- package/node_modules/@eslint/config-helpers/dist/cjs/index.cjs +27 -26
- package/node_modules/@eslint/config-helpers/dist/cjs/index.d.cts +13 -12
- package/node_modules/@eslint/config-helpers/dist/cjs/types.cts +4 -2
- package/node_modules/@eslint/config-helpers/dist/esm/index.d.ts +13 -12
- package/node_modules/@eslint/config-helpers/dist/esm/index.js +27 -26
- package/node_modules/@eslint/config-helpers/dist/esm/types.d.ts +2 -0
- package/node_modules/@eslint/config-helpers/dist/esm/types.ts +4 -2
- package/node_modules/@eslint/config-helpers/package.json +1 -1
- package/node_modules/@eslint/css/README.md +2 -2
- package/node_modules/@eslint/css/dist/build/rules.d.ts +75 -21
- package/node_modules/@eslint/css/dist/build/rules.js +15 -15
- package/node_modules/@eslint/css/dist/data/baseline-data.js +256 -32
- package/node_modules/@eslint/css/dist/index.js +1 -1
- package/node_modules/@eslint/css/dist/rules/font-family-fallbacks.d.ts +15 -15
- package/node_modules/@eslint/css/dist/rules/font-family-fallbacks.js +2 -5
- package/node_modules/@eslint/css/dist/rules/no-duplicate-imports.d.ts +18 -18
- package/node_modules/@eslint/css/dist/rules/no-duplicate-imports.js +9 -12
- package/node_modules/@eslint/css/dist/rules/no-duplicate-keyframe-selectors.d.ts +14 -14
- package/node_modules/@eslint/css/dist/rules/no-duplicate-keyframe-selectors.js +2 -3
- package/node_modules/@eslint/css/dist/rules/no-empty-blocks.d.ts +14 -14
- package/node_modules/@eslint/css/dist/rules/no-empty-blocks.js +2 -3
- package/node_modules/@eslint/css/dist/rules/no-important.d.ts +16 -16
- package/node_modules/@eslint/css/dist/rules/no-important.js +2 -3
- package/node_modules/@eslint/css/dist/rules/no-invalid-at-rule-placement.d.ts +16 -16
- package/node_modules/@eslint/css/dist/rules/no-invalid-at-rule-placement.js +2 -3
- package/node_modules/@eslint/css/dist/rules/no-invalid-at-rules.d.ts +21 -21
- package/node_modules/@eslint/css/dist/rules/no-invalid-at-rules.js +2 -3
- package/node_modules/@eslint/css/dist/rules/no-invalid-named-grid-areas.d.ts +16 -16
- package/node_modules/@eslint/css/dist/rules/no-invalid-named-grid-areas.js +2 -3
- package/node_modules/@eslint/css/dist/rules/no-invalid-properties.d.ts +18 -18
- package/node_modules/@eslint/css/dist/rules/no-invalid-properties.js +2 -3
- package/node_modules/@eslint/css/dist/rules/no-unmatchable-selectors.d.ts +14 -14
- package/node_modules/@eslint/css/dist/rules/no-unmatchable-selectors.js +2 -3
- package/node_modules/@eslint/css/dist/rules/prefer-logical-properties.d.ts +22 -19
- package/node_modules/@eslint/css/dist/rules/prefer-logical-properties.js +66 -23
- package/node_modules/@eslint/css/dist/rules/relative-font-units.d.ts +16 -16
- package/node_modules/@eslint/css/dist/rules/relative-font-units.js +13 -7
- package/node_modules/@eslint/css/dist/rules/selector-complexity.d.ts +17 -17
- package/node_modules/@eslint/css/dist/rules/selector-complexity.js +2 -3
- package/node_modules/@eslint/css/dist/rules/use-baseline.d.ts +22 -22
- package/node_modules/@eslint/css/dist/rules/use-baseline.js +2 -3
- package/node_modules/@eslint/css/dist/rules/use-layers.d.ts +18 -18
- package/node_modules/@eslint/css/dist/rules/use-layers.js +3 -4
- package/node_modules/@eslint/css/package.json +7 -12
- package/node_modules/@eslint/css-tree/README.md +2 -2
- package/node_modules/@eslint/css-tree/dist/csstree.esm.js +1 -1
- package/node_modules/@eslint/css-tree/dist/csstree.js +1 -1
- package/node_modules/@eslint/css-tree/dist/data.cjs +4 -1
- package/node_modules/@eslint/css-tree/dist/data.js +4 -1
- package/node_modules/@eslint/css-tree/dist/version.cjs +1 -1
- package/node_modules/@eslint/css-tree/dist/version.js +1 -1
- package/node_modules/@eslint/css-tree/package.json +3 -3
- package/node_modules/@eslint/json/README.md +2 -2
- package/node_modules/@eslint/json/dist/index.js +1 -1
- package/node_modules/@eslint/json/package.json +4 -9
- package/node_modules/@eslint/markdown/README.md +3 -3
- package/node_modules/@eslint/markdown/dist/build/rules.d.ts +105 -27
- package/node_modules/@eslint/markdown/dist/build/rules.js +21 -21
- package/node_modules/@eslint/markdown/dist/index.d.ts +2 -2
- package/node_modules/@eslint/markdown/dist/index.js +4 -4
- package/node_modules/@eslint/markdown/dist/processor.d.ts +4 -9
- package/node_modules/@eslint/markdown/dist/processor.js +12 -15
- package/node_modules/@eslint/markdown/dist/rules/fenced-code-language.d.ts +17 -17
- package/node_modules/@eslint/markdown/dist/rules/fenced-code-language.js +2 -3
- package/node_modules/@eslint/markdown/dist/rules/fenced-code-meta.d.ts +17 -17
- package/node_modules/@eslint/markdown/dist/rules/fenced-code-meta.js +2 -3
- package/node_modules/@eslint/markdown/dist/rules/heading-increment.d.ts +16 -16
- package/node_modules/@eslint/markdown/dist/rules/heading-increment.js +2 -3
- package/node_modules/@eslint/markdown/dist/rules/no-bare-urls.d.ts +14 -14
- package/node_modules/@eslint/markdown/dist/rules/no-bare-urls.js +2 -3
- package/node_modules/@eslint/markdown/dist/rules/no-duplicate-definitions.d.ts +17 -17
- package/node_modules/@eslint/markdown/dist/rules/no-duplicate-definitions.js +2 -3
- package/node_modules/@eslint/markdown/dist/rules/no-duplicate-headings.d.ts +15 -15
- package/node_modules/@eslint/markdown/dist/rules/no-duplicate-headings.js +2 -3
- package/node_modules/@eslint/markdown/dist/rules/no-empty-definitions.d.ts +17 -17
- package/node_modules/@eslint/markdown/dist/rules/no-empty-definitions.js +2 -3
- package/node_modules/@eslint/markdown/dist/rules/no-empty-images.d.ts +14 -14
- package/node_modules/@eslint/markdown/dist/rules/no-empty-images.js +2 -3
- package/node_modules/@eslint/markdown/dist/rules/no-empty-links.d.ts +14 -14
- package/node_modules/@eslint/markdown/dist/rules/no-empty-links.js +2 -3
- package/node_modules/@eslint/markdown/dist/rules/no-html.d.ts +15 -15
- package/node_modules/@eslint/markdown/dist/rules/no-html.js +2 -3
- package/node_modules/@eslint/markdown/dist/rules/no-invalid-label-refs.d.ts +14 -14
- package/node_modules/@eslint/markdown/dist/rules/no-invalid-label-refs.js +2 -3
- package/node_modules/@eslint/markdown/dist/rules/no-missing-atx-heading-space.d.ts +17 -17
- package/node_modules/@eslint/markdown/dist/rules/no-missing-atx-heading-space.js +2 -3
- package/node_modules/@eslint/markdown/dist/rules/no-missing-label-refs.d.ts +16 -16
- package/node_modules/@eslint/markdown/dist/rules/no-missing-label-refs.js +2 -3
- package/node_modules/@eslint/markdown/dist/rules/no-missing-link-fragments.d.ts +16 -16
- package/node_modules/@eslint/markdown/dist/rules/no-missing-link-fragments.js +2 -3
- package/node_modules/@eslint/markdown/dist/rules/no-multiple-h1.d.ts +16 -16
- package/node_modules/@eslint/markdown/dist/rules/no-multiple-h1.js +2 -3
- package/node_modules/@eslint/markdown/dist/rules/no-reference-like-urls.d.ts +15 -15
- package/node_modules/@eslint/markdown/dist/rules/no-reference-like-urls.js +2 -3
- package/node_modules/@eslint/markdown/dist/rules/no-reversed-media-syntax.d.ts +15 -15
- package/node_modules/@eslint/markdown/dist/rules/no-reversed-media-syntax.js +2 -3
- package/node_modules/@eslint/markdown/dist/rules/no-space-in-emphasis.d.ts +17 -17
- package/node_modules/@eslint/markdown/dist/rules/no-space-in-emphasis.js +2 -3
- package/node_modules/@eslint/markdown/dist/rules/no-unused-definitions.d.ts +17 -17
- package/node_modules/@eslint/markdown/dist/rules/no-unused-definitions.js +2 -3
- package/node_modules/@eslint/markdown/dist/rules/require-alt-text.d.ts +14 -14
- package/node_modules/@eslint/markdown/dist/rules/require-alt-text.js +2 -3
- package/node_modules/@eslint/markdown/dist/rules/table-column-count.d.ts +17 -17
- package/node_modules/@eslint/markdown/dist/rules/table-column-count.js +2 -3
- package/node_modules/@eslint/markdown/package.json +5 -10
- package/node_modules/@eslint-community/eslint-utils/index.js +1 -1
- package/node_modules/@eslint-community/eslint-utils/index.js.map +1 -1
- package/node_modules/@eslint-community/eslint-utils/index.mjs +1 -1
- package/node_modules/@eslint-community/eslint-utils/index.mjs.map +1 -1
- package/node_modules/@eslint-community/eslint-utils/package.json +12 -7
- package/node_modules/@html-eslint/core/dist/index.js +1 -0
- package/node_modules/@html-eslint/core/dist/index.js.map +1 -1
- package/node_modules/@html-eslint/core/dist/index.mjs +1 -0
- package/node_modules/@html-eslint/core/dist/index.mjs.map +1 -1
- package/node_modules/@html-eslint/core/package.json +3 -3
- package/node_modules/@html-eslint/eslint-plugin/lib/rules/require-content.js +20 -1
- package/node_modules/@html-eslint/eslint-plugin/lib/rules/require-input-label.js +110 -8
- package/node_modules/@html-eslint/eslint-plugin/lib/rules/utils/node.js +13 -0
- package/node_modules/@html-eslint/eslint-plugin/package.json +7 -7
- package/node_modules/@html-eslint/eslint-plugin/types/rules/require-content.d.ts.map +1 -1
- package/node_modules/@html-eslint/eslint-plugin/types/rules/require-input-label.d.ts.map +1 -1
- package/node_modules/@html-eslint/eslint-plugin/types/rules/utils/node.d.ts +7 -0
- package/node_modules/@html-eslint/eslint-plugin/types/rules/utils/node.d.ts.map +1 -1
- package/node_modules/@html-eslint/parser/lib/parser.js +0 -1
- package/node_modules/@html-eslint/parser/package.json +4 -4
- package/node_modules/@html-eslint/parser/types/parser.d.ts.map +1 -1
- package/node_modules/@html-eslint/template-parser/package.json +3 -3
- package/node_modules/@html-eslint/template-syntax-parser/package.json +3 -3
- package/node_modules/@html-eslint/types/package.json +2 -2
- package/node_modules/@rviscomi/capo.js/README.md +4 -4
- package/node_modules/@rviscomi/capo.js/dist/adapters/adapter.cjs +7 -2
- package/node_modules/@rviscomi/capo.js/dist/adapters/browser.cjs +31 -3
- package/node_modules/@rviscomi/capo.js/dist/adapters/index.cjs +36 -4
- package/node_modules/@rviscomi/capo.js/dist/adapters/test-suite.cjs +6 -1
- package/node_modules/@rviscomi/capo.js/dist/analyzer.cjs +53 -24
- package/node_modules/@rviscomi/capo.js/dist/chrome/README.md +53 -0
- package/node_modules/@rviscomi/capo.js/{crx → dist/chrome}/capo.html +1 -1
- package/node_modules/@rviscomi/capo.js/dist/chrome/capo.js +3 -0
- package/node_modules/@rviscomi/capo.js/{crx → dist/chrome}/chrome.js +56 -18
- package/node_modules/@rviscomi/capo.js/dist/chrome/manifest.json +26 -0
- package/node_modules/@rviscomi/capo.js/dist/chrome/options/options.js +1 -0
- package/node_modules/@rviscomi/capo.js/dist/chrome.zip +0 -0
- package/node_modules/@rviscomi/capo.js/dist/firefox/README.md +53 -0
- package/node_modules/@rviscomi/capo.js/dist/firefox/background.js +7 -0
- package/node_modules/@rviscomi/capo.js/dist/firefox/capo.css +59 -0
- package/node_modules/@rviscomi/capo.js/dist/firefox/capo.html +12 -0
- package/node_modules/@rviscomi/capo.js/dist/firefox/capo.js +3 -0
- package/node_modules/@rviscomi/capo.js/dist/firefox/chrome.js +120 -0
- package/node_modules/@rviscomi/capo.js/dist/firefox/images/icon128.png +0 -0
- package/node_modules/@rviscomi/capo.js/dist/firefox/manifest.json +39 -0
- package/node_modules/@rviscomi/capo.js/dist/firefox/options/options.css +81 -0
- package/node_modules/@rviscomi/capo.js/dist/firefox/options/options.html +43 -0
- package/node_modules/@rviscomi/capo.js/dist/firefox/options/options.js +1 -0
- package/node_modules/@rviscomi/capo.js/dist/firefox/styles/open-props.css +291 -0
- package/node_modules/@rviscomi/capo.js/dist/firefox.zip +0 -0
- package/node_modules/@rviscomi/capo.js/dist/index.cjs +93 -33
- package/node_modules/@rviscomi/capo.js/dist/lib/colors.cjs +1 -0
- package/node_modules/@rviscomi/capo.js/dist/lib/io.cjs +137 -28
- package/node_modules/@rviscomi/capo.js/dist/lib/options.cjs +61 -0
- package/node_modules/@rviscomi/capo.js/dist/lib/rules.cjs +28 -13
- package/node_modules/@rviscomi/capo.js/dist/lib/validation.cjs +31 -16
- package/node_modules/@rviscomi/capo.js/dist/source.zip +0 -0
- package/node_modules/@rviscomi/capo.js/dist/types/adapters/adapter.d.ts +105 -0
- package/node_modules/@rviscomi/capo.js/dist/types/adapters/browser.d.ts +107 -0
- package/node_modules/@rviscomi/capo.js/dist/types/adapters/index.d.ts +7 -0
- package/node_modules/@rviscomi/capo.js/dist/types/adapters/test-suite.d.ts +52 -0
- package/node_modules/@rviscomi/capo.js/dist/types/analyzer.d.ts +195 -0
- package/node_modules/@rviscomi/capo.js/dist/types/index.d.ts +29 -0
- package/node_modules/@rviscomi/capo.js/dist/types/lib/colors.d.ts +20 -0
- package/node_modules/@rviscomi/capo.js/dist/types/lib/io.d.ts +166 -0
- package/node_modules/@rviscomi/capo.js/dist/types/lib/options.d.ts +114 -0
- package/node_modules/@rviscomi/capo.js/dist/types/lib/rules.d.ts +111 -0
- package/node_modules/@rviscomi/capo.js/dist/types/lib/validation.d.ts +61 -0
- package/node_modules/@rviscomi/capo.js/dist/types/src/adapters/adapter.d.ts +105 -0
- package/node_modules/@rviscomi/capo.js/dist/types/src/adapters/browser.d.ts +107 -0
- package/node_modules/@rviscomi/capo.js/dist/types/src/adapters/index.d.ts +7 -0
- package/node_modules/@rviscomi/capo.js/dist/types/src/adapters/test-suite.d.ts +52 -0
- package/node_modules/@rviscomi/capo.js/dist/types/src/analyzer.d.ts +195 -0
- package/node_modules/@rviscomi/capo.js/dist/types/src/index.d.ts +13 -0
- package/node_modules/@rviscomi/capo.js/dist/types/src/lib/colors.d.ts +20 -0
- package/node_modules/@rviscomi/capo.js/dist/types/src/lib/io.d.ts +166 -0
- package/node_modules/@rviscomi/capo.js/dist/types/src/lib/options.d.ts +114 -0
- package/node_modules/@rviscomi/capo.js/dist/types/src/lib/rules.d.ts +111 -0
- package/node_modules/@rviscomi/capo.js/dist/types/src/lib/validation.d.ts +61 -0
- package/node_modules/@rviscomi/capo.js/package.json +34 -16
- package/node_modules/@rviscomi/capo.js/src/adapters/adapter.js +16 -5
- package/node_modules/@rviscomi/capo.js/src/adapters/browser.js +30 -4
- package/node_modules/@rviscomi/capo.js/src/adapters/test-suite.js +11 -10
- package/node_modules/@rviscomi/capo.js/src/analyzer.js +47 -25
- package/node_modules/@rviscomi/capo.js/src/extension/README.md +53 -0
- package/node_modules/@rviscomi/capo.js/src/extension/background.js +7 -0
- package/node_modules/@rviscomi/capo.js/src/extension/capo.css +59 -0
- package/node_modules/@rviscomi/capo.js/src/extension/capo.html +12 -0
- package/node_modules/@rviscomi/capo.js/src/extension/capo.js +93 -0
- package/node_modules/@rviscomi/capo.js/src/extension/chrome.js +120 -0
- package/node_modules/@rviscomi/capo.js/src/extension/images/icon128.png +0 -0
- package/node_modules/@rviscomi/capo.js/src/extension/images/icon256.png +0 -0
- package/node_modules/@rviscomi/capo.js/{crx → src/extension}/manifest.json +1 -1
- package/node_modules/@rviscomi/capo.js/src/extension/options/options.css +81 -0
- package/node_modules/@rviscomi/capo.js/src/extension/options/options.html +43 -0
- package/node_modules/@rviscomi/capo.js/src/extension/options.js +87 -0
- package/node_modules/@rviscomi/capo.js/src/extension/styles/open-props.css +291 -0
- package/node_modules/@rviscomi/capo.js/src/index.js +10 -0
- package/node_modules/@rviscomi/capo.js/src/lib/colors.js +14 -0
- package/node_modules/@rviscomi/capo.js/src/lib/io.js +171 -32
- package/node_modules/@rviscomi/capo.js/src/lib/options.js +82 -1
- package/node_modules/@rviscomi/capo.js/src/lib/rules.js +120 -43
- package/node_modules/@rviscomi/capo.js/src/lib/validation.js +211 -86
- package/node_modules/@rviscomi/capo.js/src/web/capo.js +5 -8
- package/node_modules/@types/hast/README.md +2 -2
- package/node_modules/@types/hast/index.d.ts +642 -0
- package/node_modules/@types/hast/package.json +9 -3
- package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslintrc/all.d.ts +0 -4
- package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslintrc/all.js +0 -4
- package/node_modules/@typescript-eslint/eslint-plugin/dist/configs/flat/all.js +0 -4
- package/node_modules/@typescript-eslint/eslint-plugin/dist/index.d.ts +0 -4
- package/node_modules/@typescript-eslint/eslint-plugin/dist/index.js +47 -0
- package/node_modules/@typescript-eslint/eslint-plugin/dist/raw-plugin.d.ts +0 -4
- package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/ban-ts-comment.js +4 -4
- package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/method-signature-style.d.ts +1 -1
- package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/method-signature-style.js +23 -10
- package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-base-to-string.js +1 -1
- package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-loop-func.js +16 -2
- package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-misused-promises.js +41 -3
- package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-restricted-imports.js +12 -0
- package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-shadow.d.ts +1 -1
- package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-shadow.js +5 -4
- package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-this-alias.js +1 -1
- package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-parameter-property-assignment.js +1 -1
- package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-template-expression.js +2 -2
- package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-assertion.js +5 -1
- package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unused-vars.js +1 -1
- package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-string-starts-ends-with.js +2 -1
- package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/require-array-sort-compare.js +1 -1
- package/node_modules/@typescript-eslint/eslint-plugin/dist/rules/unbound-method.js +36 -9
- package/node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore/index.js +11 -2
- package/node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore/legacy.js +11 -2
- package/node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore/package.json +1 -1
- package/node_modules/@typescript-eslint/eslint-plugin/package.json +22 -11
- package/node_modules/@typescript-eslint/parser/dist/index.js +47 -0
- package/node_modules/@typescript-eslint/parser/dist/parser.js +11 -6
- package/node_modules/@typescript-eslint/parser/package.json +9 -7
- package/node_modules/@typescript-eslint/project-service/package.json +7 -5
- package/node_modules/@typescript-eslint/scope-manager/dist/scope/FunctionScope.js +2 -2
- package/node_modules/@typescript-eslint/scope-manager/dist/scope/index.d.ts +1 -0
- package/node_modules/@typescript-eslint/scope-manager/dist/scope/index.js +1 -0
- package/node_modules/@typescript-eslint/scope-manager/package.json +8 -6
- package/node_modules/@typescript-eslint/tsconfig-utils/package.json +5 -3
- package/node_modules/@typescript-eslint/type-utils/package.json +9 -7
- package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts +10 -0
- package/node_modules/@typescript-eslint/types/dist/parser-options.d.ts +13 -0
- package/node_modules/@typescript-eslint/types/package.json +5 -3
- package/node_modules/@typescript-eslint/typescript-estree/dist/check-syntax-errors.js +22 -6
- package/node_modules/@typescript-eslint/typescript-estree/dist/convert.js +5 -4
- package/node_modules/@typescript-eslint/typescript-estree/dist/getImportClausePhaseModifier.d.ts +4 -0
- package/node_modules/@typescript-eslint/typescript-estree/dist/getImportClausePhaseModifier.js +56 -0
- package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/createParseSettings.js +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/warnAboutTSVersion.d.ts +1 -1
- package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/warnAboutTSVersion.js +27 -18
- package/node_modules/@typescript-eslint/typescript-estree/dist/parser-options.d.ts +8 -0
- package/node_modules/@typescript-eslint/typescript-estree/package.json +9 -7
- package/node_modules/@typescript-eslint/utils/dist/ts-eslint/Rule.d.ts +1 -1
- package/node_modules/@typescript-eslint/utils/package.json +8 -6
- package/node_modules/@typescript-eslint/visitor-keys/package.json +6 -4
- package/node_modules/acorn/CHANGELOG.md +12 -0
- package/node_modules/acorn/README.md +5 -0
- package/node_modules/acorn/dist/acorn.d.mts +8 -0
- package/node_modules/acorn/dist/acorn.d.ts +8 -0
- package/node_modules/acorn/dist/acorn.js +16 -7
- package/node_modules/acorn/dist/acorn.mjs +16 -7
- package/node_modules/acorn/package.json +1 -1
- package/node_modules/astro-eslint-parser/lib/index.d.mts +113 -18
- package/node_modules/astro-eslint-parser/lib/index.mjs +871 -1172
- package/node_modules/astro-eslint-parser/package.json +7 -9
- package/node_modules/brace-expansion/README.md +11 -0
- package/node_modules/brace-expansion/dist/commonjs/index.d.ts +2 -0
- package/node_modules/brace-expansion/dist/commonjs/index.d.ts.map +1 -1
- package/node_modules/brace-expansion/dist/commonjs/index.js +162 -84
- package/node_modules/brace-expansion/dist/commonjs/index.js.map +1 -1
- package/node_modules/brace-expansion/dist/esm/index.d.ts +2 -0
- package/node_modules/brace-expansion/dist/esm/index.d.ts.map +1 -1
- package/node_modules/brace-expansion/dist/esm/index.js +161 -83
- package/node_modules/brace-expansion/dist/esm/index.js.map +1 -1
- package/node_modules/brace-expansion/package.json +2 -2
- package/node_modules/eslint/README.md +2 -2
- package/node_modules/eslint/lib/cli-engine/formatters/html.js +1 -1
- package/node_modules/eslint/lib/languages/js/index.js +1 -1
- package/node_modules/eslint/lib/linter/code-path-analysis/debug-helpers.js +1 -1
- package/node_modules/eslint/lib/linter/vfile.js +1 -1
- package/node_modules/eslint/lib/rules/class-methods-use-this.js +6 -5
- package/node_modules/eslint/lib/rules/complexity.js +1 -1
- package/node_modules/eslint/lib/rules/eqeqeq.js +26 -6
- package/node_modules/eslint/lib/rules/func-name-matching.js +3 -3
- package/node_modules/eslint/lib/rules/generator-star-spacing.js +4 -6
- package/node_modules/eslint/lib/rules/indent.js +4 -6
- package/node_modules/eslint/lib/rules/key-spacing.js +5 -7
- package/node_modules/eslint/lib/rules/max-len.js +1 -1
- package/node_modules/eslint/lib/rules/max-nested-callbacks.js +11 -1
- package/node_modules/eslint/lib/rules/no-compare-neg-zero.js +91 -8
- package/node_modules/eslint/lib/rules/no-control-regex.js +3 -0
- package/node_modules/eslint/lib/rules/no-implicit-coercion.js +22 -8
- package/node_modules/eslint/lib/rules/no-invalid-regexp.js +3 -1
- package/node_modules/eslint/lib/rules/no-mixed-spaces-and-tabs.js +5 -7
- package/node_modules/eslint/lib/rules/no-promise-executor-return.js +5 -7
- package/node_modules/eslint/lib/rules/no-script-url.js +4 -6
- package/node_modules/eslint/lib/rules/no-shadow.js +14 -20
- package/node_modules/eslint/lib/rules/no-unreachable-loop.js +8 -4
- package/node_modules/eslint/lib/rules/prefer-numeric-literals.js +14 -6
- package/node_modules/eslint/lib/rules/prefer-object-has-own.js +4 -6
- package/node_modules/eslint/lib/rules/prefer-object-spread.js +9 -1
- package/node_modules/eslint/lib/rules/prefer-template.js +1 -1
- package/node_modules/eslint/lib/rules/preserve-caught-error.js +268 -116
- package/node_modules/eslint/lib/rules/quotes.js +1 -1
- package/node_modules/eslint/lib/rules/radix.js +58 -57
- package/node_modules/eslint/lib/rules/use-isnan.js +20 -12
- package/node_modules/eslint/lib/rules/utils/ast-utils.js +1 -1
- package/node_modules/eslint/lib/shared/serialization.js +1 -1
- package/node_modules/eslint/lib/shared/translate-cli-options.js +3 -3
- package/node_modules/eslint/lib/types/config-api.d.ts +8 -1
- package/node_modules/eslint/lib/types/index.d.ts +3 -6
- package/node_modules/eslint/lib/types/rules.d.ts +17 -9
- package/node_modules/eslint/package.json +7 -7
- package/node_modules/eslint-plugin-astro/README.md +10 -2
- package/node_modules/eslint-plugin-astro/lib/index.d.mts +0 -1
- package/node_modules/eslint-plugin-astro/lib/index.mjs +76 -637
- package/node_modules/eslint-plugin-astro/package.json +11 -11
- package/node_modules/eslint-plugin-toml/README.md +2 -0
- package/node_modules/eslint-plugin-toml/lib/index.d.mts +6 -5
- package/node_modules/eslint-plugin-toml/lib/index.mjs +32 -3
- package/node_modules/eslint-plugin-toml/package.json +7 -7
- package/node_modules/eslint-plugin-yml/README.md +1 -0
- package/node_modules/eslint-plugin-yml/lib/index.mjs +125 -21
- package/node_modules/eslint-plugin-yml/package.json +7 -7
- package/node_modules/flatted/golang/pkg/flatted/flatted.go +16 -14
- package/node_modules/flatted/package.json +10 -5
- package/node_modules/flatted/types/index.d.ts +1 -1
- package/node_modules/globals/globals.json +105 -33
- package/node_modules/globals/index.d.ts +105 -33
- package/node_modules/globals/package.json +2 -2
- package/node_modules/mdn-data/css/properties.json +64 -16
- package/node_modules/mdn-data/css/properties.schema.json +1 -7
- package/node_modules/mdn-data/css/syntaxes.json +1 -1
- package/node_modules/mdn-data/l10n/css.json +3 -62
- package/node_modules/mdn-data/package.json +1 -1
- package/node_modules/minimatch/package.json +9 -9
- package/node_modules/nanoid/non-secure/index.cjs +2 -2
- package/node_modules/nanoid/non-secure/index.js +2 -2
- package/node_modules/nanoid/package.json +1 -1
- package/node_modules/picomatch/README.md +15 -21
- package/node_modules/picomatch/lib/parse.js +39 -9
- package/node_modules/picomatch/lib/picomatch.js +14 -2
- package/node_modules/picomatch/package.json +3 -2
- package/node_modules/postcss/README.md +1 -2
- package/node_modules/postcss/lib/container.js +81 -34
- package/node_modules/postcss/lib/fromJSON.js +65 -26
- package/node_modules/postcss/lib/input.js +7 -1
- package/node_modules/postcss/lib/lazy-result.js +77 -14
- package/node_modules/postcss/lib/list.js +1 -0
- package/node_modules/postcss/lib/node.d.ts +2 -2
- package/node_modules/postcss/lib/node.js +90 -52
- package/node_modules/postcss/lib/postcss.d.ts +4 -1
- package/node_modules/postcss/lib/previous-map.js +6 -3
- package/node_modules/postcss/lib/processor.js +1 -1
- package/node_modules/postcss/lib/root.js +16 -1
- package/node_modules/postcss/lib/stringifier.js +112 -25
- package/node_modules/postcss/lib/warning.js +10 -0
- package/node_modules/postcss/package.json +2 -2
- package/node_modules/typescript-eslint/dist/index.js +47 -0
- package/node_modules/typescript-eslint/package.json +14 -6
- package/node_modules/yaml-eslint-parser/lib/chunk-CfYAbeIz.mjs +13 -0
- package/node_modules/yaml-eslint-parser/lib/index.d.mts +2 -2
- package/node_modules/yaml-eslint-parser/lib/index.mjs +164 -157
- package/node_modules/yaml-eslint-parser/package.json +17 -18
- package/package.json +23 -23
- package/node_modules/@astrojs/compiler/LICENSE +0 -53
- package/node_modules/@astrojs/compiler/README.md +0 -72
- package/node_modules/@astrojs/compiler/dist/astro.wasm +0 -0
- package/node_modules/@astrojs/compiler/dist/browser/index.cjs +0 -2
- package/node_modules/@astrojs/compiler/dist/browser/index.d.ts +0 -11
- package/node_modules/@astrojs/compiler/dist/browser/index.js +0 -1
- package/node_modules/@astrojs/compiler/dist/browser/utils.cjs +0 -3
- package/node_modules/@astrojs/compiler/dist/browser/utils.d.ts +0 -29
- package/node_modules/@astrojs/compiler/dist/browser/utils.js +0 -3
- package/node_modules/@astrojs/compiler/dist/browser/wasm_exec.cjs +0 -2
- package/node_modules/@astrojs/compiler/dist/browser/wasm_exec.d.ts +0 -37
- package/node_modules/@astrojs/compiler/dist/browser/wasm_exec.js +0 -1
- package/node_modules/@astrojs/compiler/dist/chunk-QR6QDSEV.js +0 -2
- package/node_modules/@astrojs/compiler/dist/chunk-W5DTLHV4.js +0 -1
- package/node_modules/@astrojs/compiler/dist/node/index.cjs +0 -1
- package/node_modules/@astrojs/compiler/dist/node/index.d.ts +0 -12
- package/node_modules/@astrojs/compiler/dist/node/index.js +0 -1
- package/node_modules/@astrojs/compiler/dist/node/sync.cjs +0 -1
- package/node_modules/@astrojs/compiler/dist/node/sync.d.ts +0 -16
- package/node_modules/@astrojs/compiler/dist/node/sync.js +0 -1
- package/node_modules/@astrojs/compiler/dist/node/utils.cjs +0 -3
- package/node_modules/@astrojs/compiler/dist/node/utils.d.ts +0 -29
- package/node_modules/@astrojs/compiler/dist/node/utils.js +0 -3
- package/node_modules/@astrojs/compiler/dist/node/wasm_exec.cjs +0 -1
- package/node_modules/@astrojs/compiler/dist/node/wasm_exec.d.ts +0 -37
- package/node_modules/@astrojs/compiler/dist/node/wasm_exec.js +0 -1
- package/node_modules/@astrojs/compiler/dist/shared/ast.cjs +0 -1
- package/node_modules/@astrojs/compiler/dist/shared/ast.d.ts +0 -74
- package/node_modules/@astrojs/compiler/dist/shared/ast.js +0 -0
- package/node_modules/@astrojs/compiler/dist/shared/diagnostics.cjs +0 -1
- package/node_modules/@astrojs/compiler/dist/shared/diagnostics.d.ts +0 -18
- package/node_modules/@astrojs/compiler/dist/shared/diagnostics.js +0 -1
- package/node_modules/@astrojs/compiler/dist/shared/types.cjs +0 -1
- package/node_modules/@astrojs/compiler/dist/shared/types.d.ts +0 -153
- package/node_modules/@astrojs/compiler/dist/shared/types.js +0 -1
- package/node_modules/@astrojs/compiler/package.json +0 -58
- package/node_modules/@astrojs/compiler/sync.d.ts +0 -1
- package/node_modules/@astrojs/compiler/types.d.ts +0 -1
- package/node_modules/@astrojs/compiler/utils.d.ts +0 -1
- package/node_modules/@pkgr/core/index.d.cts +0 -3
- package/node_modules/@pkgr/core/lib/constants.d.ts +0 -6
- package/node_modules/@pkgr/core/lib/constants.js +0 -9
- package/node_modules/@pkgr/core/lib/constants.js.map +0 -1
- package/node_modules/@pkgr/core/lib/helpers.d.ts +0 -19
- package/node_modules/@pkgr/core/lib/helpers.js +0 -67
- package/node_modules/@pkgr/core/lib/helpers.js.map +0 -1
- package/node_modules/@pkgr/core/lib/index.cjs +0 -91
- package/node_modules/@pkgr/core/lib/index.d.ts +0 -2
- package/node_modules/@pkgr/core/lib/index.js +0 -3
- package/node_modules/@pkgr/core/lib/index.js.map +0 -1
- package/node_modules/@pkgr/core/package.json +0 -38
- package/node_modules/@rviscomi/capo.js/crx/README.md +0 -10
- package/node_modules/@rviscomi/capo.js/crx/capo.js +0 -3
- package/node_modules/@rviscomi/capo.js/crx/options/options.js +0 -1
- package/node_modules/@rviscomi/capo.js/docs/.vscode/extensions.json +0 -4
- package/node_modules/@rviscomi/capo.js/docs/.vscode/launch.json +0 -11
- package/node_modules/@rviscomi/capo.js/docs/README.md +0 -51
- package/node_modules/@rviscomi/capo.js/docs/astro.config.mjs +0 -82
- package/node_modules/@rviscomi/capo.js/docs/package-lock.json +0 -7439
- package/node_modules/@rviscomi/capo.js/docs/package.json +0 -21
- package/node_modules/@rviscomi/capo.js/docs/public/capo-social-alt.webp +0 -0
- package/node_modules/@rviscomi/capo.js/docs/public/capo-social.png +0 -0
- package/node_modules/@rviscomi/capo.js/docs/public/capo-social.webp +0 -0
- package/node_modules/@rviscomi/capo.js/docs/public/favicon.svg +0 -13
- package/node_modules/@rviscomi/capo.js/docs/src/assets/bookmarklet-setup.png +0 -0
- package/node_modules/@rviscomi/capo.js/docs/src/assets/bookmarklet.png +0 -0
- package/node_modules/@rviscomi/capo.js/docs/src/assets/capo-chrome.png +0 -0
- package/node_modules/@rviscomi/capo.js/docs/src/assets/capo-extension.png +0 -0
- package/node_modules/@rviscomi/capo.js/docs/src/assets/capo800.png +0 -0
- package/node_modules/@rviscomi/capo.js/docs/src/assets/crx-console-expanded.png +0 -0
- package/node_modules/@rviscomi/capo.js/docs/src/assets/crx-console-interactive.png +0 -0
- package/node_modules/@rviscomi/capo.js/docs/src/assets/crx-console.png +0 -0
- package/node_modules/@rviscomi/capo.js/docs/src/assets/crx-hover-validation.png +0 -0
- package/node_modules/@rviscomi/capo.js/docs/src/assets/crx-menu.png +0 -0
- package/node_modules/@rviscomi/capo.js/docs/src/assets/crx-options-dark.png +0 -0
- package/node_modules/@rviscomi/capo.js/docs/src/assets/crx-options-light.png +0 -0
- package/node_modules/@rviscomi/capo.js/docs/src/assets/crx-store.png +0 -0
- package/node_modules/@rviscomi/capo.js/docs/src/assets/custom-palette.png +0 -0
- package/node_modules/@rviscomi/capo.js/docs/src/assets/developer-mode.png +0 -0
- package/node_modules/@rviscomi/capo.js/docs/src/assets/devtools-console.png +0 -0
- package/node_modules/@rviscomi/capo.js/docs/src/assets/devtools-snippet.png +0 -0
- package/node_modules/@rviscomi/capo.js/docs/src/assets/devtools-sources.png +0 -0
- package/node_modules/@rviscomi/capo.js/docs/src/assets/houston.webp +0 -0
- package/node_modules/@rviscomi/capo.js/docs/src/assets/load-unpacked.png +0 -0
- package/node_modules/@rviscomi/capo.js/docs/src/assets/validation-areas.png +0 -0
- package/node_modules/@rviscomi/capo.js/docs/src/assets/validation-base.png +0 -0
- package/node_modules/@rviscomi/capo.js/docs/src/assets/validation-crx-stripes.png +0 -0
- package/node_modules/@rviscomi/capo.js/docs/src/assets/validation-csp.png +0 -0
- package/node_modules/@rviscomi/capo.js/docs/src/assets/validation-invalid-element.png +0 -0
- package/node_modules/@rviscomi/capo.js/docs/src/assets/validation-origin-trial.png +0 -0
- package/node_modules/@rviscomi/capo.js/docs/src/assets/validation-title.png +0 -0
- package/node_modules/@rviscomi/capo.js/docs/src/components/CapoClient.astro +0 -165
- package/node_modules/@rviscomi/capo.js/docs/src/components/CapoOptions.astro +0 -10
- package/node_modules/@rviscomi/capo.js/docs/src/components/CapoPalette.astro +0 -26
- package/node_modules/@rviscomi/capo.js/docs/src/components/InlineCapoIcon.astro +0 -15
- package/node_modules/@rviscomi/capo.js/docs/src/components/InlineCapoWeightBars.astro +0 -39
- package/node_modules/@rviscomi/capo.js/docs/src/components/VirtualConsole.astro +0 -11
- package/node_modules/@rviscomi/capo.js/docs/src/content/config.ts +0 -7
- package/node_modules/@rviscomi/capo.js/docs/src/content/docs/developer/contributing.mdx +0 -8
- package/node_modules/@rviscomi/capo.js/docs/src/content/docs/developer/crx-local.mdx +0 -28
- package/node_modules/@rviscomi/capo.js/docs/src/content/docs/developer/custom-adapters.mdx +0 -273
- package/node_modules/@rviscomi/capo.js/docs/src/content/docs/index.mdx +0 -108
- package/node_modules/@rviscomi/capo.js/docs/src/content/docs/migration-v2.mdx +0 -62
- package/node_modules/@rviscomi/capo.js/docs/src/content/docs/user/actionability.mdx +0 -6
- package/node_modules/@rviscomi/capo.js/docs/src/content/docs/user/assessment-mode.mdx +0 -29
- package/node_modules/@rviscomi/capo.js/docs/src/content/docs/user/config.mdx +0 -195
- package/node_modules/@rviscomi/capo.js/docs/src/content/docs/user/demo.mdx +0 -9
- package/node_modules/@rviscomi/capo.js/docs/src/content/docs/user/extension.mdx +0 -116
- package/node_modules/@rviscomi/capo.js/docs/src/content/docs/user/performance.mdx +0 -6
- package/node_modules/@rviscomi/capo.js/docs/src/content/docs/user/quick-start.mdx +0 -26
- package/node_modules/@rviscomi/capo.js/docs/src/content/docs/user/rules.mdx +0 -202
- package/node_modules/@rviscomi/capo.js/docs/src/content/docs/user/validation.mdx +0 -197
- package/node_modules/@rviscomi/capo.js/docs/src/env.d.ts +0 -2
- package/node_modules/@rviscomi/capo.js/docs/src/lib/VirtualConsole.js +0 -190
- package/node_modules/@rviscomi/capo.js/docs/src/lib/capo.js +0 -1533
- package/node_modules/@rviscomi/capo.js/docs/src/styles/custom.css +0 -7
- package/node_modules/@rviscomi/capo.js/docs/src/styles/virtual-console.css +0 -131
- package/node_modules/@rviscomi/capo.js/docs/tests/VirtualConsole.test.js +0 -108
- package/node_modules/@rviscomi/capo.js/docs/tsconfig.json +0 -3
- package/node_modules/@rviscomi/capo.js/src/crx/capo.js +0 -62
- package/node_modules/@rviscomi/capo.js/src/crx/options.js +0 -69
- package/node_modules/astrojs-compiler-sync/LICENSE +0 -53
- package/node_modules/astrojs-compiler-sync/README.md +0 -3
- package/node_modules/astrojs-compiler-sync/browser/index.d.ts +0 -6
- package/node_modules/astrojs-compiler-sync/browser/index.js +0 -76
- package/node_modules/astrojs-compiler-sync/browser/wasm_exec.js +0 -665
- package/node_modules/astrojs-compiler-sync/lib/astrojs-compiler-worker.js +0 -5
- package/node_modules/astrojs-compiler-sync/lib/compiler-sync.cjs +0 -31
- package/node_modules/astrojs-compiler-sync/lib/index.cjs +0 -30
- package/node_modules/astrojs-compiler-sync/lib/index.d.cts +0 -3
- package/node_modules/astrojs-compiler-sync/lib/index.d.ts +0 -14
- package/node_modules/astrojs-compiler-sync/lib/index.js +0 -18
- package/node_modules/astrojs-compiler-sync/package.json +0 -100
- package/node_modules/entities/LICENSE +0 -11
- package/node_modules/entities/dist/decode-codepoint.d.ts +0 -8
- package/node_modules/entities/dist/decode-codepoint.d.ts.map +0 -1
- package/node_modules/entities/dist/decode-codepoint.js +0 -46
- package/node_modules/entities/dist/decode-codepoint.js.map +0 -1
- package/node_modules/entities/dist/decode.d.ts +0 -194
- package/node_modules/entities/dist/decode.d.ts.map +0 -1
- package/node_modules/entities/dist/decode.js +0 -544
- package/node_modules/entities/dist/decode.js.map +0 -1
- package/node_modules/entities/dist/encode.d.ts +0 -24
- package/node_modules/entities/dist/encode.d.ts.map +0 -1
- package/node_modules/entities/dist/encode.js +0 -90
- package/node_modules/entities/dist/encode.js.map +0 -1
- package/node_modules/entities/dist/escape.d.ts +0 -48
- package/node_modules/entities/dist/escape.d.ts.map +0 -1
- package/node_modules/entities/dist/escape.js +0 -132
- package/node_modules/entities/dist/escape.js.map +0 -1
- package/node_modules/entities/dist/generated/decode-data-html.d.ts +0 -3
- package/node_modules/entities/dist/generated/decode-data-html.d.ts.map +0 -1
- package/node_modules/entities/dist/generated/decode-data-html.js +0 -5
- package/node_modules/entities/dist/generated/decode-data-html.js.map +0 -1
- package/node_modules/entities/dist/generated/decode-data-xml.d.ts +0 -3
- package/node_modules/entities/dist/generated/decode-data-xml.d.ts.map +0 -1
- package/node_modules/entities/dist/generated/decode-data-xml.js +0 -5
- package/node_modules/entities/dist/generated/decode-data-xml.js.map +0 -1
- package/node_modules/entities/dist/generated/encode-html.d.ts +0 -5
- package/node_modules/entities/dist/generated/encode-html.d.ts.map +0 -1
- package/node_modules/entities/dist/generated/encode-html.js +0 -12
- package/node_modules/entities/dist/generated/encode-html.js.map +0 -1
- package/node_modules/entities/dist/index.d.ts +0 -89
- package/node_modules/entities/dist/index.d.ts.map +0 -1
- package/node_modules/entities/dist/index.js +0 -91
- package/node_modules/entities/dist/index.js.map +0 -1
- package/node_modules/entities/dist/internal/bin-trie-flags.d.ts +0 -17
- package/node_modules/entities/dist/internal/bin-trie-flags.d.ts.map +0 -1
- package/node_modules/entities/dist/internal/bin-trie-flags.js +0 -18
- package/node_modules/entities/dist/internal/bin-trie-flags.js.map +0 -1
- package/node_modules/entities/dist/internal/decode-shared.d.ts +0 -7
- package/node_modules/entities/dist/internal/decode-shared.d.ts.map +0 -1
- package/node_modules/entities/dist/internal/decode-shared.js +0 -17
- package/node_modules/entities/dist/internal/decode-shared.js.map +0 -1
- package/node_modules/entities/dist/internal/encode-shared.d.ts +0 -33
- package/node_modules/entities/dist/internal/encode-shared.d.ts.map +0 -1
- package/node_modules/entities/dist/internal/encode-shared.js +0 -93
- package/node_modules/entities/dist/internal/encode-shared.js.map +0 -1
- package/node_modules/entities/package.json +0 -83
- package/node_modules/entities/readme.md +0 -131
- package/node_modules/entities/src/decode-codepoint.ts +0 -50
- package/node_modules/entities/src/decode.ts +0 -671
- package/node_modules/entities/src/encode.ts +0 -95
- package/node_modules/entities/src/escape.ts +0 -160
- package/node_modules/entities/src/generated/decode-data-html.ts +0 -7
- package/node_modules/entities/src/generated/decode-data-xml.ts +0 -7
- package/node_modules/entities/src/generated/encode-html.ts +0 -18
- package/node_modules/entities/src/index.ts +0 -162
- package/node_modules/entities/src/internal/bin-trie-flags.ts +0 -16
- package/node_modules/entities/src/internal/decode-shared.ts +0 -18
- package/node_modules/entities/src/internal/encode-shared.ts +0 -123
- package/node_modules/parse5/README.md +0 -38
- package/node_modules/parse5/dist/common/doctype.d.ts +0 -4
- package/node_modules/parse5/dist/common/doctype.js +0 -114
- package/node_modules/parse5/dist/common/error-codes.d.ts +0 -67
- package/node_modules/parse5/dist/common/error-codes.js +0 -63
- package/node_modules/parse5/dist/common/foreign-content.d.ts +0 -9
- package/node_modules/parse5/dist/common/foreign-content.js +0 -228
- package/node_modules/parse5/dist/common/html.d.ts +0 -289
- package/node_modules/parse5/dist/common/html.js +0 -523
- package/node_modules/parse5/dist/common/token.d.ts +0 -84
- package/node_modules/parse5/dist/common/token.js +0 -20
- package/node_modules/parse5/dist/common/unicode.d.ts +0 -42
- package/node_modules/parse5/dist/common/unicode.js +0 -62
- package/node_modules/parse5/dist/index.d.ts +0 -71
- package/node_modules/parse5/dist/index.js +0 -42
- package/node_modules/parse5/dist/parser/formatting-element-list.d.ts +0 -36
- package/node_modules/parse5/dist/parser/formatting-element-list.js +0 -110
- package/node_modules/parse5/dist/parser/index.d.ts +0 -221
- package/node_modules/parse5/dist/parser/index.js +0 -3245
- package/node_modules/parse5/dist/parser/open-element-stack.d.ts +0 -53
- package/node_modules/parse5/dist/parser/open-element-stack.js +0 -324
- package/node_modules/parse5/dist/serializer/index.d.ts +0 -60
- package/node_modules/parse5/dist/serializer/index.js +0 -168
- package/node_modules/parse5/dist/tokenizer/index.d.ts +0 -247
- package/node_modules/parse5/dist/tokenizer/index.js +0 -2712
- package/node_modules/parse5/dist/tokenizer/preprocessor.d.ts +0 -36
- package/node_modules/parse5/dist/tokenizer/preprocessor.js +0 -196
- package/node_modules/parse5/dist/tree-adapters/default.d.ts +0 -84
- package/node_modules/parse5/dist/tree-adapters/default.js +0 -173
- package/node_modules/parse5/dist/tree-adapters/interface.d.ts +0 -255
- package/node_modules/parse5/dist/tree-adapters/interface.js +0 -1
- package/node_modules/parse5/package.json +0 -53
- package/node_modules/synckit/README.md +0 -256
- package/node_modules/synckit/lib/common.d.ts +0 -5
- package/node_modules/synckit/lib/common.js +0 -22
- package/node_modules/synckit/lib/common.js.map +0 -1
- package/node_modules/synckit/lib/constants.d.ts +0 -38
- package/node_modules/synckit/lib/constants.js +0 -54
- package/node_modules/synckit/lib/constants.js.map +0 -1
- package/node_modules/synckit/lib/helpers.d.ts +0 -27
- package/node_modules/synckit/lib/helpers.js +0 -411
- package/node_modules/synckit/lib/helpers.js.map +0 -1
- package/node_modules/synckit/lib/index.cjs +0 -588
- package/node_modules/synckit/lib/index.d.cts +0 -138
- package/node_modules/synckit/lib/index.d.ts +0 -7
- package/node_modules/synckit/lib/index.js +0 -68
- package/node_modules/synckit/lib/index.js.map +0 -1
- package/node_modules/synckit/lib/types.d.ts +0 -48
- package/node_modules/synckit/lib/types.js +0 -2
- package/node_modules/synckit/lib/types.js.map +0 -1
- package/node_modules/synckit/package.json +0 -45
- package/node_modules/yaml-eslint-parser/lib/chunk-15K8U1wQ.mjs +0 -18
- /package/node_modules/@rviscomi/capo.js/{crx → dist/chrome}/background.js +0 -0
- /package/node_modules/@rviscomi/capo.js/{crx → dist/chrome}/capo.css +0 -0
- /package/node_modules/@rviscomi/capo.js/{crx → dist/chrome}/images/icon128.png +0 -0
- /package/node_modules/@rviscomi/capo.js/{crx → dist/chrome}/images/icon256.png +0 -0
- /package/node_modules/@rviscomi/capo.js/{crx → dist/chrome}/options/options.css +0 -0
- /package/node_modules/@rviscomi/capo.js/{crx → dist/chrome}/options/options.html +0 -0
- /package/node_modules/@rviscomi/capo.js/{crx → dist/chrome}/styles/open-props.css +0 -0
- /package/node_modules/@rviscomi/capo.js/{docs/src/assets/capo256.png → dist/firefox/images/icon256.png} +0 -0
- /package/node_modules/eslint-plugin-toml/lib/{chunk-CfYAbeIz.mjs → rolldown-runtime-D7D4PA-g.mjs} +0 -0
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rviscomi/capo.js",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.0",
|
|
4
|
+
"publishConfig": {
|
|
5
|
+
"access": "public"
|
|
6
|
+
},
|
|
4
7
|
"description": "Get your ﹤𝚑𝚎𝚊𝚍﹥ in order",
|
|
5
8
|
"author": "Rick Viscomi",
|
|
6
9
|
"license": "Apache-2.0",
|
|
@@ -14,13 +17,12 @@
|
|
|
14
17
|
"homepage": "https://rviscomi.github.io/capo.js/",
|
|
15
18
|
"files": [
|
|
16
19
|
"src",
|
|
17
|
-
"dist"
|
|
18
|
-
"crx",
|
|
19
|
-
"docs"
|
|
20
|
+
"dist"
|
|
20
21
|
],
|
|
21
22
|
"type": "module",
|
|
22
23
|
"main": "dist/index.cjs",
|
|
23
24
|
"module": "src/index.js",
|
|
25
|
+
"types": "./dist/types/index.d.ts",
|
|
24
26
|
"alias": {
|
|
25
27
|
"@rviscomi/capo.js": "./src/index.js",
|
|
26
28
|
"@rviscomi/capo.js/adapters/browser": "./src/adapters/browser.js",
|
|
@@ -29,34 +31,42 @@
|
|
|
29
31
|
},
|
|
30
32
|
"exports": {
|
|
31
33
|
".": {
|
|
34
|
+
"types": "./dist/types/index.d.ts",
|
|
32
35
|
"import": "./src/index.js",
|
|
33
36
|
"require": "./dist/index.cjs"
|
|
34
37
|
},
|
|
35
38
|
"./adapters": {
|
|
39
|
+
"types": "./dist/types/adapters/index.d.ts",
|
|
36
40
|
"import": "./src/adapters/index.js",
|
|
37
41
|
"require": "./dist/adapters/index.cjs"
|
|
38
42
|
},
|
|
39
43
|
"./adapters/browser": {
|
|
44
|
+
"types": "./dist/types/adapters/browser.d.ts",
|
|
40
45
|
"import": "./src/adapters/browser.js",
|
|
41
46
|
"require": "./dist/adapters/browser.cjs"
|
|
42
47
|
},
|
|
43
48
|
"./rules": {
|
|
49
|
+
"types": "./dist/types/lib/rules.d.ts",
|
|
44
50
|
"import": "./src/lib/rules.js",
|
|
45
51
|
"require": "./dist/lib/rules.cjs"
|
|
46
52
|
},
|
|
47
53
|
"./validation": {
|
|
54
|
+
"types": "./dist/types/lib/validation.d.ts",
|
|
48
55
|
"import": "./src/lib/validation.js",
|
|
49
56
|
"require": "./dist/lib/validation.cjs"
|
|
50
57
|
},
|
|
51
58
|
"./lib/io": {
|
|
59
|
+
"types": "./dist/types/lib/io.d.ts",
|
|
52
60
|
"import": "./src/lib/io.js",
|
|
53
61
|
"require": "./dist/lib/io.cjs"
|
|
54
62
|
},
|
|
55
63
|
"./lib/options": {
|
|
64
|
+
"types": "./dist/types/lib/options.d.ts",
|
|
56
65
|
"import": "./src/lib/options.js",
|
|
57
66
|
"require": "./dist/lib/options.cjs"
|
|
58
67
|
},
|
|
59
68
|
"./adapters/test-suite": {
|
|
69
|
+
"types": "./dist/types/adapters/test-suite.d.ts",
|
|
60
70
|
"import": "./src/adapters/test-suite.js",
|
|
61
71
|
"require": "./dist/adapters/test-suite.cjs"
|
|
62
72
|
}
|
|
@@ -65,15 +75,14 @@
|
|
|
65
75
|
"doc": "docs"
|
|
66
76
|
},
|
|
67
77
|
"targets": {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
"
|
|
71
|
-
"distDir": "crx",
|
|
78
|
+
"chrome": {
|
|
79
|
+
"source": "src/extension/capo.js",
|
|
80
|
+
"distDir": "dist/chrome",
|
|
72
81
|
"sourceMap": false
|
|
73
82
|
},
|
|
74
|
-
"
|
|
75
|
-
"source": "src/
|
|
76
|
-
"distDir": "
|
|
83
|
+
"chrome-options": {
|
|
84
|
+
"source": "src/extension/options.js",
|
|
85
|
+
"distDir": "dist/chrome/options",
|
|
77
86
|
"sourceMap": false
|
|
78
87
|
},
|
|
79
88
|
"web": {
|
|
@@ -85,8 +94,13 @@
|
|
|
85
94
|
}
|
|
86
95
|
},
|
|
87
96
|
"scripts": {
|
|
97
|
+
"typecheck": "tsc --noEmit",
|
|
98
|
+
"typecheck:ext": "tsc --noEmit -p tsconfig.extension.json",
|
|
99
|
+
"typecheck:test": "tsc --noEmit -p tsconfig.test.json",
|
|
100
|
+
"build:types": "tsc -p tsconfig.json",
|
|
88
101
|
"watch": "parcel watch",
|
|
89
|
-
"build": "npm run build:cjs && parcel build",
|
|
102
|
+
"build": "npm run build:cjs && npm run build:types && parcel build && node scripts/build-extension.js",
|
|
103
|
+
"package:source": "zip -r -q dist/source.zip . -x \"node_modules/*\" \"dist/*\" \".git/*\" \".parcel-cache/*\" \"docs/node_modules/*\" \"docs/.astro/*\" \"docs/dist/*\" \".github/*\" \"*/.DS_Store\" \".DS_Store\"",
|
|
90
104
|
"build:cjs": "esbuild src/index.js src/analyzer.js src/adapters/adapter.js src/adapters/index.js src/adapters/browser.js src/lib/rules.js src/lib/validation.js src/lib/io.js src/lib/options.js src/lib/colors.js src/adapters/test-suite.js --bundle --platform=node --format=cjs --outdir=dist --out-extension:.js=.cjs",
|
|
91
105
|
"test": "node --test tests/**/*.test.js",
|
|
92
106
|
"test:watch": "node --test --watch tests/**/*.test.js",
|
|
@@ -97,9 +111,13 @@
|
|
|
97
111
|
},
|
|
98
112
|
"devDependencies": {
|
|
99
113
|
"@parcel/cache": "^2.16.4",
|
|
100
|
-
"
|
|
101
|
-
"
|
|
102
|
-
"
|
|
103
|
-
"
|
|
114
|
+
"@types/jsdom": "^28.0.3",
|
|
115
|
+
"@types/node": "^26.1.1",
|
|
116
|
+
"chrome-types": "^0.1.436",
|
|
117
|
+
"dedent": "^1.7.2",
|
|
118
|
+
"esbuild": "^0.28.1",
|
|
119
|
+
"jsdom": "^29.1.1",
|
|
120
|
+
"parcel": "^2.16.4",
|
|
121
|
+
"typescript": "^7.0.2"
|
|
104
122
|
}
|
|
105
123
|
}
|
|
@@ -4,10 +4,18 @@
|
|
|
4
4
|
* This file defines the contract that all adapters must implement.
|
|
5
5
|
* Adapters abstract away environment-specific operations (browser DOM vs AST nodes)
|
|
6
6
|
* to make capo.js core logic reusable across different contexts.
|
|
7
|
-
*
|
|
8
|
-
* @interface HTMLAdapter
|
|
9
7
|
*/
|
|
10
8
|
|
|
9
|
+
/**
|
|
10
|
+
* Source location information for a node
|
|
11
|
+
* @typedef {Object} SourceLocation
|
|
12
|
+
* @property {number} line
|
|
13
|
+
* @property {number} column
|
|
14
|
+
* @property {number} [endLine]
|
|
15
|
+
* @property {number} [endColumn]
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
/** @type {readonly string[]} */
|
|
11
19
|
const REQUIRED_METHODS = [
|
|
12
20
|
'isElement',
|
|
13
21
|
'getTagName',
|
|
@@ -22,7 +30,7 @@ const REQUIRED_METHODS = [
|
|
|
22
30
|
];
|
|
23
31
|
|
|
24
32
|
/**
|
|
25
|
-
* Base adapter interface
|
|
33
|
+
* Base adapter interface
|
|
26
34
|
*
|
|
27
35
|
* Actual adapters should implement all these methods.
|
|
28
36
|
* This serves as both documentation and a reference implementation.
|
|
@@ -124,7 +132,7 @@ export class AdapterInterface {
|
|
|
124
132
|
/**
|
|
125
133
|
* Get source location for a node (optional, for linting)
|
|
126
134
|
* @param {any} node - Element node
|
|
127
|
-
* @returns {
|
|
135
|
+
* @returns {SourceLocation | null}
|
|
128
136
|
*/
|
|
129
137
|
getLocation(node) {
|
|
130
138
|
return null;
|
|
@@ -146,8 +154,11 @@ export class AdapterInterface {
|
|
|
146
154
|
* @throws {Error} If adapter is missing required methods
|
|
147
155
|
*/
|
|
148
156
|
export function validateAdapter(adapter) {
|
|
157
|
+
if (!adapter || typeof adapter !== 'object') {
|
|
158
|
+
throw new Error('Adapter must be an object');
|
|
159
|
+
}
|
|
149
160
|
for (const method of REQUIRED_METHODS) {
|
|
150
|
-
if (typeof adapter[method] !== 'function') {
|
|
161
|
+
if (typeof /** @type {Record<string, any>} */ (adapter)[method] !== 'function') {
|
|
151
162
|
throw new Error(`Adapter missing required method: ${method}()`);
|
|
152
163
|
}
|
|
153
164
|
}
|
|
@@ -14,10 +14,9 @@ import { AdapterInterface } from './adapter.js';
|
|
|
14
14
|
* Wraps native DOM Element APIs for use with capo.js core logic.
|
|
15
15
|
*
|
|
16
16
|
* @extends AdapterInterface
|
|
17
|
-
* @implements {HTMLAdapter}
|
|
18
17
|
* @example
|
|
19
18
|
* import { BrowserAdapter } from './adapters/browser.js';
|
|
20
|
-
* import {
|
|
19
|
+
* import { analyzeHead } from '../analyzer.js';
|
|
21
20
|
*
|
|
22
21
|
* const adapter = new BrowserAdapter();
|
|
23
22
|
* const head = document.querySelector('head');
|
|
@@ -26,6 +25,7 @@ import { AdapterInterface } from './adapter.js';
|
|
|
26
25
|
export class BrowserAdapter extends AdapterInterface {
|
|
27
26
|
/**
|
|
28
27
|
* Check if node is an Element (not text, comment, etc.)
|
|
28
|
+
* @override
|
|
29
29
|
* @param {any} node - The node to check
|
|
30
30
|
* @returns {boolean}
|
|
31
31
|
*/
|
|
@@ -37,6 +37,7 @@ export class BrowserAdapter extends AdapterInterface {
|
|
|
37
37
|
|
|
38
38
|
/**
|
|
39
39
|
* Get the tag name of an element (lowercase)
|
|
40
|
+
* @override
|
|
40
41
|
* @param {any} node - Element node
|
|
41
42
|
* @returns {string} - Tag name like 'meta', 'link', 'script'
|
|
42
43
|
*/
|
|
@@ -44,11 +45,14 @@ export class BrowserAdapter extends AdapterInterface {
|
|
|
44
45
|
if (!node || !node.tagName) {
|
|
45
46
|
return '';
|
|
46
47
|
}
|
|
47
|
-
|
|
48
|
+
const name = node.tagName.toLowerCase();
|
|
49
|
+
if (name === 'static-head') return 'head';
|
|
50
|
+
return name;
|
|
48
51
|
}
|
|
49
52
|
|
|
50
53
|
/**
|
|
51
54
|
* Get attribute value from element
|
|
55
|
+
* @override
|
|
52
56
|
* @param {any} node - Element node
|
|
53
57
|
* @param {string} attrName - Attribute name (case-insensitive)
|
|
54
58
|
* @returns {string | null} - Attribute value or null if not found
|
|
@@ -62,6 +66,7 @@ export class BrowserAdapter extends AdapterInterface {
|
|
|
62
66
|
|
|
63
67
|
/**
|
|
64
68
|
* Check if element has a specific attribute
|
|
69
|
+
* @override
|
|
65
70
|
* @param {any} node - Element node
|
|
66
71
|
* @param {string} attrName - Attribute name (case-insensitive)
|
|
67
72
|
* @returns {boolean} - True if attribute exists
|
|
@@ -75,6 +80,7 @@ export class BrowserAdapter extends AdapterInterface {
|
|
|
75
80
|
|
|
76
81
|
/**
|
|
77
82
|
* Get all attribute names for an element
|
|
83
|
+
* @override
|
|
78
84
|
* @param {any} node - Element node
|
|
79
85
|
* @returns {string[]} - Array of attribute names
|
|
80
86
|
*/
|
|
@@ -87,6 +93,7 @@ export class BrowserAdapter extends AdapterInterface {
|
|
|
87
93
|
|
|
88
94
|
/**
|
|
89
95
|
* Get text content of a node (for inline scripts/styles)
|
|
96
|
+
* @override
|
|
90
97
|
* @param {any} node - Element node
|
|
91
98
|
* @returns {string} - Text content
|
|
92
99
|
*/
|
|
@@ -99,11 +106,26 @@ export class BrowserAdapter extends AdapterInterface {
|
|
|
99
106
|
|
|
100
107
|
/**
|
|
101
108
|
* Get child elements of a node
|
|
109
|
+
* @override
|
|
102
110
|
* @param {any} node - Parent node
|
|
103
111
|
* @returns {any[]} - Array of child element nodes (excluding text/comment nodes)
|
|
104
112
|
*/
|
|
105
113
|
getChildren(node) {
|
|
106
|
-
if (!node
|
|
114
|
+
if (!node) {
|
|
115
|
+
return [];
|
|
116
|
+
}
|
|
117
|
+
if (this.getTagName(node) === 'noscript') {
|
|
118
|
+
const content = node.innerHTML || '';
|
|
119
|
+
if (content.trim()) {
|
|
120
|
+
const doc = node.ownerDocument || (typeof document !== 'undefined' ? document : null);
|
|
121
|
+
if (doc) {
|
|
122
|
+
const temp = doc.createElement('div');
|
|
123
|
+
temp.innerHTML = content;
|
|
124
|
+
return Array.from(temp.children);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
if (!node.children) {
|
|
107
129
|
return [];
|
|
108
130
|
}
|
|
109
131
|
return Array.from(node.children);
|
|
@@ -111,6 +133,7 @@ export class BrowserAdapter extends AdapterInterface {
|
|
|
111
133
|
|
|
112
134
|
/**
|
|
113
135
|
* Get parent element of a node
|
|
136
|
+
* @override
|
|
114
137
|
* @param {any} node - Child node
|
|
115
138
|
* @returns {any | null} - Parent element node, or null if no parent
|
|
116
139
|
*/
|
|
@@ -123,6 +146,7 @@ export class BrowserAdapter extends AdapterInterface {
|
|
|
123
146
|
|
|
124
147
|
/**
|
|
125
148
|
* Get sibling elements of a node
|
|
149
|
+
* @override
|
|
126
150
|
* @param {any} node - Element node
|
|
127
151
|
* @returns {any[]} - Array of sibling element nodes (excluding the node itself)
|
|
128
152
|
*/
|
|
@@ -143,6 +167,7 @@ export class BrowserAdapter extends AdapterInterface {
|
|
|
143
167
|
* Browser DOM elements don't have source location information,
|
|
144
168
|
* so this always returns null.
|
|
145
169
|
*
|
|
170
|
+
* @override
|
|
146
171
|
* @param {any} node - Element node
|
|
147
172
|
* @returns {null}
|
|
148
173
|
*/
|
|
@@ -153,6 +178,7 @@ export class BrowserAdapter extends AdapterInterface {
|
|
|
153
178
|
|
|
154
179
|
/**
|
|
155
180
|
* Stringify element for logging/debugging
|
|
181
|
+
* @override
|
|
156
182
|
* @param {any} node - Element node
|
|
157
183
|
* @returns {string} - String representation like "<meta charset='utf-8'>"
|
|
158
184
|
*/
|
|
@@ -24,13 +24,17 @@ import { describe, it } from 'node:test';
|
|
|
24
24
|
import assert from 'node:assert/strict';
|
|
25
25
|
import { validateAdapter } from './adapter.js';
|
|
26
26
|
|
|
27
|
+
/**
|
|
28
|
+
* @typedef {Object} AdapterTestSuiteOptions
|
|
29
|
+
* @property {(html: string) => any} createElement - Function that creates test nodes from HTML strings
|
|
30
|
+
* @property {boolean} [supportsLocation=false] - Whether adapter supports getLocation()
|
|
31
|
+
*/
|
|
32
|
+
|
|
27
33
|
/**
|
|
28
34
|
* Run the standard adapter test suite
|
|
29
35
|
*
|
|
30
|
-
* @param {
|
|
31
|
-
* @param {
|
|
32
|
-
* @param {Function} options.createElement - Function that creates test nodes from HTML strings
|
|
33
|
-
* @param {boolean} [options.supportsLocation=false] - Whether adapter supports getLocation()
|
|
36
|
+
* @param {new () => any} AdapterClass - The adapter class to test
|
|
37
|
+
* @param {AdapterTestSuiteOptions} options - Test configuration
|
|
34
38
|
*/
|
|
35
39
|
export function runAdapterTestSuite(AdapterClass, options) {
|
|
36
40
|
const { createElement, supportsLocation = false } = options;
|
|
@@ -39,6 +43,7 @@ export function runAdapterTestSuite(AdapterClass, options) {
|
|
|
39
43
|
throw new Error('createElement function is required in test options');
|
|
40
44
|
}
|
|
41
45
|
|
|
46
|
+
/** @type {any} */
|
|
42
47
|
let adapter;
|
|
43
48
|
|
|
44
49
|
function setup() {
|
|
@@ -240,7 +245,6 @@ export function runAdapterTestSuite(AdapterClass, options) {
|
|
|
240
245
|
assert.ok(parent, 'Should return a parent');
|
|
241
246
|
assert.equal(adapter.getTagName(parent), 'head');
|
|
242
247
|
} else {
|
|
243
|
-
// If createElement doesn't support nested structures, skip this test
|
|
244
248
|
assert.ok(true, 'Skipped - createElement does not support nested structures');
|
|
245
249
|
}
|
|
246
250
|
});
|
|
@@ -249,7 +253,6 @@ export function runAdapterTestSuite(AdapterClass, options) {
|
|
|
249
253
|
setup();
|
|
250
254
|
const el = createElement('<meta charset="utf-8">');
|
|
251
255
|
const parent = adapter.getParent(el);
|
|
252
|
-
// Parent may be null or the synthetic container
|
|
253
256
|
assert.ok(parent === null || adapter.isElement(parent), 'Should return null or element');
|
|
254
257
|
});
|
|
255
258
|
|
|
@@ -272,7 +275,6 @@ export function runAdapterTestSuite(AdapterClass, options) {
|
|
|
272
275
|
assert.ok(siblings.length > 0, 'Should have siblings');
|
|
273
276
|
assert.ok(!siblings.includes(meta), 'Should not include element itself');
|
|
274
277
|
} else {
|
|
275
|
-
// If createElement doesn't support nested structures, skip this test
|
|
276
278
|
assert.ok(true, 'Skipped - createElement does not support nested structures');
|
|
277
279
|
}
|
|
278
280
|
});
|
|
@@ -285,7 +287,7 @@ export function runAdapterTestSuite(AdapterClass, options) {
|
|
|
285
287
|
const meta = children[0];
|
|
286
288
|
const siblings = adapter.getSiblings(meta);
|
|
287
289
|
assert.ok(!siblings.includes(meta), 'Should not include element itself');
|
|
288
|
-
assert.ok(!siblings.some(s => s === meta), 'Should not contain element itself');
|
|
290
|
+
assert.ok(!siblings.some((/** @type {any} */ s) => s === meta), 'Should not contain element itself');
|
|
289
291
|
} else {
|
|
290
292
|
assert.ok(true, 'Skipped - createElement does not support nested structures');
|
|
291
293
|
}
|
|
@@ -296,7 +298,6 @@ export function runAdapterTestSuite(AdapterClass, options) {
|
|
|
296
298
|
const el = createElement('<meta charset="utf-8">');
|
|
297
299
|
const siblings = adapter.getSiblings(el);
|
|
298
300
|
assert.ok(Array.isArray(siblings), 'Should return an array');
|
|
299
|
-
// May be empty if no siblings, or may contain siblings if createElement adds container
|
|
300
301
|
});
|
|
301
302
|
|
|
302
303
|
it('should handle null node gracefully', () => {
|
|
@@ -373,7 +374,7 @@ export function runAdapterTestSuite(AdapterClass, options) {
|
|
|
373
374
|
* This is a lighter-weight alternative that just checks the adapter
|
|
374
375
|
* implements all required methods without full behavior testing.
|
|
375
376
|
*
|
|
376
|
-
* @param {
|
|
377
|
+
* @param {new () => any} AdapterClass - The adapter class to test
|
|
377
378
|
*/
|
|
378
379
|
export function testAdapterCompliance(AdapterClass) {
|
|
379
380
|
describe('Adapter Compliance', () => {
|
|
@@ -9,49 +9,69 @@ import * as rules from './lib/rules.js';
|
|
|
9
9
|
import { getValidationWarnings, getCustomValidations } from './lib/validation.js';
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
|
-
* @typedef {
|
|
13
|
-
*
|
|
14
|
-
* @property {Array<ValidationWarning>} validationWarnings - Document-level validation warnings
|
|
15
|
-
* @property {Array<CustomValidation>} customValidations - Element-level validation warnings
|
|
16
|
-
* @property {any} headElement - Reference to the analyzed head element
|
|
17
|
-
*/
|
|
18
|
-
|
|
19
|
-
/**
|
|
12
|
+
* @typedef {import('./adapters/adapter.js').AdapterInterface} AdapterInterface
|
|
13
|
+
*
|
|
20
14
|
* @typedef {Object} WeightInfo
|
|
21
15
|
* @property {any} element - The DOM/AST element
|
|
22
16
|
* @property {number} weight - Computed weight (0-10)
|
|
23
|
-
* @property {string} category - Weight category name (META, TITLE, etc.)
|
|
24
17
|
*/
|
|
25
18
|
|
|
26
19
|
/**
|
|
27
20
|
* @typedef {Object} ValidationWarning
|
|
21
|
+
* @property {string} [ruleId] - The rule identifier
|
|
28
22
|
* @property {string} warning - Warning message
|
|
29
|
-
* @property {any
|
|
23
|
+
* @property {any} [element] - Associated element
|
|
30
24
|
* @property {Array<any>} [elements] - Associated elements array
|
|
31
25
|
*/
|
|
32
26
|
|
|
33
27
|
/**
|
|
34
28
|
* @typedef {Object} CustomValidation
|
|
29
|
+
* @property {string} [ruleId] - The rule identifier
|
|
35
30
|
* @property {any} element - The element with validation issues
|
|
36
31
|
* @property {Array<string>} warnings - Validation warning messages
|
|
32
|
+
* @property {any} [payload] - Extra diagnostic payload
|
|
33
|
+
*/
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* @typedef {Object} AnalysisResult
|
|
37
|
+
* @property {Array<WeightInfo>} weights - Weight information for each element
|
|
38
|
+
* @property {Array<ValidationWarning>} validationWarnings - Document-level validation warnings
|
|
39
|
+
* @property {Array<CustomValidation>} customValidations - Element-level validation warnings
|
|
40
|
+
* @property {any} headElement - Reference to the analyzed head element
|
|
41
|
+
*/
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* @typedef {Object} OrderingViolation
|
|
45
|
+
* @property {number} index
|
|
46
|
+
* @property {any} currentElement
|
|
47
|
+
* @property {any} nextElement
|
|
48
|
+
* @property {number} currentWeight
|
|
49
|
+
* @property {number} nextWeight
|
|
50
|
+
* @property {string} currentCategory
|
|
51
|
+
* @property {string} nextCategory
|
|
52
|
+
* @property {string} message
|
|
53
|
+
*/
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* @typedef {AnalysisResult & { orderingViolations: Array<OrderingViolation> }} AnalysisResultWithOrdering
|
|
57
|
+
*/
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* @typedef {Object} AnalyzeHeadOptions
|
|
61
|
+
* @property {boolean} [includeValidation=true] - Whether to include document-level validation warnings
|
|
62
|
+
* @property {boolean} [includeCustomValidations=true] - Whether to include element-level custom validations
|
|
37
63
|
*/
|
|
38
64
|
|
|
39
65
|
/**
|
|
40
66
|
* Analyze the head element and return element weights, validation warnings, and custom validations.
|
|
41
67
|
*
|
|
42
68
|
* @param {any} headNode - The head element to analyze
|
|
43
|
-
* @param {
|
|
44
|
-
* @param {
|
|
45
|
-
* @
|
|
46
|
-
* @param {boolean} [options.includeCustomValidations=true] - Whether to include element-level custom validations
|
|
47
|
-
* @returns {Object} Analysis results
|
|
48
|
-
* @returns {Array} returns.weights - Array of element weight objects
|
|
49
|
-
* @returns {Array} returns.validationWarnings - Document-level validation warnings
|
|
50
|
-
* @returns {Array} returns.customValidations - Element-level custom validation results
|
|
51
|
-
* @returns {any} returns.headElement - The analyzed head element
|
|
69
|
+
* @param {AdapterInterface} adapter - Adapter for element operations
|
|
70
|
+
* @param {AnalyzeHeadOptions} [options={}] - Analysis options
|
|
71
|
+
* @returns {AnalysisResult} Analysis results
|
|
52
72
|
*
|
|
53
73
|
* @example
|
|
54
|
-
* const adapter = new
|
|
74
|
+
* const adapter = new BrowserAdapter();
|
|
55
75
|
* const results = analyzeHead(head, adapter);
|
|
56
76
|
*
|
|
57
77
|
* console.log(`Found ${results.weights.length} elements`);
|
|
@@ -88,11 +108,12 @@ export function analyzeHead(headNode, adapter, options = {}) {
|
|
|
88
108
|
* Get custom validations for all elements in head
|
|
89
109
|
*
|
|
90
110
|
* @param {any} headNode - The <head> element
|
|
91
|
-
* @param {
|
|
111
|
+
* @param {AdapterInterface} adapter - HTMLAdapter implementation
|
|
92
112
|
* @returns {Array<CustomValidation>}
|
|
93
113
|
* @private
|
|
94
114
|
*/
|
|
95
115
|
function getElementValidations(headNode, adapter) {
|
|
116
|
+
/** @type {Array<CustomValidation>} */
|
|
96
117
|
const customValidations = [];
|
|
97
118
|
const children = adapter.getChildren(headNode);
|
|
98
119
|
|
|
@@ -137,7 +158,7 @@ export function getWeightCategory(weight) {
|
|
|
137
158
|
* Check if elements are in optimal order
|
|
138
159
|
*
|
|
139
160
|
* @param {Array<WeightInfo>} weights - Weight information array
|
|
140
|
-
* @returns {Array<
|
|
161
|
+
* @returns {Array<OrderingViolation>} Array of ordering violations
|
|
141
162
|
*
|
|
142
163
|
* @example
|
|
143
164
|
* const weights = analyzeHead(head, adapter).weights;
|
|
@@ -145,6 +166,7 @@ export function getWeightCategory(weight) {
|
|
|
145
166
|
* console.log(`${violations.length} ordering issues found`);
|
|
146
167
|
*/
|
|
147
168
|
export function checkOrdering(weights) {
|
|
169
|
+
/** @type {Array<OrderingViolation>} */
|
|
148
170
|
const violations = [];
|
|
149
171
|
|
|
150
172
|
for (let i = 0; i < weights.length - 1; i++) {
|
|
@@ -176,9 +198,9 @@ export function checkOrdering(weights) {
|
|
|
176
198
|
* Convenience function that combines analyzeHead() and checkOrdering()
|
|
177
199
|
*
|
|
178
200
|
* @param {any} headNode - The <head> element
|
|
179
|
-
* @param {
|
|
180
|
-
* @param {
|
|
181
|
-
* @returns {
|
|
201
|
+
* @param {AdapterInterface} adapter - HTMLAdapter implementation
|
|
202
|
+
* @param {AnalyzeHeadOptions} [options={}] - Analysis options
|
|
203
|
+
* @returns {AnalysisResultWithOrdering} Combined analysis with weights, violations, and validations
|
|
182
204
|
*
|
|
183
205
|
* @example
|
|
184
206
|
* const analysis = analyzeHeadWithOrdering(head, adapter);
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Capo Browser Extension Source Code
|
|
2
|
+
|
|
3
|
+
This directory contains the source code for the Capo browser extension (available for Chrome and Firefox).
|
|
4
|
+
|
|
5
|
+
## Build Instructions
|
|
6
|
+
|
|
7
|
+
This extension is built from source using Node.js and Parcel. Follow these steps to produce the exact binary package submitted for verification.
|
|
8
|
+
|
|
9
|
+
### Requirements
|
|
10
|
+
|
|
11
|
+
- **Operating System:** macOS, Linux, or Windows.
|
|
12
|
+
- **Environment:**
|
|
13
|
+
- **Node.js:** v18.0.0 or higher (v22.x recommended).
|
|
14
|
+
- **npm:** v9.0.0 or higher (v10.x recommended).
|
|
15
|
+
|
|
16
|
+
### 1. Installation of Prerequisites
|
|
17
|
+
|
|
18
|
+
If Node.js and npm are not installed:
|
|
19
|
+
- **macOS (via Homebrew):** `brew install node`
|
|
20
|
+
- **Windows / Linux:** Download the installer from [nodejs.org](https://nodejs.org/).
|
|
21
|
+
|
|
22
|
+
Verify installation:
|
|
23
|
+
```bash
|
|
24
|
+
node -v
|
|
25
|
+
npm -v
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### 2. Install Project Dependencies
|
|
29
|
+
|
|
30
|
+
Run the following command from the root of the source code directory to install all required development and build dependencies:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
npm install
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### 3. Execute the Build Script
|
|
37
|
+
|
|
38
|
+
Run the build script to compile and package the extension:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
npm run build
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
This runs:
|
|
45
|
+
- `npm run build:cjs`: Compiles CommonJS bundles using `esbuild`.
|
|
46
|
+
- `parcel build`: Compiles, bundles, and minifies the extension source code (`src/extension/capo.js` and `src/extension/options.js`) using `Parcel`.
|
|
47
|
+
- `node scripts/build-extension.js`: Copies static files, generates the Firefox-compatible manifest, and packages them.
|
|
48
|
+
|
|
49
|
+
### 4. Locate Build Outputs
|
|
50
|
+
|
|
51
|
+
Once the build is complete:
|
|
52
|
+
- The compiled Firefox extension files will be in `dist/firefox/`.
|
|
53
|
+
- The final zip package submitted to Mozilla is located at `dist/firefox.zip`.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
body {
|
|
2
|
+
padding: 0;
|
|
3
|
+
margin: 0;
|
|
4
|
+
height: 60px;
|
|
5
|
+
background-color: #ccc;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.capo-container {
|
|
9
|
+
display: flex;
|
|
10
|
+
align-content: stretch;
|
|
11
|
+
width: 600px;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.capo-head-element {
|
|
15
|
+
content: '';
|
|
16
|
+
width: 100%;
|
|
17
|
+
height: 30px;
|
|
18
|
+
box-sizing: border-box;
|
|
19
|
+
}
|
|
20
|
+
.capo-head-element.invalid {
|
|
21
|
+
background-image: repeating-linear-gradient(
|
|
22
|
+
45deg,
|
|
23
|
+
rgba(0, 0, 0, 0),
|
|
24
|
+
rgba(0, 0, 0, 0) 3px,
|
|
25
|
+
rgba(255, 0, 0, 0.3) 3px,
|
|
26
|
+
rgba(255, 0, 0, 0.3) 6px
|
|
27
|
+
);
|
|
28
|
+
}
|
|
29
|
+
.capo-head-element.invalid:is(
|
|
30
|
+
[data-weight="10"],
|
|
31
|
+
[data-weight="9"],
|
|
32
|
+
[data-weight="8"],
|
|
33
|
+
[data-weight="7"]
|
|
34
|
+
) {
|
|
35
|
+
background-image: repeating-linear-gradient(
|
|
36
|
+
45deg,
|
|
37
|
+
rgba(255, 255, 255, 0.3),
|
|
38
|
+
rgba(255, 255, 255, 0.3) 3px,
|
|
39
|
+
rgba(0, 0, 0, 0) 3px,
|
|
40
|
+
rgba(0, 0, 0, 0) 6px
|
|
41
|
+
);
|
|
42
|
+
}.capo-head-element.invalid:is(
|
|
43
|
+
[data-weight="2"],
|
|
44
|
+
[data-weight="1"]
|
|
45
|
+
) {
|
|
46
|
+
background-image: repeating-linear-gradient(
|
|
47
|
+
45deg,
|
|
48
|
+
rgba(255, 255, 255, 0.3),
|
|
49
|
+
rgba(255, 255, 255, 0.3) 3px,
|
|
50
|
+
rgba(255, 0, 0, 0.3) 3px,
|
|
51
|
+
rgba(255, 0, 0, 0.3) 6px
|
|
52
|
+
);
|
|
53
|
+
}
|
|
54
|
+
.capo-head-element:hover {
|
|
55
|
+
box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.1);
|
|
56
|
+
}
|
|
57
|
+
.capo-head-element.invalid:hover {
|
|
58
|
+
box-shadow: inset 0 0 0 9999px rgba(255, 0, 0, 0.1);
|
|
59
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<link rel="stylesheet" href="capo.css">
|
|
5
|
+
</head>
|
|
6
|
+
<body>
|
|
7
|
+
<div id="actual" class="capo-container"></div>
|
|
8
|
+
<div id="sorted" class="capo-container"></div>
|
|
9
|
+
|
|
10
|
+
<script type="module" src="chrome.js"></script>
|
|
11
|
+
</body>
|
|
12
|
+
</html>
|