pickier 0.1.57 → 0.1.59
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/dist/bin/cli.d.ts +1 -0
- package/dist/bin/cli.js +1 -1
- package/dist/{chunk-1xgzhr1x.js → chunk-0wcp6yrf.js} +1 -1
- package/dist/{chunk-2d20tk99.js → chunk-6cf4pq67.js} +2 -2
- package/dist/chunk-8dgfp05p.js +2 -0
- package/dist/{chunk-n42tt8wj.js → chunk-t6trprqw.js} +1 -1
- package/dist/{chunk-af387sk6.js → chunk-ye3wjxzf.js} +1 -1
- package/dist/src/index.js +1 -1
- package/dist/{rules → src/rules}/lockfile/parser.d.ts +12 -6
- package/package.json +3 -3
- package/dist/chunk-7wj8aa8f.js +0 -2
- /package/dist/{ast.d.ts → src/ast.d.ts} +0 -0
- /package/dist/{config.d.ts → src/config.d.ts} +0 -0
- /package/dist/{format.d.ts → src/format.d.ts} +0 -0
- /package/dist/{formatter.d.ts → src/formatter.d.ts} +0 -0
- /package/dist/{index.d.ts → src/index.d.ts} +0 -0
- /package/dist/{linter.d.ts → src/linter.d.ts} +0 -0
- /package/dist/{plugins → src/plugins}/eslint.d.ts +0 -0
- /package/dist/{plugins → src/plugins}/general.d.ts +0 -0
- /package/dist/{plugins → src/plugins}/index.d.ts +0 -0
- /package/dist/{plugins → src/plugins}/lockfile.d.ts +0 -0
- /package/dist/{plugins → src/plugins}/markdown.d.ts +0 -0
- /package/dist/{plugins → src/plugins}/node.d.ts +0 -0
- /package/dist/{plugins → src/plugins}/perfectionist.d.ts +0 -0
- /package/dist/{plugins → src/plugins}/pickier.d.ts +0 -0
- /package/dist/{plugins → src/plugins}/publint.d.ts +0 -0
- /package/dist/{plugins → src/plugins}/quality.d.ts +0 -0
- /package/dist/{plugins → src/plugins}/regexp.d.ts +0 -0
- /package/dist/{plugins → src/plugins}/shell.d.ts +0 -0
- /package/dist/{plugins → src/plugins}/spell.d.ts +0 -0
- /package/dist/{plugins → src/plugins}/style.d.ts +0 -0
- /package/dist/{plugins → src/plugins}/ts.d.ts +0 -0
- /package/dist/{plugins → src/plugins}/unused-imports.d.ts +0 -0
- /package/dist/{plugins → src/plugins}/utils.d.ts +0 -0
- /package/dist/{rules → src/rules}/general/_template-tracking.d.ts +0 -0
- /package/dist/{rules → src/rules}/general/array-callback-return.d.ts +0 -0
- /package/dist/{rules → src/rules}/general/constructor-super.d.ts +0 -0
- /package/dist/{rules → src/rules}/general/for-direction.d.ts +0 -0
- /package/dist/{rules → src/rules}/general/getter-return.d.ts +0 -0
- /package/dist/{rules → src/rules}/general/no-async-promise-executor.d.ts +0 -0
- /package/dist/{rules → src/rules}/general/no-compare-neg-zero.d.ts +0 -0
- /package/dist/{rules → src/rules}/general/no-cond-assign.d.ts +0 -0
- /package/dist/{rules → src/rules}/general/no-const-assign.d.ts +0 -0
- /package/dist/{rules → src/rules}/general/no-constant-condition.d.ts +0 -0
- /package/dist/{rules → src/rules}/general/no-constructor-return.d.ts +0 -0
- /package/dist/{rules → src/rules}/general/no-dupe-class-members.d.ts +0 -0
- /package/dist/{rules → src/rules}/general/no-dupe-keys.d.ts +0 -0
- /package/dist/{rules → src/rules}/general/no-duplicate-case.d.ts +0 -0
- /package/dist/{rules → src/rules}/general/no-empty-pattern.d.ts +0 -0
- /package/dist/{rules → src/rules}/general/no-fallthrough.d.ts +0 -0
- /package/dist/{rules → src/rules}/general/no-irregular-whitespace.d.ts +0 -0
- /package/dist/{rules → src/rules}/general/no-loss-of-precision.d.ts +0 -0
- /package/dist/{rules → src/rules}/general/no-new.d.ts +0 -0
- /package/dist/{rules → src/rules}/general/no-promise-executor-return.d.ts +0 -0
- /package/dist/{rules → src/rules}/general/no-redeclare.d.ts +0 -0
- /package/dist/{rules → src/rules}/general/no-regex-spaces.d.ts +0 -0
- /package/dist/{rules → src/rules}/general/no-self-assign.d.ts +0 -0
- /package/dist/{rules → src/rules}/general/no-self-compare.d.ts +0 -0
- /package/dist/{rules → src/rules}/general/no-sparse-arrays.d.ts +0 -0
- /package/dist/{rules → src/rules}/general/no-undef.d.ts +0 -0
- /package/dist/{rules → src/rules}/general/no-unreachable.d.ts +0 -0
- /package/dist/{rules → src/rules}/general/no-unsafe-negation.d.ts +0 -0
- /package/dist/{rules → src/rules}/general/no-unused-vars.d.ts +0 -0
- /package/dist/{rules → src/rules}/general/no-useless-catch.d.ts +0 -0
- /package/dist/{rules → src/rules}/general/prefer-const.d.ts +0 -0
- /package/dist/{rules → src/rules}/general/prefer-object-spread.d.ts +0 -0
- /package/dist/{rules → src/rules}/general/prefer-template.d.ts +0 -0
- /package/dist/{rules → src/rules}/general/use-isnan.d.ts +0 -0
- /package/dist/{rules → src/rules}/general/valid-typeof.d.ts +0 -0
- /package/dist/{rules → src/rules}/imports/first.d.ts +0 -0
- /package/dist/{rules → src/rules}/imports/import-dedupe.d.ts +0 -0
- /package/dist/{rules → src/rules}/imports/named.d.ts +0 -0
- /package/dist/{rules → src/rules}/imports/no-cycle.d.ts +0 -0
- /package/dist/{rules → src/rules}/imports/no-duplicate-imports.d.ts +0 -0
- /package/dist/{rules → src/rules}/imports/no-import-dist.d.ts +0 -0
- /package/dist/{rules → src/rules}/imports/no-import-node-modules-by-path.d.ts +0 -0
- /package/dist/{rules → src/rules}/imports/no-unresolved.d.ts +0 -0
- /package/dist/{rules → src/rules}/lockfile/validate-host.d.ts +0 -0
- /package/dist/{rules → src/rules}/lockfile/validate-https.d.ts +0 -0
- /package/dist/{rules → src/rules}/lockfile/validate-integrity.d.ts +0 -0
- /package/dist/{rules → src/rules}/lockfile/validate-package-names.d.ts +0 -0
- /package/dist/{rules → src/rules}/lockfile/validate-scheme.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/_fence-tracking.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/_shared.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/blanks-around-fences.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/blanks-around-headings.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/blanks-around-lists.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/blanks-around-tables.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/code-block-style.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/code-fence-style.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/commands-show-output.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/descriptive-link-text.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/emphasis-style.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/fenced-code-language.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/first-line-heading.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/heading-increment.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/heading-start-left.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/heading-style.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/hr-style.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/line-length.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/link-fragments.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/link-image-reference-definitions.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/link-image-style.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/list-indent.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/list-marker-space.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/no-alt-text.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/no-bare-urls.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/no-blanks-blockquote.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/no-duplicate-heading.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/no-emphasis-as-heading.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/no-empty-links.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/no-hard-tabs.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/no-inline-html.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/no-missing-space-atx.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/no-missing-space-closed-atx.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/no-multiple-blanks.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/no-multiple-space-atx.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/no-multiple-space-blockquote.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/no-multiple-space-closed-atx.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/no-reversed-links.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/no-space-in-code.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/no-space-in-emphasis.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/no-space-in-links.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/no-trailing-punctuation.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/no-trailing-spaces.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/ol-prefix.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/proper-names.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/reference-links-images.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/required-headings.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/single-title.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/single-trailing-newline.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/strong-style.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/table-column-count.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/table-column-style.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/table-pipe-style.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/ul-indent.d.ts +0 -0
- /package/dist/{rules → src/rules}/markdown/ul-style.d.ts +0 -0
- /package/dist/{rules → src/rules}/node/prefer-global-buffer.d.ts +0 -0
- /package/dist/{rules → src/rules}/node/prefer-global-process.d.ts +0 -0
- /package/dist/{rules → src/rules}/quality/complexity.d.ts +0 -0
- /package/dist/{rules → src/rules}/quality/default-case.d.ts +0 -0
- /package/dist/{rules → src/rules}/quality/eqeqeq.d.ts +0 -0
- /package/dist/{rules → src/rules}/quality/max-depth.d.ts +0 -0
- /package/dist/{rules → src/rules}/quality/max-lines-per-function.d.ts +0 -0
- /package/dist/{rules → src/rules}/quality/no-alert.d.ts +0 -0
- /package/dist/{rules → src/rules}/quality/no-await-in-loop.d.ts +0 -0
- /package/dist/{rules → src/rules}/quality/no-caller.d.ts +0 -0
- /package/dist/{rules → src/rules}/quality/no-case-declarations.d.ts +0 -0
- /package/dist/{rules → src/rules}/quality/no-else-return.d.ts +0 -0
- /package/dist/{rules → src/rules}/quality/no-empty-function.d.ts +0 -0
- /package/dist/{rules → src/rules}/quality/no-empty.d.ts +0 -0
- /package/dist/{rules → src/rules}/quality/no-eval.d.ts +0 -0
- /package/dist/{rules → src/rules}/quality/no-extend-native.d.ts +0 -0
- /package/dist/{rules → src/rules}/quality/no-extra-boolean-cast.d.ts +0 -0
- /package/dist/{rules → src/rules}/quality/no-global-assign.d.ts +0 -0
- /package/dist/{rules → src/rules}/quality/no-implied-eval.d.ts +0 -0
- /package/dist/{rules → src/rules}/quality/no-iterator.d.ts +0 -0
- /package/dist/{rules → src/rules}/quality/no-lonely-if.d.ts +0 -0
- /package/dist/{rules → src/rules}/quality/no-new-func.d.ts +0 -0
- /package/dist/{rules → src/rules}/quality/no-new-wrappers.d.ts +0 -0
- /package/dist/{rules → src/rules}/quality/no-new.d.ts +0 -0
- /package/dist/{rules → src/rules}/quality/no-octal.d.ts +0 -0
- /package/dist/{rules → src/rules}/quality/no-param-reassign.d.ts +0 -0
- /package/dist/{rules → src/rules}/quality/no-proto.d.ts +0 -0
- /package/dist/{rules → src/rules}/quality/no-return-assign.d.ts +0 -0
- /package/dist/{rules → src/rules}/quality/no-sequences.d.ts +0 -0
- /package/dist/{rules → src/rules}/quality/no-shadow.d.ts +0 -0
- /package/dist/{rules → src/rules}/quality/no-throw-literal.d.ts +0 -0
- /package/dist/{rules → src/rules}/quality/no-use-before-define.d.ts +0 -0
- /package/dist/{rules → src/rules}/quality/no-useless-call.d.ts +0 -0
- /package/dist/{rules → src/rules}/quality/no-useless-concat.d.ts +0 -0
- /package/dist/{rules → src/rules}/quality/no-useless-escape.d.ts +0 -0
- /package/dist/{rules → src/rules}/quality/no-useless-rename.d.ts +0 -0
- /package/dist/{rules → src/rules}/quality/no-useless-return.d.ts +0 -0
- /package/dist/{rules → src/rules}/quality/no-var.d.ts +0 -0
- /package/dist/{rules → src/rules}/quality/no-with.d.ts +0 -0
- /package/dist/{rules → src/rules}/quality/prefer-arrow-callback.d.ts +0 -0
- /package/dist/{rules → src/rules}/quality/require-await.d.ts +0 -0
- /package/dist/{rules → src/rules}/regexp/no-super-linear-backtracking.d.ts +0 -0
- /package/dist/{rules → src/rules}/regexp/no-unused-capturing-group.d.ts +0 -0
- /package/dist/{rules → src/rules}/regexp/no-useless-lazy.d.ts +0 -0
- /package/dist/{rules → src/rules}/shell/_shared.d.ts +0 -0
- /package/dist/{rules → src/rules}/shell/command-substitution.d.ts +0 -0
- /package/dist/{rules → src/rules}/shell/consistent-case-terminators.d.ts +0 -0
- /package/dist/{rules → src/rules}/shell/function-style.d.ts +0 -0
- /package/dist/{rules → src/rules}/shell/heredoc-indent.d.ts +0 -0
- /package/dist/{rules → src/rules}/shell/indent.d.ts +0 -0
- /package/dist/{rules → src/rules}/shell/keyword-spacing.d.ts +0 -0
- /package/dist/{rules → src/rules}/shell/no-broken-redirect.d.ts +0 -0
- /package/dist/{rules → src/rules}/shell/no-cd-without-check.d.ts +0 -0
- /package/dist/{rules → src/rules}/shell/no-eval.d.ts +0 -0
- /package/dist/{rules → src/rules}/shell/no-exit-in-subshell.d.ts +0 -0
- /package/dist/{rules → src/rules}/shell/no-ls-parsing.d.ts +0 -0
- /package/dist/{rules → src/rules}/shell/no-trailing-semicolons.d.ts +0 -0
- /package/dist/{rules → src/rules}/shell/no-trailing-whitespace.d.ts +0 -0
- /package/dist/{rules → src/rules}/shell/no-useless-cat.d.ts +0 -0
- /package/dist/{rules → src/rules}/shell/no-variable-in-single-quotes.d.ts +0 -0
- /package/dist/{rules → src/rules}/shell/operator-spacing.d.ts +0 -0
- /package/dist/{rules → src/rules}/shell/prefer-double-brackets.d.ts +0 -0
- /package/dist/{rules → src/rules}/shell/prefer-printf.d.ts +0 -0
- /package/dist/{rules → src/rules}/shell/quote-variables.d.ts +0 -0
- /package/dist/{rules → src/rules}/shell/set-options.d.ts +0 -0
- /package/dist/{rules → src/rules}/shell/shebang.d.ts +0 -0
- /package/dist/{rules → src/rules}/sort/exports.d.ts +0 -0
- /package/dist/{rules → src/rules}/sort/heritage-clauses.d.ts +0 -0
- /package/dist/{rules → src/rules}/sort/imports.d.ts +0 -0
- /package/dist/{rules → src/rules}/sort/keys.d.ts +0 -0
- /package/dist/{rules → src/rules}/sort/named-imports.d.ts +0 -0
- /package/dist/{rules → src/rules}/sort/objects.d.ts +0 -0
- /package/dist/{rules → src/rules}/sort/tailwind-classes.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/array-bracket-spacing.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/arrow-parens.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/arrow-spacing.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/block-spacing.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/brace-style.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/comma-dangle.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/comma-spacing.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/comma-style.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/computed-property-spacing.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/consistent-chaining.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/consistent-list-newline.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/curly.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/dot-location.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/function-call-spacing.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/generator-star-spacing.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/if-newline.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/indent-binary-ops.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/indent-unindent.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/key-spacing.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/keyword-spacing.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/lines-between-class-members.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/max-statements-per-line.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/multiline-ternary.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/new-parens.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/no-extra-parens.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/no-floating-decimal.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/no-mixed-operators.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/no-mixed-spaces-and-tabs.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/no-multi-spaces.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/no-multiple-empty-lines.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/no-tabs.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/no-trailing-spaces.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/no-whitespace-before-property.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/object-curly-spacing.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/operator-linebreak.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/padded-blocks.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/quote-props.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/rest-spread-spacing.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/semi-spacing.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/space-before-blocks.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/space-before-function-paren.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/space-in-parens.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/space-infix-ops.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/space-unary-ops.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/spaced-comment.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/switch-colon-spacing.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/template-curly-spacing.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/template-tag-spacing.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/top-level-function.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/wrap-iife.d.ts +0 -0
- /package/dist/{rules → src/rules}/style/yield-star-spacing.d.ts +0 -0
- /package/dist/{rules → src/rules}/ts/member-delimiter-style.d.ts +0 -0
- /package/dist/{rules → src/rules}/ts/no-explicit-any.d.ts +0 -0
- /package/dist/{rules → src/rules}/ts/no-floating-promises.d.ts +0 -0
- /package/dist/{rules → src/rules}/ts/no-misused-promises.d.ts +0 -0
- /package/dist/{rules → src/rules}/ts/no-require-imports.d.ts +0 -0
- /package/dist/{rules → src/rules}/ts/no-top-level-await.d.ts +0 -0
- /package/dist/{rules → src/rules}/ts/no-ts-export-equal.d.ts +0 -0
- /package/dist/{rules → src/rules}/ts/no-unsafe-assignment.d.ts +0 -0
- /package/dist/{rules → src/rules}/ts/prefer-nullish-coalescing.d.ts +0 -0
- /package/dist/{rules → src/rules}/ts/prefer-optional-chain.d.ts +0 -0
- /package/dist/{rules → src/rules}/ts/type-annotation-spacing.d.ts +0 -0
- /package/dist/{rules → src/rules}/ts/type-generic-spacing.d.ts +0 -0
- /package/dist/{rules → src/rules}/ts/type-named-tuple-spacing.d.ts +0 -0
- /package/dist/{run.d.ts → src/run.d.ts} +0 -0
- /package/dist/{types.d.ts → src/types.d.ts} +0 -0
- /package/dist/{utils.d.ts → src/utils.d.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
package/dist/bin/cli.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
2
|
// @bun
|
|
3
|
-
import{N as K}from"../chunk-43fsk0jg.js";async function F(){let E=process.argv.slice(2),O=E[0]==="run",x=O?1:0,N=O?"auto":"lint",W=!1,X=!1,Y=!1,Z=!1,_,Q=[],$=!0;for(let y=x;y<E.length;y++){let q=E[y];if(q==="--mode")N=E[++y]||"auto";else if(q==="--format")Y=!0,N="format";else if(q==="--check")W=!0;else if(q==="--write")X=!0;else if(q==="--config")_=E[++y];else if(q==="--verbose")Z=!0;else if(q==="--ext"||q==="--ignore-path")y++;else if(q==="--fix"||q==="--dry-run"||q==="--reporter"||q==="--max-warnings"||q==="--cache"){$=!1,Q.length=0;break}else if(q.startsWith("--"));else Q.push(q)}if($&&(N==="format"||N==="auto"||N==="lint")&&Q.length>0){let{runUnified:y}=await import("../chunk-
|
|
3
|
+
import{N as K}from"../chunk-43fsk0jg.js";async function F(){let E=process.argv.slice(2),O=E[0]==="run",x=O?1:0,N=O?"auto":"lint",W=!1,X=!1,Y=!1,Z=!1,_,Q=[],$=!0;for(let y=x;y<E.length;y++){let q=E[y];if(q==="--mode")N=E[++y]||"auto";else if(q==="--format")Y=!0,N="format";else if(q==="--check")W=!0;else if(q==="--write")X=!0;else if(q==="--config")_=E[++y];else if(q==="--verbose")Z=!0;else if(q==="--ext"||q==="--ignore-path")y++;else if(q==="--fix"||q==="--dry-run"||q==="--reporter"||q==="--max-warnings"||q==="--cache"){$=!1,Q.length=0;break}else if(q.startsWith("--"));else Q.push(q)}if($&&(N==="format"||N==="auto"||N==="lint")&&Q.length>0){let{runUnified:y}=await import("../chunk-ye3wjxzf.js"),q=await y(Q,{mode:N,check:W,write:X,verbose:Z,config:_});process.exit(q)}let{CLI:C}=await import("../chunk-v1x7hdmp.js"),{version:L}=await import("../chunk-8dgfp05p.js"),H=new C("pickier"),T=(y)=>{let[q,B]=y;return[Array.isArray(q)?q.filter((V)=>typeof V==="string"):[],B&&typeof B==="object"?B:{}]};H.command("[...globs]","Lint files (default)").option("--fix","Auto-fix lint problems").option("--format","Format files instead of linting").option("--dry-run","Simulate fixes without writing").option("--check","Check formatting without writing (CI-friendly)").option("--max-warnings <n>","Max warnings before non-zero exit",{default:-1}).option("--reporter <name>","stylish|json|compact",{default:"stylish"}).option("--config <path>","Path to pickier config").option("--ignore-path <file>","Ignore file (like .gitignore)").option("--ext <exts>","Comma-separated extensions").option("--cache","Enable cache").option("--verbose","Verbose output").example("pickier .").example("pickier . --fix").example("pickier . --format").example("pickier src --fix --verbose").action(async(...y)=>{let[q,B]=T(y);if(q.length===0){H.outputHelp();return}let{runUnified:J}=await import("../chunk-ye3wjxzf.js"),D;if(B.format){if(D="format",!B.check)B.write=!0}else D="lint";let V=await J(q,{...B,mode:D});process.exit(V)}),H.command("lint [...globs]","[DEPRECATION] Use `pickier [...globs]` instead. Lint files").option("--fix","Auto-fix problems").option("--dry-run","Simulate fixes without writing").option("--max-warnings <n>","Max warnings before non-zero exit",{default:-1}).option("--reporter <name>","stylish|json|compact",{default:"stylish"}).option("--config <path>","Path to pickier config").option("--ignore-path <file>","Ignore file (like .gitignore)").option("--ext <exts>","Comma-separated extensions").option("--cache","Enable cache").option("--verbose","Verbose output").example("pickier lint .").example("pickier lint src --fix").example('pickier lint "src/**/*.{ts,tsx}" --reporter json').action(async(...y)=>{let[q,B]=T(y),{runUnified:J}=await import("../chunk-ye3wjxzf.js"),D=await J(q,{...B,mode:"lint"});process.exit(D)}),H.command("format [...globs]","[DEPRECATION] Use `pickier [...globs] --format` instead. Format files").option("--write","Write changes to files").option("--check","Check without writing (CI-friendly)").option("--config <path>","Path to pickier config").option("--ignore-path <file>","Ignore file").option("--ext <exts>","Comma-separated extensions").option("--verbose","Verbose output").example("pickier format . --write").example("pickier format . --check").action(async(...y)=>{let[q,B]=T(y),{runUnified:J}=await import("../chunk-ye3wjxzf.js"),D=await J(q,{...B,mode:"format"});process.exit(D)}),H.command("run [...globs]","Unified mode (auto, lint, or format)").option("--mode <mode>","auto|lint|format",{default:"auto"}).option("--fix","Auto-fix problems (lint mode)").option("--dry-run","Simulate fixes without writing (lint mode)").option("--max-warnings <n>","Max warnings before non-zero exit (lint mode)",{default:-1}).option("--reporter <name>","stylish|json|compact (lint mode)",{default:"stylish"}).option("--write","Write changes to files (format mode)").option("--check","Check without writing (format mode)").option("--config <path>","Path to pickier config").option("--ignore-path <file>","Ignore file (like .gitignore)").option("--ext <exts>","Comma-separated extensions").option("--cache","Enable cache (lint mode)").option("--verbose","Verbose output").example("pickier run . --mode lint --fix").example("pickier run . --mode format --write").action(async(...y)=>{let[q,B]=T(y),{runUnified:J}=await import("../chunk-ye3wjxzf.js"),D=await J(q,B);process.exit(D)}),H.command("version","Show the version of the CLI").action(async()=>{let{version:y}=await import("../chunk-8dgfp05p.js");process.stdout.write(`${y}
|
|
4
4
|
`)}),H.version(L),H.help(),H.parse()}F().catch((E)=>{let O=E instanceof Error?E.message:String(E);process.stderr.write(`pickier: ${O}
|
|
5
5
|
`),process.exit(1)});
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{b as a,c as b,d as c,e as d,f as e,g as f}from"./chunk-
|
|
2
|
+
import{b as a,c as b,d as c,e as d,f as e,g as f}from"./chunk-6cf4pq67.js";import"./chunk-er69kh4d.js";import"./chunk-ah6h41gy.js";import"./chunk-43fsk0jg.js";export{d as scanContentOptimized,e as scanContent,b as runLintProgrammatic,f as runLint,a as lintText,c as applyPlugins};
|
|
@@ -67,7 +67,7 @@ ${U[I]}`,y(U[I]),I++}return L},F=[],M=!1,T=!1,E=!1;for(let j=0;j<U.length;j++){l
|
|
|
67
67
|
${U.slice(n.from+1,n.to+1).join(`
|
|
68
68
|
`)}`;else c=d}else c=U.slice(n.from,n.to+1).join(`
|
|
69
69
|
`);for(let $0 of u){if(!$0||G.test($0)||$0==="undefined")continue;if(!new RegExp(`\\b${$0}\\b`,"g").test(c))Z.push({filePath:J.filePath,line:j+1,column:Math.max(1,O.indexOf($0)+1),ruleId:"pickier/no-unused-vars",message:`'${$0}' is defined but never used (function parameter). Allowed unused args must match pattern: ${z}`,severity:"error"})}continue}let S=O.indexOf("=>");if(S!==-1&&I.includes("=>")){let N=-1;for(let R=S-1;R>=0;R--){let D=O[R];if(D===")"){N=R;break}if(D!==" "&&D!=="\t"&&D!==`
|
|
70
|
-
`&&D!==":"&&D!==">"&&!/\w/.test(D))break}if(N!==-1){let R=-1,D=1;for(let g=N-1;g>=0;g--){let x=O[g];if(x===")")D++;else if(x==="("){if(D--,D===0){R=g;break}}}if(R!==-1){let g=!1,x=0,p=0;for(let m=R-1;m>=0;m--){let u=O[m];if(u===">"){x++;continue}if(u==="<"){if(x>0){x--;continue}if(p
|
|
70
|
+
`&&D!==":"&&D!==">"&&!/\w/.test(D))break}if(N!==-1){let R=-1,D=1;for(let g=N-1;g>=0;g--){let x=O[g];if(x===")")D++;else if(x==="("){if(D--,D===0){R=g;break}}}if(R!==-1){let g=!1,x=0,p=0;for(let m=R-1;m>=0;m--){let u=O[m];if(u===">"){x++;continue}if(u==="<"){if(x>0){x--;continue}if(p<=0){g=!0;break}continue}if(u===":"&&x===0&&p<=0){g=!0;break}if(x>0)continue;if(u===",")continue;if(u===")"){p++;continue}if(u==="("){p--;continue}if(u==="|"||u==="&"){g=!0;break}if(u==="="||u==="{"||u==="["){if(p>=0)break;continue}if(u!==" "&&u!=="\t"&&!/[\w.]/.test(u)){if(p>=0)break}}if(!g){let m=O.slice(0,R);if(/^\s*(?:export\s+)?(?:declare\s+)?type\s+\w[\w$]*\s*(?:<[^>]*>)?\s*=\s*$/.test(m))g=!0;else if(/\bas\s+$/.test(m))g=!0}if(g)continue;let b=O.slice(R+1,N);if(!(b.trim()===""&&O.slice(Math.max(0,R-10),R).includes("async"))){let m=A(b);if(m.length>0){let u="";if(O.slice(S+2).trimStart().startsWith("{")){let c=_(j,S);if(c)if(c.from===j){let $0=U[c.from],V0=$0.indexOf("{",S),d=V0>=0?$0.slice(V0+1):"";if(c.to>c.from)u=`${d}
|
|
71
71
|
${U.slice(c.from+1,c.to+1).join(`
|
|
72
72
|
`)}`;else u=d}else u=U.slice(c.from,c.to+1).join(`
|
|
73
73
|
`)}else u=B(j,S);for(let c of m){if(!c||G.test(c)||c==="undefined")continue;if(!new RegExp(`\\b${c}\\b`,"g").test(u))Z.push({filePath:J.filePath,line:j+1,column:Math.max(1,O.indexOf(c)+1),ruleId:"pickier/no-unused-vars",message:`'${c}' is defined but never used (function parameter). Allowed unused args must match pattern: ${z}`,severity:"error"})}continue}}}}}{let N=/(?:^|[=,:({\s])\s*([$A-Z_][\w$]*)\s*=>/gi,R;while((R=N.exec(I))!==null){let D=R[1];if(!D||G.test(D)||D==="undefined")continue;let g=I.slice(0,R.index+R[0].indexOf(D)).trimEnd();if(/\)\s*:$/.test(g)||/\)\s*:\s*$/.test(g))continue;if(/\)\s*:\s*[$A-Z_][\w$]*\s+is$/i.test(g))continue;if(/^(?:string|number|boolean|void|never|any|unknown|object|bigint|symbol|undefined|null)$/.test(D))continue;let x=new RegExp(`\\b${D}\\s*=>`),p=O.match(x);if(!p)continue;let b=O.indexOf(p[0])+p[0].lastIndexOf("=>"),m="";if(O.slice(b+2).trimStart().startsWith("{")){let c=_(j,b);if(c)if(c.from===j){let $0=U[c.from],V0=$0.indexOf("{",b),d=V0>=0?$0.slice(V0+1):"";if(c.to>c.from)m=`${d}
|
|
@@ -129,7 +129,7 @@ ${G}`;if(I7(q)!==q)return[{filePath:J.filePath,line:Y+1,column:1,ruleId:"sort-im
|
|
|
129
129
|
`),X=1,Y=0;for(let z of J){let Q=new RegExp(`"${b2(z)}"\\s*:`);for(let G=Y;G<Z.length;G++)if(Q.test(Z[G])){X=G+1,Y=G+1;break}}return X}function x0($){return P2($)}function I0($,J){return C2($,J)}function Z0($){let J="pkg";for(let Z of $)if(/^\d+$/.test(Z))J+=`[${Z}]`;else if(!/^[a-z_$][a-z0-9_$]*$/i.test(Z))J+=`["${Z}"]`;else J+=`.${Z}`;return J}function i($,J){if($.publishConfig?.[J]!==void 0)return[$.publishConfig[J],["publishConfig",J]];return[$[J],[J]]}var S2=new RegExp(`(?:[\\s;]|^)(?:import[\\w,{}\\s*]*from|import\\s*['"*{]|export\\b\\s*(?:[*{]|default|type|function|const|var|let|async function)|import\\.meta\\b)`,"m"),v2=new RegExp("(?:[\\s;]|^)(?:module.exports\\b|exports\\.\\w|require\\s*\\(|global\\.\\w|Object\\.(?:defineProperty|defineProperties|assign)\\s*\\(\\s*exports\\b)","m");function Y1($){let J=y2($),Z=S2.test(J),X=v2.test(J);if(Z&&X)return"mixed";if(Z)return"ESM";if(X)return"CJS";return"unknown"}function GX($,J){if($.endsWith(".mjs"))return"ESM";if($.endsWith(".cjs"))return"CJS";return J==="module"?"ESM":"CJS"}function qX($){if($==="ESM")return".mjs";if($==="CJS")return".cjs";return".js"}function UX($){return $===".mjs"||$===".cjs"}function l0($){return $.endsWith(".js")||$.endsWith(".mjs")||$.endsWith(".cjs")}function WX($){return/^#!\s*\//.test($)}function y2($){return $.replace(/\/\*[\s\S]*?\*\//g,"").replace(/\/\/.*/g,"")}function W0($,J,Z,X){S7($,J,Z,X)}function S7($,J,Z,X){if(typeof $==="string"){X($,{path:J,isImports:Z});return}if(Array.isArray($)){X($,{path:J,isImports:Z});for(let Y=0;Y<$.length;Y++)S7($[Y],J.concat(String(Y)),Z,X);return}if($!==null&&typeof $==="object"){let Y=Object.keys($);X($,{path:J,isImports:Z},Y);for(let z of Y)S7($[z],J.concat(z),Z,X)}}function s($,J,Z,X,Y,z,Q){return{filePath:$,line:I2(J,Z),column:1,ruleId:X,message:Y,severity:z,...Q&&{help:Q}}}function b2($){return $.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}var v7={meta:{docs:"Disallow deprecated jsnext:main and jsnext fields",recommended:!0},check($,J){let Z=t($);if(!Z)return[];let X=[];if(Z["jsnext:main"]!=null)X.push(s(J.filePath,$,["jsnext:main"],"publint/deprecated-field-jsnext",'pkg["jsnext:main"] is deprecated. pkg.module should be used instead.',"warning",'The jsnext:main field is no longer recognized by modern bundlers. Use "module" instead.'));if(Z.jsnext!=null)X.push(s(J.filePath,$,["jsnext"],"publint/deprecated-field-jsnext","pkg.jsnext is deprecated. pkg.module should be used instead.","warning",'The jsnext field is no longer recognized by modern bundlers. Use "module" instead.'));return X}};var y7={meta:{docs:'Ensure "default" condition is last in exports objects',recommended:!0},check($,J){let Z=t($);if(!Z)return[];let X=[],[Y,z]=i(Z,"exports");if(Y==null)return[];return W0(Y,z,!1,(Q,G,q)=>{if(!q||typeof Q!=="object"||Array.isArray(Q))return;if(!("default"in Q))return;if(q[q.length-1]!=="default")X.push(s(J.filePath,$,G.path.concat("default"),"publint/exports-default-should-be-last",`${Z0(G.path.concat("default"))} should be the last condition in the object so it doesn't take precedence over the keys following it.`,"error",'Conditions are resolved in order. "default" acts as a fallback and should come last.'))}),X}};var b7={meta:{docs:"Warn against using fallback arrays in exports",recommended:!0},check($,J){let Z=t($);if(!Z)return[];let X=[],[Y,z]=i(Z,"exports");if(Y==null)return[];return W0(Y,z,!1,(Q,G)=>{if(!Array.isArray(Q))return;X.push(s(J.filePath,$,G.path,"publint/exports-fallback-array-use",`${Z0(G.path)} uses fallback arrays which is not recommended. It works differently in some tools and may face inconsistent behaviors.`,"warning","Fallback arrays pick the first parseable value and have no practical use case in Node.js currently."))}),X}};var k7={meta:{docs:"Ensure exports has a root entrypoint when main/module exist",recommended:!0},check($,J){let Z=t($);if(!Z)return[];let[X]=i(Z,"main"),[Y]=i(Z,"module"),[z,Q]=i(Z,"exports");if(X==null&&Y==null||z==null)return[];if(typeof z!=="object"||Array.isArray(z))return[];let G=Object.keys(z);if(G.length===0)return[];if(!G[0]?.startsWith("."))return[];if(G.includes("."))return[];let U=[];if(X)U.push("main");if(Y)U.push("module");return[s(J.filePath,$,Q,"publint/exports-missing-root-entrypoint",`${Z0(Q)} is missing the root entrypoint export, which is defined in pkg.${U[0]}. Environments that support "exports" will ignore pkg.${U[0]} as "exports" takes the highest priority.`,"warning",`Add ${Z0(Q.concat("."))} to ensure the root entrypoint is accessible.`)]}};var f7={meta:{docs:'Ensure "module" condition precedes "require" in exports',recommended:!0},check($,J){let Z=t($);if(!Z)return[];let X=[],[Y,z]=i(Z,"exports");if(Y==null)return[];return W0(Y,z,!1,(Q,G,q)=>{if(!q||typeof Q!=="object"||Array.isArray(Q))return;if(!("module"in Q)||!("require"in Q))return;if(q.indexOf("module")>q.indexOf("require"))X.push(s(J.filePath,$,G.path.concat("module"),"publint/exports-module-should-precede-require",`${Z0(G.path.concat("module"))} should come before the "require" condition so it can take precedence when used by a bundler.`,"error",'Bundlers prioritize conditions by order. "module" should precede "require" to ensure ESM is preferred.'))}),X}};var g7={meta:{docs:'Ensure "types" condition is first in exports objects',recommended:!0},check($,J){let Z=t($);if(!Z)return[];let X=[],[Y,z]=i(Z,"exports");if(Y==null)return[];return W0(Y,z,!1,(Q,G,q)=>{if(!q||typeof Q!=="object"||Array.isArray(Q))return;if(!("types"in Q))return;let U=q.indexOf("types");if(U===0)return;if(q.slice(0,U).filter((K)=>{if(K.startsWith("types"))return!1;if(typeof Q[K]==="object"&&Q[K]!==null&&KX(Q[K],"types"))return!1;return!0}).length>0)X.push(s(J.filePath,$,G.path.concat("types"),"publint/exports-types-should-be-first",`${Z0(G.path.concat("types"))} should be the first condition in the object so it can be resolved by TypeScript.`,"error",'TypeScript resolves conditions in order. The "types" condition must come first to ensure correct type resolution.'))}),X}};function KX($,J){for(let Z in $){if(Z===J)return!0;if(typeof $[Z]==="object"&&$[Z]!==null&&KX($[Z],J))return!0}return!1}var p7={meta:{docs:'Ensure exports values start with "./"',recommended:!0},check($,J){let Z=t($);if(!Z)return[];let X=[],[Y,z]=i(Z,"exports");if(Y==null)return[];return W0(Y,z,!1,(Q,G)=>{if(typeof Q!=="string")return;if(Q.startsWith("./"))return;let q=`./${Q.replace(/^[/]+/,"")}`;X.push(s(J.filePath,$,G.path,"publint/exports-value-invalid",`${Z0(G.path)} is "${Q}" which is invalid as it does not start with "./". Use "${q}" instead.`,"error",'All exports values must be relative paths starting with "./".'))}),X}};var k2=[{field:"main",expectTypes:["string"]},{field:"module",expectTypes:["string"]},{field:"types",expectTypes:["string"]},{field:"typings",expectTypes:["string"]},{field:"browser",expectTypes:["string","object"]},{field:"bin",expectTypes:["string","object"]},{field:"exports",expectTypes:["string","object"]},{field:"imports",expectTypes:["object"]},{field:"name",expectTypes:["string"]},{field:"version",expectTypes:["string"]},{field:"description",expectTypes:["string"]},{field:"license",expectTypes:["string"]}],x7={meta:{docs:"Ensure package.json fields have correct value types",recommended:!0},check($,J){let Z=t($);if(!Z)return[];let X=[];for(let{field:Y,expectTypes:z}of k2){let[Q,G]=i(Z,Y);if(Q==null)continue;let q=typeof Q;if(!z.includes(q)){let U=z.length===1?z[0]:`${z.slice(0,-1).join(", ")} or ${z[z.length-1]}`;X.push(s(J.filePath,$,G,"publint/field-invalid-value-type",`${Z0(G)} has an invalid ${q} type. Expected a ${U} type instead.`,"error",`The "${Y}" field must be of type ${U}.`))}}return X}};var h7={meta:{docs:"Suggest adding exports when module field is present",recommended:!0},check($,J){let Z=t($);if(!Z)return[];let[X,Y]=i(Z,"module"),[z]=i(Z,"exports");if(X!=null&&z==null)return[s(J.filePath,$,Y,"publint/has-module-but-no-exports","pkg.module is used to output ESM, but pkg.exports is not defined. As Node.js doesn't read pkg.module, the ESM output may be skipped. Consider adding pkg.exports to export the ESM output.","warning",'Node.js only reads "exports" for module resolution. Without it, the ESM entry point in "module" is ignored by Node.js.')];return[]}};var u7={meta:{docs:'Ensure "default" condition is last in imports objects',recommended:!0},check($,J){let Z=t($);if(!Z)return[];let X=[],[Y,z]=i(Z,"imports");if(Y==null||typeof Y!=="object")return[];return W0(Y,z,!0,(Q,G,q)=>{if(!q||typeof Q!=="object"||Array.isArray(Q))return;if(!("default"in Q))return;if(q[q.length-1]!=="default")X.push(s(J.filePath,$,G.path.concat("default"),"publint/imports-default-should-be-last",`${Z0(G.path.concat("default"))} should be the last condition in the object so it doesn't take precedence over the keys following it.`,"error",'Conditions are resolved in order. "default" acts as a fallback and should come last.'))}),X}};var m7={meta:{docs:'Ensure imports keys start with "#"',recommended:!0},check($,J){let Z=t($);if(!Z)return[];let X=[],[Y,z]=i(Z,"imports");if(Y==null||typeof Y!=="object"||Array.isArray(Y))return[];for(let Q of Object.keys(Y))if(!Q.startsWith("#")){let G=`#${Q.replace(/^[/]+/,"")}`,q=z.concat(Q);X.push(s(J.filePath,$,q,"publint/imports-key-invalid",`${Z0(q)} is invalid as the imports key does not start with "#". Use "${G}" instead.`,"error",'All imports keys must start with "#" to distinguish them from package specifiers.'))}return X}};var d7={meta:{docs:'Ensure "module" condition precedes "require" in imports',recommended:!0},check($,J){let Z=t($);if(!Z)return[];let X=[],[Y,z]=i(Z,"imports");if(Y==null||typeof Y!=="object")return[];return W0(Y,z,!0,(Q,G,q)=>{if(!q||typeof Q!=="object"||Array.isArray(Q))return;if(!("module"in Q)||!("require"in Q))return;if(q.indexOf("module")>q.indexOf("require"))X.push(s(J.filePath,$,G.path.concat("module"),"publint/imports-module-should-precede-require",`${Z0(G.path.concat("module"))} should come before the "require" condition so it can take precedence when used by a bundler.`,"error",'Bundlers prioritize conditions by order. "module" should precede "require" to ensure ESM is preferred.'))}),X}};var o7={meta:{docs:'Ensure imports values start with "./"',recommended:!0},check($,J){let Z=t($);if(!Z)return[];let X=[],[Y,z]=i(Z,"imports");if(Y==null||typeof Y!=="object")return[];return W0(Y,z,!0,(Q,G)=>{if(typeof Q!=="string")return;if(!Q.startsWith("."))return;if(Q.startsWith("./"))return;let q=`./${Q.replace(/^[/]+/,"")}`;X.push(s(J.filePath,$,G.path,"publint/imports-value-invalid",`${Z0(G.path)} is "${Q}" which is invalid as it does not start with "./". Use "${q}" instead.`,"error",'Relative imports values must start with "./".'))}),X}};var c7={meta:{docs:"Disallow local file references in dependencies",recommended:!0},check($,J){let Z=t($);if(!Z)return[];let X=[],Y=["dependencies","optionalDependencies","peerDependencies"];for(let z of Y){let Q=Z[z];if(!Q||typeof Q!=="object")continue;for(let G of Object.keys(Q)){let q=Q[G];if(typeof q==="string"&&(q.startsWith("file:")||q.startsWith("link:")))X.push(s(J.filePath,$,[z,G],"publint/local-dependency",`The "${G}" dependency references "${q}" that will likely not work when installed by end-users.`,"error","Local file references (file: or link:) are not portable and will fail for consumers of the package."))}}return X}};var r7={meta:{docs:'Suggest specifying the "type" field in package.json',recommended:!0},check($,J){let Z=t($);if(!Z)return[];if(Z.type==null)return[s(J.filePath,$,["name"],"publint/use-type",'The package does not specify the "type" field. Node.js may attempt to detect the package type causing a small performance hit. Consider adding "type": "commonjs" or "type": "module".',"warning",'Adding "type" helps Node.js resolve module format without detection overhead.')];return[]}};import{existsSync as f2,readFileSync as g2}from"fs";var l7={meta:{docs:"Ensure bin files have a shebang for executability",recommended:!0},check($,J){let Z=t($);if(!Z)return[];let X=[],Y=x0(J.filePath),[z,Q]=i(Z,"bin");if(z==null)return[];if(typeof z==="string")HX(z,Q,Y,X,J.filePath,$);else if(typeof z==="object"){for(let G of Object.keys(z))if(typeof z[G]==="string")HX(z[G],Q.concat(G),Y,X,J.filePath,$)}return X}};function HX($,J,Z,X,Y,z){let Q=I0(Z,$);if(!f2(Q))return;if(!l0($))return;let G;try{G=g2(Q,"utf8")}catch{return}if(!WX(G))X.push(s(Y,z,J,"publint/bin-file-not-executable",`${Z0(J)} is "${$}" but the file is not executable. It should start with a shebang, e.g. #!/usr/bin/env node.`,"error","Bin files must start with a shebang (e.g. #!/usr/bin/env node) to be executable."))}import{existsSync as VX,readFileSync as AX}from"fs";var a7={meta:{docs:'Ensure files under "module" condition in exports are ESM',recommended:!0},check($,J){let Z=t($);if(!Z)return[];let X=[],Y=x0(J.filePath),[z,Q]=i(Z,"exports");if(z==null)return[];W0(z,Q,!1,(U,W)=>{if(typeof U!=="string")return;if(!W.path.includes("module"))return;if(!U.startsWith("./")&&!U.startsWith("../"))return;if(U.includes("*"))return;let K=I0(Y,U);if(!VX(K))return;if(!l0(U))return;let H;try{H=AX(K,"utf8")}catch{return}if(Y1(H)==="CJS")X.push(s(J.filePath,$,W.path,"publint/exports-module-should-be-esm",`${Z0(W.path)} should be ESM, but the code is written in CJS.`,"error",'The "module" condition is only used by bundlers and must contain ESM code.'))});let[G,q]=i(Z,"imports");if(G!=null&&typeof G==="object")W0(G,q,!0,(U,W)=>{if(typeof U!=="string")return;if(!W.path.includes("module"))return;if(!U.startsWith("./"))return;if(U.includes("*"))return;let K=I0(Y,U);if(!VX(K))return;if(!l0(U))return;let H;try{H=AX(K,"utf8")}catch{return}if(Y1(H)==="CJS")X.push(s(J.filePath,$,W.path,"publint/exports-module-should-be-esm",`${Z0(W.path)} should be ESM, but the code is written in CJS.`,"error",'The "module" condition is only used by bundlers and must contain ESM code.'))});return X}};import{existsSync as p1}from"fs";import{dirname as p2,isAbsolute as x2,resolve as h2}from"path";function s7($,J){let Z=J;while(Z.startsWith("./"))Z=Z.slice(2);let X=Z.split("/")[0];if(!X||X===".."||X.startsWith("."))return!1;let Y=x2(J)?p2(J).split("/")[0]||"/":h2($,X);return!p1(Y)}var n7={meta:{docs:"Ensure files referenced in package.json exist",recommended:!0},check($,J){let Z=t($);if(!Z)return[];let X=[],Y=x0(J.filePath),z=["main","module","types","typings","unpkg","jsdelivr"];for(let W of z){let[K,H]=i(Z,W);if(K==null||typeof K!=="string")continue;if(s7(Y,K))continue;let V=I0(Y,K);if(!FX(V))X.push(s(J.filePath,$,H,"publint/file-does-not-exist",`${Z0(H)} is "${K}" but the file does not exist.`,"error","The referenced file path cannot be found. Check the path for typos."))}let[Q,G]=i(Z,"bin");if(Q!=null){if(typeof Q==="string")_X(Q,G,X,J.filePath,$,Y);else if(typeof Q==="object"){for(let W of Object.keys(Q))if(typeof Q[W]==="string")_X(Q[W],G.concat(W),X,J.filePath,$,Y)}}let[q,U]=i(Z,"exports");if(q!=null)W0(q,U,!1,(W,K)=>{if(typeof W!=="string")return;if(!W.startsWith("./")&&!W.startsWith("../"))return;if(W.includes("*"))return;if(s7(Y,W))return;let H=I0(Y,W);if(!p1(H))X.push(s(J.filePath,$,K.path,"publint/file-does-not-exist",`${Z0(K.path)} is "${W}" but the file does not exist.`,"error","The referenced file path cannot be found. Check the path for typos."))});return X}};function _X($,J,Z,X,Y,z){if(s7(z,$))return;let Q=I0(z,$);if(!FX(Q))Z.push(s(X,Y,J,"publint/file-does-not-exist",`${Z0(J)} is "${$}" but the file does not exist.`,"error","The referenced file path cannot be found. Check the path for typos."))}function FX($){if(p1($))return!0;if(p1(`${$}.js`))return!0;if(p1(`${$}/index.js`))return!0;return!1}import{existsSync as u2,readFileSync as m2}from"fs";import{extname as d2}from"path";var i7={meta:{docs:"Ensure file code format matches its extension and package type",recommended:!0},check($,J){let Z=t($);if(!Z)return[];let X=[],Y=x0(J.filePath),z=Z.type,[Q,G]=i(Z,"main");if(Q!=null&&typeof Q==="string")BX(Q,G,Y,z,X,J.filePath,$);let[q,U]=i(Z,"exports");if(q!=null)W0(q,U,!1,(W,K)=>{if(typeof W!=="string")return;if(!W.startsWith("./")&&!W.startsWith("../"))return;if(W.includes("*"))return;if(K.path.includes("browser"))return;BX(W,K.path,Y,z,X,J.filePath,$)});return X}};function BX($,J,Z,X,Y,z,Q){let G=I0(Z,$);if(!u2(G))return;if(!l0($))return;let q;try{q=m2(G,"utf8")}catch{return}let U=Y1(q);if(U==="unknown"||U==="mixed")return;let W=GX(G,X);if(U===W)return;let K=d2(G),H=qX(U),A=(UX(K)?"FILE_INVALID_EXPLICIT_FORMAT":"FILE_INVALID_FORMAT")==="FILE_INVALID_EXPLICIT_FORMAT"?`${Z0(J)} is "${$}" and ends with the ${K} extension, but the code is written in ${U}. Consider using the ${H} extension.`:`${Z0(J)} is "${$}" and is written in ${U}, but is interpreted as ${W}. Consider using the ${H} extension.`;Y.push(s(z,Q,J,"publint/file-invalid-format",A,"warning",`The file's code format (${U}) doesn't match the expected format (${W}) based on its extension and package type.`))}import{existsSync as o2,readFileSync as c2}from"fs";var t7={meta:{docs:'Ensure the "module" field points to an ESM file',recommended:!0},check($,J){let Z=t($);if(!Z)return[];let[X,Y]=i(Z,"module");if(X==null||typeof X!=="string")return[];let z=x0(J.filePath),Q=I0(z,X);if(!o2(Q))return[];if(!l0(X))return[];let G;try{G=c2(Q,"utf8")}catch{return[]}if(Y1(G)==="CJS")return[s(J.filePath,$,Y,"publint/module-should-be-esm",`${Z0(Y)} should be ESM, but the code is written in CJS.`,"error",'The "module" field is intended for ESM output used by bundlers. It should point to an ESM file.')];return[]}};var wX={name:"publint",rules:{"use-type":A0(r7),"local-dependency":A0(c7),"deprecated-field-jsnext":A0(v7),"has-module-but-no-exports":A0(h7),"field-invalid-value-type":A0(x7),"exports-types-should-be-first":A0(g7),"exports-default-should-be-last":A0(y7),"exports-module-should-precede-require":A0(f7),"exports-value-invalid":A0(p7),"exports-missing-root-entrypoint":A0(k7),"exports-fallback-array-use":A0(b7),"imports-key-invalid":A0(m7),"imports-value-invalid":A0(o7),"imports-default-should-be-last":A0(u7),"imports-module-should-precede-require":A0(d7),"file-does-not-exist":A0(n7),"file-invalid-format":A0(i7),"module-should-be-esm":A0(t7),"bin-file-not-executable":A0(l7),"exports-module-should-be-esm":A0(a7)}};var MX={meta:{docs:"Ensure all imports appear before other statements",recommended:!1},check:($,J)=>{let Z=[],X=$.split(/\r?\n/),Y=!1,z=0;for(let Q=0;Q<X.length;Q++){let G=X[Q].trim();if(!G||G.startsWith("//")||G.startsWith("/*")||G.startsWith("*"))continue;let q=G.match(/^\s*import\s+/);if(!q&&G.length>0){if(Y=!0,z===0)z=Q+1}if(Y&&q)Z.push({filePath:J.filePath,line:Q+1,column:1,ruleId:"import/first",message:"Import statement must appear before other statements",severity:"error"})}return Z}};var jX={meta:{docs:"Disallow duplicate specifier names in a single import declaration"},check:($,J)=>{let Z=[],X=$.split(/\r?\n/);for(let Y=0;Y<X.length;Y++){let z=X[Y],Q=z.match(/^\s*import\s*\{([^}]*)\}\s*from\s*['"][^'"]+['"]/);if(!Q)continue;let q=Q[1].split(",").map((W)=>W.trim()).filter(Boolean).map((W)=>W.split(/\s+as\s+/i)[0].trim()),U=new Set;for(let W of q){if(U.has(W)){Z.push({filePath:J.filePath,line:Y+1,column:Math.max(1,z.indexOf(W)+1),ruleId:"pickier/import-dedupe",message:"Expect no duplication in imports",severity:"warning"});break}U.add(W)}}return Z}};import{existsSync as r2,readFileSync as l2}from"fs";import{dirname as a2,resolve as s2}from"path";var NX={meta:{docs:"Ensure named imports correspond to a named export in the remote file",recommended:!0},check:($,J)=>{let Z=[],X=$.split(/\r?\n/),Y=a2(J.filePath);for(let z=0;z<X.length;z++){let G=X[z].match(/\bimport\s+\{([^}]+)\}\s+from\s+['"]([^'"]+)['"]/);if(G){let q=G[1].split(",").map((H)=>H.trim().split(/\s+as\s+/)[0].trim()),U=G[2];if(!U.startsWith(".")&&!U.startsWith("/"))continue;let W=[".ts",".tsx",".js",".jsx",""],K="";for(let H of W){let V=s2(Y,U+H);if(r2(V)){K=l2(V,"utf8");break}}if(K)for(let H of q){let V=new RegExp(`\\bexport\\s+(?:const|let|var|function|class)\\s+${H}\\b`),A=new RegExp(`\\bexport\\s+\\{[^}]*\\b${H}\\b[^}]*\\}`);if(![V,A].some((F)=>F.test(K)))Z.push({filePath:J.filePath,line:z+1,column:1,ruleId:"import/named",message:`'${H}' not found in '${U}'`,severity:"error"})}}}return Z}};import{existsSync as TX,readFileSync as n2}from"fs";import{dirname as EX,resolve as DX}from"path";var RX={meta:{docs:"Ensure imports don't create circular dependencies",recommended:!0},check:($,J)=>{let Z=[],X=$.split(/\r?\n/),Y=J.filePath,z=new Set,Q=new Set;function G(U,W){if(Q.has(U))return!0;if(z.has(U))return!1;z.add(U),Q.add(U);try{let K=n2(U,"utf8"),H=q(K,EX(U));for(let V of H)if(G(V,[...W,V]))return!0}catch{}return Q.delete(U),!1}function q(U,W){let K=[],H=/\bimport(?:\s{2,}|\s+\S.*?(?:[\n\r\u2028\u2029]\s*|[\t\v\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]))from\s+['"]([^'"]+)['"]/g,V;for(V=H.exec(U);V!==null;V=H.exec(U)){let A=V[1];if(A.startsWith(".")||A.startsWith("/")){let _=[".ts",".tsx",".js",".jsx",""];for(let B of _){let F=DX(W,A+B);if(TX(F)){K.push(F);break}}}}return K}for(let U=0;U<X.length;U++){let K=X[U].match(/\bimport(?:\s{2,}|\s+\S.*?(?:[\n\r\u2028\u2029]\s*|[\t\v\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]))from\s+['"]([^'"]+)['"]/);if(K){let H=K[1];if(H.startsWith(".")||H.startsWith("/")){let V=[".ts",".tsx",".js",".jsx",""],A="";for(let _ of V){let B=DX(EX(Y),H+_);if(TX(B)){A=B;break}}if(A){if(z.clear(),Q.clear(),Q.add(Y),G(A,[Y,A]))Z.push({filePath:J.filePath,line:U+1,column:1,ruleId:"import/no-cycle",message:"Dependency cycle detected",severity:"error"})}}}}return Z}};var OX={meta:{docs:"Disallow duplicate module imports - all imports from the same module should be combined"},check:($,J)=>{let Z=[],X=$.split(/\r?\n/),Y=new Map,z=!1;for(let Q=0;Q<X.length;Q++){let G=X[Q];if(z){let V=G.indexOf("*/");if(V>=0)G=G.slice(V+2),z=!1;else continue}let q=G.indexOf("/*"),U=G.indexOf("//");if(q>=0&&(U===-1||q<U)){let V=G.indexOf("*/",q+2);if(V>=0)G=G.slice(0,q)+G.slice(V+2);else z=!0,G=G.slice(0,q)}if(U>=0)G=G.slice(0,U);let W=G.trim();if(!W)continue;let K=W.match(/^import\s+(?:type\s+)?(?:\{[^}]*\}|[\w$]+(?:\s*,\s*\{[^}]*\})?|\*\s+as\s+[\w$]+)\s+from\s+(['"`])(.+?)\1/);if(K){let V=K[2];if(Y.has(V)){let A=Y.get(V);Z.push({filePath:J.filePath,line:Q+1,column:1,ruleId:"no-duplicate-imports",message:`'${V}' imported multiple times (also imported on line${A.length>1?"s":""} ${A.join(", ")})`,severity:"error",help:`Combine all imports from '${V}' into a single import statement`}),A.push(Q+1)}else Y.set(V,[Q+1])}let H=W.match(/^export\s+(?:type\s+)?(?:\{[^}]*\}|\*(?:\s+as\s+[\w$]+)?)\s+from\s+(['"`])(.+?)\1/);if(H){let V=H[2],A=`export:${V}`;if(Y.has(A)){let _=Y.get(A);Z.push({filePath:J.filePath,line:Q+1,column:1,ruleId:"no-duplicate-imports",message:`'${V}' re-exported multiple times (also exported on line${_.length>1?"s":""} ${_.join(", ")})`,severity:"error",help:`Combine all re-exports from '${V}' into a single export statement`}),_.push(Q+1)}else Y.set(A,[Q+1])}}return Z}};var LX={meta:{docs:"Disallow importing from dist directories"},check:($,J)=>{let Z=[],X=new RegExp(`^\\s*import\\s[^;]*?from\\s*['"]([^'"]+)['"]`,"m"),Y=$.split(/\r?\n/);for(let z=0;z<Y.length;z++){let Q=Y[z],G=Q.match(X);if(!G)continue;let q=G[1];if(q==="dist"||(q.startsWith(".")||q.startsWith("/"))&&/(?:^|\/)dist(?:\/.|$)/.test(q))Z.push({filePath:J.filePath,line:z+1,column:Math.max(1,Q.indexOf(q)+1),ruleId:"pickier/no-import-dist",message:`Do not import modules in \`dist\` folder, got ${q}`,severity:"error"})}return Z}};var PX={meta:{docs:"Disallow importing from node_modules by explicit path"},check:($,J)=>{let Z=[],X=new RegExp(`^\\s*import\\s[^;]*?from\\s*['"]([^'"]+)['"]`,"m"),Y=/require\(\s*['"]([^'"]+)['"]\s*\)/,z=$.split(/\r?\n/);for(let Q=0;Q<z.length;Q++){let G=z[Q],q=G.match(X),U=G.match(Y),W=q?.[1]||U?.[1];if(!W)continue;if(W.includes("/node_modules/")){let K=Math.max(1,G.indexOf(W)+1);Z.push({filePath:J.filePath,line:Q+1,column:K,ruleId:"pickier/no-import-node-modules-by-path",message:"Do not import modules in `node_modules` folder by path",severity:"error"})}}return Z}};import{existsSync as i2}from"fs";import{dirname as t2,join as e2,resolve as $G}from"path";var CX={meta:{docs:"Ensure imports point to a file/module that can be resolved",recommended:!0},check:($,J)=>{let Z=[],X=$.split(/\r?\n/),Y=t2(J.filePath);for(let z=0;z<X.length;z++){let Q=X[z],G=[...Q.matchAll(/\bimport(?:\s{2,}|\s+\S.*?(?:[\n\r\u2028\u2029]\s*|[\t\v\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]))from\s+['"]([^'"]+)['"]/g),...Q.matchAll(/\bimport\s*\(\s*['"]([^'"]+)['"]\s*\)/g),...Q.matchAll(/\brequire\s*\(\s*['"]([^'"]+)['"]\s*\)/g)];for(let q of G){let U=q[1];if(!U.startsWith(".")&&!U.startsWith("/"))continue;let W=[],K=[".ts",".tsx",".js",".jsx",".mjs",".cjs",""];for(let V of K){let A=$G(Y,U+V);W.push(A),W.push(e2(A,`index${V}`))}if(!W.some((V)=>i2(V)))Z.push({filePath:J.filePath,line:z+1,column:1,ruleId:"import/no-unresolved",message:`Unable to resolve path to module '${U}'`,severity:"error"})}}return Z}};function IX($,J,Z){let X=Z.order==="desc"?-1:1,Y=Z.type||"alphabetical",z=Z.ignoreCase?$.toLowerCase():$,Q=Z.ignoreCase?J.toLowerCase():J;if(Y==="line-length")return(z.length-Q.length)*X;if(Y==="natural")return z.localeCompare(Q,void 0,{numeric:!0,sensitivity:"base"})*X;if(Y==="unsorted")return 0;return z.localeCompare(Q)*X}var ZG=new RegExp(`^export\\s+\\{[^}]*\\}\\s+from\\s+['"][^'"]+['"];?\\s*$`);function S8($){return ZG.test($)}var SX={meta:{docs:"Ensure contiguous export statements are sorted consistently."},check:($,J)=>{let Z=[],X=J.config.pluginRules?.["pickier/sort-exports"]?.[1]||{},Y=$.split(/\r?\n/),z=0;while(z<Y.length){while(z<Y.length&&!S8(Y[z]))z++;if(z>=Y.length)break;let Q=[],G=z;while(G<Y.length){let q=Y[G];if(S8(q)){Q.push({idx:G,line:q}),G++;continue}if(X.partitionByNewLine&&q.trim()==="")break;else break}if(Q.length>1){let q=Q.map((K)=>K.line),U=[...q].sort((K,H)=>IX(K,H,X));if(!q.every((K,H)=>K===U[H])){let K=q.findIndex((V,A)=>V!==U[A]),H=Q[K]?.idx??Q[0].idx;Z.push({filePath:J.filePath,line:H+1,column:1,ruleId:"pickier/sort-exports",message:"Export statements are not sorted.",severity:"warning"})}}z=G+1}return Z},fix:($,J)=>{let Z=J.config.pluginRules?.["pickier/sort-exports"]?.[1]||{},Y=[...$.split(/\r?\n/)],z=0;while(z<Y.length){while(z<Y.length&&!S8(Y[z]))z++;if(z>=Y.length)break;let Q=[],G=z;while(G<Y.length){let q=Y[G];if(S8(q)){Q.push(G),G++;continue}if(Z.partitionByNewLine&&q.trim()==="")break;else break}if(Q.length>1){let q=Q.map((K)=>Y[K]),U=[...q].sort((K,H)=>IX(K,H,Z));if(!q.every((K,H)=>K===U[H]))Q.forEach((K,H)=>{Y[K]=U[H]})}z=G+1}return Y.join(`
|
|
130
130
|
`)}};var vX={meta:{docs:"Enforce sorted TypeScript heritage clauses (extends/implements lists)"},check:($,J)=>{let Z=J.options||{},X=Z.type||"alphabetical",Y=Z.order||"asc",z=Z.ignoreCase!==!1,Q=Array.isArray(Z.groups)?Z.groups:[],G=Z.customGroups||{},q=$.split(/\r?\n/),U=[],W=(E)=>Y==="asc"?E:-E,K=(E,j)=>(z?E.toLowerCase():E).localeCompare(z?j.toLowerCase():j),H=(E,j)=>(z?E.toLowerCase():E).localeCompare(z?j.toLowerCase():j,void 0,{numeric:!0}),V=(E,j)=>{if(X==="line-length")return W(E.length-j.length);if(X==="natural")return W(H(E,j));if(X==="unsorted")return 0;return W(K(E,j))},A=Object.fromEntries(Object.entries(G).map(([E,j])=>{let v=(Array.isArray(j)?j:[j]).map((y)=>new RegExp(y));return[E,v]})),_=[];for(let E of Q)if(Array.isArray(E))_.push(...E);else _.push(E);if(!_.includes("unknown"))_.push("unknown");let B=(E)=>{for(let[j,O]of Object.entries(A))if(O.some((v)=>v.test(E)))return j;return"unknown"},F=(E)=>{let j=[],O=0,v="";for(let y=0;y<E.length;y++){let C=E[y];if(C==="<")O++;else if(C===">")O=Math.max(0,O-1);if(C===","&&O===0){j.push(v.trim()),v="";continue}v+=C}if(v.trim())j.push(v.trim());return j},M=(E)=>{let j=E.trim(),O=j.match(/^([A-Z_$][\w$.]*)/i);return O?O[1]:j},T=(E,j)=>{let O=F(j);if(O.length<=1)return;let v=O.map(M),y=v.map(B),C=v.map((P,L)=>({n:P,g:y[L],i:L})).sort((P,L)=>{let I=_.indexOf(P.g),f=_.indexOf(L.g);if(I!==f)return I-f;return V(P.n,L.n)}).map((P)=>P.n);if(!v.every((P,L)=>P===C[L]))U.push({filePath:J.filePath,line:E,column:1,ruleId:"sort-heritage-clauses",message:"Heritage clauses are not sorted",severity:"warning"})};for(let E=0;E<q.length;E++){let j=q[E],O=j.match(/^\s*interface\s+[A-Za-z_$][^{]*\bextends\s+(.+?)\s*\{/);if(O)T(E+1,O[1]);let v=j.match(/^\s*class\s+[A-Za-z_$][^{]*\bimplements\s+(.+?)\s*\{/);if(v)T(E+1,v[1])}return U}};var yX={meta:{docs:"Require object keys to be sorted (ESLint-compatible core rule subset)"},check:()=>{return[]}};var bX={meta:{docs:"Enforce sorted named imports within each import statement"},check:($,J)=>{let Z=J.options||{},X=Z.type||"alphabetical",Y=Z.order||"asc",z=Z.ignoreCase!==!1,Q=Boolean(Z.ignoreAlias),G=$.split(/\r?\n/),q=[],U=(W,K)=>{let H=0;if(X==="line-length")H=W.length-K.length;else{let V=z?W.toLowerCase():W,A=z?K.toLowerCase():K;H=V.localeCompare(A)}return Y==="asc"?H:-H};for(let W=0;W<G.length;W++){let H=G[W].match(/^\s*import\s+\{([^}]*)\}\s+from\s+['"][^'"]+['"]/);if(!H)continue;let A=H[1].split(",").map((M)=>M.trim()).filter(Boolean);if(A.length<=1)continue;let _=A.map((M)=>{let T=M.replace(/^type\s+/,""),E=T.match(/^([\w$]+)\s+as\s+([\w$]+)$/);if(E)return Q?E[2]:E[1];let j=T.match(/^([\w$]+)$/);return j?j[1]:T}),B=[..._].sort(U);if(!_.every((M,T)=>M===B[T]))q.push({filePath:J.filePath,line:W+1,column:1,ruleId:"sort-named-imports",message:"Named imports are not sorted",severity:"warning"})}return q}};var kX={meta:{docs:"Enforce sorted object keys"},check:($,J)=>{let Z=J.options||{},X=Z.type||"alphabetical",Y=Z.order||"asc",z=Z.ignoreCase!==!1,Q=Boolean(Z.partitionByNewLine),G=$.split(/\r?\n/),q=[],U=(K,H)=>{let V=0;if(X==="line-length")V=K.length-H.length;else{let A=z?K.toLowerCase():K,_=z?H.toLowerCase():H;V=A.localeCompare(_)}return Y==="asc"?V:-V},W=0;while(W<G.length){let K=G[W],H=K.indexOf("{");if(H!==-1){let V=K.slice(0,H);if(/=\s*$|\(\s*$|\breturn\s*$/.test(V)){let A=0,_=W,B=W;for(;B<G.length;B++){for(let F of G[B])if(F==="{")A++;else if(F==="}")A--;if(A===0)break}if(B>_){let F=G.slice(_+1,B),M=[],T={startLine:_+2,props:[]},E=()=>{if(T.props.length)M.push(T);T={startLine:0,props:[]}};for(let j=0;j<F.length;j++){let O=F[j];if(Q&&/^\s*$/.test(O)){E();continue}if(/^\s*\.\.\./.test(O))continue;if(/\{|\}/.test(O))continue;let v=O.match(/^\s*['"]?([\w$-]+)['"]?\s*:/);if(v){if(T.startLine===0)T.startLine=_+2+j;T.props.push({key:v[1],line:_+2+j})}}E();for(let j of M){let O=j.props.map((C)=>C.key),v=[...O].sort(U);if(!(O.length<=1||O.every((C,k)=>C===v[k]))&&j.props.length>0){let C=j.props[0];q.push({filePath:J.filePath,line:C.line,column:1,ruleId:"sort-objects",message:"Object keys are not sorted",severity:"warning"})}}W=B+1;continue}}}W++}return q}};var fX={meta:{docs:"Enforce top-level functions to use function declarations"},check:($,J)=>{let Z=[],X=$.split(/\r?\n/);for(let Y=0;Y<X.length;Y++){let z=X[Y];if(/^\s+/.test(z))continue;if(/^\s*(?:\/\/|\/\*)/.test(z))continue;let Q=z.match(/^const\s+([A-Za-z_$][\w$]*)\s*=(.*)$/);if(!Q)continue;let G=Q[2].trim();if(/^\(?[A-Z_$,]*(?:\)\s*)?=>/i.test(G)||/^function\b/.test(G)){let q=z.indexOf("const")+1;Z.push({filePath:J.filePath,line:Y+1,column:q,ruleId:"pickier/top-level-function",message:"Top-level functions should be declared with function keyword",severity:"warning"});continue}if(G.trim().length===0||/[,({]$/.test(G.trim())){let q=X[Y+1]||"";if(/^\s*(?:\(?[A-Za-z_$,]*(?:\)\s*)?=>|function\b)/.test(q)){let U=z.indexOf("const")+1;Z.push({filePath:J.filePath,line:Y+1,column:U,ruleId:"pickier/top-level-function",message:"Top-level functions should be declared with function keyword",severity:"warning"})}}}return Z}};var JG=[[/^(block|inline|inline-block|flex|inline-flex|grid|inline-grid|flow-root|contents|hidden|table|table-caption|table-cell|table-column|table-column-group|table-footer-group|table-header-group|table-row-group|table-row|list-item|subgrid)$/,0],[/^(container|columns|break-after|break-before|break-inside|box-decoration|box-border|box-content|float|clear|isolation|object|overflow|overscroll|position|inset|top|right|bottom|left|start|end|z-|aspect|order)/,1],[/^(static|fixed|absolute|relative|sticky)$/,1],[/^(visible|invisible|collapse)$/,1],[/^(basis|flex-|grow|shrink|order|grid-|col-|row-|auto-cols|auto-rows|gap|justify|items|content|self|place)/,2],[/^(p|px|py|ps|pe|pt|pr|pb|pl|m|mx|my|ms|me|mt|mr|mb|ml|space|indent)-/,3],[/^(-?(p|px|py|ps|pe|pt|pr|pb|pl|m|mx|my|ms|me|mt|mr|mb|ml|space|indent)-)/,3],[/^(w-|h-|min-w|max-w|min-h|max-h|size-)/,4],[/^(font|text|tracking|leading|list|placeholder|vertical|whitespace|break|hyphens|content|truncate|overflow-ellipsis|overflow-clip|line-clamp|underline|overline|line-through|no-underline|uppercase|lowercase|capitalize|normal-case|italic|not-italic|ordinal|slashed-zero|lining-nums|oldstyle-nums|proportional-nums|tabular-nums|diagonal-fractions|stacked-fractions|normal-nums|antialiased|subpixel-antialiased)/,5],[/^(bg-|from-|via-|to-|gradient-)/,6],[/^(border|rounded|outline|ring|divide|accent)/,7],[/^(shadow|opacity|mix-blend|bg-blend)/,8],[/^(blur|brightness|contrast|drop-shadow|grayscale|hue-rotate|invert|saturate|sepia|backdrop)/,9],[/^(border-collapse|border-separate|border-spacing|table-auto|table-fixed|caption)/,10],[/^(transition|duration|ease|delay|animate)/,11],[/^(scale|rotate|translate|skew|origin|transform|perspective)/,12],[/^(appearance|cursor|caret|pointer-events|resize|scroll|snap|touch|select|will-change)/,13],[/^(fill|stroke)/,14],[/^(sr-only|not-sr-only)$/,15]],XG=/^([a-z0-9][-a-z0-9]{0,50}:)+(?!\[)/;function YG($){let J=0;while(J<$.length){if($[J]==="[")break;let Z=$.indexOf(":",J);if(Z===-1)break;if($[Z+1]==="[")break;J=Z+1}return $.slice(J)}function zG($){let J=YG($);if(J.startsWith("!"))J=J.slice(1);for(let[Z,X]of JG)if(Z.test(J))return X;return 99}function QG($){let J=$.match(XG);if(!J)return 0;let Z=J[0].slice(0,-1).split(":"),X={sm:1,md:2,lg:3,xl:4,"2xl":5},Y=10;for(let z of Z)if(X[z]!==void 0)Y+=X[z];else Y+=20;return Y}var gX=new Map;function pX($){let J=gX.get($);if(J)return J;let Z={group:zG($),variant:QG($)};return gX.set($,Z),Z}function e7($){return[...$].sort((J,Z)=>{let X=pX(J),Y=pX(Z),z=X.group,Q=Y.group;if(z!==Q)return z-Q;let G=X.variant,q=Y.variant;if(G!==q)return G-q;return J.localeCompare(Z)})}var GG=/\b(?:class|className|:class)\s*=\s*(?:"([^"]*?)"|'([^']*?)')/g,qG=/\b(?:class|className|:class)\s*=\s*\{`([^`]*?)`\}/g,UG=/\b(?:clsx|cn|tw|cva|tv)\s*\(\s*(?:"([^"]*?)"|'([^']*?)')/g;function WG($){let J=$.replace(/\[[^\]]*\]/g,"");if(/['"`]/.test(J))return!0;if(/[{}()=]/.test(J))return!0;if(/ \? | && | \|\| /.test(J))return!0;if(/\b(?:true|false|null|undefined|function|return|typeof|instanceof)\b/.test(J))return!0;return!1}function xX($){let J=[];if(!$.includes("class")&&!$.includes("clsx")&&!$.includes("cn(")&&!$.includes("tw(")&&!$.includes("cva(")&&!$.includes("tv("))return J;for(let Z of[GG,qG,UG]){Z.lastIndex=0;let X;while((X=Z.exec($))!==null){let Y=X[1]??X[2]??"";if(!Y.trim())continue;if(WG(Y))continue;let z=$.indexOf(Y,X.index);if(z===-1)continue;J.push({value:Y,start:z,end:z+Y.length})}}return J.sort((Z,X)=>Z.start-X.start),J}function hX($){let J=[],Z="",X=0;for(let Y of $)if(Y==="[")X++,Z+=Y;else if(Y==="]")X=Math.max(0,X-1),Z+=Y;else if(/\s/.test(Y)&&X===0){if(Z)J.push(Z),Z=""}else Z+=Y;if(Z)J.push(Z);return J}function uX($){let J=e7($);return $.every((Z,X)=>Z===J[X])}var mX={meta:{docs:"Enforce consistent Tailwind CSS class ordering (layout \u2192 spacing \u2192 typography \u2192 etc.).",recommended:!0,editsStringContent:!0},check:($,J)=>{let Z=[],X=xX($);for(let{value:Y,start:z}of X){let Q=hX(Y);if(Q.length<2)continue;if(!uX(Q)){let G=$.slice(0,z),q=(G.match(/\n/g)??[]).length+1,U=G.lastIndexOf(`
|
|
131
131
|
`),W=U===-1?z+1:z-U;Z.push({filePath:J.filePath,line:q,column:W,ruleId:"pickier/sort-tailwind-classes",message:`Tailwind classes are not in the recommended order. Expected: "${e7(Q).join(" ")}"`,severity:"warning",help:"Run with --fix to automatically sort Tailwind classes, or reorder them manually."})}}return Z},fix:($)=>{let J=xX($);if(J.length===0)return $;let Z=[...J].reverse(),X=$;for(let{value:Y,start:z,end:Q}of Z){let G=hX(Y);if(G.length<2||uX(G))continue;let q=e7(G).join(" ");X=X.slice(0,z)+q+X.slice(Q)}return X}};var dX={name:"pickier",rules:{"sort-exports":w(SX),"sort-objects":w(kX),"sort-imports":w(I8),"sort-named-imports":w(bX),"sort-heritage-clauses":w(vX),"sort-keys":w(yX),"import-dedupe":w(jX),"import-first":w(MX),"import-named":w(NX),"import-no-cycle":w(RX),"import-no-unresolved":w(CX),"no-import-dist":w(LX),"no-import-node-modules-by-path":w(PX),"no-duplicate-imports":w(OX),"top-level-function":w(fX),"sort-tailwind-classes":mX,"prefer-const":w(L8),"prefer-template":w(P8),"no-unused-vars":w(n0)}};var oX={name:"quality",rules:{"default-case":w(o$),eqeqeq:w(c$),"no-alert":w(a$),"no-await-in-loop":w(s$),"no-caller":w(n$),"no-case-declarations":w(i$),"no-else-return":w(t$),"no-empty":w(e$),"no-empty-function":w($8),"no-eval":w(Z8),"no-extend-native":w(J8),"no-global-assign":w(Y8),"no-implied-eval":w(z8),"no-iterator":w(Q8),"no-new":w(G8),"no-new-func":w(q8),"no-new-wrappers":w(U8),"no-octal":w(W8),"no-param-reassign":w(K8),"no-proto":w(H8),"no-return-assign":w(V8),"no-shadow":w(_8),"no-throw-literal":w(F8),"no-use-before-define":w(B8),"no-useless-call":w(w8),"no-with":w(E8),"require-await":w(R8),complexity:w(d$),"max-depth":w(r$),"max-lines-per-function":w(l$),"no-extra-boolean-cast":w(X8),"no-lonely-if":w(k1),"no-sequences":w(A8),"no-useless-concat":w(M8),"no-useless-escape":w(j8),"no-useless-rename":w(N8),"no-useless-return":w(f1),"no-var":w(T8),"prefer-arrow-callback":w(D8)}};var cX={meta:{docs:"Detects potentially super-linear backtracking patterns in regex literals (heuristic)"},check:($,J)=>{let Z=[],X=/\/[^/\\\n]*(?:\\.[^/\\\n]*)*\//g,Y=(K,H,V)=>{let A=$.slice(0,K),_=(A.match(/\n/g)||[]).length+1,B=K-A.lastIndexOf(`
|
|
132
|
-
`);Z.push({filePath:J.filePath,line:_,column:B,ruleId:"no-super-linear-backtracking",message:V,severity:"error"})},z=[],Q=/\/\*[\s\S]*?\*\//g,G;while(G=Q.exec($))z.push({start:G.index,end:G.index+G[0].length});let q=/\/\/[^\n]*/g,U;while(U=q.exec($))z.push({start:U.index,end:U.index+U[0].length});let W;while(W=X.exec($)){let K=W[0],H=W.index;if(z.some((
|
|
132
|
+
`);Z.push({filePath:J.filePath,line:_,column:B,ruleId:"no-super-linear-backtracking",message:V,severity:"error"})},z=[],Q=/\/\*[\s\S]*?\*\//g,G;while(G=Q.exec($))z.push({start:G.index,end:G.index+G[0].length});let q=/\/\/[^\n]*/g,U;while(U=q.exec($))z.push({start:U.index,end:U.index+U[0].length});let W;while(W=X.exec($)){let K=W[0],H=W.index;if(z.some((M)=>H>=M.start&&H<M.end))continue;if(H>0){let M=$[H-1];if(M===")"||M==="]"||M==="."||/[\w$]/.test(M))continue;let T=K.slice(1,K.lastIndexOf("/"));if(/^\s+\w/.test(T)&&/\w\s*\)/.test(T))continue}let V=K.slice(1,K.lastIndexOf("/")),A=V.replace(/\[.*?\]/g,"");if(A.includes(".+?\\s*")||A.includes("\\s*.+?")||A.includes(".*\\s*")||A.includes("\\s*.*")){Y(H,K.length,"The combination of ' .*' or ' .+?' with '\\s*' can cause super-linear backtracking due to exchangeable characters");continue}let B=A.replace(/\s+/g,"");if(/(?:\.\*\??){2,}/.test(B)||/(?:\.\+\??){2,}/.test(B)||/\.\*\??\.\+\?|\.\+\??\.\*\?/.test(B)){Y(H,K.length,"Multiple adjacent unlimited wildcard quantifiers can cause super-linear backtracking");continue}let F=V.replace(/\\./g,"_").replace(/\[[^\]]*\]/g,"_");if(/\((?:\?:)?[^)]*?[+*][^)]*\)\s*[+*]/.test(F)){Y(H,K.length,"Nested unlimited quantifiers detected (e.g., (.+)+) which can cause catastrophic backtracking");continue}}return Z}};function KG($,J){let Z=J-1;while(Z>=0&&($[Z]===" "||$[Z]==="\t"))Z--;let X=Z>=0?$[Z]:"",Y="=(<>!&|?:;,{[+(~^%*/";if(!(Z<0||Y.includes(X)||/\b(?:return|typeof|void|delete|throw|new|in|of|case)\s*$/.test($.slice(Math.max(0,Z-5),Z+1))))return null;let Q=J+1,G=!1,q=!1,U=-1;while(Q<$.length){let _=$[Q];if(q)q=!1;else if(_==="\\")q=!0;else if(_==="["){if(!G)G=!0}else if(_==="]"){if(G)G=!1}else if(_==="/"&&!G){U=Q;break}else if(_===`
|
|
133
133
|
`)break;Q++}if(U<=J)return null;let W=$.slice(J+1,U),K=U+1;while(K<$.length&&/[gimsuvy]/.test($[K]))K++;if(/\\[1-9]/.test(W))return null;let H=0,V=-1,A=!1;for(let _=0;_<W.length;_++){if(W[_]==="\\"){_++;continue}if(W[_]==="["&&!A){A=!0;continue}if(W[_]==="]"&&A){A=!1;continue}if(A)continue;if(W[_]==="("&&W.slice(_+1,_+3)!=="?:"&&W.slice(_+1,_+3)!=="?="&&W.slice(_+1,_+3)!=="?!"&&W.slice(_+1,_+4)!=="?<="&&W.slice(_+1,_+4)!=="?<!"){if(V<0)V=_;H++}}if(H===0)return null;return{patternStart:J,patternEnd:K,pattern:W,capCount:H,firstCapOffset:V}}function HG($,J,Z){let X=Z;while(X<$.length&&($[X]===" "||$[X]==="\t"))X++;if($[X]==="."){let q=$.slice(X+1,X+20);if(/^test\s*\(/.test(q))return!1;if(/^exec\s*\(/.test(q))return!0}let Y=J-1;while(Y>=0&&($[Y]===" "||$[Y]==="\t"))Y--;if($[Y]==="("){let U=Y-1;while(U>=0&&($[U]===" "||$[U]==="\t"))U--;let W=$.slice(Math.max(0,U-20),U+1);if(/\.match\s*$/.test(W))return!0;if(/\.matchAll\s*$/.test(W))return!0;if(/\.exec\s*$/.test(W))return!0;if(/\.replace\s*$/.test(W))return!0;if(/\.replaceAll\s*$/.test(W))return!0;if(/\.split\s*$/.test(W))return!0;if(/\.search\s*$/.test(W))return!1;if(/\.test\s*$/.test(W))return!1}let z=$.lastIndexOf(`
|
|
134
134
|
`,J)+1,G=$.slice(z,J).trim().match(/(?:const|let|var)\s+(\w+)\s*=\s*$/);if(G){let q=G[1],U=$.slice(Z),W=new RegExp(`\\b${q}\\.exec\\s*\\(`),K=new RegExp(`\\b${q}\\.test\\s*\\(`),H=new RegExp(`\\.match(?:All)?\\s*\\(\\s*${q}\\s*\\)`),V=new RegExp(`\\.replace(?:All)?\\s*\\(\\s*${q}`),A=W.test(U),_=H.test(U),B=V.test(U),F=K.test(U);if(A||_||B)return!0;if(F)return!1;return!0}return!0}function VG($,J){let Z=J-1;while(Z>=0&&($[Z]===" "||$[Z]==="\t"))Z--;let X=Z>=0?$[Z]:"",Y="=(<>!&|?:;,{[+(~^%*/";if(!(Z<0||Y.includes(X)||/\b(?:return|typeof|void|delete|throw|new|in|of|case)\s*$/.test($.slice(Math.max(0,Z-5),Z+1))))return J+1;let Q=J+1,G=!1,q=!1;while(Q<$.length){let U=$[Q];if(q)q=!1;else if(U==="\\")q=!0;else if(U==="["){if(!G)G=!0}else if(U==="]"){if(G)G=!1}else if(U==="/"&&!G){Q++;while(Q<$.length&&/[gimsuvy]/.test($[Q]))Q++;return Q}else if(U===`
|
|
135
135
|
`)break;Q++}return J+1}function AG($,J){let Z=[],X=J.filePath,Y=0;while(Y<$.length){let z=$[Y];if(z==="/"&&$[Y+1]==="/"){while(Y<$.length&&$[Y]!==`
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import"./chunk-43fsk0jg.js";var e="pickier",u="module",t="0.1.59",r="Format, lint and more in a fraction of seconds.",s="Chris Breuer <chris@stacksjs.org>",l="MIT",p="https://github.com/pickier/pickier#readme",b={type:"git",url:"git+https://github.com/pickier/pickier.git"},c={url:"https://github.com/pickier/pickier/issues"},m=["pickier","linter","formatter","bun","fast"],o={".":{types:"./dist/src/index.d.ts",import:"./dist/src/index.js"},"./*":{import:"./dist/*"}},a="./dist/src/index.js",x="./dist/src/index.d.ts",d={pickier:"./dist/bin/cli.js"},w=["README.md","dist"],k={build:"bun --bun build.ts","build:bin":"bun --bun build.ts && bun run compile",compile:"bun build ./bin/cli.ts --compile --minify --outfile bin/pickier","compile:all":"bun run compile:linux-x64 && bun run compile:linux-arm64 && bun run compile:linux-x64-musl && bun run compile:linux-arm64-musl && bun run compile:windows-x64 && bun run compile:windows-arm64 && bun run compile:darwin-x64 && bun run compile:darwin-arm64","compile:linux-x64":"bun build ./bin/cli.ts --compile --minify --target=bun-linux-x64 --outfile bin/pickier-linux-x64","compile:linux-arm64":"bun build ./bin/cli.ts --compile --minify --target=bun-linux-arm64 --outfile bin/pickier-linux-arm64","compile:linux-x64-musl":"bun build ./bin/cli.ts --compile --minify --target=bun-linux-x64-musl --outfile bin/pickier-linux-x64-musl","compile:linux-arm64-musl":"bun build ./bin/cli.ts --compile --minify --target=bun-linux-arm64-musl --outfile bin/pickier-linux-arm64-musl","compile:windows-x64":"bun build ./bin/cli.ts --compile --minify --target=bun-windows-x64 --outfile bin/pickier-windows-x64.exe","compile:windows-arm64":"bun build ./bin/cli.ts --compile --minify --target=bun-windows-arm64 --outfile bin/pickier-windows-arm64.exe","compile:darwin-x64":"bun build ./bin/cli.ts --compile --minify --target=bun-darwin-x64 --outfile bin/pickier-darwin-x64","compile:darwin-arm64":"bun build ./bin/cli.ts --compile --minify --target=bun-darwin-arm64 --outfile bin/pickier-darwin-arm64",zip:"bun run zip:all","zip:all":"bun run zip:linux-x64 && bun run zip:linux-arm64 && bun run zip:linux-x64-musl && bun run zip:linux-arm64-musl && bun run zip:windows-x64 && bun run zip:windows-arm64 && bun run zip:darwin-x64 && bun run zip:darwin-arm64","zip:linux-x64":"zip -j bin/pickier-linux-x64.zip bin/pickier-linux-x64","zip:linux-arm64":"zip -j bin/pickier-linux-arm64.zip bin/pickier-linux-arm64","zip:linux-x64-musl":"zip -j bin/pickier-linux-x64-musl.zip bin/pickier-linux-x64-musl","zip:linux-arm64-musl":"zip -j bin/pickier-linux-arm64-musl.zip bin/pickier-linux-arm64-musl","zip:windows-x64":"zip -j bin/pickier-windows-x64.zip bin/pickier-windows-x64.exe","zip:windows-arm64":"zip -j bin/pickier-windows-arm64.zip bin/pickier-windows-arm64.exe","zip:darwin-x64":"zip -j bin/pickier-darwin-x64.zip bin/pickier-darwin-x64","zip:darwin-arm64":"zip -j bin/pickier-darwin-arm64.zip bin/pickier-darwin-arm64",prepublishOnly:"bun --bun run build && bun run compile:all && bun run zip",test:"PICKIER_NO_AUTO_CONFIG=1 bun test --coverage","test:core":"PICKIER_NO_AUTO_CONFIG=1 bun test test/core","test:format":"PICKIER_NO_AUTO_CONFIG=1 bun test test/format","test:lint":"PICKIER_NO_AUTO_CONFIG=1 bun test test/lint","test:rules":"PICKIER_NO_AUTO_CONFIG=1 bun test test/rules","test:rules:sort":"PICKIER_NO_AUTO_CONFIG=1 bun test test/rules/sort","test:rules:style":"PICKIER_NO_AUTO_CONFIG=1 bun test test/rules/style","test:rules:quality":"PICKIER_NO_AUTO_CONFIG=1 bun test test/rules/quality","test:rules:imports":"PICKIER_NO_AUTO_CONFIG=1 bun test test/rules/imports","test:rules:typescript":"PICKIER_NO_AUTO_CONFIG=1 bun test test/rules/typescript","test:rules:regexp":"PICKIER_NO_AUTO_CONFIG=1 bun test test/rules/regexp","test:plugin":"PICKIER_NO_AUTO_CONFIG=1 bun test test/plugin","test:watch":"PICKIER_NO_AUTO_CONFIG=1 bun test --watch"},I={"@stacksjs/clarity":"^0.3.24","@stacksjs/clapp":"^0.2.3"},O={"@stacksjs/ts-spell-check":"^0.1.0"},_={bunfig:"^0.15.13"},z={name:e,type:u,version:t,description:r,author:s,license:l,homepage:p,repository:b,bugs:c,keywords:m,exports:o,module:a,types:x,bin:d,files:w,scripts:k,dependencies:I,optionalDependencies:O,devDependencies:_};export{t as version,x as types,u as type,k as scripts,b as repository,O as optionalDependencies,e as name,a as module,l as license,m as keywords,p as homepage,w as files,o as exports,_ as devDependencies,r as description,I as dependencies,z as default,c as bugs,d as bin,s as author};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{E as H,k as G}from"./chunk-er69kh4d.js";import{N as K}from"./chunk-43fsk0jg.js";import{readFileSync as M,statSync as N,writeFileSync as Q}from"fs";import{isAbsolute as R,resolve as T}from"path";async function _(k,j){let B=j.mode||"auto";if(B==="format"&&k.length===1&&!/[*?[\]{}()!]/.test(k[0]))try{let q=k[0],z=R(q)?q:T(process.cwd(),q);if(N(z).isFile()){let J=await H(j.config),D=M(z,"utf8"),E=G(D,J,z);if(j.check&&E!==D)return 1;if(j.write&&E!==D)Q(z,E,"utf8");return 0}}catch{}let{runLint:x}=await import("./chunk-
|
|
2
|
+
import{E as H,k as G}from"./chunk-er69kh4d.js";import{N as K}from"./chunk-43fsk0jg.js";import{readFileSync as M,statSync as N,writeFileSync as Q}from"fs";import{isAbsolute as R,resolve as T}from"path";async function _(k,j){let B=j.mode||"auto";if(B==="format"&&k.length===1&&!/[*?[\]{}()!]/.test(k[0]))try{let q=k[0],z=R(q)?q:T(process.cwd(),q);if(N(z).isFile()){let J=await H(j.config),D=M(z,"utf8"),E=G(D,J,z);if(j.check&&E!==D)return 1;if(j.write&&E!==D)Q(z,E,"utf8");return 0}}catch{}let{runLint:x}=await import("./chunk-0wcp6yrf.js");if(B==="lint")return x(k,j);if(B==="format"){let q={...j,fix:!0,dryRun:!!j.check,ext:j.ext,_formatOnly:!0};return x(k,q)}if(!(j.fix===!0||j.write===!0||j.check===!0))return x(k,j);let I={...j,fix:!0,dryRun:!!j.check,ext:j.ext};return x(k,I)}
|
|
3
3
|
export{_ as h};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{h as a}from"./chunk-
|
|
2
|
+
import{h as a}from"./chunk-t6trprqw.js";import"./chunk-er69kh4d.js";import"./chunk-ah6h41gy.js";import"./chunk-43fsk0jg.js";export{a as runUnified};
|
package/dist/src/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{a as t,b as f,c as m,g as e}from"../chunk-
|
|
2
|
+
import{a as t,b as f,c as m,g as e}from"../chunk-6cf4pq67.js";import{h as x}from"../chunk-t6trprqw.js";import{A as F,B as G,C as H,D as I,E as J,F as K,G as M,H as N,I as Q,J as S,k as O,l as P,m as R,n as T,o as U,p as a,q as b,r as j,s as q,t as v,u as w,v as z,w as A,x as B,y as D,z as E}from"../chunk-er69kh4d.js";import{K as r,M as o}from"../chunk-ah6h41gy.js";import"../chunk-43fsk0jg.js";export{D as yellow,N as withAlwaysIgnores,S as shouldIgnorePath,m as runLintProgrammatic,e as runLint,t as runFormat,x as run,B as red,I as mergeConfig,J as loadConfigFromPath,f as lintText,M as isCodeFile,R as hasIndentIssue,A as green,F as gray,a as glob,w as getRuleSetting,T as formatImports,O as formatCode,K as expandPatterns,P as detectQuoteIssues,r as defaultConfig,b as createLimiter,Q as createIgnoreMatcher,o as config,H as colors,z as colorize,G as bold,E as blue,v as UNIVERSAL_IGNORES,U as MAX_FIXER_PASSES,j as ENV,q as ALWAYS_IGNORES};
|
|
@@ -57,12 +57,18 @@ export declare function extractIntegrityType(integrity: string): string | null;
|
|
|
57
57
|
* Expand host aliases to actual hostnames
|
|
58
58
|
*/
|
|
59
59
|
export declare function expandHostAliases(hosts: string[]): string[];
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
60
|
+
/**
|
|
61
|
+
* Registry aliases for convenience
|
|
62
|
+
* @defaultValue
|
|
63
|
+
* ```ts
|
|
64
|
+
* {
|
|
65
|
+
* npm: 'registry.npmjs.org',
|
|
66
|
+
* yarn: 'registry.yarnpkg.com',
|
|
67
|
+
* verdaccio: 'registry.verdaccio.org'
|
|
68
|
+
* }
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
71
|
+
export declare const REGISTRY_ALIASES: Record<string, string>;
|
|
66
72
|
/**
|
|
67
73
|
* Lockfile parser for npm, yarn, and bun lockfiles.
|
|
68
74
|
* Normalizes different formats into a unified structure for validation.
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pickier",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.59",
|
|
5
5
|
"description": "Format, lint and more in a fraction of seconds.",
|
|
6
6
|
"author": "Chris Breuer <chris@stacksjs.org>",
|
|
7
7
|
"license": "MIT",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
],
|
|
23
23
|
"exports": {
|
|
24
24
|
".": {
|
|
25
|
-
"types": "./dist/index.d.ts",
|
|
25
|
+
"types": "./dist/src/index.d.ts",
|
|
26
26
|
"import": "./dist/src/index.js"
|
|
27
27
|
},
|
|
28
28
|
"./*": {
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
}
|
|
31
31
|
},
|
|
32
32
|
"module": "./dist/src/index.js",
|
|
33
|
-
"types": "./dist/index.d.ts",
|
|
33
|
+
"types": "./dist/src/index.d.ts",
|
|
34
34
|
"bin": {
|
|
35
35
|
"pickier": "./dist/bin/cli.js"
|
|
36
36
|
},
|
package/dist/chunk-7wj8aa8f.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import"./chunk-43fsk0jg.js";var e="pickier",u="module",t="0.1.57",r="Format, lint and more in a fraction of seconds.",s="Chris Breuer <chris@stacksjs.org>",l="MIT",p="https://github.com/pickier/pickier#readme",b={type:"git",url:"git+https://github.com/pickier/pickier.git"},m={url:"https://github.com/pickier/pickier/issues"},c=["pickier","linter","formatter","bun","fast"],o={".":{types:"./dist/index.d.ts",import:"./dist/src/index.js"},"./*":{import:"./dist/*"}},a="./dist/src/index.js",x="./dist/index.d.ts",d={pickier:"./dist/bin/cli.js"},w=["README.md","dist"],k={build:"bun --bun build.ts","build:bin":"bun --bun build.ts && bun run compile",compile:"bun build ./bin/cli.ts --compile --minify --outfile bin/pickier","compile:all":"bun run compile:linux-x64 && bun run compile:linux-arm64 && bun run compile:linux-x64-musl && bun run compile:linux-arm64-musl && bun run compile:windows-x64 && bun run compile:windows-arm64 && bun run compile:darwin-x64 && bun run compile:darwin-arm64","compile:linux-x64":"bun build ./bin/cli.ts --compile --minify --target=bun-linux-x64 --outfile bin/pickier-linux-x64","compile:linux-arm64":"bun build ./bin/cli.ts --compile --minify --target=bun-linux-arm64 --outfile bin/pickier-linux-arm64","compile:linux-x64-musl":"bun build ./bin/cli.ts --compile --minify --target=bun-linux-x64-musl --outfile bin/pickier-linux-x64-musl","compile:linux-arm64-musl":"bun build ./bin/cli.ts --compile --minify --target=bun-linux-arm64-musl --outfile bin/pickier-linux-arm64-musl","compile:windows-x64":"bun build ./bin/cli.ts --compile --minify --target=bun-windows-x64 --outfile bin/pickier-windows-x64.exe","compile:windows-arm64":"bun build ./bin/cli.ts --compile --minify --target=bun-windows-arm64 --outfile bin/pickier-windows-arm64.exe","compile:darwin-x64":"bun build ./bin/cli.ts --compile --minify --target=bun-darwin-x64 --outfile bin/pickier-darwin-x64","compile:darwin-arm64":"bun build ./bin/cli.ts --compile --minify --target=bun-darwin-arm64 --outfile bin/pickier-darwin-arm64",zip:"bun run zip:all","zip:all":"bun run zip:linux-x64 && bun run zip:linux-arm64 && bun run zip:linux-x64-musl && bun run zip:linux-arm64-musl && bun run zip:windows-x64 && bun run zip:windows-arm64 && bun run zip:darwin-x64 && bun run zip:darwin-arm64","zip:linux-x64":"zip -j bin/pickier-linux-x64.zip bin/pickier-linux-x64","zip:linux-arm64":"zip -j bin/pickier-linux-arm64.zip bin/pickier-linux-arm64","zip:linux-x64-musl":"zip -j bin/pickier-linux-x64-musl.zip bin/pickier-linux-x64-musl","zip:linux-arm64-musl":"zip -j bin/pickier-linux-arm64-musl.zip bin/pickier-linux-arm64-musl","zip:windows-x64":"zip -j bin/pickier-windows-x64.zip bin/pickier-windows-x64.exe","zip:windows-arm64":"zip -j bin/pickier-windows-arm64.zip bin/pickier-windows-arm64.exe","zip:darwin-x64":"zip -j bin/pickier-darwin-x64.zip bin/pickier-darwin-x64","zip:darwin-arm64":"zip -j bin/pickier-darwin-arm64.zip bin/pickier-darwin-arm64",prepublishOnly:"bun --bun run build && bun run compile:all && bun run zip",test:"PICKIER_NO_AUTO_CONFIG=1 bun test --coverage","test:core":"PICKIER_NO_AUTO_CONFIG=1 bun test test/core","test:format":"PICKIER_NO_AUTO_CONFIG=1 bun test test/format","test:lint":"PICKIER_NO_AUTO_CONFIG=1 bun test test/lint","test:rules":"PICKIER_NO_AUTO_CONFIG=1 bun test test/rules","test:rules:sort":"PICKIER_NO_AUTO_CONFIG=1 bun test test/rules/sort","test:rules:style":"PICKIER_NO_AUTO_CONFIG=1 bun test test/rules/style","test:rules:quality":"PICKIER_NO_AUTO_CONFIG=1 bun test test/rules/quality","test:rules:imports":"PICKIER_NO_AUTO_CONFIG=1 bun test test/rules/imports","test:rules:typescript":"PICKIER_NO_AUTO_CONFIG=1 bun test test/rules/typescript","test:rules:regexp":"PICKIER_NO_AUTO_CONFIG=1 bun test test/rules/regexp","test:plugin":"PICKIER_NO_AUTO_CONFIG=1 bun test test/plugin","test:watch":"PICKIER_NO_AUTO_CONFIG=1 bun test --watch"},I={"@stacksjs/clarity":"^0.3.24","@stacksjs/clapp":"^0.2.3"},O={"@stacksjs/ts-spell-check":"^0.1.0"},_={bunfig:"^0.15.13"},z={name:e,type:u,version:t,description:r,author:s,license:l,homepage:p,repository:b,bugs:m,keywords:c,exports:o,module:a,types:x,bin:d,files:w,scripts:k,dependencies:I,optionalDependencies:O,devDependencies:_};export{t as version,x as types,u as type,k as scripts,b as repository,O as optionalDependencies,e as name,a as module,l as license,c as keywords,p as homepage,w as files,o as exports,_ as devDependencies,r as description,I as dependencies,z as default,m as bugs,d as bin,s as author};
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|