create-docusaurus 0.0.0-4377 → 0.0.0-4384
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/package.json +3 -3
- package/templates/classic/package.json +3 -3
- package/templates/classic-typescript/package.json +4 -4
- package/templates/facebook/node_modules/@stylelint/postcss-css-in-js/CHANGELOG.md +18 -0
- package/templates/facebook/node_modules/@stylelint/postcss-css-in-js/LICENSE +21 -0
- package/templates/facebook/node_modules/@stylelint/postcss-css-in-js/README.md +91 -0
- package/templates/facebook/node_modules/@stylelint/postcss-css-in-js/camel-case.js +13 -0
- package/templates/facebook/node_modules/@stylelint/postcss-css-in-js/extract.js +462 -0
- package/templates/facebook/node_modules/@stylelint/postcss-css-in-js/get-template.js +7 -0
- package/templates/facebook/node_modules/@stylelint/postcss-css-in-js/index.js +6 -0
- package/templates/facebook/node_modules/@stylelint/postcss-css-in-js/literal.js +23 -0
- package/templates/facebook/node_modules/@stylelint/postcss-css-in-js/object-parse.js +15 -0
- package/templates/facebook/node_modules/@stylelint/postcss-css-in-js/object-parser.js +357 -0
- package/templates/facebook/node_modules/@stylelint/postcss-css-in-js/object-stringifier.js +153 -0
- package/templates/facebook/node_modules/@stylelint/postcss-css-in-js/object-stringify.js +9 -0
- package/templates/facebook/node_modules/@stylelint/postcss-css-in-js/object-syntax.js +11 -0
- package/templates/facebook/node_modules/@stylelint/postcss-css-in-js/object.js +24 -0
- package/templates/facebook/node_modules/@stylelint/postcss-css-in-js/package.json +119 -0
- package/templates/facebook/node_modules/@stylelint/postcss-css-in-js/template-parse.js +19 -0
- package/templates/facebook/node_modules/@stylelint/postcss-css-in-js/template-parser-helper.js +260 -0
- package/templates/facebook/node_modules/@stylelint/postcss-css-in-js/template-parser.js +20 -0
- package/templates/facebook/node_modules/@stylelint/postcss-css-in-js/template-safe-parse.js +19 -0
- package/templates/facebook/node_modules/@stylelint/postcss-css-in-js/template-safe-parser.js +21 -0
- package/templates/facebook/node_modules/@stylelint/postcss-css-in-js/template-stringifier.js +23 -0
- package/templates/facebook/node_modules/@stylelint/postcss-css-in-js/template-stringify.js +9 -0
- package/templates/facebook/node_modules/@stylelint/postcss-css-in-js/template-tokenize.js +67 -0
- package/templates/facebook/node_modules/@stylelint/postcss-css-in-js/un-camel-case.js +13 -0
- package/templates/facebook/node_modules/@stylelint/postcss-markdown/CHANGELOG.md +13 -0
- package/templates/facebook/node_modules/@stylelint/postcss-markdown/LICENSE +21 -0
- package/templates/facebook/node_modules/@stylelint/postcss-markdown/README.md +92 -0
- package/templates/facebook/node_modules/@stylelint/postcss-markdown/extract.js +42 -0
- package/templates/facebook/node_modules/@stylelint/postcss-markdown/index.js +5 -0
- package/templates/facebook/node_modules/@stylelint/postcss-markdown/package.json +63 -0
- package/templates/facebook/node_modules/autoprefixer/LICENSE +20 -0
- package/templates/facebook/node_modules/autoprefixer/README.md +73 -0
- package/templates/facebook/node_modules/autoprefixer/bin/autoprefixer +22 -0
- package/templates/facebook/node_modules/autoprefixer/data/prefixes.js +714 -0
- package/templates/facebook/node_modules/autoprefixer/lib/at-rule.js +62 -0
- package/templates/facebook/node_modules/autoprefixer/lib/autoprefixer.js +150 -0
- package/templates/facebook/node_modules/autoprefixer/lib/brackets.js +64 -0
- package/templates/facebook/node_modules/autoprefixer/lib/browsers.js +96 -0
- package/templates/facebook/node_modules/autoprefixer/lib/declaration.js +243 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/align-content.js +79 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/align-items.js +76 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/align-self.js +84 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/animation.js +35 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/appearance.js +39 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/backdrop-filter.js +35 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/background-clip.js +41 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/background-size.js +38 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/block-logical.js +48 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/border-image.js +33 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/border-radius.js +62 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/break-props.js +76 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/color-adjust.js +40 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/cross-fade.js +54 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/display-flex.js +94 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/display-grid.js +41 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/filter-value.js +31 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/filter.js +33 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/flex-basis.js +72 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/flex-direction.js +108 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/flex-flow.js +81 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/flex-grow.js +57 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/flex-shrink.js +72 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/flex-spec.js +22 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/flex-wrap.js +40 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/flex.js +85 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/fullscreen.js +40 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/gradient.js +519 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/grid-area.js +52 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/grid-column-align.js +48 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/grid-end.js +62 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/grid-row-align.js +48 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/grid-row-column.js +52 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/grid-rows-columns.js +149 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/grid-start.js +55 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/grid-template-areas.js +101 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/grid-template.js +90 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/grid-utils.js +1123 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/image-rendering.js +71 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/image-set.js +38 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/inline-logical.js +40 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/intrinsic.js +74 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/justify-content.js +85 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/mask-border.js +46 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/mask-composite.js +104 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/order.js +72 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/overscroll-behavior.js +54 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/pixelated.js +58 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/place-self.js +55 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/placeholder-shown.js +36 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/placeholder.js +56 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/text-decoration-skip-ink.js +38 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/text-decoration.js +36 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/text-emphasis-position.js +33 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/transform-decl.js +105 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/user-select.js +36 -0
- package/templates/facebook/node_modules/autoprefixer/lib/hacks/writing-mode.js +59 -0
- package/templates/facebook/node_modules/autoprefixer/lib/info.js +149 -0
- package/templates/facebook/node_modules/autoprefixer/lib/old-selector.js +88 -0
- package/templates/facebook/node_modules/autoprefixer/lib/old-value.js +30 -0
- package/templates/facebook/node_modules/autoprefixer/lib/prefixer.js +167 -0
- package/templates/facebook/node_modules/autoprefixer/lib/prefixes.js +471 -0
- package/templates/facebook/node_modules/autoprefixer/lib/processor.js +703 -0
- package/templates/facebook/node_modules/autoprefixer/lib/resolution.js +125 -0
- package/templates/facebook/node_modules/autoprefixer/lib/selector.js +198 -0
- package/templates/facebook/node_modules/autoprefixer/lib/supports.js +346 -0
- package/templates/facebook/node_modules/autoprefixer/lib/transition.js +411 -0
- package/templates/facebook/node_modules/autoprefixer/lib/utils.js +103 -0
- package/templates/facebook/node_modules/autoprefixer/lib/value.js +164 -0
- package/templates/facebook/node_modules/autoprefixer/package.json +30 -0
- package/templates/facebook/node_modules/hosted-git-info/CHANGELOG.md +185 -0
- package/templates/facebook/node_modules/hosted-git-info/LICENSE +13 -0
- package/templates/facebook/node_modules/hosted-git-info/README.md +133 -0
- package/templates/facebook/node_modules/hosted-git-info/git-host-info.js +154 -0
- package/templates/facebook/node_modules/hosted-git-info/git-host.js +110 -0
- package/templates/facebook/node_modules/hosted-git-info/index.js +237 -0
- package/templates/facebook/node_modules/hosted-git-info/package.json +52 -0
- package/templates/facebook/node_modules/known-css-properties/LICENSE +21 -0
- package/templates/facebook/node_modules/known-css-properties/README.md +48 -0
- package/templates/facebook/node_modules/known-css-properties/data/all.json +1144 -0
- package/templates/facebook/node_modules/known-css-properties/index.js +1 -0
- package/templates/facebook/node_modules/known-css-properties/package.json +56 -0
- package/templates/facebook/node_modules/lru-cache/LICENSE +15 -0
- package/templates/facebook/node_modules/lru-cache/README.md +166 -0
- package/templates/facebook/node_modules/lru-cache/index.js +334 -0
- package/templates/facebook/node_modules/lru-cache/package.json +34 -0
- package/templates/facebook/node_modules/meow/index.d.ts +315 -0
- package/templates/facebook/node_modules/meow/index.js +236 -0
- package/templates/facebook/node_modules/meow/license +9 -0
- package/templates/facebook/node_modules/meow/package.json +77 -0
- package/templates/facebook/node_modules/meow/readme.md +352 -0
- package/templates/facebook/node_modules/normalize-package-data/AUTHORS +4 -0
- package/templates/facebook/node_modules/normalize-package-data/LICENSE +15 -0
- package/templates/facebook/node_modules/normalize-package-data/README.md +108 -0
- package/templates/facebook/node_modules/normalize-package-data/lib/extract_description.js +22 -0
- package/templates/facebook/node_modules/normalize-package-data/lib/fixer.js +474 -0
- package/templates/facebook/node_modules/normalize-package-data/lib/make_warning.js +22 -0
- package/templates/facebook/node_modules/normalize-package-data/lib/normalize.js +48 -0
- package/templates/facebook/node_modules/normalize-package-data/lib/safe_format.js +11 -0
- package/templates/facebook/node_modules/normalize-package-data/lib/typos.json +25 -0
- package/templates/facebook/node_modules/normalize-package-data/lib/warning_messages.json +30 -0
- package/templates/facebook/node_modules/normalize-package-data/package.json +41 -0
- package/templates/facebook/node_modules/picocolors/LICENSE +15 -0
- package/templates/facebook/node_modules/picocolors/README.md +23 -0
- package/templates/facebook/node_modules/picocolors/package.json +25 -0
- package/templates/facebook/node_modules/picocolors/picocolors.browser.js +4 -0
- package/templates/facebook/node_modules/picocolors/picocolors.d.ts +5 -0
- package/templates/facebook/node_modules/picocolors/picocolors.js +60 -0
- package/templates/facebook/node_modules/picocolors/types.ts +30 -0
- package/templates/facebook/node_modules/postcss/LICENSE +20 -0
- package/templates/facebook/node_modules/postcss/README.md +43 -0
- package/templates/facebook/node_modules/postcss/lib/at-rule.js +127 -0
- package/templates/facebook/node_modules/postcss/lib/comment.js +55 -0
- package/templates/facebook/node_modules/postcss/lib/container.js +774 -0
- package/templates/facebook/node_modules/postcss/lib/css-syntax-error.js +296 -0
- package/templates/facebook/node_modules/postcss/lib/declaration.js +96 -0
- package/templates/facebook/node_modules/postcss/lib/input.js +214 -0
- package/templates/facebook/node_modules/postcss/lib/lazy-result.js +437 -0
- package/templates/facebook/node_modules/postcss/lib/list.js +93 -0
- package/templates/facebook/node_modules/postcss/lib/map-generator.js +347 -0
- package/templates/facebook/node_modules/postcss/lib/node.js +606 -0
- package/templates/facebook/node_modules/postcss/lib/parse.js +40 -0
- package/templates/facebook/node_modules/postcss/lib/parser.js +609 -0
- package/templates/facebook/node_modules/postcss/lib/postcss.d.ts +1283 -0
- package/templates/facebook/node_modules/postcss/lib/postcss.js +285 -0
- package/templates/facebook/node_modules/postcss/lib/previous-map.js +172 -0
- package/templates/facebook/node_modules/postcss/lib/processor.js +264 -0
- package/templates/facebook/node_modules/postcss/lib/result.js +213 -0
- package/templates/facebook/node_modules/postcss/lib/root.js +122 -0
- package/templates/facebook/node_modules/postcss/lib/rule.js +116 -0
- package/templates/facebook/node_modules/postcss/lib/stringifier.js +362 -0
- package/templates/facebook/node_modules/postcss/lib/stringify.js +18 -0
- package/templates/facebook/node_modules/postcss/lib/terminal-highlight.js +84 -0
- package/templates/facebook/node_modules/postcss/lib/tokenize.js +295 -0
- package/templates/facebook/node_modules/postcss/lib/vendor.js +53 -0
- package/templates/facebook/node_modules/postcss/lib/warn-once.js +17 -0
- package/templates/facebook/node_modules/postcss/lib/warning.js +131 -0
- package/templates/facebook/node_modules/postcss/package.json +37 -0
- package/templates/facebook/node_modules/postcss-html/LICENSE +21 -0
- package/templates/facebook/node_modules/postcss-html/README.md +78 -0
- package/templates/facebook/node_modules/postcss-html/extract.js +122 -0
- package/templates/facebook/node_modules/postcss-html/index.js +5 -0
- package/templates/facebook/node_modules/postcss-html/package.json +63 -0
- package/templates/facebook/node_modules/postcss-html/template-parse.js +14 -0
- package/templates/facebook/node_modules/postcss-html/template-parser.js +9 -0
- package/templates/facebook/node_modules/postcss-html/template-safe-parse.js +14 -0
- package/templates/facebook/node_modules/postcss-html/template-safe-parser.js +9 -0
- package/templates/facebook/node_modules/postcss-html/template-tokenize.js +49 -0
- package/templates/facebook/node_modules/postcss-safe-parser/CHANGELOG.md +51 -0
- package/templates/facebook/node_modules/postcss-safe-parser/LICENSE +20 -0
- package/templates/facebook/node_modules/postcss-safe-parser/README.md +33 -0
- package/templates/facebook/node_modules/postcss-safe-parser/lib/safe-parse.js +13 -0
- package/templates/facebook/node_modules/postcss-safe-parser/lib/safe-parser.js +115 -0
- package/templates/facebook/node_modules/postcss-safe-parser/package.json +102 -0
- package/templates/facebook/node_modules/postcss-syntax/LICENSE +21 -0
- package/templates/facebook/node_modules/postcss-syntax/README.md +85 -0
- package/templates/facebook/node_modules/postcss-syntax/document.js +41 -0
- package/templates/facebook/node_modules/postcss-syntax/get-lang.js +111 -0
- package/templates/facebook/node_modules/postcss-syntax/get-syntax.js +63 -0
- package/templates/facebook/node_modules/postcss-syntax/index.js +26 -0
- package/templates/facebook/node_modules/postcss-syntax/load-syntax.js +23 -0
- package/templates/facebook/node_modules/postcss-syntax/normal-opts.js +11 -0
- package/templates/facebook/node_modules/postcss-syntax/package.json +102 -0
- package/templates/facebook/node_modules/postcss-syntax/parse-style.js +127 -0
- package/templates/facebook/node_modules/postcss-syntax/parse.js +34 -0
- package/templates/facebook/node_modules/postcss-syntax/parser.js +18 -0
- package/templates/facebook/node_modules/postcss-syntax/patch-postcss.js +77 -0
- package/templates/facebook/node_modules/postcss-syntax/processor.js +29 -0
- package/templates/facebook/node_modules/postcss-syntax/stringify.js +20 -0
- package/templates/facebook/node_modules/postcss-syntax/syntax.js +37 -0
- package/templates/facebook/node_modules/remark/index.js +7 -0
- package/templates/facebook/node_modules/remark/package.json +46 -0
- package/templates/facebook/node_modules/remark/readme.md +260 -0
- package/templates/facebook/node_modules/remark/types/index.d.ts +19 -0
- package/templates/facebook/node_modules/remark-parse/index.js +24 -0
- package/templates/facebook/node_modules/remark-parse/package.json +46 -0
- package/templates/facebook/node_modules/remark-parse/readme.md +197 -0
- package/templates/facebook/node_modules/remark-parse/types/index.d.ts +14 -0
- package/templates/facebook/node_modules/remark-stringify/index.js +23 -0
- package/templates/facebook/node_modules/remark-stringify/license +22 -0
- package/templates/facebook/node_modules/remark-stringify/package.json +46 -0
- package/templates/facebook/node_modules/remark-stringify/readme.md +217 -0
- package/templates/facebook/node_modules/remark-stringify/types/index.d.ts +14 -0
- package/templates/facebook/node_modules/stylelint/CHANGELOG.md +1701 -0
- package/templates/facebook/node_modules/stylelint/CONTRIBUTING.md +81 -0
- package/templates/facebook/node_modules/stylelint/LICENSE +20 -0
- package/templates/facebook/node_modules/stylelint/README.md +48 -0
- package/templates/facebook/node_modules/stylelint/bin/stylelint.js +8 -0
- package/templates/facebook/node_modules/stylelint/docs/about/linting.md +34 -0
- package/templates/facebook/node_modules/stylelint/docs/about/semantic-versioning.md +37 -0
- package/templates/facebook/node_modules/stylelint/docs/about/syntaxes.md +18 -0
- package/templates/facebook/node_modules/stylelint/docs/about/vision.md +63 -0
- package/templates/facebook/node_modules/stylelint/docs/developer-guide/formatters.md +77 -0
- package/templates/facebook/node_modules/stylelint/docs/developer-guide/plugins.md +324 -0
- package/templates/facebook/node_modules/stylelint/docs/developer-guide/processors.md +28 -0
- package/templates/facebook/node_modules/stylelint/docs/developer-guide/rules.md +244 -0
- package/templates/facebook/node_modules/stylelint/docs/developer-guide/syntaxes.md +35 -0
- package/templates/facebook/node_modules/stylelint/docs/developer-guide/system-tests.md +23 -0
- package/templates/facebook/node_modules/stylelint/docs/maintainer-guide/issues.md +94 -0
- package/templates/facebook/node_modules/stylelint/docs/maintainer-guide/pull-requests.md +33 -0
- package/templates/facebook/node_modules/stylelint/docs/maintainer-guide/releases.md +47 -0
- package/templates/facebook/node_modules/stylelint/docs/toc.md +37 -0
- package/templates/facebook/node_modules/stylelint/docs/user-guide/configure.md +420 -0
- package/templates/facebook/node_modules/stylelint/docs/user-guide/errors.md +29 -0
- package/templates/facebook/node_modules/stylelint/docs/user-guide/get-started.md +55 -0
- package/templates/facebook/node_modules/stylelint/docs/user-guide/ignore-code.md +88 -0
- package/templates/facebook/node_modules/stylelint/docs/user-guide/integrations/editor.md +12 -0
- package/templates/facebook/node_modules/stylelint/docs/user-guide/integrations/other.md +19 -0
- package/templates/facebook/node_modules/stylelint/docs/user-guide/integrations/task-runner.md +10 -0
- package/templates/facebook/node_modules/stylelint/docs/user-guide/rules/about.md +203 -0
- package/templates/facebook/node_modules/stylelint/docs/user-guide/rules/combine.md +360 -0
- package/templates/facebook/node_modules/stylelint/docs/user-guide/rules/list.md +399 -0
- package/templates/facebook/node_modules/stylelint/docs/user-guide/rules/regex.md +29 -0
- package/templates/facebook/node_modules/stylelint/docs/user-guide/usage/cli.md +195 -0
- package/templates/facebook/node_modules/stylelint/docs/user-guide/usage/node-api.md +169 -0
- package/templates/facebook/node_modules/stylelint/docs/user-guide/usage/options.md +208 -0
- package/templates/facebook/node_modules/stylelint/docs/user-guide/usage/postcss-plugin.md +84 -0
- package/templates/facebook/node_modules/stylelint/lib/assignDisabledRanges.js +407 -0
- package/templates/facebook/node_modules/stylelint/lib/augmentConfig.js +359 -0
- package/templates/facebook/node_modules/stylelint/lib/cli.js +544 -0
- package/templates/facebook/node_modules/stylelint/lib/createPartialStylelintResult.js +103 -0
- package/templates/facebook/node_modules/stylelint/lib/createPlugin.js +15 -0
- package/templates/facebook/node_modules/stylelint/lib/createStylelint.js +88 -0
- package/templates/facebook/node_modules/stylelint/lib/createStylelintResult.js +39 -0
- package/templates/facebook/node_modules/stylelint/lib/descriptionlessDisables.js +62 -0
- package/templates/facebook/node_modules/stylelint/lib/formatters/compactFormatter.js +20 -0
- package/templates/facebook/node_modules/stylelint/lib/formatters/index.js +12 -0
- package/templates/facebook/node_modules/stylelint/lib/formatters/jsonFormatter.js +20 -0
- package/templates/facebook/node_modules/stylelint/lib/formatters/stringFormatter.js +225 -0
- package/templates/facebook/node_modules/stylelint/lib/formatters/tapFormatter.js +39 -0
- package/templates/facebook/node_modules/stylelint/lib/formatters/unixFormatter.js +26 -0
- package/templates/facebook/node_modules/stylelint/lib/formatters/verboseFormatter.js +61 -0
- package/templates/facebook/node_modules/stylelint/lib/getConfigForFile.js +61 -0
- package/templates/facebook/node_modules/stylelint/lib/getPostcssResult.js +182 -0
- package/templates/facebook/node_modules/stylelint/lib/index.js +33 -0
- package/templates/facebook/node_modules/stylelint/lib/invalidScopeDisables.js +50 -0
- package/templates/facebook/node_modules/stylelint/lib/isPathIgnored.js +48 -0
- package/templates/facebook/node_modules/stylelint/lib/lintPostcssResult.js +134 -0
- package/templates/facebook/node_modules/stylelint/lib/lintSource.js +133 -0
- package/templates/facebook/node_modules/stylelint/lib/needlessDisables.js +110 -0
- package/templates/facebook/node_modules/stylelint/lib/normalizeAllRuleSettings.js +41 -0
- package/templates/facebook/node_modules/stylelint/lib/normalizeRuleSettings.js +74 -0
- package/templates/facebook/node_modules/stylelint/lib/postcssPlugin.js +25 -0
- package/templates/facebook/node_modules/stylelint/lib/prepareReturnValue.js +59 -0
- package/templates/facebook/node_modules/stylelint/lib/printConfig.js +58 -0
- package/templates/facebook/node_modules/stylelint/lib/reference/keywordSets.js +690 -0
- package/templates/facebook/node_modules/stylelint/lib/reference/mathFunctions.js +3 -0
- package/templates/facebook/node_modules/stylelint/lib/reference/namedColorData.js +152 -0
- package/templates/facebook/node_modules/stylelint/lib/reference/propertySets.js +18 -0
- package/templates/facebook/node_modules/stylelint/lib/reference/punctuationSets.js +9 -0
- package/templates/facebook/node_modules/stylelint/lib/reference/shorthandData.js +143 -0
- package/templates/facebook/node_modules/stylelint/lib/reportDisables.js +62 -0
- package/templates/facebook/node_modules/stylelint/lib/reportUnknownRuleNames.js +76 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/alpha-value-notation/README.md +110 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/alpha-value-notation/index.js +160 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/at-rule-allowed-list/README.md +65 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/at-rule-allowed-list/index.js +57 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/at-rule-blacklist/README.md +52 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/at-rule-blacklist/index.js +64 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/at-rule-disallowed-list/README.md +50 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/at-rule-disallowed-list/index.js +57 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/at-rule-empty-line-before/README.md +421 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/at-rule-empty-line-before/index.js +161 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/at-rule-name-case/README.md +110 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/at-rule-name-case/index.js +58 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/at-rule-name-newline-after/README.md +108 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/at-rule-name-newline-after/index.js +40 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/at-rule-name-space-after/README.md +117 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/at-rule-name-space-after/index.js +45 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/at-rule-no-unknown/README.md +74 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/at-rule-no-unknown/index.js +67 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/at-rule-no-vendor-prefix/README.md +40 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/at-rule-no-vendor-prefix/index.js +58 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/at-rule-property-required-list/README.md +53 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/at-rule-property-required-list/index.js +65 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/at-rule-property-requirelist/README.md +55 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/at-rule-property-requirelist/index.js +74 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/at-rule-semicolon-newline-after/README.md +63 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/at-rule-semicolon-newline-after/index.js +78 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/at-rule-semicolon-space-before/README.md +50 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/at-rule-semicolon-space-before/index.js +63 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/at-rule-whitelist/README.md +67 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/at-rule-whitelist/index.js +64 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/atRuleNameSpaceChecker.js +43 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/block-closing-brace-empty-line-before/README.md +238 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/block-closing-brace-empty-line-before/index.js +118 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/block-closing-brace-newline-after/README.md +196 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/block-closing-brace-newline-after/index.js +137 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/block-closing-brace-newline-before/README.md +93 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/block-closing-brace-newline-before/index.js +117 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/block-closing-brace-space-after/README.md +179 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/block-closing-brace-space-after/index.js +88 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/block-closing-brace-space-before/README.md +174 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/block-closing-brace-space-before/index.js +96 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/block-no-empty/README.md +75 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/block-no-empty/index.js +83 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/block-opening-brace-newline-after/README.md +125 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/block-opening-brace-newline-after/index.js +145 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/block-opening-brace-newline-before/README.md +176 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/block-opening-brace-newline-before/index.js +107 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/block-opening-brace-space-after/README.md +174 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/block-opening-brace-space-after/index.js +88 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/block-opening-brace-space-before/README.md +218 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/block-opening-brace-space-before/index.js +124 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/color-function-notation/README.md +116 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/color-function-notation/index.js +108 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/color-hex-case/README.md +58 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/color-hex-case/index.js +82 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/color-hex-length/README.md +73 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/color-hex-length/index.js +120 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/color-named/README.md +176 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/color-named/generateColorFuncs.js +198 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/color-named/index.js +169 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/color-no-hex/README.md +60 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/color-no-hex/index.js +60 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/color-no-invalid-hex/README.md +55 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/color-no-invalid-hex/index.js +54 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/comment-empty-line-before/README.md +195 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/comment-empty-line-before/index.js +126 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/comment-no-empty/README.md +51 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/comment-no-empty/index.js +46 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/comment-pattern/README.md +38 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/comment-pattern/index.js +48 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/comment-whitespace-inside/README.md +99 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/comment-whitespace-inside/index.js +117 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/comment-word-blacklist/README.md +50 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/comment-word-blacklist/index.js +66 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/comment-word-disallowed-list/README.md +48 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/comment-word-disallowed-list/index.js +59 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/custom-media-pattern/README.md +36 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/custom-media-pattern/index.js +54 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/custom-property-empty-line-before/README.md +272 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/custom-property-empty-line-before/index.js +129 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/custom-property-pattern/README.md +36 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/custom-property-pattern/index.js +53 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-bang-space-after/README.md +72 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-bang-space-after/index.js +82 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-bang-space-before/README.md +67 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-bang-space-before/index.js +83 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-block-no-duplicate-custom-properties/README.md +40 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-block-no-duplicate-custom-properties/index.js +61 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-block-no-duplicate-properties/README.md +143 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-block-no-duplicate-properties/index.js +121 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-block-no-redundant-longhand-properties/README.md +197 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-block-no-redundant-longhand-properties/index.js +99 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-block-no-shorthand-property-overrides/README.md +69 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-block-no-shorthand-property-overrides/index.js +61 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-block-semicolon-newline-after/README.md +141 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-block-semicolon-newline-after/index.js +95 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-block-semicolon-newline-before/README.md +120 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-block-semicolon-newline-before/index.js +62 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-block-semicolon-space-after/README.md +147 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-block-semicolon-space-after/index.js +84 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-block-semicolon-space-before/README.md +130 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-block-semicolon-space-before/index.js +91 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-block-single-line-max-declarations/README.md +50 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-block-single-line-max-declarations/index.js +58 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-block-trailing-semicolon/README.md +108 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-block-trailing-semicolon/index.js +123 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-colon-newline-after/README.md +78 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-colon-newline-after/index.js +90 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-colon-space-after/README.md +111 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-colon-space-after/index.js +63 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-colon-space-before/README.md +72 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-colon-space-before/index.js +62 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-empty-line-before/README.md +322 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-empty-line-before/index.js +139 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-no-important/README.md +40 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-no-important/index.js +41 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-property-unit-allowed-list/README.md +119 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-property-unit-allowed-list/index.js +94 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-property-unit-blacklist/README.md +76 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-property-unit-blacklist/index.js +86 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-property-unit-disallowed-list/README.md +74 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-property-unit-disallowed-list/index.js +76 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-property-unit-whitelist/README.md +87 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-property-unit-whitelist/index.js +86 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-property-value-allowed-list/README.md +86 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-property-value-allowed-list/index.js +58 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-property-value-blacklist/README.md +107 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-property-value-blacklist/index.js +68 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-property-value-disallowed-list/README.md +105 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-property-value-disallowed-list/index.js +58 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-property-value-whitelist/README.md +98 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declaration-property-value-whitelist/index.js +68 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declarationBangSpaceChecker.js +43 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/declarationColonSpaceChecker.js +48 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/findMediaOperator.js +24 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/font-family-name-quotes/README.md +163 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/font-family-name-quotes/index.js +147 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/font-family-no-duplicate-names/README.md +76 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/font-family-no-duplicate-names/index.js +103 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/font-family-no-missing-generic-family-keyword/README.md +89 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/font-family-no-missing-generic-family-keyword/index.js +97 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/font-weight-notation/README.md +94 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/font-weight-notation/index.js +154 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/function-allowed-list/README.md +73 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/function-allowed-list/index.js +66 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/function-blacklist/README.md +54 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/function-blacklist/index.js +71 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/function-calc-no-invalid/README.md +96 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/function-calc-no-invalid/index.js +259 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/function-calc-no-unspaced-operator/README.md +56 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/function-calc-no-unspaced-operator/index.js +138 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/function-comma-newline-after/README.md +113 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/function-comma-newline-after/index.js +55 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/function-comma-newline-before/README.md +129 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/function-comma-newline-before/index.js +55 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/function-comma-space-after/README.md +144 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/function-comma-space-after/index.js +56 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/function-comma-space-before/README.md +144 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/function-comma-space-before/index.js +56 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/function-disallowed-list/README.md +52 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/function-disallowed-list/index.js +64 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/function-linear-gradient-no-nonstandard-direction/README.md +77 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/function-linear-gradient-no-nonstandard-direction/index.js +110 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/function-max-empty-lines/README.md +78 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/function-max-empty-lines/index.js +101 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/function-name-case/README.md +181 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/function-name-case/index.js +111 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/function-parentheses-newline-inside/README.md +144 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/function-parentheses-newline-inside/index.js +247 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/function-parentheses-space-inside/README.md +140 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/function-parentheses-space-inside/index.js +165 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/function-url-no-scheme-relative/README.md +50 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/function-url-no-scheme-relative/index.js +48 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/function-url-quotes/README.md +120 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/function-url-quotes/index.js +113 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/function-url-scheme-allowed-list/README.md +76 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/function-url-scheme-allowed-list/index.js +66 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/function-url-scheme-blacklist/README.md +73 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/function-url-scheme-blacklist/index.js +76 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/function-url-scheme-disallowed-list/README.md +71 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/function-url-scheme-disallowed-list/index.js +66 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/function-url-scheme-whitelist/README.md +78 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/function-url-scheme-whitelist/index.js +76 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/function-whitelist/README.md +75 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/function-whitelist/index.js +73 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/function-whitespace-after/README.md +80 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/function-whitespace-after/index.js +167 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/functionCommaSpaceChecker.js +109 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/functionCommaSpaceFix.js +34 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/hue-degree-notation/README.md +74 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/hue-degree-notation/index.js +122 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/indentation/README.md +338 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/indentation/index.js +615 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/index.js +401 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/keyframe-declaration-no-important/README.md +52 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/keyframe-declaration-no-important/index.js +43 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/keyframes-name-pattern/README.md +46 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/keyframes-name-pattern/index.js +51 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/length-zero-no-unit/README.md +69 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/length-zero-no-unit/index.js +163 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/linebreaks/README.md +21 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/linebreaks/index.js +102 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/max-empty-lines/README.md +116 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/max-empty-lines/index.js +209 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/max-line-length/README.md +151 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/max-line-length/index.js +183 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/max-nesting-depth/README.md +355 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/max-nesting-depth/index.js +114 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/media-feature-colon-space-after/README.md +72 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/media-feature-colon-space-after/index.js +82 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/media-feature-colon-space-before/README.md +72 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/media-feature-colon-space-before/index.js +82 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/media-feature-name-allowed-list/README.md +64 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/media-feature-name-allowed-list/index.js +76 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/media-feature-name-blacklist/README.md +66 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/media-feature-name-blacklist/index.js +86 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/media-feature-name-case/README.md +108 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/media-feature-name-case/index.js +96 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/media-feature-name-disallowed-list/README.md +64 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/media-feature-name-disallowed-list/index.js +76 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/media-feature-name-no-unknown/README.md +94 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/media-feature-name-no-unknown/index.js +88 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/media-feature-name-no-vendor-prefix/README.md +47 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/media-feature-name-no-vendor-prefix/index.js +58 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/media-feature-name-value-allowed-list/README.md +84 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/media-feature-name-value-allowed-list/index.js +89 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/media-feature-name-value-whitelist/README.md +86 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/media-feature-name-value-whitelist/index.js +99 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/media-feature-name-whitelist/README.md +66 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/media-feature-name-whitelist/index.js +86 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/media-feature-parentheses-space-inside/README.md +62 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/media-feature-parentheses-space-inside/index.js +106 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/media-feature-range-operator-space-after/README.md +72 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/media-feature-range-operator-space-after/index.js +92 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/media-feature-range-operator-space-before/README.md +72 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/media-feature-range-operator-space-before/index.js +92 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/media-query-list-comma-newline-after/README.md +113 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/media-query-list-comma-newline-after/index.js +88 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/media-query-list-comma-newline-before/README.md +111 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/media-query-list-comma-newline-before/index.js +42 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/media-query-list-comma-space-after/README.md +136 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/media-query-list-comma-space-after/index.js +84 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/media-query-list-comma-space-before/README.md +136 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/media-query-list-comma-space-before/index.js +84 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/mediaFeatureColonSpaceChecker.js +39 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/mediaQueryListCommaWhitespaceChecker.js +54 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/named-grid-areas-no-invalid/README.md +50 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/named-grid-areas-no-invalid/index.js +80 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/named-grid-areas-no-invalid/utils/findNotContiguousOrRectangular.js +61 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/named-grid-areas-no-invalid/utils/isRectangular.js +12 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/no-descending-specificity/README.md +166 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/no-descending-specificity/index.js +146 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/no-duplicate-at-import-rules/README.md +56 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/no-duplicate-at-import-rules/index.js +68 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/no-duplicate-selectors/README.md +136 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/no-duplicate-selectors/index.js +149 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/no-empty-first-line/README.md +34 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/no-empty-first-line/index.js +49 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/no-empty-source/README.md +45 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/no-empty-source/index.js +40 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/no-eol-whitespace/README.md +79 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/no-eol-whitespace/index.js +260 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/no-extra-semicolons/README.md +78 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/no-extra-semicolons/index.js +243 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/no-invalid-double-slash-comments/README.md +54 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/no-invalid-double-slash-comments/index.js +51 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/no-invalid-position-at-import-rule/README.md +51 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/no-invalid-position-at-import-rule/index.js +58 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/no-irregular-whitespace/README.md +57 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/no-irregular-whitespace/index.js +134 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/no-missing-end-of-source-newline/README.md +34 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/no-missing-end-of-source-newline/index.js +52 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/no-unknown-animations/README.md +76 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/no-unknown-animations/index.js +64 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/number-leading-zero/README.md +74 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/number-leading-zero/index.js +163 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/number-max-precision/README.md +107 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/number-max-precision/index.js +101 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/number-no-trailing-zeros/README.md +40 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/number-no-trailing-zeros/index.js +119 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/property-allowed-list/README.md +75 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/property-allowed-list/index.js +60 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/property-blacklist/README.md +66 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/property-blacklist/index.js +67 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/property-case/README.md +168 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/property-case/index.js +63 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/property-disallowed-list/README.md +64 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/property-disallowed-list/index.js +60 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/property-no-unknown/README.md +187 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/property-no-unknown/index.js +107 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/property-no-vendor-prefix/README.md +70 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/property-no-vendor-prefix/index.js +76 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/property-whitelist/README.md +77 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/property-whitelist/index.js +67 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/rangeContextNodeParser.js +65 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/rule-empty-line-before/README.md +326 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/rule-empty-line-before/index.js +145 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-attribute-brackets-space-inside/README.md +112 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-attribute-brackets-space-inside/index.js +182 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-attribute-name-disallowed-list/README.md +54 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-attribute-name-disallowed-list/index.js +66 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-attribute-operator-allowed-list/README.md +54 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-attribute-operator-allowed-list/index.js +65 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-attribute-operator-blacklist/README.md +46 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-attribute-operator-blacklist/index.js +75 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-attribute-operator-disallowed-list/README.md +44 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-attribute-operator-disallowed-list/index.js +65 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-attribute-operator-space-after/README.md +162 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-attribute-operator-space-after/index.js +89 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-attribute-operator-space-before/README.md +162 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-attribute-operator-space-before/index.js +73 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-attribute-operator-whitelist/README.md +56 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-attribute-operator-whitelist/index.js +75 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-attribute-quotes/README.md +102 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-attribute-quotes/index.js +94 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-class-pattern/README.md +100 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-class-pattern/index.js +121 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-combinator-allowed-list/README.md +54 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-combinator-allowed-list/index.js +70 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-combinator-blacklist/README.md +56 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-combinator-blacklist/index.js +80 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-combinator-disallowed-list/README.md +54 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-combinator-disallowed-list/index.js +70 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-combinator-space-after/README.md +78 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-combinator-space-after/index.js +57 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-combinator-space-before/README.md +78 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-combinator-space-before/index.js +57 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-combinator-whitelist/README.md +56 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-combinator-whitelist/index.js +80 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-descendant-combinator-no-non-space/README.md +40 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-descendant-combinator-no-non-space/index.js +86 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-disallowed-list/README.md +68 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-disallowed-list/index.js +56 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-id-pattern/README.md +63 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-id-pattern/index.js +67 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-list-comma-newline-after/README.md +120 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-list-comma-newline-after/index.js +117 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-list-comma-newline-before/README.md +112 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-list-comma-newline-before/index.js +91 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-list-comma-space-after/README.md +110 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-list-comma-space-after/index.js +83 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-list-comma-space-before/README.md +110 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-list-comma-space-before/index.js +83 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-max-attribute/README.md +113 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-max-attribute/index.js +96 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-max-class/README.md +58 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-max-class/index.js +71 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-max-combinators/README.md +72 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-max-combinators/index.js +72 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-max-compound-selectors/README.md +59 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-max-compound-selectors/index.js +79 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-max-empty-lines/README.md +103 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-max-empty-lines/index.js +65 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-max-id/README.md +105 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-max-id/index.js +95 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-max-pseudo-class/README.md +50 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-max-pseudo-class/index.js +85 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-max-specificity/README.md +138 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-max-specificity/index.js +182 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-max-type/README.md +179 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-max-type/index.js +176 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-max-universal/README.md +76 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-max-universal/index.js +84 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-nested-pattern/README.md +77 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-nested-pattern/index.js +58 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-no-qualifying-type/README.md +105 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-no-qualifying-type/index.js +134 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-no-vendor-prefix/README.md +67 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-no-vendor-prefix/index.js +75 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-pseudo-class-allowed-list/README.md +53 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-pseudo-class-allowed-list/index.js +74 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-pseudo-class-blacklist/README.md +55 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-pseudo-class-blacklist/index.js +85 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-pseudo-class-case/README.md +108 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-pseudo-class-case/index.js +97 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-pseudo-class-disallowed-list/README.md +53 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-pseudo-class-disallowed-list/index.js +75 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-pseudo-class-no-unknown/README.md +84 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-pseudo-class-no-unknown/index.js +157 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-pseudo-class-parentheses-space-inside/README.md +62 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-pseudo-class-parentheses-space-inside/index.js +141 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-pseudo-class-whitelist/README.md +55 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-pseudo-class-whitelist/index.js +84 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-pseudo-element-allowed-list/README.md +54 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-pseudo-element-allowed-list/index.js +74 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-pseudo-element-blacklist/README.md +56 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-pseudo-element-blacklist/index.js +84 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-pseudo-element-case/README.md +128 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-pseudo-element-case/index.js +84 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-pseudo-element-colon-notation/README.md +136 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-pseudo-element-colon-notation/index.js +94 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-pseudo-element-disallowed-list/README.md +54 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-pseudo-element-disallowed-list/index.js +74 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-pseudo-element-no-unknown/README.md +84 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-pseudo-element-no-unknown/index.js +92 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-pseudo-element-whitelist/README.md +56 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-pseudo-element-whitelist/index.js +84 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-type-case/README.md +91 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-type-case/index.js +107 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-type-no-unknown/README.md +140 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selector-type-no-unknown/index.js +115 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selectorAttributeOperatorSpaceChecker.js +74 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selectorCombinatorSpaceChecker.js +87 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/selectorListCommaWhitespaceChecker.js +48 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/shorthand-property-no-redundant-values/README.md +75 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/shorthand-property-no-redundant-values/index.js +137 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/string-no-newline/README.md +73 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/string-no-newline/index.js +115 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/string-quotes/README.md +130 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/string-quotes/index.js +221 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/time-min-milliseconds/README.md +77 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/time-min-milliseconds/index.js +142 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/unicode-bom/README.md +41 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/unicode-bom/index.js +59 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/unit-allowed-list/README.md +115 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/unit-allowed-list/index.js +85 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/unit-blacklist/README.md +161 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/unit-blacklist/index.js +132 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/unit-case/README.md +126 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/unit-case/index.js +114 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/unit-disallowed-list/README.md +159 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/unit-disallowed-list/index.js +125 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/unit-no-unknown/README.md +138 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/unit-no-unknown/index.js +158 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/unit-whitelist/README.md +117 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/unit-whitelist/index.js +92 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/value-keyword-case/README.md +320 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/value-keyword-case/index.js +236 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/value-list-comma-newline-after/README.md +102 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/value-list-comma-newline-after/index.js +100 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/value-list-comma-newline-before/README.md +100 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/value-list-comma-newline-before/index.js +42 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/value-list-comma-space-after/README.md +136 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/value-list-comma-space-after/index.js +86 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/value-list-comma-space-before/README.md +136 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/value-list-comma-space-before/index.js +86 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/value-list-max-empty-lines/README.md +121 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/value-list-max-empty-lines/index.js +60 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/value-no-vendor-prefix/README.md +74 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/value-no-vendor-prefix/index.js +90 -0
- package/templates/facebook/node_modules/stylelint/lib/rules/valueListCommaWhitespaceChecker.js +57 -0
- package/templates/facebook/node_modules/stylelint/lib/standalone.js +334 -0
- package/templates/facebook/node_modules/stylelint/lib/syntaxes/index.js +16 -0
- package/templates/facebook/node_modules/stylelint/lib/syntaxes/syntax-css-in-js.js +3 -0
- package/templates/facebook/node_modules/stylelint/lib/syntaxes/syntax-html.js +8 -0
- package/templates/facebook/node_modules/stylelint/lib/syntaxes/syntax-less.js +3 -0
- package/templates/facebook/node_modules/stylelint/lib/syntaxes/syntax-markdown.js +8 -0
- package/templates/facebook/node_modules/stylelint/lib/syntaxes/syntax-sass.js +3 -0
- package/templates/facebook/node_modules/stylelint/lib/syntaxes/syntax-scss.js +3 -0
- package/templates/facebook/node_modules/stylelint/lib/syntaxes/syntax-sugarss.js +3 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/FileCache.js +68 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/addEmptyLineAfter.js +30 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/addEmptyLineBefore.js +26 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/atRuleParamIndex.js +16 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/beforeBlockString.js +54 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/blockString.js +25 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/blurComments.js +10 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/blurFunctionArguments.js +53 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/blurInterpolation.js +10 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/checkAgainstRule.js +52 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/checkInvalidCLIOptions.js +92 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/configurationError.js +15 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/containsString.js +56 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/declarationValueIndex.js +26 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/eachDeclarationBlock.js +59 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/filterFilePaths.js +19 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/findAnimationName.js +69 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/findAtRuleContext.js +23 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/findFontFamily.js +128 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/findListStyleType.js +60 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/functionArgumentsSearch.js +41 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/getAtRuleParams.js +11 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/getCacheFile.js +52 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/getDeclarationValue.js +11 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/getFileIgnorer.js +34 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/getFormatterOptionsText.js +19 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/getModulePath.js +31 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/getNextNonSharedLineCommentNode.js +38 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/getOsEol.js +11 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/getPreviousNonSharedLineCommentNode.js +40 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/getRuleSelector.js +13 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/getSchemeFromUrl.js +39 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/getUnitFromValueNode.js +49 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/hasBlock.js +11 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/hasEmptyBlock.js +13 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/hasEmptyLine.js +14 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/hasInterpolation.js +26 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/hasLessInterpolation.js +11 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/hasPsvInterpolation.js +10 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/hasScssInterpolation.js +10 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/hasTplInterpolation.js +11 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/hash.js +12 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/isAfterComment.js +16 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/isAfterSingleLineComment.js +22 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/isAfterStandardPropertyDeclaration.js +20 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/isAutoprefixable.js +86 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/isBlocklessAtRuleAfterBlocklessAtRule.js +22 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/isBlocklessAtRuleAfterSameNameBlocklessAtRule.js +19 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/isContextFunctionalPseudoClass.js +23 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/isCounterIncrementCustomIdentValue.js +21 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/isCounterResetCustomIdentValue.js +21 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/isCustomElement.js +46 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/isCustomMediaQuery.js +10 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/isCustomProperty.js +10 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/isCustomPropertySet.js +18 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/isCustomSelector.js +11 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/isFirstNested.js +67 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/isFirstNodeOfRoot.js +15 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/isKeyframeRule.js +13 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/isKeyframeSelector.js +22 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/isLessVariable.js +14 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/isMap.js +44 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/isMathFunction.js +13 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/isNonNegativeInteger.js +17 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/isNumbery.js +13 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/isOnlyWhitespace.js +22 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/isRangeContextMediaFeature.js +11 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/isScssVariable.js +21 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/isSharedLineComment.js +53 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/isSingleLineString.js +12 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/isStandardSyntaxAtRule.js +29 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/isStandardSyntaxCombinator.js +34 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/isStandardSyntaxDeclaration.js +61 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/isStandardSyntaxFunction.js +16 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/isStandardSyntaxMathFunction.js +21 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/isStandardSyntaxMediaFeature.js +26 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/isStandardSyntaxMediaFeatureName.js +16 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/isStandardSyntaxProperty.js +34 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/isStandardSyntaxRule.js +69 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/isStandardSyntaxSelector.js +38 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/isStandardSyntaxTypeSelector.js +53 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/isStandardSyntaxUrl.js +48 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/isStandardSyntaxValue.js +47 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/isValidFontSize.js +38 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/isValidHex.js +11 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/isVariable.js +11 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/isWhitespace.js +11 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/matchesStringOrRegExp.js +85 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/nextNonCommentNode.js +20 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/noFilesFoundError.js +20 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/nodeContextLookup.js +43 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/optionsMatches.js +22 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/parseCalcExpression/index.js +15 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/parseCalcExpression/parser.jison +172 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/parseCalcExpression/parser.js +3929 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/parseSelector.js +18 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/putIfAbsent.js +22 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/rawNodeString.js +20 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/removeEmptyLinesAfter.js +15 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/removeEmptyLinesBefore.js +15 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/report.js +113 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/ruleMessages.js +35 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/setAtRuleParams.js +20 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/setDeclarationValue.js +23 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/transformSelector.js +17 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/typeGuards.js +44 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/validateObjectWithArrayProps.js +41 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/validateOptions.js +169 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/vendor.js +45 -0
- package/templates/facebook/node_modules/stylelint/lib/utils/whitespaceChecker.js +370 -0
- package/templates/facebook/node_modules/stylelint/lib/validateDisableSettings.js +79 -0
- package/templates/facebook/node_modules/stylelint/lib/writeOutputFile.js +13 -0
- package/templates/facebook/node_modules/stylelint/package.json +197 -0
- package/templates/facebook/node_modules/type-fest/index.d.ts +35 -0
- package/templates/facebook/node_modules/type-fest/license +9 -0
- package/templates/facebook/node_modules/type-fest/package.json +45 -0
- package/templates/facebook/node_modules/type-fest/readme.md +648 -0
- package/templates/facebook/node_modules/type-fest/source/async-return-type.d.ts +23 -0
- package/templates/facebook/node_modules/type-fest/source/asyncify.d.ts +31 -0
- package/templates/facebook/node_modules/type-fest/source/basic.d.ts +67 -0
- package/templates/facebook/node_modules/type-fest/source/conditional-except.d.ts +43 -0
- package/templates/facebook/node_modules/type-fest/source/conditional-keys.d.ts +43 -0
- package/templates/facebook/node_modules/type-fest/source/conditional-pick.d.ts +42 -0
- package/templates/facebook/node_modules/type-fest/source/entries.d.ts +57 -0
- package/templates/facebook/node_modules/type-fest/source/entry.d.ts +60 -0
- package/templates/facebook/node_modules/type-fest/source/except.d.ts +22 -0
- package/templates/facebook/node_modules/type-fest/source/fixed-length-array.d.ts +38 -0
- package/templates/facebook/node_modules/type-fest/source/iterable-element.d.ts +46 -0
- package/templates/facebook/node_modules/type-fest/source/literal-union.d.ts +33 -0
- package/templates/facebook/node_modules/type-fest/source/merge-exclusive.d.ts +39 -0
- package/templates/facebook/node_modules/type-fest/source/merge.d.ts +22 -0
- package/templates/facebook/node_modules/type-fest/source/mutable.d.ts +22 -0
- package/templates/facebook/node_modules/type-fest/source/opaque.d.ts +65 -0
- package/templates/facebook/node_modules/type-fest/source/package-json.d.ts +627 -0
- package/templates/facebook/node_modules/type-fest/source/partial-deep.d.ts +72 -0
- package/templates/facebook/node_modules/type-fest/source/promisable.d.ts +23 -0
- package/templates/facebook/node_modules/type-fest/source/promise-value.d.ts +27 -0
- package/templates/facebook/node_modules/type-fest/source/readonly-deep.d.ts +59 -0
- package/templates/facebook/node_modules/type-fest/source/require-at-least-one.d.ts +32 -0
- package/templates/facebook/node_modules/type-fest/source/require-exactly-one.d.ts +35 -0
- package/templates/facebook/node_modules/type-fest/source/set-optional.d.ts +34 -0
- package/templates/facebook/node_modules/type-fest/source/set-required.d.ts +34 -0
- package/templates/facebook/node_modules/type-fest/source/set-return-type.d.ts +29 -0
- package/templates/facebook/node_modules/type-fest/source/stringified.d.ts +21 -0
- package/templates/facebook/node_modules/type-fest/source/tsconfig-json.d.ts +872 -0
- package/templates/facebook/node_modules/type-fest/source/union-to-intersection.d.ts +58 -0
- package/templates/facebook/node_modules/type-fest/source/value-of.d.ts +40 -0
- package/templates/facebook/package.json +3 -3
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import {PromiseValue} from './promise-value';
|
|
2
|
+
import {SetReturnType} from './set-return-type';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
Create an async version of the given function type, by boxing the return type in `Promise` while keeping the same parameter types.
|
|
6
|
+
|
|
7
|
+
Use-case: You have two functions, one synchronous and one asynchronous that do the same thing. Instead of having to duplicate the type definition, you can use `Asyncify` to reuse the synchronous type.
|
|
8
|
+
|
|
9
|
+
@example
|
|
10
|
+
```
|
|
11
|
+
import {Asyncify} from 'type-fest';
|
|
12
|
+
|
|
13
|
+
// Synchronous function.
|
|
14
|
+
function getFooSync(someArg: SomeType): Foo {
|
|
15
|
+
// …
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
type AsyncifiedFooGetter = Asyncify<typeof getFooSync>;
|
|
19
|
+
//=> type AsyncifiedFooGetter = (someArg: SomeType) => Promise<Foo>;
|
|
20
|
+
|
|
21
|
+
// Same as `getFooSync` but asynchronous.
|
|
22
|
+
const getFooAsync: AsyncifiedFooGetter = (someArg) => {
|
|
23
|
+
// TypeScript now knows that `someArg` is `SomeType` automatically.
|
|
24
|
+
// It also knows that this function must return `Promise<Foo>`.
|
|
25
|
+
// If you have `@typescript-eslint/promise-function-async` linter rule enabled, it will even report that "Functions that return promises must be async.".
|
|
26
|
+
|
|
27
|
+
// …
|
|
28
|
+
}
|
|
29
|
+
```
|
|
30
|
+
*/
|
|
31
|
+
export type Asyncify<Fn extends (...args: any[]) => any> = SetReturnType<Fn, Promise<PromiseValue<ReturnType<Fn>>>>;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/// <reference lib="esnext"/>
|
|
2
|
+
|
|
3
|
+
// TODO: This can just be `export type Primitive = not object` when the `not` keyword is out.
|
|
4
|
+
/**
|
|
5
|
+
Matches any [primitive value](https://developer.mozilla.org/en-US/docs/Glossary/Primitive).
|
|
6
|
+
*/
|
|
7
|
+
export type Primitive =
|
|
8
|
+
| null
|
|
9
|
+
| undefined
|
|
10
|
+
| string
|
|
11
|
+
| number
|
|
12
|
+
| boolean
|
|
13
|
+
| symbol
|
|
14
|
+
| bigint;
|
|
15
|
+
|
|
16
|
+
// TODO: Remove the `= unknown` sometime in the future when most users are on TS 3.5 as it's now the default
|
|
17
|
+
/**
|
|
18
|
+
Matches a [`class` constructor](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes).
|
|
19
|
+
*/
|
|
20
|
+
export type Class<T = unknown, Arguments extends any[] = any[]> = new(...arguments_: Arguments) => T;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
Matches any [typed array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray), like `Uint8Array` or `Float64Array`.
|
|
24
|
+
*/
|
|
25
|
+
export type TypedArray =
|
|
26
|
+
| Int8Array
|
|
27
|
+
| Uint8Array
|
|
28
|
+
| Uint8ClampedArray
|
|
29
|
+
| Int16Array
|
|
30
|
+
| Uint16Array
|
|
31
|
+
| Int32Array
|
|
32
|
+
| Uint32Array
|
|
33
|
+
| Float32Array
|
|
34
|
+
| Float64Array
|
|
35
|
+
| BigInt64Array
|
|
36
|
+
| BigUint64Array;
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
Matches a JSON object.
|
|
40
|
+
|
|
41
|
+
This type can be useful to enforce some input to be JSON-compatible or as a super-type to be extended from. Don't use this as a direct return type as the user would have to double-cast it: `jsonObject as unknown as CustomResponse`. Instead, you could extend your CustomResponse type from it to ensure your type only uses JSON-compatible types: `interface CustomResponse extends JsonObject { … }`.
|
|
42
|
+
*/
|
|
43
|
+
export type JsonObject = {[Key in string]?: JsonValue};
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
Matches a JSON array.
|
|
47
|
+
*/
|
|
48
|
+
export interface JsonArray extends Array<JsonValue> {}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
Matches any valid JSON value.
|
|
52
|
+
*/
|
|
53
|
+
export type JsonValue = string | number | boolean | null | JsonObject | JsonArray;
|
|
54
|
+
|
|
55
|
+
declare global {
|
|
56
|
+
interface SymbolConstructor {
|
|
57
|
+
readonly observable: symbol;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
Matches a value that is like an [Observable](https://github.com/tc39/proposal-observable).
|
|
63
|
+
*/
|
|
64
|
+
export interface ObservableLike {
|
|
65
|
+
subscribe(observer: (value: unknown) => void): void;
|
|
66
|
+
[Symbol.observable](): ObservableLike;
|
|
67
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import {Except} from './except';
|
|
2
|
+
import {ConditionalKeys} from './conditional-keys';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
Exclude keys from a shape that matches the given `Condition`.
|
|
6
|
+
|
|
7
|
+
This is useful when you want to create a new type with a specific set of keys from a shape. For example, you might want to exclude all the primitive properties from a class and form a new shape containing everything but the primitive properties.
|
|
8
|
+
|
|
9
|
+
@example
|
|
10
|
+
```
|
|
11
|
+
import {Primitive, ConditionalExcept} from 'type-fest';
|
|
12
|
+
|
|
13
|
+
class Awesome {
|
|
14
|
+
name: string;
|
|
15
|
+
successes: number;
|
|
16
|
+
failures: bigint;
|
|
17
|
+
|
|
18
|
+
run() {}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
type ExceptPrimitivesFromAwesome = ConditionalExcept<Awesome, Primitive>;
|
|
22
|
+
//=> {run: () => void}
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
@example
|
|
26
|
+
```
|
|
27
|
+
import {ConditionalExcept} from 'type-fest';
|
|
28
|
+
|
|
29
|
+
interface Example {
|
|
30
|
+
a: string;
|
|
31
|
+
b: string | number;
|
|
32
|
+
c: () => void;
|
|
33
|
+
d: {};
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
type NonStringKeysOnly = ConditionalExcept<Example, string>;
|
|
37
|
+
//=> {b: string | number; c: () => void; d: {}}
|
|
38
|
+
```
|
|
39
|
+
*/
|
|
40
|
+
export type ConditionalExcept<Base, Condition> = Except<
|
|
41
|
+
Base,
|
|
42
|
+
ConditionalKeys<Base, Condition>
|
|
43
|
+
>;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
Extract the keys from a type where the value type of the key extends the given `Condition`.
|
|
3
|
+
|
|
4
|
+
Internally this is used for the `ConditionalPick` and `ConditionalExcept` types.
|
|
5
|
+
|
|
6
|
+
@example
|
|
7
|
+
```
|
|
8
|
+
import {ConditionalKeys} from 'type-fest';
|
|
9
|
+
|
|
10
|
+
interface Example {
|
|
11
|
+
a: string;
|
|
12
|
+
b: string | number;
|
|
13
|
+
c?: string;
|
|
14
|
+
d: {};
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
type StringKeysOnly = ConditionalKeys<Example, string>;
|
|
18
|
+
//=> 'a'
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
To support partial types, make sure your `Condition` is a union of undefined (for example, `string | undefined`) as demonstrated below.
|
|
22
|
+
|
|
23
|
+
@example
|
|
24
|
+
```
|
|
25
|
+
type StringKeysAndUndefined = ConditionalKeys<Example, string | undefined>;
|
|
26
|
+
//=> 'a' | 'c'
|
|
27
|
+
```
|
|
28
|
+
*/
|
|
29
|
+
export type ConditionalKeys<Base, Condition> = NonNullable<
|
|
30
|
+
// Wrap in `NonNullable` to strip away the `undefined` type from the produced union.
|
|
31
|
+
{
|
|
32
|
+
// Map through all the keys of the given base type.
|
|
33
|
+
[Key in keyof Base]:
|
|
34
|
+
// Pick only keys with types extending the given `Condition` type.
|
|
35
|
+
Base[Key] extends Condition
|
|
36
|
+
// Retain this key since the condition passes.
|
|
37
|
+
? Key
|
|
38
|
+
// Discard this key since the condition fails.
|
|
39
|
+
: never;
|
|
40
|
+
|
|
41
|
+
// Convert the produced object into a union type of the keys which passed the conditional test.
|
|
42
|
+
}[keyof Base]
|
|
43
|
+
>;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import {ConditionalKeys} from './conditional-keys';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
Pick keys from the shape that matches the given `Condition`.
|
|
5
|
+
|
|
6
|
+
This is useful when you want to create a new type from a specific subset of an existing type. For example, you might want to pick all the primitive properties from a class and form a new automatically derived type.
|
|
7
|
+
|
|
8
|
+
@example
|
|
9
|
+
```
|
|
10
|
+
import {Primitive, ConditionalPick} from 'type-fest';
|
|
11
|
+
|
|
12
|
+
class Awesome {
|
|
13
|
+
name: string;
|
|
14
|
+
successes: number;
|
|
15
|
+
failures: bigint;
|
|
16
|
+
|
|
17
|
+
run() {}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
type PickPrimitivesFromAwesome = ConditionalPick<Awesome, Primitive>;
|
|
21
|
+
//=> {name: string; successes: number; failures: bigint}
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
@example
|
|
25
|
+
```
|
|
26
|
+
import {ConditionalPick} from 'type-fest';
|
|
27
|
+
|
|
28
|
+
interface Example {
|
|
29
|
+
a: string;
|
|
30
|
+
b: string | number;
|
|
31
|
+
c: () => void;
|
|
32
|
+
d: {};
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
type StringKeysOnly = ConditionalPick<Example, string>;
|
|
36
|
+
//=> {a: string}
|
|
37
|
+
```
|
|
38
|
+
*/
|
|
39
|
+
export type ConditionalPick<Base, Condition> = Pick<
|
|
40
|
+
Base,
|
|
41
|
+
ConditionalKeys<Base, Condition>
|
|
42
|
+
>;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import {ArrayEntry, MapEntry, ObjectEntry, SetEntry} from './entry';
|
|
2
|
+
|
|
3
|
+
type ArrayEntries<BaseType extends readonly unknown[]> = Array<ArrayEntry<BaseType>>;
|
|
4
|
+
type MapEntries<BaseType> = Array<MapEntry<BaseType>>;
|
|
5
|
+
type ObjectEntries<BaseType> = Array<ObjectEntry<BaseType>>;
|
|
6
|
+
type SetEntries<BaseType extends Set<unknown>> = Array<SetEntry<BaseType>>;
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
Many collections have an `entries` method which returns an array of a given object's own enumerable string-keyed property [key, value] pairs. The `Entries` type will return the type of that collection's entries.
|
|
10
|
+
|
|
11
|
+
For example the {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries|`Object`}, {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/entries|`Map`}, {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/entries|`Array`}, and {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/entries|`Set`} collections all have this method. Note that `WeakMap` and `WeakSet` do not have this method since their entries are not enumerable.
|
|
12
|
+
|
|
13
|
+
@see `Entry` if you want to just access the type of a single entry.
|
|
14
|
+
|
|
15
|
+
@example
|
|
16
|
+
```
|
|
17
|
+
import {Entries} from 'type-fest';
|
|
18
|
+
|
|
19
|
+
interface Example {
|
|
20
|
+
someKey: number;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const manipulatesEntries = (examples: Entries<Example>) => examples.map(example => [
|
|
24
|
+
// Does some arbitrary processing on the key (with type information available)
|
|
25
|
+
example[0].toUpperCase(),
|
|
26
|
+
|
|
27
|
+
// Does some arbitrary processing on the value (with type information available)
|
|
28
|
+
example[1].toFixed()
|
|
29
|
+
]);
|
|
30
|
+
|
|
31
|
+
const example: Example = {someKey: 1};
|
|
32
|
+
const entries = Object.entries(example) as Entries<Example>;
|
|
33
|
+
const output = manipulatesEntries(entries);
|
|
34
|
+
|
|
35
|
+
// Objects
|
|
36
|
+
const objectExample = {a: 1};
|
|
37
|
+
const objectEntries: Entries<typeof objectExample> = [['a', 1]];
|
|
38
|
+
|
|
39
|
+
// Arrays
|
|
40
|
+
const arrayExample = ['a', 1];
|
|
41
|
+
const arrayEntries: Entries<typeof arrayExample> = [[0, 'a'], [1, 1]];
|
|
42
|
+
|
|
43
|
+
// Maps
|
|
44
|
+
const mapExample = new Map([['a', 1]]);
|
|
45
|
+
const mapEntries: Entries<typeof map> = [['a', 1]];
|
|
46
|
+
|
|
47
|
+
// Sets
|
|
48
|
+
const setExample = new Set(['a', 1]);
|
|
49
|
+
const setEntries: Entries<typeof setExample> = [['a', 'a'], [1, 1]];
|
|
50
|
+
```
|
|
51
|
+
*/
|
|
52
|
+
export type Entries<BaseType> =
|
|
53
|
+
BaseType extends Map<unknown, unknown> ? MapEntries<BaseType>
|
|
54
|
+
: BaseType extends Set<unknown> ? SetEntries<BaseType>
|
|
55
|
+
: BaseType extends unknown[] ? ArrayEntries<BaseType>
|
|
56
|
+
: BaseType extends object ? ObjectEntries<BaseType>
|
|
57
|
+
: never;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
type MapKey<BaseType> = BaseType extends Map<infer KeyType, unknown> ? KeyType : never;
|
|
2
|
+
type MapValue<BaseType> = BaseType extends Map<unknown, infer ValueType> ? ValueType : never;
|
|
3
|
+
|
|
4
|
+
export type ArrayEntry<BaseType extends readonly unknown[]> = [number, BaseType[number]];
|
|
5
|
+
export type MapEntry<BaseType> = [MapKey<BaseType>, MapValue<BaseType>];
|
|
6
|
+
export type ObjectEntry<BaseType> = [keyof BaseType, BaseType[keyof BaseType]];
|
|
7
|
+
export type SetEntry<BaseType> = BaseType extends Set<infer ItemType> ? [ItemType, ItemType] : never;
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
Many collections have an `entries` method which returns an array of a given object's own enumerable string-keyed property [key, value] pairs. The `Entry` type will return the type of that collection's entry.
|
|
11
|
+
|
|
12
|
+
For example the {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries|`Object`}, {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/entries|`Map`}, {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/entries|`Array`}, and {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/entries|`Set`} collections all have this method. Note that `WeakMap` and `WeakSet` do not have this method since their entries are not enumerable.
|
|
13
|
+
|
|
14
|
+
@see `Entries` if you want to just access the type of the array of entries (which is the return of the `.entries()` method).
|
|
15
|
+
|
|
16
|
+
@example
|
|
17
|
+
```
|
|
18
|
+
import {Entry} from 'type-fest';
|
|
19
|
+
|
|
20
|
+
interface Example {
|
|
21
|
+
someKey: number;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const manipulatesEntry = (example: Entry<Example>) => [
|
|
25
|
+
// Does some arbitrary processing on the key (with type information available)
|
|
26
|
+
example[0].toUpperCase(),
|
|
27
|
+
|
|
28
|
+
// Does some arbitrary processing on the value (with type information available)
|
|
29
|
+
example[1].toFixed(),
|
|
30
|
+
];
|
|
31
|
+
|
|
32
|
+
const example: Example = {someKey: 1};
|
|
33
|
+
const entry = Object.entries(example)[0] as Entry<Example>;
|
|
34
|
+
const output = manipulatesEntry(entry);
|
|
35
|
+
|
|
36
|
+
// Objects
|
|
37
|
+
const objectExample = {a: 1};
|
|
38
|
+
const objectEntry: Entry<typeof objectExample> = ['a', 1];
|
|
39
|
+
|
|
40
|
+
// Arrays
|
|
41
|
+
const arrayExample = ['a', 1];
|
|
42
|
+
const arrayEntryString: Entry<typeof arrayExample> = [0, 'a'];
|
|
43
|
+
const arrayEntryNumber: Entry<typeof arrayExample> = [1, 1];
|
|
44
|
+
|
|
45
|
+
// Maps
|
|
46
|
+
const mapExample = new Map([['a', 1]]);
|
|
47
|
+
const mapEntry: Entry<typeof map> = ['a', 1];
|
|
48
|
+
|
|
49
|
+
// Sets
|
|
50
|
+
const setExample = new Set(['a', 1]);
|
|
51
|
+
const setEntryString: Entry<typeof setExample> = ['a', 'a'];
|
|
52
|
+
const setEntryNumber: Entry<typeof setExample> = [1, 1];
|
|
53
|
+
```
|
|
54
|
+
*/
|
|
55
|
+
export type Entry<BaseType> =
|
|
56
|
+
BaseType extends Map<unknown, unknown> ? MapEntry<BaseType>
|
|
57
|
+
: BaseType extends Set<unknown> ? SetEntry<BaseType>
|
|
58
|
+
: BaseType extends unknown[] ? ArrayEntry<BaseType>
|
|
59
|
+
: BaseType extends object ? ObjectEntry<BaseType>
|
|
60
|
+
: never;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
Create a type from an object type without certain keys.
|
|
3
|
+
|
|
4
|
+
This type is a stricter version of [`Omit`](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-5.html#the-omit-helper-type). The `Omit` type does not restrict the omitted keys to be keys present on the given type, while `Except` does. The benefits of a stricter type are avoiding typos and allowing the compiler to pick up on rename refactors automatically.
|
|
5
|
+
|
|
6
|
+
Please upvote [this issue](https://github.com/microsoft/TypeScript/issues/30825) if you want to have the stricter version as a built-in in TypeScript.
|
|
7
|
+
|
|
8
|
+
@example
|
|
9
|
+
```
|
|
10
|
+
import {Except} from 'type-fest';
|
|
11
|
+
|
|
12
|
+
type Foo = {
|
|
13
|
+
a: number;
|
|
14
|
+
b: string;
|
|
15
|
+
c: boolean;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
type FooWithoutA = Except<Foo, 'a' | 'c'>;
|
|
19
|
+
//=> {b: string};
|
|
20
|
+
```
|
|
21
|
+
*/
|
|
22
|
+
export type Except<ObjectType, KeysType extends keyof ObjectType> = Pick<ObjectType, Exclude<keyof ObjectType, KeysType>>;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
Methods to exclude.
|
|
3
|
+
*/
|
|
4
|
+
type ArrayLengthMutationKeys = 'splice' | 'push' | 'pop' | 'shift' | 'unshift';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
Create a type that represents an array of the given type and length. The array's length and the `Array` prototype methods that manipulate its length are excluded in the resulting type.
|
|
8
|
+
|
|
9
|
+
Please participate in [this issue](https://github.com/microsoft/TypeScript/issues/26223) if you want to have a similiar type built into TypeScript.
|
|
10
|
+
|
|
11
|
+
Use-cases:
|
|
12
|
+
- Declaring fixed-length tuples or arrays with a large number of items.
|
|
13
|
+
- Creating a range union (for example, `0 | 1 | 2 | 3 | 4` from the keys of such a type) without having to resort to recursive types.
|
|
14
|
+
- Creating an array of coordinates with a static length, for example, length of 3 for a 3D vector.
|
|
15
|
+
|
|
16
|
+
@example
|
|
17
|
+
```
|
|
18
|
+
import {FixedLengthArray} from 'type-fest';
|
|
19
|
+
|
|
20
|
+
type FencingTeam = FixedLengthArray<string, 3>;
|
|
21
|
+
|
|
22
|
+
const guestFencingTeam: FencingTeam = ['Josh', 'Michael', 'Robert'];
|
|
23
|
+
|
|
24
|
+
const homeFencingTeam: FencingTeam = ['George', 'John'];
|
|
25
|
+
//=> error TS2322: Type string[] is not assignable to type 'FencingTeam'
|
|
26
|
+
|
|
27
|
+
guestFencingTeam.push('Sam');
|
|
28
|
+
//=> error TS2339: Property 'push' does not exist on type 'FencingTeam'
|
|
29
|
+
```
|
|
30
|
+
*/
|
|
31
|
+
export type FixedLengthArray<Element, Length extends number, ArrayPrototype = [Element, ...Element[]]> = Pick<
|
|
32
|
+
ArrayPrototype,
|
|
33
|
+
Exclude<keyof ArrayPrototype, ArrayLengthMutationKeys>
|
|
34
|
+
> & {
|
|
35
|
+
[index: number]: Element;
|
|
36
|
+
[Symbol.iterator]: () => IterableIterator<Element>;
|
|
37
|
+
readonly length: Length;
|
|
38
|
+
};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
Get the element type of an `Iterable`/`AsyncIterable`. For example, an array or a generator.
|
|
3
|
+
|
|
4
|
+
This can be useful, for example, if you want to get the type that is yielded in a generator function. Often the return type of those functions are not specified.
|
|
5
|
+
|
|
6
|
+
This type works with both `Iterable`s and `AsyncIterable`s, so it can be use with synchronous and asynchronous generators.
|
|
7
|
+
|
|
8
|
+
Here is an example of `IterableElement` in action with a generator function:
|
|
9
|
+
|
|
10
|
+
@example
|
|
11
|
+
```
|
|
12
|
+
function * iAmGenerator() {
|
|
13
|
+
yield 1;
|
|
14
|
+
yield 2;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
type MeNumber = IterableElement<ReturnType<typeof iAmGenerator>>
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
And here is an example with an async generator:
|
|
21
|
+
|
|
22
|
+
@example
|
|
23
|
+
```
|
|
24
|
+
async function * iAmGeneratorAsync() {
|
|
25
|
+
yield 'hi';
|
|
26
|
+
yield true;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
type MeStringOrBoolean = IterableElement<ReturnType<typeof iAmGeneratorAsync>>
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Many types in JavaScript/TypeScript are iterables. This type works on all types that implement those interfaces. For example, `Array`, `Set`, `Map`, `stream.Readable`, etc.
|
|
33
|
+
|
|
34
|
+
An example with an array of strings:
|
|
35
|
+
|
|
36
|
+
@example
|
|
37
|
+
```
|
|
38
|
+
type MeString = IterableElement<string[]>
|
|
39
|
+
```
|
|
40
|
+
*/
|
|
41
|
+
export type IterableElement<TargetIterable> =
|
|
42
|
+
TargetIterable extends Iterable<infer ElementType> ?
|
|
43
|
+
ElementType :
|
|
44
|
+
TargetIterable extends AsyncIterable<infer ElementType> ?
|
|
45
|
+
ElementType :
|
|
46
|
+
never;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import {Primitive} from './basic';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
Allows creating a union type by combining primitive types and literal types without sacrificing auto-completion in IDEs for the literal type part of the union.
|
|
5
|
+
|
|
6
|
+
Currently, when a union type of a primitive type is combined with literal types, TypeScript loses all information about the combined literals. Thus, when such type is used in an IDE with autocompletion, no suggestions are made for the declared literals.
|
|
7
|
+
|
|
8
|
+
This type is a workaround for [Microsoft/TypeScript#29729](https://github.com/Microsoft/TypeScript/issues/29729). It will be removed as soon as it's not needed anymore.
|
|
9
|
+
|
|
10
|
+
@example
|
|
11
|
+
```
|
|
12
|
+
import {LiteralUnion} from 'type-fest';
|
|
13
|
+
|
|
14
|
+
// Before
|
|
15
|
+
|
|
16
|
+
type Pet = 'dog' | 'cat' | string;
|
|
17
|
+
|
|
18
|
+
const pet: Pet = '';
|
|
19
|
+
// Start typing in your TypeScript-enabled IDE.
|
|
20
|
+
// You **will not** get auto-completion for `dog` and `cat` literals.
|
|
21
|
+
|
|
22
|
+
// After
|
|
23
|
+
|
|
24
|
+
type Pet2 = LiteralUnion<'dog' | 'cat', string>;
|
|
25
|
+
|
|
26
|
+
const pet: Pet2 = '';
|
|
27
|
+
// You **will** get auto-completion for `dog` and `cat` literals.
|
|
28
|
+
```
|
|
29
|
+
*/
|
|
30
|
+
export type LiteralUnion<
|
|
31
|
+
LiteralType,
|
|
32
|
+
BaseType extends Primitive
|
|
33
|
+
> = LiteralType | (BaseType & {_?: never});
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// Helper type. Not useful on its own.
|
|
2
|
+
type Without<FirstType, SecondType> = {[KeyType in Exclude<keyof FirstType, keyof SecondType>]?: never};
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
Create a type that has mutually exclusive keys.
|
|
6
|
+
|
|
7
|
+
This type was inspired by [this comment](https://github.com/Microsoft/TypeScript/issues/14094#issuecomment-373782604).
|
|
8
|
+
|
|
9
|
+
This type works with a helper type, called `Without`. `Without<FirstType, SecondType>` produces a type that has only keys from `FirstType` which are not present on `SecondType` and sets the value type for these keys to `never`. This helper type is then used in `MergeExclusive` to remove keys from either `FirstType` or `SecondType`.
|
|
10
|
+
|
|
11
|
+
@example
|
|
12
|
+
```
|
|
13
|
+
import {MergeExclusive} from 'type-fest';
|
|
14
|
+
|
|
15
|
+
interface ExclusiveVariation1 {
|
|
16
|
+
exclusive1: boolean;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
interface ExclusiveVariation2 {
|
|
20
|
+
exclusive2: string;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
type ExclusiveOptions = MergeExclusive<ExclusiveVariation1, ExclusiveVariation2>;
|
|
24
|
+
|
|
25
|
+
let exclusiveOptions: ExclusiveOptions;
|
|
26
|
+
|
|
27
|
+
exclusiveOptions = {exclusive1: true};
|
|
28
|
+
//=> Works
|
|
29
|
+
exclusiveOptions = {exclusive2: 'hi'};
|
|
30
|
+
//=> Works
|
|
31
|
+
exclusiveOptions = {exclusive1: true, exclusive2: 'hi'};
|
|
32
|
+
//=> Error
|
|
33
|
+
```
|
|
34
|
+
*/
|
|
35
|
+
export type MergeExclusive<FirstType, SecondType> =
|
|
36
|
+
(FirstType | SecondType) extends object ?
|
|
37
|
+
(Without<FirstType, SecondType> & SecondType) | (Without<SecondType, FirstType> & FirstType) :
|
|
38
|
+
FirstType | SecondType;
|
|
39
|
+
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import {Except} from './except';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
Merge two types into a new type. Keys of the second type overrides keys of the first type.
|
|
5
|
+
|
|
6
|
+
@example
|
|
7
|
+
```
|
|
8
|
+
import {Merge} from 'type-fest';
|
|
9
|
+
|
|
10
|
+
type Foo = {
|
|
11
|
+
a: number;
|
|
12
|
+
b: string;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
type Bar = {
|
|
16
|
+
b: number;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
const ab: Merge<Foo, Bar> = {a: 1, b: 2};
|
|
20
|
+
```
|
|
21
|
+
*/
|
|
22
|
+
export type Merge<FirstType, SecondType> = Except<FirstType, Extract<keyof FirstType, keyof SecondType>> & SecondType;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
Convert an object with `readonly` keys into a mutable object. Inverse of `Readonly<T>`.
|
|
3
|
+
|
|
4
|
+
This can be used to [store and mutate options within a class](https://github.com/sindresorhus/pageres/blob/4a5d05fca19a5fbd2f53842cbf3eb7b1b63bddd2/source/index.ts#L72), [edit `readonly` objects within tests](https://stackoverflow.com/questions/50703834), and [construct a `readonly` object within a function](https://github.com/Microsoft/TypeScript/issues/24509).
|
|
5
|
+
|
|
6
|
+
@example
|
|
7
|
+
```
|
|
8
|
+
import {Mutable} from 'type-fest';
|
|
9
|
+
|
|
10
|
+
type Foo = {
|
|
11
|
+
readonly a: number;
|
|
12
|
+
readonly b: string;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
const mutableFoo: Mutable<Foo> = {a: 1, b: '2'};
|
|
16
|
+
mutableFoo.a = 3;
|
|
17
|
+
```
|
|
18
|
+
*/
|
|
19
|
+
export type Mutable<ObjectType> = {
|
|
20
|
+
// For each `Key` in the keys of `ObjectType`, make a mapped type by removing the `readonly` modifier from the key.
|
|
21
|
+
-readonly [KeyType in keyof ObjectType]: ObjectType[KeyType];
|
|
22
|
+
};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
Create an opaque type, which hides its internal details from the public, and can only be created by being used explicitly.
|
|
3
|
+
|
|
4
|
+
The generic type parameter can be anything. It doesn't have to be an object.
|
|
5
|
+
|
|
6
|
+
[Read more about opaque types.](https://codemix.com/opaque-types-in-javascript/)
|
|
7
|
+
|
|
8
|
+
There have been several discussions about adding this feature to TypeScript via the `opaque type` operator, similar to how Flow does it. Unfortunately, nothing has (yet) moved forward:
|
|
9
|
+
- [Microsoft/TypeScript#15408](https://github.com/Microsoft/TypeScript/issues/15408)
|
|
10
|
+
- [Microsoft/TypeScript#15807](https://github.com/Microsoft/TypeScript/issues/15807)
|
|
11
|
+
|
|
12
|
+
@example
|
|
13
|
+
```
|
|
14
|
+
import {Opaque} from 'type-fest';
|
|
15
|
+
|
|
16
|
+
type AccountNumber = Opaque<number, 'AccountNumber'>;
|
|
17
|
+
type AccountBalance = Opaque<number, 'AccountBalance'>;
|
|
18
|
+
|
|
19
|
+
// The Token parameter allows the compiler to differentiate between types, whereas "unknown" will not. For example, consider the following structures:
|
|
20
|
+
type ThingOne = Opaque<string>;
|
|
21
|
+
type ThingTwo = Opaque<string>;
|
|
22
|
+
|
|
23
|
+
// To the compiler, these types are allowed to be cast to each other as they have the same underlying type. They are both `string & { __opaque__: unknown }`.
|
|
24
|
+
// To avoid this behaviour, you would instead pass the "Token" parameter, like so.
|
|
25
|
+
type NewThingOne = Opaque<string, 'ThingOne'>;
|
|
26
|
+
type NewThingTwo = Opaque<string, 'ThingTwo'>;
|
|
27
|
+
|
|
28
|
+
// Now they're completely separate types, so the following will fail to compile.
|
|
29
|
+
function createNewThingOne (): NewThingOne {
|
|
30
|
+
// As you can see, casting from a string is still allowed. However, you may not cast NewThingOne to NewThingTwo, and vice versa.
|
|
31
|
+
return 'new thing one' as NewThingOne;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// This will fail to compile, as they are fundamentally different types.
|
|
35
|
+
const thingTwo = createNewThingOne() as NewThingTwo;
|
|
36
|
+
|
|
37
|
+
// Here's another example of opaque typing.
|
|
38
|
+
function createAccountNumber(): AccountNumber {
|
|
39
|
+
return 2 as AccountNumber;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
function getMoneyForAccount(accountNumber: AccountNumber): AccountBalance {
|
|
43
|
+
return 4 as AccountBalance;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// This will compile successfully.
|
|
47
|
+
getMoneyForAccount(createAccountNumber());
|
|
48
|
+
|
|
49
|
+
// But this won't, because it has to be explicitly passed as an `AccountNumber` type.
|
|
50
|
+
getMoneyForAccount(2);
|
|
51
|
+
|
|
52
|
+
// You can use opaque values like they aren't opaque too.
|
|
53
|
+
const accountNumber = createAccountNumber();
|
|
54
|
+
|
|
55
|
+
// This will not compile successfully.
|
|
56
|
+
const newAccountNumber = accountNumber + 2;
|
|
57
|
+
|
|
58
|
+
// As a side note, you can (and should) use recursive types for your opaque types to make them stronger and hopefully easier to type.
|
|
59
|
+
type Person = {
|
|
60
|
+
id: Opaque<number, Person>;
|
|
61
|
+
name: string;
|
|
62
|
+
};
|
|
63
|
+
```
|
|
64
|
+
*/
|
|
65
|
+
export type Opaque<Type, Token = unknown> = Type & {readonly __opaque__: Token};
|