@culur/config-stylelint 1.3.4 → 1.3.5

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/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # @culur/config-stylelint
2
2
 
3
+ ## 1.3.5
4
+
5
+ ### Patch Changes
6
+
7
+ - 📦 Update dependencies ([#197](https://github.com/culur/culur/pull/197) [`c538a63`](https://github.com/culur/culur/commit/c538a635ce3170e3adbb189f3d913137cd56b0a5)) ([@phamhongphuc](https://github.com/phamhongphuc)):
8
+
9
+ - `dependencies`:
10
+ - `stylelint-config-clean-order@^7.0.0`
11
+ - `stylelint-config-standard@^37.0.0`
12
+ - `stylelint-config-standard-scss@^14.0.0`
13
+ - `stylelint-scss@^6.11.0`
14
+ - `devDependencies`:
15
+ - `postcss@^8.5.2`
16
+ - `postcss-html@^1.8.0`
17
+ - `peerDependencies`:
18
+ - `stylelint@>=16.14.1`
19
+
20
+ - 📦 Update workspace dependencies:
21
+ - [`@culur/utils-packages@1.1.2`](https://github.com/culur/culur/tree/main/packages/utils-packages#readme)
22
+
3
23
  ## 1.3.4
4
24
 
5
25
  ### Patch Changes
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/shareable-configs/vue.ts"],"names":["defineConfig"],"mappings":";;;;;AAEA,IAAO,cAAQA,8BAAa,CAAA;AAAA,EAC1B,QAAU,EAAA,KAAA;AAAA,EACV,IAAM,EAAA,KAAA;AAAA,EACN,GAAK,EAAA,IAAA;AACP,CAAC","file":"chunk-AM6NNHVX.cjs","sourcesContent":["import defineConfig from '~/factory';\n\nexport default defineConfig({\n tailwind: false,\n sass: false,\n vue: true,\n});\n"]}
1
+ {"version":3,"sources":["../src/shareable-configs/vue.ts"],"names":["defineConfig"],"mappings":";;;;;AAEA,IAAO,cAAQA,8BAAa,CAAA;AAAA,EAC1B,QAAU,EAAA,KAAA;AAAA,EACV,IAAM,EAAA,KAAA;AAAA,EACN,GAAK,EAAA;AACP,CAAC","file":"chunk-AM6NNHVX.cjs","sourcesContent":["import defineConfig from '~/factory';\n\nexport default defineConfig({\n tailwind: false,\n sass: false,\n vue: true,\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/shareable-configs/sass.ts"],"names":["defineConfig"],"mappings":";;;;;AAEA,IAAO,eAAQA,8BAAa,CAAA;AAAA,EAC1B,QAAU,EAAA,KAAA;AAAA,EACV,IAAM,EAAA,IAAA;AAAA,EACN,GAAK,EAAA,KAAA;AACP,CAAC","file":"chunk-B6QLQR55.cjs","sourcesContent":["import defineConfig from '~/factory';\n\nexport default defineConfig({\n tailwind: false,\n sass: true,\n vue: false,\n});\n"]}
1
+ {"version":3,"sources":["../src/shareable-configs/sass.ts"],"names":["defineConfig"],"mappings":";;;;;AAEA,IAAO,eAAQA,8BAAa,CAAA;AAAA,EAC1B,QAAU,EAAA,KAAA;AAAA,EACV,IAAM,EAAA,IAAA;AAAA,EACN,GAAK,EAAA;AACP,CAAC","file":"chunk-B6QLQR55.cjs","sourcesContent":["import defineConfig from '~/factory';\n\nexport default defineConfig({\n tailwind: false,\n sass: true,\n vue: false,\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/shareable-configs/vue.ts"],"names":[],"mappings":";;;AAEA,IAAO,cAAQ,YAAa,CAAA;AAAA,EAC1B,QAAU,EAAA,KAAA;AAAA,EACV,IAAM,EAAA,KAAA;AAAA,EACN,GAAK,EAAA,IAAA;AACP,CAAC","file":"chunk-BMHJWBQW.js","sourcesContent":["import defineConfig from '~/factory';\n\nexport default defineConfig({\n tailwind: false,\n sass: false,\n vue: true,\n});\n"]}
1
+ {"version":3,"sources":["../src/shareable-configs/vue.ts"],"names":[],"mappings":";;;AAEA,IAAO,cAAQ,YAAa,CAAA;AAAA,EAC1B,QAAU,EAAA,KAAA;AAAA,EACV,IAAM,EAAA,KAAA;AAAA,EACN,GAAK,EAAA;AACP,CAAC","file":"chunk-BMHJWBQW.js","sourcesContent":["import defineConfig from '~/factory';\n\nexport default defineConfig({\n tailwind: false,\n sass: false,\n vue: true,\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/shareable-configs/none.ts"],"names":[],"mappings":";;;AAEA,IAAO,eAAQ,YAAa,CAAA;AAAA,EAC1B,QAAU,EAAA,KAAA;AAAA,EACV,IAAM,EAAA,KAAA;AAAA,EACN,GAAK,EAAA,KAAA;AACP,CAAC","file":"chunk-EBISEPDI.js","sourcesContent":["import defineConfig from '~/factory';\n\nexport default defineConfig({\n tailwind: false,\n sass: false,\n vue: false,\n});\n"]}
1
+ {"version":3,"sources":["../src/shareable-configs/none.ts"],"names":[],"mappings":";;;AAEA,IAAO,eAAQ,YAAa,CAAA;AAAA,EAC1B,QAAU,EAAA,KAAA;AAAA,EACV,IAAM,EAAA,KAAA;AAAA,EACN,GAAK,EAAA;AACP,CAAC","file":"chunk-EBISEPDI.js","sourcesContent":["import defineConfig from '~/factory';\n\nexport default defineConfig({\n tailwind: false,\n sass: false,\n vue: false,\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/utils/utils.ts","../src/rules/at-rule-no-unknown.ts","../src/rules/declaration-block-no-redundant-longhand-properties.ts","../src/rules/function-no-unknown.ts","../src/rules/order.ts","../src/rules/selector-pseudo-class-no-unknown.ts","../src/configs/css.ts","../src/rules/dollar-variable-pattern.ts","../src/configs/scss.ts","../src/configs/shared.ts","../src/configs/vue.ts","../src/factory.ts"],"names":[],"mappings":"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","file":"chunk-FGLO4UZK.js","sourcesContent":["import type { Config, ConfigRuleSettings } from 'stylelint';\n\nexport type ConfigRulePrimaryOption =\n | boolean\n | number\n | string\n | Array<boolean | number | string | object>;\nexport type ConfigRuleSecondaryOptions = object;\n\nexport const defineRule = <\n PrimaryOption extends ConfigRulePrimaryOption,\n SecondaryOptions extends ConfigRuleSecondaryOptions,\n>(\n rule: ConfigRuleSettings<PrimaryOption, SecondaryOptions>,\n) => rule;\n\nexport const defineRules = <TRules extends Config['rules']>(rule: TRules) =>\n rule;\n\n// clone function mergeConfigs from stylelint repository\nexport const mergeConfigs = (\n ...configsOrNull: (Config | undefined | null | false)[]\n) => {\n const configs = configsOrNull.filter((c): c is Config => !!c);\n\n return {\n plugins: [...new Set(configs.flatMap(c => c.plugins ?? []))],\n overrides: [...new Set(configs.flatMap(c => c.overrides ?? []))],\n extends: configs\n .flatMap(c => c.extends ?? [])\n .filter((item, index, arr) => arr.lastIndexOf(item) === index),\n rules: configs.reduce(\n (acc, config) => ({ ...acc, ...config.rules }),\n {} as Config['rules'],\n ),\n ...configs.reduce(\n (\n acc,\n { plugins: _p, overrides: _o, extends: _e, rules: _r, ...config },\n ) => ({ ...acc, ...config }),\n {} as Config,\n ),\n };\n};\n","import type { Packages } from '@culur/utils-packages';\nimport { defineRule, defineRules } from '~/utils';\n\n// https://tailwindcss.com/docs/functions-and-directives\nconst directives = [\n 'tailwind',\n 'layer',\n 'apply',\n 'config',\n\n // https://v2.tailwindcss.com/docs/functions-and-directives\n // backwards compatible for v2\n 'variants',\n 'responsive',\n 'screen',\n];\n\nexport const atRuleNoUnknownRule = (packages: Partial<Packages>) =>\n defineRule<boolean, { ignoreAtRules: (string | RegExp)[] }>([\n true,\n { ignoreAtRules: packages.tailwind ? directives : [] },\n ]);\n\nexport const atRuleNoUnknownCSS = (packages: Partial<Packages>) =>\n defineRules({\n 'at-rule-no-unknown': atRuleNoUnknownRule(packages),\n });\n\nexport const atRuleNoUnknownSCSS = (packages: Partial<Packages>) =>\n defineRules({\n 'at-rule-no-unknown': null,\n 'scss/at-rule-no-unknown': atRuleNoUnknownRule(packages),\n });\n","import { defineRule, defineRules } from '~/utils';\n\nexport const declarationBlockNoRedundantLonghandPropertiesRule = defineRule<\n true,\n { ignoreShorthands?: (string | RegExp)[] }\n>([true, { ignoreShorthands: ['grid-template'] }]);\n\nexport const declarationBlockNoRedundantLonghandProperties = defineRules({\n 'declaration-block-no-redundant-longhand-properties':\n declarationBlockNoRedundantLonghandPropertiesRule,\n});\n","import type { Packages } from '@culur/utils-packages';\nimport { defineRule, defineRules } from '~/utils';\n\nexport function functionNoUnknownRule(packages: Partial<Packages>) {\n const ignoreFunctions = [\n // https://tailwindcss.com/docs/functions-and-directives#functions\n ...(packages.tailwind //\n ? ['theme', 'screen']\n : []),\n\n // https://sass-lang.com/documentation/modules/list\n // https://sass-lang.com/documentation/modules/math\n // https://sass-lang.com/documentation/modules/color\n ...(packages.sass //\n ? [/^(list|math|color)\\..+/]\n : []),\n\n // https://vuejs.org/api/sfc-css-features.html#v-bind-in-css\n ...(packages.vue //\n ? ['v-bind']\n : []),\n ];\n\n return defineRule<boolean, { ignoreFunctions: (string | RegExp)[] }>([\n true,\n ignoreFunctions.length > 0 //\n ? { ignoreFunctions }\n : { ignoreFunctions: [] },\n ]);\n}\n\nexport const functionNoUnknown = (packages: Partial<Packages>) =>\n defineRules({\n 'function-no-unknown': functionNoUnknownRule(packages),\n });\n","import type { Packages } from '@culur/utils-packages';\nimport { defineRule, defineRules } from '~/utils';\n\n// https://github.com/hudochenkov/stylelint-order/blob/master/rules/order/README.md#options\n\ntype Keyword =\n | 'custom-properties' /**/ // Custom properties (e.g. --property: 10px;)\n | 'dollar-variables' /***/ // Dollar variables (e.g. $variable)\n | 'at-variables' /*******/ // At-variables (e.g. @variable available in Less syntax)\n | 'declarations' /*******/ // CSS declarations (e.g. display: block)\n | 'rules' /**************/ // Nested rules (e.g. a { span {} })\n | 'at-rules' /***********/ // Nested at-rules (e.g. div { @media () {} })\n | 'less-mixins'; /*******/ // Mixins in Less syntax (e.g. .mixin();)\n\ninterface AtRule {\n type: 'at-rule';\n name?: string;\n parameter?: string | RegExp;\n hasBlock?: boolean;\n}\n\ninterface Rule {\n type: 'rule';\n selector?: string | RegExp;\n name?: string;\n}\n\ntype PrimaryOption = Array<Keyword | AtRule | Rule>;\ninterface SecondaryOptions {\n unspecified?: 'top' | 'bottom' | 'ignore';\n}\n\nconst definePrimaryOption = (\n ...options: (PrimaryOption[number] | false | undefined)[]\n) => options.filter((option): option is PrimaryOption[number] => !!option);\n\nexport const orderRule = (packages: Partial<Packages>) =>\n defineRule<PrimaryOption, SecondaryOptions>([\n definePrimaryOption(\n //! import\n packages.sass && { type: 'at-rule', name: 'use' }, // scss: @use 'path/path';\n packages.sass && { type: 'at-rule', name: 'forward' }, // scss: @forward 'path/path';\n packages.sass && { type: 'at-rule', name: 'import' }, // scss: @import 'path/path';\n\n //! root\n packages.tailwind && { type: 'at-rule', name: 'config' }, // tailwind v3: @config 'tailwind.custom.config.js'\n packages.tailwind && { type: 'at-rule', name: 'tailwind' }, // tailwind v3: @tailwind base;\n packages.tailwind && { type: 'at-rule', name: 'layer' }, // tailwind v3: @layer base {}\n\n //! variables\n 'dollar-variables', // css: $variable: 10px;\n 'at-variables', // css: @variable: 10px;\n { type: 'at-rule', hasBlock: false }, // css: @variable: 10px;\n 'custom-properties', // css: --property: 10px;\n\n //! functions, methods\n packages.sass && { type: 'at-rule', name: 'function' }, // scss: @function sum() {}\n packages.sass && { type: 'at-rule', name: 'mixin' }, // scss: @mixin mixin-name {}\n\n //! declarations\n packages.sass && { type: 'at-rule', name: 'extend' }, // scss: @extend .class-name;\n packages.sass && { type: 'at-rule', name: 'include' }, // scss: @include mixin-name;\n packages.tailwind && { type: 'at-rule', name: 'apply' }, // tailwind v3: @apply p-3;\n 'less-mixins', // less: .mixin();\n 'declarations', // css: display: block;\n\n //! block rules\n { type: 'rule', selector: /^&::[\\w-]+/ }, // css: &::after {}\n 'rules', // css: child-component {}\n\n //! blocks nested\n packages.sass && { type: 'at-rule', name: 'at-root' }, // scss: @at-root selector { /* content */ }\n packages.tailwind && { type: 'at-rule', name: 'responsive' }, // tailwind v2: @responsive {}\n packages.tailwind && { type: 'at-rule', name: 'variants' }, // tailwind v2: @variants hover {}\n packages.tailwind && { type: 'at-rule', name: 'screen' }, // tailwind v2: @screen sm {}\n { type: 'at-rule', hasBlock: true }, // css: @media () {}\n ),\n {\n unspecified: 'bottom',\n },\n ]);\n\nexport const order = (packages: Partial<Packages>) =>\n defineRules({\n 'order/order': orderRule(packages),\n });\n","import { defineRule, defineRules } from '~/utils';\n\nexport const selectorPseudoClassNoUnknownRule = defineRule<\n true,\n { ignorePseudoClasses?: (string | RegExp)[] }\n>([true, { ignorePseudoClasses: ['global', 'local'] }]);\n\nexport const selectorPseudoClassNoUnknown = defineRules({\n 'selector-pseudo-class-no-unknown': selectorPseudoClassNoUnknownRule,\n});\n","import type { Packages } from '@culur/utils-packages';\nimport type { Config } from 'stylelint';\nimport { atRuleNoUnknownCSS } from '~/rules/at-rule-no-unknown';\nimport { declarationBlockNoRedundantLonghandProperties } from '~/rules/declaration-block-no-redundant-longhand-properties';\nimport { functionNoUnknown } from '~/rules/function-no-unknown';\nimport { order } from '~/rules/order';\nimport { selectorPseudoClassNoUnknown } from '~/rules/selector-pseudo-class-no-unknown';\n\nexport const configCss = (packages: Partial<Packages>): Config => ({\n extends: ['stylelint-config-standard', 'stylelint-config-clean-order'],\n plugins: ['stylelint-order', 'stylelint-selector-bem-pattern'],\n rules: {\n ...atRuleNoUnknownCSS(packages),\n ...declarationBlockNoRedundantLonghandProperties,\n ...functionNoUnknown(packages),\n ...order(packages),\n ...selectorPseudoClassNoUnknown,\n 'declaration-empty-line-before': null,\n },\n});\n","import { defineRule, defineRules } from '~/utils';\n\ntype PrimaryOption = string;\ninterface SecondaryOptions {\n message: string;\n}\n\nexport const dollarVariablePatternRule = defineRule<\n PrimaryOption,\n SecondaryOptions\n>([\n '^(-{0,2}?[a-z][a-z0-9]*)(-[a-z0-9]+)*$',\n { message: 'Expected variable to be kebab-case' },\n]);\n\nexport const dollarVariablePatternSCSS = defineRules({\n 'scss/dollar-variable-pattern': dollarVariablePatternRule,\n});\n","import type { Packages } from '@culur/utils-packages';\nimport type { Config } from 'stylelint';\nimport { atRuleNoUnknownSCSS } from '~/rules/at-rule-no-unknown';\nimport { dollarVariablePatternSCSS } from '~/rules/dollar-variable-pattern';\n\nexport const configScss = (packages: Partial<Packages>): Config => ({\n extends: ['stylelint-config-standard-scss'],\n rules: {\n ...atRuleNoUnknownSCSS(packages),\n ...dollarVariablePatternSCSS,\n },\n});\n","import type { Config } from 'stylelint';\n\nexport const configShared = (): Config => ({\n extends: ['stylelint-config-html'],\n});\n","import type { Packages } from '@culur/utils-packages';\nimport type { Config } from 'stylelint';\n\nexport const configVue = (packages: Partial<Packages>): Config => ({\n extends: [\n packages.sass\n ? 'stylelint-config-standard-vue/scss'\n : 'stylelint-config-standard-vue',\n ],\n});\n","import type { Packages } from '@culur/utils-packages';\nimport type { Config } from 'stylelint';\nimport { configCss } from './configs/css';\nimport { configScss } from './configs/scss';\nimport { configShared } from './configs/shared';\nimport { configVue } from './configs/vue';\nimport { mergeConfigs } from './utils';\n\nexport default function defineConfig(\n packages?: Partial<Packages>,\n config?: Config,\n): Config {\n const packages_ = packages ?? {};\n\n return mergeConfigs(\n configShared(),\n configCss(packages_),\n packages_.sass && configScss(packages_),\n packages_.vue && configVue(packages_),\n config,\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/utils/utils.ts","../src/rules/at-rule-no-unknown.ts","../src/rules/declaration-block-no-redundant-longhand-properties.ts","../src/rules/function-no-unknown.ts","../src/rules/order.ts","../src/rules/selector-pseudo-class-no-unknown.ts","../src/configs/css.ts","../src/rules/dollar-variable-pattern.ts","../src/configs/scss.ts","../src/configs/shared.ts","../src/configs/vue.ts","../src/factory.ts"],"names":[],"mappings":"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","file":"chunk-FGLO4UZK.js","sourcesContent":["import type { Config, ConfigRuleSettings } from 'stylelint';\n\nexport type ConfigRulePrimaryOption =\n | boolean\n | number\n | string\n | Array<boolean | number | string | object>;\nexport type ConfigRuleSecondaryOptions = object;\n\nexport const defineRule = <\n PrimaryOption extends ConfigRulePrimaryOption,\n SecondaryOptions extends ConfigRuleSecondaryOptions,\n>(\n rule: ConfigRuleSettings<PrimaryOption, SecondaryOptions>,\n) => rule;\n\nexport const defineRules = <TRules extends Config['rules']>(rule: TRules) =>\n rule;\n\n// clone function mergeConfigs from stylelint repository\nexport const mergeConfigs = (\n ...configsOrNull: (Config | undefined | null | false)[]\n) => {\n const configs = configsOrNull.filter((c): c is Config => !!c);\n\n return {\n plugins: [...new Set(configs.flatMap(c => c.plugins ?? []))],\n overrides: [...new Set(configs.flatMap(c => c.overrides ?? []))],\n extends: configs\n .flatMap(c => c.extends ?? [])\n .filter((item, index, arr) => arr.lastIndexOf(item) === index),\n rules: configs.reduce(\n (acc, config) => ({ ...acc, ...config.rules }),\n {} as Config['rules'],\n ),\n ...configs.reduce(\n (\n acc,\n { plugins: _p, overrides: _o, extends: _e, rules: _r, ...config },\n ) => ({ ...acc, ...config }),\n {} as Config,\n ),\n };\n};\n","import type { Packages } from '@culur/utils-packages';\nimport { defineRule, defineRules } from '~/utils';\n\n// https://tailwindcss.com/docs/functions-and-directives\nconst directives = [\n 'tailwind',\n 'layer',\n 'apply',\n 'config',\n\n // https://v2.tailwindcss.com/docs/functions-and-directives\n // backwards compatible for v2\n 'variants',\n 'responsive',\n 'screen',\n];\n\nexport const atRuleNoUnknownRule = (packages: Partial<Packages>) =>\n defineRule<boolean, { ignoreAtRules: (string | RegExp)[] }>([\n true,\n { ignoreAtRules: packages.tailwind ? directives : [] },\n ]);\n\nexport const atRuleNoUnknownCSS = (packages: Partial<Packages>) =>\n defineRules({\n 'at-rule-no-unknown': atRuleNoUnknownRule(packages),\n });\n\nexport const atRuleNoUnknownSCSS = (packages: Partial<Packages>) =>\n defineRules({\n 'at-rule-no-unknown': null,\n 'scss/at-rule-no-unknown': atRuleNoUnknownRule(packages),\n });\n","import { defineRule, defineRules } from '~/utils';\n\nexport const declarationBlockNoRedundantLonghandPropertiesRule = defineRule<\n true,\n { ignoreShorthands?: (string | RegExp)[] }\n>([true, { ignoreShorthands: ['grid-template'] }]);\n\nexport const declarationBlockNoRedundantLonghandProperties = defineRules({\n 'declaration-block-no-redundant-longhand-properties':\n declarationBlockNoRedundantLonghandPropertiesRule,\n});\n","import type { Packages } from '@culur/utils-packages';\nimport { defineRule, defineRules } from '~/utils';\n\nexport function functionNoUnknownRule(packages: Partial<Packages>) {\n const ignoreFunctions = [\n // https://tailwindcss.com/docs/functions-and-directives#functions\n ...(packages.tailwind //\n ? ['theme', 'screen']\n : []),\n\n // https://sass-lang.com/documentation/modules/list\n // https://sass-lang.com/documentation/modules/math\n // https://sass-lang.com/documentation/modules/color\n ...(packages.sass //\n ? [/^(list|math|color)\\..+/]\n : []),\n\n // https://vuejs.org/api/sfc-css-features.html#v-bind-in-css\n ...(packages.vue //\n ? ['v-bind']\n : []),\n ];\n\n return defineRule<boolean, { ignoreFunctions: (string | RegExp)[] }>([\n true,\n ignoreFunctions.length > 0 //\n ? { ignoreFunctions }\n : { ignoreFunctions: [] },\n ]);\n}\n\nexport const functionNoUnknown = (packages: Partial<Packages>) =>\n defineRules({\n 'function-no-unknown': functionNoUnknownRule(packages),\n });\n","import type { Packages } from '@culur/utils-packages';\nimport { defineRule, defineRules } from '~/utils';\n\n// https://github.com/hudochenkov/stylelint-order/blob/master/rules/order/README.md#options\n\ntype Keyword =\n | 'custom-properties' /**/ // Custom properties (e.g. --property: 10px;)\n | 'dollar-variables' /***/ // Dollar variables (e.g. $variable)\n | 'at-variables' /*******/ // At-variables (e.g. @variable available in Less syntax)\n | 'declarations' /*******/ // CSS declarations (e.g. display: block)\n | 'rules' /**************/ // Nested rules (e.g. a { span {} })\n | 'at-rules' /***********/ // Nested at-rules (e.g. div { @media () {} })\n | 'less-mixins'; /*******/ // Mixins in Less syntax (e.g. .mixin();)\n\ninterface AtRule {\n type: 'at-rule';\n name?: string;\n parameter?: string | RegExp;\n hasBlock?: boolean;\n}\n\ninterface Rule {\n type: 'rule';\n selector?: string | RegExp;\n name?: string;\n}\n\ntype PrimaryOption = Array<Keyword | AtRule | Rule>;\ninterface SecondaryOptions {\n unspecified?: 'top' | 'bottom' | 'ignore';\n}\n\nconst definePrimaryOption = (\n ...options: (PrimaryOption[number] | false | undefined)[]\n) => options.filter((option): option is PrimaryOption[number] => !!option);\n\nexport const orderRule = (packages: Partial<Packages>) =>\n defineRule<PrimaryOption, SecondaryOptions>([\n definePrimaryOption(\n //! import\n packages.sass && { type: 'at-rule', name: 'use' }, // scss: @use 'path/path';\n packages.sass && { type: 'at-rule', name: 'forward' }, // scss: @forward 'path/path';\n packages.sass && { type: 'at-rule', name: 'import' }, // scss: @import 'path/path';\n\n //! root\n packages.tailwind && { type: 'at-rule', name: 'config' }, // tailwind v3: @config 'tailwind.custom.config.js'\n packages.tailwind && { type: 'at-rule', name: 'tailwind' }, // tailwind v3: @tailwind base;\n packages.tailwind && { type: 'at-rule', name: 'layer' }, // tailwind v3: @layer base {}\n\n //! variables\n 'dollar-variables', // css: $variable: 10px;\n 'at-variables', // css: @variable: 10px;\n { type: 'at-rule', hasBlock: false }, // css: @variable: 10px;\n 'custom-properties', // css: --property: 10px;\n\n //! functions, methods\n packages.sass && { type: 'at-rule', name: 'function' }, // scss: @function sum() {}\n packages.sass && { type: 'at-rule', name: 'mixin' }, // scss: @mixin mixin-name {}\n\n //! declarations\n packages.sass && { type: 'at-rule', name: 'extend' }, // scss: @extend .class-name;\n packages.sass && { type: 'at-rule', name: 'include' }, // scss: @include mixin-name;\n packages.tailwind && { type: 'at-rule', name: 'apply' }, // tailwind v3: @apply p-3;\n 'less-mixins', // less: .mixin();\n 'declarations', // css: display: block;\n\n //! block rules\n { type: 'rule', selector: /^&::[\\w-]+/ }, // css: &::after {}\n 'rules', // css: child-component {}\n\n //! blocks nested\n packages.sass && { type: 'at-rule', name: 'at-root' }, // scss: @at-root selector { /* content */ }\n packages.tailwind && { type: 'at-rule', name: 'responsive' }, // tailwind v2: @responsive {}\n packages.tailwind && { type: 'at-rule', name: 'variants' }, // tailwind v2: @variants hover {}\n packages.tailwind && { type: 'at-rule', name: 'screen' }, // tailwind v2: @screen sm {}\n { type: 'at-rule', hasBlock: true }, // css: @media () {}\n ),\n {\n unspecified: 'bottom',\n },\n ]);\n\nexport const order = (packages: Partial<Packages>) =>\n defineRules({\n 'order/order': orderRule(packages),\n });\n","import { defineRule, defineRules } from '~/utils';\n\nexport const selectorPseudoClassNoUnknownRule = defineRule<\n true,\n { ignorePseudoClasses?: (string | RegExp)[] }\n>([true, { ignorePseudoClasses: ['global', 'local'] }]);\n\nexport const selectorPseudoClassNoUnknown = defineRules({\n 'selector-pseudo-class-no-unknown': selectorPseudoClassNoUnknownRule,\n});\n","import type { Packages } from '@culur/utils-packages';\nimport type { Config } from 'stylelint';\nimport { atRuleNoUnknownCSS } from '~/rules/at-rule-no-unknown';\nimport { declarationBlockNoRedundantLonghandProperties } from '~/rules/declaration-block-no-redundant-longhand-properties';\nimport { functionNoUnknown } from '~/rules/function-no-unknown';\nimport { order } from '~/rules/order';\nimport { selectorPseudoClassNoUnknown } from '~/rules/selector-pseudo-class-no-unknown';\n\nexport const configCss = (packages: Partial<Packages>): Config => ({\n extends: ['stylelint-config-standard', 'stylelint-config-clean-order'],\n plugins: ['stylelint-order', 'stylelint-selector-bem-pattern'],\n rules: {\n ...atRuleNoUnknownCSS(packages),\n ...declarationBlockNoRedundantLonghandProperties,\n ...functionNoUnknown(packages),\n ...order(packages),\n ...selectorPseudoClassNoUnknown,\n 'declaration-empty-line-before': null,\n },\n});\n","import { defineRule, defineRules } from '~/utils';\n\ntype PrimaryOption = string;\ninterface SecondaryOptions {\n message: string;\n}\n\nexport const dollarVariablePatternRule = defineRule<\n PrimaryOption,\n SecondaryOptions\n>([\n '^(-{0,2}?[a-z][a-z0-9]*)(-[a-z0-9]+)*$',\n { message: 'Expected variable to be kebab-case' },\n]);\n\nexport const dollarVariablePatternSCSS = defineRules({\n 'scss/dollar-variable-pattern': dollarVariablePatternRule,\n});\n","import type { Packages } from '@culur/utils-packages';\nimport type { Config } from 'stylelint';\nimport { atRuleNoUnknownSCSS } from '~/rules/at-rule-no-unknown';\nimport { dollarVariablePatternSCSS } from '~/rules/dollar-variable-pattern';\n\nexport const configScss = (packages: Partial<Packages>): Config => ({\n extends: ['stylelint-config-standard-scss'],\n rules: {\n ...atRuleNoUnknownSCSS(packages),\n ...dollarVariablePatternSCSS,\n },\n});\n","import type { Config } from 'stylelint';\n\nexport const configShared = (): Config => ({\n extends: ['stylelint-config-html'],\n});\n","import type { Packages } from '@culur/utils-packages';\nimport type { Config } from 'stylelint';\n\nexport const configVue = (packages: Partial<Packages>): Config => ({\n extends: [\n packages.sass\n ? 'stylelint-config-standard-vue/scss'\n : 'stylelint-config-standard-vue',\n ],\n});\n","import type { Packages } from '@culur/utils-packages';\nimport type { Config } from 'stylelint';\nimport { configCss } from './configs/css';\nimport { configScss } from './configs/scss';\nimport { configShared } from './configs/shared';\nimport { configVue } from './configs/vue';\nimport { mergeConfigs } from './utils';\n\nexport default function defineConfig(\n packages?: Partial<Packages>,\n config?: Config,\n): Config {\n const packages_ = packages ?? {};\n\n return mergeConfigs(\n configShared(),\n configCss(packages_),\n packages_.sass && configScss(packages_),\n packages_.vue && configVue(packages_),\n config,\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/shareable-configs/sass.ts"],"names":[],"mappings":";;;AAEA,IAAO,eAAQ,YAAa,CAAA;AAAA,EAC1B,QAAU,EAAA,KAAA;AAAA,EACV,IAAM,EAAA,IAAA;AAAA,EACN,GAAK,EAAA,KAAA;AACP,CAAC","file":"chunk-FLKJSLQV.js","sourcesContent":["import defineConfig from '~/factory';\n\nexport default defineConfig({\n tailwind: false,\n sass: true,\n vue: false,\n});\n"]}
1
+ {"version":3,"sources":["../src/shareable-configs/sass.ts"],"names":[],"mappings":";;;AAEA,IAAO,eAAQ,YAAa,CAAA;AAAA,EAC1B,QAAU,EAAA,KAAA;AAAA,EACV,IAAM,EAAA,IAAA;AAAA,EACN,GAAK,EAAA;AACP,CAAC","file":"chunk-FLKJSLQV.js","sourcesContent":["import defineConfig from '~/factory';\n\nexport default defineConfig({\n tailwind: false,\n sass: true,\n vue: false,\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/shareable-configs/tailwind-sass-vue.ts"],"names":[],"mappings":";;;AAEA,IAAO,4BAAQ,YAAa,CAAA;AAAA,EAC1B,QAAU,EAAA,IAAA;AAAA,EACV,IAAM,EAAA,IAAA;AAAA,EACN,GAAK,EAAA,IAAA;AACP,CAAC","file":"chunk-G3HDXENP.js","sourcesContent":["import defineConfig from '~/factory';\n\nexport default defineConfig({\n tailwind: true,\n sass: true,\n vue: true,\n});\n"]}
1
+ {"version":3,"sources":["../src/shareable-configs/tailwind-sass-vue.ts"],"names":[],"mappings":";;;AAEA,IAAO,4BAAQ,YAAa,CAAA;AAAA,EAC1B,QAAU,EAAA,IAAA;AAAA,EACV,IAAM,EAAA,IAAA;AAAA,EACN,GAAK,EAAA;AACP,CAAC","file":"chunk-G3HDXENP.js","sourcesContent":["import defineConfig from '~/factory';\n\nexport default defineConfig({\n tailwind: true,\n sass: true,\n vue: true,\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/shareable-configs/sass-vue.ts"],"names":[],"mappings":";;;AAEA,IAAO,mBAAQ,YAAa,CAAA;AAAA,EAC1B,QAAU,EAAA,KAAA;AAAA,EACV,IAAM,EAAA,IAAA;AAAA,EACN,GAAK,EAAA,IAAA;AACP,CAAC","file":"chunk-K3AT24DR.js","sourcesContent":["import defineConfig from '~/factory';\n\nexport default defineConfig({\n tailwind: false,\n sass: true,\n vue: true,\n});\n"]}
1
+ {"version":3,"sources":["../src/shareable-configs/sass-vue.ts"],"names":[],"mappings":";;;AAEA,IAAO,mBAAQ,YAAa,CAAA;AAAA,EAC1B,QAAU,EAAA,KAAA;AAAA,EACV,IAAM,EAAA,IAAA;AAAA,EACN,GAAK,EAAA;AACP,CAAC","file":"chunk-K3AT24DR.js","sourcesContent":["import defineConfig from '~/factory';\n\nexport default defineConfig({\n tailwind: false,\n sass: true,\n vue: true,\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/shareable-configs/tailwind-sass.ts"],"names":[],"mappings":";;;AAEA,IAAO,wBAAQ,YAAa,CAAA;AAAA,EAC1B,QAAU,EAAA,IAAA;AAAA,EACV,IAAM,EAAA,IAAA;AAAA,EACN,GAAK,EAAA,KAAA;AACP,CAAC","file":"chunk-LD3TYMYZ.js","sourcesContent":["import defineConfig from '~/factory';\n\nexport default defineConfig({\n tailwind: true,\n sass: true,\n vue: false,\n});\n"]}
1
+ {"version":3,"sources":["../src/shareable-configs/tailwind-sass.ts"],"names":[],"mappings":";;;AAEA,IAAO,wBAAQ,YAAa,CAAA;AAAA,EAC1B,QAAU,EAAA,IAAA;AAAA,EACV,IAAM,EAAA,IAAA;AAAA,EACN,GAAK,EAAA;AACP,CAAC","file":"chunk-LD3TYMYZ.js","sourcesContent":["import defineConfig from '~/factory';\n\nexport default defineConfig({\n tailwind: true,\n sass: true,\n vue: false,\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/shareable-configs/tailwind-sass.ts"],"names":["defineConfig"],"mappings":";;;;;AAEA,IAAO,wBAAQA,8BAAa,CAAA;AAAA,EAC1B,QAAU,EAAA,IAAA;AAAA,EACV,IAAM,EAAA,IAAA;AAAA,EACN,GAAK,EAAA,KAAA;AACP,CAAC","file":"chunk-LONQX5DI.cjs","sourcesContent":["import defineConfig from '~/factory';\n\nexport default defineConfig({\n tailwind: true,\n sass: true,\n vue: false,\n});\n"]}
1
+ {"version":3,"sources":["../src/shareable-configs/tailwind-sass.ts"],"names":["defineConfig"],"mappings":";;;;;AAEA,IAAO,wBAAQA,8BAAa,CAAA;AAAA,EAC1B,QAAU,EAAA,IAAA;AAAA,EACV,IAAM,EAAA,IAAA;AAAA,EACN,GAAK,EAAA;AACP,CAAC","file":"chunk-LONQX5DI.cjs","sourcesContent":["import defineConfig from '~/factory';\n\nexport default defineConfig({\n tailwind: true,\n sass: true,\n vue: false,\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/shareable-configs/tailwind-sass-vue.ts"],"names":["defineConfig"],"mappings":";;;;;AAEA,IAAO,4BAAQA,8BAAa,CAAA;AAAA,EAC1B,QAAU,EAAA,IAAA;AAAA,EACV,IAAM,EAAA,IAAA;AAAA,EACN,GAAK,EAAA,IAAA;AACP,CAAC","file":"chunk-NXO7LZCC.cjs","sourcesContent":["import defineConfig from '~/factory';\n\nexport default defineConfig({\n tailwind: true,\n sass: true,\n vue: true,\n});\n"]}
1
+ {"version":3,"sources":["../src/shareable-configs/tailwind-sass-vue.ts"],"names":["defineConfig"],"mappings":";;;;;AAEA,IAAO,4BAAQA,8BAAa,CAAA;AAAA,EAC1B,QAAU,EAAA,IAAA;AAAA,EACV,IAAM,EAAA,IAAA;AAAA,EACN,GAAK,EAAA;AACP,CAAC","file":"chunk-NXO7LZCC.cjs","sourcesContent":["import defineConfig from '~/factory';\n\nexport default defineConfig({\n tailwind: true,\n sass: true,\n vue: true,\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/shareable-configs/tailwind.ts"],"names":[],"mappings":";;;AAEA,IAAO,mBAAQ,YAAa,CAAA;AAAA,EAC1B,QAAU,EAAA,IAAA;AAAA,EACV,IAAM,EAAA,KAAA;AAAA,EACN,GAAK,EAAA,KAAA;AACP,CAAC","file":"chunk-TYMIEU32.js","sourcesContent":["import defineConfig from '~/factory';\n\nexport default defineConfig({\n tailwind: true,\n sass: false,\n vue: false,\n});\n"]}
1
+ {"version":3,"sources":["../src/shareable-configs/tailwind.ts"],"names":[],"mappings":";;;AAEA,IAAO,mBAAQ,YAAa,CAAA;AAAA,EAC1B,QAAU,EAAA,IAAA;AAAA,EACV,IAAM,EAAA,KAAA;AAAA,EACN,GAAK,EAAA;AACP,CAAC","file":"chunk-TYMIEU32.js","sourcesContent":["import defineConfig from '~/factory';\n\nexport default defineConfig({\n tailwind: true,\n sass: false,\n vue: false,\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/shareable-configs/auto.ts"],"names":[],"mappings":";;;AAGA,IAAM,EAAE,WAAA,EAAa,OAAS,EAAA,MAAA,KAAW,iBAAkB,EAAA,CAAA;AAE3D,IAAO,eAAQ,YAAa,CAAA;AAAA,EAC1B,UAAU,WAAY,EAAA;AAAA,EACtB,MAAM,OAAQ,EAAA;AAAA,EACd,KAAK,MAAO,EAAA;AACd,CAAC","file":"chunk-UE3L2EAC.js","sourcesContent":["import { defineHasPackages } from '@culur/utils-packages';\nimport defineConfig from '~/factory';\n\nconst { hasTailwind, hasSass, hasVue } = defineHasPackages();\n\nexport default defineConfig({\n tailwind: hasTailwind(),\n sass: hasSass(),\n vue: hasVue(),\n});\n"]}
1
+ {"version":3,"sources":["../src/shareable-configs/auto.ts"],"names":[],"mappings":";;;AAGA,IAAM,EAAE,WAAA,EAAa,OAAS,EAAA,MAAA,KAAW,iBAAkB,EAAA;AAE3D,IAAO,eAAQ,YAAa,CAAA;AAAA,EAC1B,UAAU,WAAY,EAAA;AAAA,EACtB,MAAM,OAAQ,EAAA;AAAA,EACd,KAAK,MAAO;AACd,CAAC","file":"chunk-UE3L2EAC.js","sourcesContent":["import { defineHasPackages } from '@culur/utils-packages';\nimport defineConfig from '~/factory';\n\nconst { hasTailwind, hasSass, hasVue } = defineHasPackages();\n\nexport default defineConfig({\n tailwind: hasTailwind(),\n sass: hasSass(),\n vue: hasVue(),\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/shareable-configs/none.ts"],"names":["defineConfig"],"mappings":";;;;;AAEA,IAAO,eAAQA,8BAAa,CAAA;AAAA,EAC1B,QAAU,EAAA,KAAA;AAAA,EACV,IAAM,EAAA,KAAA;AAAA,EACN,GAAK,EAAA,KAAA;AACP,CAAC","file":"chunk-WC5SUG2Y.cjs","sourcesContent":["import defineConfig from '~/factory';\n\nexport default defineConfig({\n tailwind: false,\n sass: false,\n vue: false,\n});\n"]}
1
+ {"version":3,"sources":["../src/shareable-configs/none.ts"],"names":["defineConfig"],"mappings":";;;;;AAEA,IAAO,eAAQA,8BAAa,CAAA;AAAA,EAC1B,QAAU,EAAA,KAAA;AAAA,EACV,IAAM,EAAA,KAAA;AAAA,EACN,GAAK,EAAA;AACP,CAAC","file":"chunk-WC5SUG2Y.cjs","sourcesContent":["import defineConfig from '~/factory';\n\nexport default defineConfig({\n tailwind: false,\n sass: false,\n vue: false,\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/utils/utils.ts","../src/rules/at-rule-no-unknown.ts","../src/rules/declaration-block-no-redundant-longhand-properties.ts","../src/rules/function-no-unknown.ts","../src/rules/order.ts","../src/rules/selector-pseudo-class-no-unknown.ts","../src/configs/css.ts","../src/rules/dollar-variable-pattern.ts","../src/configs/scss.ts","../src/configs/shared.ts","../src/configs/vue.ts","../src/factory.ts"],"names":[],"mappings":"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","file":"chunk-XVGSEBZ3.cjs","sourcesContent":["import type { Config, ConfigRuleSettings } from 'stylelint';\n\nexport type ConfigRulePrimaryOption =\n | boolean\n | number\n | string\n | Array<boolean | number | string | object>;\nexport type ConfigRuleSecondaryOptions = object;\n\nexport const defineRule = <\n PrimaryOption extends ConfigRulePrimaryOption,\n SecondaryOptions extends ConfigRuleSecondaryOptions,\n>(\n rule: ConfigRuleSettings<PrimaryOption, SecondaryOptions>,\n) => rule;\n\nexport const defineRules = <TRules extends Config['rules']>(rule: TRules) =>\n rule;\n\n// clone function mergeConfigs from stylelint repository\nexport const mergeConfigs = (\n ...configsOrNull: (Config | undefined | null | false)[]\n) => {\n const configs = configsOrNull.filter((c): c is Config => !!c);\n\n return {\n plugins: [...new Set(configs.flatMap(c => c.plugins ?? []))],\n overrides: [...new Set(configs.flatMap(c => c.overrides ?? []))],\n extends: configs\n .flatMap(c => c.extends ?? [])\n .filter((item, index, arr) => arr.lastIndexOf(item) === index),\n rules: configs.reduce(\n (acc, config) => ({ ...acc, ...config.rules }),\n {} as Config['rules'],\n ),\n ...configs.reduce(\n (\n acc,\n { plugins: _p, overrides: _o, extends: _e, rules: _r, ...config },\n ) => ({ ...acc, ...config }),\n {} as Config,\n ),\n };\n};\n","import type { Packages } from '@culur/utils-packages';\nimport { defineRule, defineRules } from '~/utils';\n\n// https://tailwindcss.com/docs/functions-and-directives\nconst directives = [\n 'tailwind',\n 'layer',\n 'apply',\n 'config',\n\n // https://v2.tailwindcss.com/docs/functions-and-directives\n // backwards compatible for v2\n 'variants',\n 'responsive',\n 'screen',\n];\n\nexport const atRuleNoUnknownRule = (packages: Partial<Packages>) =>\n defineRule<boolean, { ignoreAtRules: (string | RegExp)[] }>([\n true,\n { ignoreAtRules: packages.tailwind ? directives : [] },\n ]);\n\nexport const atRuleNoUnknownCSS = (packages: Partial<Packages>) =>\n defineRules({\n 'at-rule-no-unknown': atRuleNoUnknownRule(packages),\n });\n\nexport const atRuleNoUnknownSCSS = (packages: Partial<Packages>) =>\n defineRules({\n 'at-rule-no-unknown': null,\n 'scss/at-rule-no-unknown': atRuleNoUnknownRule(packages),\n });\n","import { defineRule, defineRules } from '~/utils';\n\nexport const declarationBlockNoRedundantLonghandPropertiesRule = defineRule<\n true,\n { ignoreShorthands?: (string | RegExp)[] }\n>([true, { ignoreShorthands: ['grid-template'] }]);\n\nexport const declarationBlockNoRedundantLonghandProperties = defineRules({\n 'declaration-block-no-redundant-longhand-properties':\n declarationBlockNoRedundantLonghandPropertiesRule,\n});\n","import type { Packages } from '@culur/utils-packages';\nimport { defineRule, defineRules } from '~/utils';\n\nexport function functionNoUnknownRule(packages: Partial<Packages>) {\n const ignoreFunctions = [\n // https://tailwindcss.com/docs/functions-and-directives#functions\n ...(packages.tailwind //\n ? ['theme', 'screen']\n : []),\n\n // https://sass-lang.com/documentation/modules/list\n // https://sass-lang.com/documentation/modules/math\n // https://sass-lang.com/documentation/modules/color\n ...(packages.sass //\n ? [/^(list|math|color)\\..+/]\n : []),\n\n // https://vuejs.org/api/sfc-css-features.html#v-bind-in-css\n ...(packages.vue //\n ? ['v-bind']\n : []),\n ];\n\n return defineRule<boolean, { ignoreFunctions: (string | RegExp)[] }>([\n true,\n ignoreFunctions.length > 0 //\n ? { ignoreFunctions }\n : { ignoreFunctions: [] },\n ]);\n}\n\nexport const functionNoUnknown = (packages: Partial<Packages>) =>\n defineRules({\n 'function-no-unknown': functionNoUnknownRule(packages),\n });\n","import type { Packages } from '@culur/utils-packages';\nimport { defineRule, defineRules } from '~/utils';\n\n// https://github.com/hudochenkov/stylelint-order/blob/master/rules/order/README.md#options\n\ntype Keyword =\n | 'custom-properties' /**/ // Custom properties (e.g. --property: 10px;)\n | 'dollar-variables' /***/ // Dollar variables (e.g. $variable)\n | 'at-variables' /*******/ // At-variables (e.g. @variable available in Less syntax)\n | 'declarations' /*******/ // CSS declarations (e.g. display: block)\n | 'rules' /**************/ // Nested rules (e.g. a { span {} })\n | 'at-rules' /***********/ // Nested at-rules (e.g. div { @media () {} })\n | 'less-mixins'; /*******/ // Mixins in Less syntax (e.g. .mixin();)\n\ninterface AtRule {\n type: 'at-rule';\n name?: string;\n parameter?: string | RegExp;\n hasBlock?: boolean;\n}\n\ninterface Rule {\n type: 'rule';\n selector?: string | RegExp;\n name?: string;\n}\n\ntype PrimaryOption = Array<Keyword | AtRule | Rule>;\ninterface SecondaryOptions {\n unspecified?: 'top' | 'bottom' | 'ignore';\n}\n\nconst definePrimaryOption = (\n ...options: (PrimaryOption[number] | false | undefined)[]\n) => options.filter((option): option is PrimaryOption[number] => !!option);\n\nexport const orderRule = (packages: Partial<Packages>) =>\n defineRule<PrimaryOption, SecondaryOptions>([\n definePrimaryOption(\n //! import\n packages.sass && { type: 'at-rule', name: 'use' }, // scss: @use 'path/path';\n packages.sass && { type: 'at-rule', name: 'forward' }, // scss: @forward 'path/path';\n packages.sass && { type: 'at-rule', name: 'import' }, // scss: @import 'path/path';\n\n //! root\n packages.tailwind && { type: 'at-rule', name: 'config' }, // tailwind v3: @config 'tailwind.custom.config.js'\n packages.tailwind && { type: 'at-rule', name: 'tailwind' }, // tailwind v3: @tailwind base;\n packages.tailwind && { type: 'at-rule', name: 'layer' }, // tailwind v3: @layer base {}\n\n //! variables\n 'dollar-variables', // css: $variable: 10px;\n 'at-variables', // css: @variable: 10px;\n { type: 'at-rule', hasBlock: false }, // css: @variable: 10px;\n 'custom-properties', // css: --property: 10px;\n\n //! functions, methods\n packages.sass && { type: 'at-rule', name: 'function' }, // scss: @function sum() {}\n packages.sass && { type: 'at-rule', name: 'mixin' }, // scss: @mixin mixin-name {}\n\n //! declarations\n packages.sass && { type: 'at-rule', name: 'extend' }, // scss: @extend .class-name;\n packages.sass && { type: 'at-rule', name: 'include' }, // scss: @include mixin-name;\n packages.tailwind && { type: 'at-rule', name: 'apply' }, // tailwind v3: @apply p-3;\n 'less-mixins', // less: .mixin();\n 'declarations', // css: display: block;\n\n //! block rules\n { type: 'rule', selector: /^&::[\\w-]+/ }, // css: &::after {}\n 'rules', // css: child-component {}\n\n //! blocks nested\n packages.sass && { type: 'at-rule', name: 'at-root' }, // scss: @at-root selector { /* content */ }\n packages.tailwind && { type: 'at-rule', name: 'responsive' }, // tailwind v2: @responsive {}\n packages.tailwind && { type: 'at-rule', name: 'variants' }, // tailwind v2: @variants hover {}\n packages.tailwind && { type: 'at-rule', name: 'screen' }, // tailwind v2: @screen sm {}\n { type: 'at-rule', hasBlock: true }, // css: @media () {}\n ),\n {\n unspecified: 'bottom',\n },\n ]);\n\nexport const order = (packages: Partial<Packages>) =>\n defineRules({\n 'order/order': orderRule(packages),\n });\n","import { defineRule, defineRules } from '~/utils';\n\nexport const selectorPseudoClassNoUnknownRule = defineRule<\n true,\n { ignorePseudoClasses?: (string | RegExp)[] }\n>([true, { ignorePseudoClasses: ['global', 'local'] }]);\n\nexport const selectorPseudoClassNoUnknown = defineRules({\n 'selector-pseudo-class-no-unknown': selectorPseudoClassNoUnknownRule,\n});\n","import type { Packages } from '@culur/utils-packages';\nimport type { Config } from 'stylelint';\nimport { atRuleNoUnknownCSS } from '~/rules/at-rule-no-unknown';\nimport { declarationBlockNoRedundantLonghandProperties } from '~/rules/declaration-block-no-redundant-longhand-properties';\nimport { functionNoUnknown } from '~/rules/function-no-unknown';\nimport { order } from '~/rules/order';\nimport { selectorPseudoClassNoUnknown } from '~/rules/selector-pseudo-class-no-unknown';\n\nexport const configCss = (packages: Partial<Packages>): Config => ({\n extends: ['stylelint-config-standard', 'stylelint-config-clean-order'],\n plugins: ['stylelint-order', 'stylelint-selector-bem-pattern'],\n rules: {\n ...atRuleNoUnknownCSS(packages),\n ...declarationBlockNoRedundantLonghandProperties,\n ...functionNoUnknown(packages),\n ...order(packages),\n ...selectorPseudoClassNoUnknown,\n 'declaration-empty-line-before': null,\n },\n});\n","import { defineRule, defineRules } from '~/utils';\n\ntype PrimaryOption = string;\ninterface SecondaryOptions {\n message: string;\n}\n\nexport const dollarVariablePatternRule = defineRule<\n PrimaryOption,\n SecondaryOptions\n>([\n '^(-{0,2}?[a-z][a-z0-9]*)(-[a-z0-9]+)*$',\n { message: 'Expected variable to be kebab-case' },\n]);\n\nexport const dollarVariablePatternSCSS = defineRules({\n 'scss/dollar-variable-pattern': dollarVariablePatternRule,\n});\n","import type { Packages } from '@culur/utils-packages';\nimport type { Config } from 'stylelint';\nimport { atRuleNoUnknownSCSS } from '~/rules/at-rule-no-unknown';\nimport { dollarVariablePatternSCSS } from '~/rules/dollar-variable-pattern';\n\nexport const configScss = (packages: Partial<Packages>): Config => ({\n extends: ['stylelint-config-standard-scss'],\n rules: {\n ...atRuleNoUnknownSCSS(packages),\n ...dollarVariablePatternSCSS,\n },\n});\n","import type { Config } from 'stylelint';\n\nexport const configShared = (): Config => ({\n extends: ['stylelint-config-html'],\n});\n","import type { Packages } from '@culur/utils-packages';\nimport type { Config } from 'stylelint';\n\nexport const configVue = (packages: Partial<Packages>): Config => ({\n extends: [\n packages.sass\n ? 'stylelint-config-standard-vue/scss'\n : 'stylelint-config-standard-vue',\n ],\n});\n","import type { Packages } from '@culur/utils-packages';\nimport type { Config } from 'stylelint';\nimport { configCss } from './configs/css';\nimport { configScss } from './configs/scss';\nimport { configShared } from './configs/shared';\nimport { configVue } from './configs/vue';\nimport { mergeConfigs } from './utils';\n\nexport default function defineConfig(\n packages?: Partial<Packages>,\n config?: Config,\n): Config {\n const packages_ = packages ?? {};\n\n return mergeConfigs(\n configShared(),\n configCss(packages_),\n packages_.sass && configScss(packages_),\n packages_.vue && configVue(packages_),\n config,\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/utils/utils.ts","../src/rules/at-rule-no-unknown.ts","../src/rules/declaration-block-no-redundant-longhand-properties.ts","../src/rules/function-no-unknown.ts","../src/rules/order.ts","../src/rules/selector-pseudo-class-no-unknown.ts","../src/configs/css.ts","../src/rules/dollar-variable-pattern.ts","../src/configs/scss.ts","../src/configs/shared.ts","../src/configs/vue.ts","../src/factory.ts"],"names":[],"mappings":"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","file":"chunk-XVGSEBZ3.cjs","sourcesContent":["import type { Config, ConfigRuleSettings } from 'stylelint';\n\nexport type ConfigRulePrimaryOption =\n | boolean\n | number\n | string\n | Array<boolean | number | string | object>;\nexport type ConfigRuleSecondaryOptions = object;\n\nexport const defineRule = <\n PrimaryOption extends ConfigRulePrimaryOption,\n SecondaryOptions extends ConfigRuleSecondaryOptions,\n>(\n rule: ConfigRuleSettings<PrimaryOption, SecondaryOptions>,\n) => rule;\n\nexport const defineRules = <TRules extends Config['rules']>(rule: TRules) =>\n rule;\n\n// clone function mergeConfigs from stylelint repository\nexport const mergeConfigs = (\n ...configsOrNull: (Config | undefined | null | false)[]\n) => {\n const configs = configsOrNull.filter((c): c is Config => !!c);\n\n return {\n plugins: [...new Set(configs.flatMap(c => c.plugins ?? []))],\n overrides: [...new Set(configs.flatMap(c => c.overrides ?? []))],\n extends: configs\n .flatMap(c => c.extends ?? [])\n .filter((item, index, arr) => arr.lastIndexOf(item) === index),\n rules: configs.reduce(\n (acc, config) => ({ ...acc, ...config.rules }),\n {} as Config['rules'],\n ),\n ...configs.reduce(\n (\n acc,\n { plugins: _p, overrides: _o, extends: _e, rules: _r, ...config },\n ) => ({ ...acc, ...config }),\n {} as Config,\n ),\n };\n};\n","import type { Packages } from '@culur/utils-packages';\nimport { defineRule, defineRules } from '~/utils';\n\n// https://tailwindcss.com/docs/functions-and-directives\nconst directives = [\n 'tailwind',\n 'layer',\n 'apply',\n 'config',\n\n // https://v2.tailwindcss.com/docs/functions-and-directives\n // backwards compatible for v2\n 'variants',\n 'responsive',\n 'screen',\n];\n\nexport const atRuleNoUnknownRule = (packages: Partial<Packages>) =>\n defineRule<boolean, { ignoreAtRules: (string | RegExp)[] }>([\n true,\n { ignoreAtRules: packages.tailwind ? directives : [] },\n ]);\n\nexport const atRuleNoUnknownCSS = (packages: Partial<Packages>) =>\n defineRules({\n 'at-rule-no-unknown': atRuleNoUnknownRule(packages),\n });\n\nexport const atRuleNoUnknownSCSS = (packages: Partial<Packages>) =>\n defineRules({\n 'at-rule-no-unknown': null,\n 'scss/at-rule-no-unknown': atRuleNoUnknownRule(packages),\n });\n","import { defineRule, defineRules } from '~/utils';\n\nexport const declarationBlockNoRedundantLonghandPropertiesRule = defineRule<\n true,\n { ignoreShorthands?: (string | RegExp)[] }\n>([true, { ignoreShorthands: ['grid-template'] }]);\n\nexport const declarationBlockNoRedundantLonghandProperties = defineRules({\n 'declaration-block-no-redundant-longhand-properties':\n declarationBlockNoRedundantLonghandPropertiesRule,\n});\n","import type { Packages } from '@culur/utils-packages';\nimport { defineRule, defineRules } from '~/utils';\n\nexport function functionNoUnknownRule(packages: Partial<Packages>) {\n const ignoreFunctions = [\n // https://tailwindcss.com/docs/functions-and-directives#functions\n ...(packages.tailwind //\n ? ['theme', 'screen']\n : []),\n\n // https://sass-lang.com/documentation/modules/list\n // https://sass-lang.com/documentation/modules/math\n // https://sass-lang.com/documentation/modules/color\n ...(packages.sass //\n ? [/^(list|math|color)\\..+/]\n : []),\n\n // https://vuejs.org/api/sfc-css-features.html#v-bind-in-css\n ...(packages.vue //\n ? ['v-bind']\n : []),\n ];\n\n return defineRule<boolean, { ignoreFunctions: (string | RegExp)[] }>([\n true,\n ignoreFunctions.length > 0 //\n ? { ignoreFunctions }\n : { ignoreFunctions: [] },\n ]);\n}\n\nexport const functionNoUnknown = (packages: Partial<Packages>) =>\n defineRules({\n 'function-no-unknown': functionNoUnknownRule(packages),\n });\n","import type { Packages } from '@culur/utils-packages';\nimport { defineRule, defineRules } from '~/utils';\n\n// https://github.com/hudochenkov/stylelint-order/blob/master/rules/order/README.md#options\n\ntype Keyword =\n | 'custom-properties' /**/ // Custom properties (e.g. --property: 10px;)\n | 'dollar-variables' /***/ // Dollar variables (e.g. $variable)\n | 'at-variables' /*******/ // At-variables (e.g. @variable available in Less syntax)\n | 'declarations' /*******/ // CSS declarations (e.g. display: block)\n | 'rules' /**************/ // Nested rules (e.g. a { span {} })\n | 'at-rules' /***********/ // Nested at-rules (e.g. div { @media () {} })\n | 'less-mixins'; /*******/ // Mixins in Less syntax (e.g. .mixin();)\n\ninterface AtRule {\n type: 'at-rule';\n name?: string;\n parameter?: string | RegExp;\n hasBlock?: boolean;\n}\n\ninterface Rule {\n type: 'rule';\n selector?: string | RegExp;\n name?: string;\n}\n\ntype PrimaryOption = Array<Keyword | AtRule | Rule>;\ninterface SecondaryOptions {\n unspecified?: 'top' | 'bottom' | 'ignore';\n}\n\nconst definePrimaryOption = (\n ...options: (PrimaryOption[number] | false | undefined)[]\n) => options.filter((option): option is PrimaryOption[number] => !!option);\n\nexport const orderRule = (packages: Partial<Packages>) =>\n defineRule<PrimaryOption, SecondaryOptions>([\n definePrimaryOption(\n //! import\n packages.sass && { type: 'at-rule', name: 'use' }, // scss: @use 'path/path';\n packages.sass && { type: 'at-rule', name: 'forward' }, // scss: @forward 'path/path';\n packages.sass && { type: 'at-rule', name: 'import' }, // scss: @import 'path/path';\n\n //! root\n packages.tailwind && { type: 'at-rule', name: 'config' }, // tailwind v3: @config 'tailwind.custom.config.js'\n packages.tailwind && { type: 'at-rule', name: 'tailwind' }, // tailwind v3: @tailwind base;\n packages.tailwind && { type: 'at-rule', name: 'layer' }, // tailwind v3: @layer base {}\n\n //! variables\n 'dollar-variables', // css: $variable: 10px;\n 'at-variables', // css: @variable: 10px;\n { type: 'at-rule', hasBlock: false }, // css: @variable: 10px;\n 'custom-properties', // css: --property: 10px;\n\n //! functions, methods\n packages.sass && { type: 'at-rule', name: 'function' }, // scss: @function sum() {}\n packages.sass && { type: 'at-rule', name: 'mixin' }, // scss: @mixin mixin-name {}\n\n //! declarations\n packages.sass && { type: 'at-rule', name: 'extend' }, // scss: @extend .class-name;\n packages.sass && { type: 'at-rule', name: 'include' }, // scss: @include mixin-name;\n packages.tailwind && { type: 'at-rule', name: 'apply' }, // tailwind v3: @apply p-3;\n 'less-mixins', // less: .mixin();\n 'declarations', // css: display: block;\n\n //! block rules\n { type: 'rule', selector: /^&::[\\w-]+/ }, // css: &::after {}\n 'rules', // css: child-component {}\n\n //! blocks nested\n packages.sass && { type: 'at-rule', name: 'at-root' }, // scss: @at-root selector { /* content */ }\n packages.tailwind && { type: 'at-rule', name: 'responsive' }, // tailwind v2: @responsive {}\n packages.tailwind && { type: 'at-rule', name: 'variants' }, // tailwind v2: @variants hover {}\n packages.tailwind && { type: 'at-rule', name: 'screen' }, // tailwind v2: @screen sm {}\n { type: 'at-rule', hasBlock: true }, // css: @media () {}\n ),\n {\n unspecified: 'bottom',\n },\n ]);\n\nexport const order = (packages: Partial<Packages>) =>\n defineRules({\n 'order/order': orderRule(packages),\n });\n","import { defineRule, defineRules } from '~/utils';\n\nexport const selectorPseudoClassNoUnknownRule = defineRule<\n true,\n { ignorePseudoClasses?: (string | RegExp)[] }\n>([true, { ignorePseudoClasses: ['global', 'local'] }]);\n\nexport const selectorPseudoClassNoUnknown = defineRules({\n 'selector-pseudo-class-no-unknown': selectorPseudoClassNoUnknownRule,\n});\n","import type { Packages } from '@culur/utils-packages';\nimport type { Config } from 'stylelint';\nimport { atRuleNoUnknownCSS } from '~/rules/at-rule-no-unknown';\nimport { declarationBlockNoRedundantLonghandProperties } from '~/rules/declaration-block-no-redundant-longhand-properties';\nimport { functionNoUnknown } from '~/rules/function-no-unknown';\nimport { order } from '~/rules/order';\nimport { selectorPseudoClassNoUnknown } from '~/rules/selector-pseudo-class-no-unknown';\n\nexport const configCss = (packages: Partial<Packages>): Config => ({\n extends: ['stylelint-config-standard', 'stylelint-config-clean-order'],\n plugins: ['stylelint-order', 'stylelint-selector-bem-pattern'],\n rules: {\n ...atRuleNoUnknownCSS(packages),\n ...declarationBlockNoRedundantLonghandProperties,\n ...functionNoUnknown(packages),\n ...order(packages),\n ...selectorPseudoClassNoUnknown,\n 'declaration-empty-line-before': null,\n },\n});\n","import { defineRule, defineRules } from '~/utils';\n\ntype PrimaryOption = string;\ninterface SecondaryOptions {\n message: string;\n}\n\nexport const dollarVariablePatternRule = defineRule<\n PrimaryOption,\n SecondaryOptions\n>([\n '^(-{0,2}?[a-z][a-z0-9]*)(-[a-z0-9]+)*$',\n { message: 'Expected variable to be kebab-case' },\n]);\n\nexport const dollarVariablePatternSCSS = defineRules({\n 'scss/dollar-variable-pattern': dollarVariablePatternRule,\n});\n","import type { Packages } from '@culur/utils-packages';\nimport type { Config } from 'stylelint';\nimport { atRuleNoUnknownSCSS } from '~/rules/at-rule-no-unknown';\nimport { dollarVariablePatternSCSS } from '~/rules/dollar-variable-pattern';\n\nexport const configScss = (packages: Partial<Packages>): Config => ({\n extends: ['stylelint-config-standard-scss'],\n rules: {\n ...atRuleNoUnknownSCSS(packages),\n ...dollarVariablePatternSCSS,\n },\n});\n","import type { Config } from 'stylelint';\n\nexport const configShared = (): Config => ({\n extends: ['stylelint-config-html'],\n});\n","import type { Packages } from '@culur/utils-packages';\nimport type { Config } from 'stylelint';\n\nexport const configVue = (packages: Partial<Packages>): Config => ({\n extends: [\n packages.sass\n ? 'stylelint-config-standard-vue/scss'\n : 'stylelint-config-standard-vue',\n ],\n});\n","import type { Packages } from '@culur/utils-packages';\nimport type { Config } from 'stylelint';\nimport { configCss } from './configs/css';\nimport { configScss } from './configs/scss';\nimport { configShared } from './configs/shared';\nimport { configVue } from './configs/vue';\nimport { mergeConfigs } from './utils';\n\nexport default function defineConfig(\n packages?: Partial<Packages>,\n config?: Config,\n): Config {\n const packages_ = packages ?? {};\n\n return mergeConfigs(\n configShared(),\n configCss(packages_),\n packages_.sass && configScss(packages_),\n packages_.vue && configVue(packages_),\n config,\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/shareable-configs/sass-vue.ts"],"names":["defineConfig"],"mappings":";;;;;AAEA,IAAO,mBAAQA,8BAAa,CAAA;AAAA,EAC1B,QAAU,EAAA,KAAA;AAAA,EACV,IAAM,EAAA,IAAA;AAAA,EACN,GAAK,EAAA,IAAA;AACP,CAAC","file":"chunk-Y3MVVY3R.cjs","sourcesContent":["import defineConfig from '~/factory';\n\nexport default defineConfig({\n tailwind: false,\n sass: true,\n vue: true,\n});\n"]}
1
+ {"version":3,"sources":["../src/shareable-configs/sass-vue.ts"],"names":["defineConfig"],"mappings":";;;;;AAEA,IAAO,mBAAQA,8BAAa,CAAA;AAAA,EAC1B,QAAU,EAAA,KAAA;AAAA,EACV,IAAM,EAAA,IAAA;AAAA,EACN,GAAK,EAAA;AACP,CAAC","file":"chunk-Y3MVVY3R.cjs","sourcesContent":["import defineConfig from '~/factory';\n\nexport default defineConfig({\n tailwind: false,\n sass: true,\n vue: true,\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/shareable-configs/tailwind.ts"],"names":["defineConfig"],"mappings":";;;;;AAEA,IAAO,mBAAQA,8BAAa,CAAA;AAAA,EAC1B,QAAU,EAAA,IAAA;AAAA,EACV,IAAM,EAAA,KAAA;AAAA,EACN,GAAK,EAAA,KAAA;AACP,CAAC","file":"chunk-Y7R6CURO.cjs","sourcesContent":["import defineConfig from '~/factory';\n\nexport default defineConfig({\n tailwind: true,\n sass: false,\n vue: false,\n});\n"]}
1
+ {"version":3,"sources":["../src/shareable-configs/tailwind.ts"],"names":["defineConfig"],"mappings":";;;;;AAEA,IAAO,mBAAQA,8BAAa,CAAA;AAAA,EAC1B,QAAU,EAAA,IAAA;AAAA,EACV,IAAM,EAAA,KAAA;AAAA,EACN,GAAK,EAAA;AACP,CAAC","file":"chunk-Y7R6CURO.cjs","sourcesContent":["import defineConfig from '~/factory';\n\nexport default defineConfig({\n tailwind: true,\n sass: false,\n vue: false,\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/shareable-configs/auto.ts"],"names":["defineHasPackages","defineConfig"],"mappings":";;;;;AAGA,IAAM,EAAE,WAAA,EAAa,OAAS,EAAA,MAAA,KAAWA,+BAAkB,EAAA,CAAA;AAE3D,IAAO,eAAQC,8BAAa,CAAA;AAAA,EAC1B,UAAU,WAAY,EAAA;AAAA,EACtB,MAAM,OAAQ,EAAA;AAAA,EACd,KAAK,MAAO,EAAA;AACd,CAAC","file":"chunk-YY3GVME5.cjs","sourcesContent":["import { defineHasPackages } from '@culur/utils-packages';\nimport defineConfig from '~/factory';\n\nconst { hasTailwind, hasSass, hasVue } = defineHasPackages();\n\nexport default defineConfig({\n tailwind: hasTailwind(),\n sass: hasSass(),\n vue: hasVue(),\n});\n"]}
1
+ {"version":3,"sources":["../src/shareable-configs/auto.ts"],"names":["defineHasPackages","defineConfig"],"mappings":";;;;;AAGA,IAAM,EAAE,WAAA,EAAa,OAAS,EAAA,MAAA,KAAWA,+BAAkB,EAAA;AAE3D,IAAO,eAAQC,8BAAa,CAAA;AAAA,EAC1B,UAAU,WAAY,EAAA;AAAA,EACtB,MAAM,OAAQ,EAAA;AAAA,EACd,KAAK,MAAO;AACd,CAAC","file":"chunk-YY3GVME5.cjs","sourcesContent":["import { defineHasPackages } from '@culur/utils-packages';\nimport defineConfig from '~/factory';\n\nconst { hasTailwind, hasSass, hasVue } = defineHasPackages();\n\nexport default defineConfig({\n tailwind: hasTailwind(),\n sass: hasSass(),\n vue: hasVue(),\n});\n"]}
@@ -88,7 +88,7 @@ function encode(decoded) {
88
88
  return writer.flush();
89
89
  }
90
90
 
91
- // ../../node_modules/.pnpm/magic-string@0.30.12/node_modules/magic-string/dist/magic-string.es.mjs
91
+ // ../../node_modules/.pnpm/magic-string@0.30.17/node_modules/magic-string/dist/magic-string.es.mjs
92
92
  var BitSet = class _BitSet {
93
93
  constructor(arg) {
94
94
  this.bits = arg instanceof _BitSet ? arg.bits.slice() : [];
@@ -257,6 +257,9 @@ var SourceMap = class {
257
257
  if (typeof properties.x_google_ignoreList !== "undefined") {
258
258
  this.x_google_ignoreList = properties.x_google_ignoreList;
259
259
  }
260
+ if (typeof properties.debugId !== "undefined") {
261
+ this.debugId = properties.debugId;
262
+ }
260
263
  }
261
264
  toString() {
262
265
  return JSON.stringify(this);
@@ -373,6 +376,7 @@ var Mappings = class {
373
376
  this.raw[this.generatedCodeLine] = this.rawSegments = [];
374
377
  this.generatedCodeColumn = 0;
375
378
  first = true;
379
+ charInHiresBoundary = false;
376
380
  } else {
377
381
  if (this.hires || first || sourcemapLocations.has(originalCharIndex)) {
378
382
  const segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];
@@ -434,7 +438,8 @@ var MagicString = class _MagicString {
434
438
  sourcemapLocations: { writable: true, value: new BitSet() },
435
439
  storedNames: { writable: true, value: {} },
436
440
  indentStr: { writable: true, value: void 0 },
437
- ignoreList: { writable: true, value: options.ignoreList }
441
+ ignoreList: { writable: true, value: options.ignoreList },
442
+ offset: { writable: true, value: options.offset || 0 }
438
443
  });
439
444
  this.byStart[0] = chunk;
440
445
  this.byEnd[string.length] = chunk;
@@ -448,6 +453,7 @@ var MagicString = class _MagicString {
448
453
  return this;
449
454
  }
450
455
  appendLeft(index, content) {
456
+ index = index + this.offset;
451
457
  if (typeof content !== "string") throw new TypeError("inserted content must be a string");
452
458
  this._split(index);
453
459
  const chunk = this.byEnd[index];
@@ -459,6 +465,7 @@ var MagicString = class _MagicString {
459
465
  return this;
460
466
  }
461
467
  appendRight(index, content) {
468
+ index = index + this.offset;
462
469
  if (typeof content !== "string") throw new TypeError("inserted content must be a string");
463
470
  this._split(index);
464
471
  const chunk = this.byStart[index];
@@ -470,7 +477,7 @@ var MagicString = class _MagicString {
470
477
  return this;
471
478
  }
472
479
  clone() {
473
- const cloned = new _MagicString(this.original, { filename: this.filename });
480
+ const cloned = new _MagicString(this.original, { filename: this.filename, offset: this.offset });
474
481
  let originalChunk = this.firstChunk;
475
482
  let clonedChunk = cloned.firstChunk = cloned.lastSearchedChunk = originalChunk.clone();
476
483
  while (originalChunk) {
@@ -635,6 +642,9 @@ var MagicString = class _MagicString {
635
642
  return this.prependRight(index, content);
636
643
  }
637
644
  move(start, end, index) {
645
+ start = start + this.offset;
646
+ end = end + this.offset;
647
+ index = index + this.offset;
638
648
  if (index >= start && index <= end) throw new Error("Cannot move a selection inside itself");
639
649
  this._split(start);
640
650
  this._split(end);
@@ -666,6 +676,8 @@ var MagicString = class _MagicString {
666
676
  return this.update(start, end, content, { ...options, overwrite: !options.contentOnly });
667
677
  }
668
678
  update(start, end, content, options) {
679
+ start = start + this.offset;
680
+ end = end + this.offset;
669
681
  if (typeof content !== "string") throw new TypeError("replacement content must be a string");
670
682
  if (this.original.length !== 0) {
671
683
  while (start < 0) start += this.original.length;
@@ -722,6 +734,7 @@ var MagicString = class _MagicString {
722
734
  return this;
723
735
  }
724
736
  prependLeft(index, content) {
737
+ index = index + this.offset;
725
738
  if (typeof content !== "string") throw new TypeError("inserted content must be a string");
726
739
  this._split(index);
727
740
  const chunk = this.byEnd[index];
@@ -733,6 +746,7 @@ var MagicString = class _MagicString {
733
746
  return this;
734
747
  }
735
748
  prependRight(index, content) {
749
+ index = index + this.offset;
736
750
  if (typeof content !== "string") throw new TypeError("inserted content must be a string");
737
751
  this._split(index);
738
752
  const chunk = this.byStart[index];
@@ -744,6 +758,8 @@ var MagicString = class _MagicString {
744
758
  return this;
745
759
  }
746
760
  remove(start, end) {
761
+ start = start + this.offset;
762
+ end = end + this.offset;
747
763
  if (this.original.length !== 0) {
748
764
  while (start < 0) start += this.original.length;
749
765
  while (end < 0) end += this.original.length;
@@ -763,6 +779,8 @@ var MagicString = class _MagicString {
763
779
  return this;
764
780
  }
765
781
  reset(start, end) {
782
+ start = start + this.offset;
783
+ end = end + this.offset;
766
784
  if (this.original.length !== 0) {
767
785
  while (start < 0) start += this.original.length;
768
786
  while (end < 0) end += this.original.length;
@@ -816,7 +834,9 @@ var MagicString = class _MagicString {
816
834
  if (lineIndex !== -1) return this.intro.substr(lineIndex + 1) + lineStr;
817
835
  return this.intro + lineStr;
818
836
  }
819
- slice(start = 0, end = this.original.length) {
837
+ slice(start = 0, end = this.original.length - this.offset) {
838
+ start = start + this.offset;
839
+ end = end + this.offset;
820
840
  if (this.original.length !== 0) {
821
841
  while (start < 0) start += this.original.length;
822
842
  while (end < 0) end += this.original.length;
@@ -993,11 +1013,7 @@ var MagicString = class _MagicString {
993
1013
  if (match.index != null) {
994
1014
  const replacement2 = getReplacement(match, this.original);
995
1015
  if (replacement2 !== match[0]) {
996
- this.overwrite(
997
- match.index,
998
- match.index + match[0].length,
999
- replacement2
1000
- );
1016
+ this.overwrite(match.index, match.index + match[0].length, replacement2);
1001
1017
  }
1002
1018
  }
1003
1019
  });
@@ -1006,11 +1022,7 @@ var MagicString = class _MagicString {
1006
1022
  if (match && match.index != null) {
1007
1023
  const replacement2 = getReplacement(match, this.original);
1008
1024
  if (replacement2 !== match[0]) {
1009
- this.overwrite(
1010
- match.index,
1011
- match.index + match[0].length,
1012
- replacement2
1013
- );
1025
+ this.overwrite(match.index, match.index + match[0].length, replacement2);
1014
1026
  }
1015
1027
  }
1016
1028
  }
@@ -1035,8 +1047,7 @@ var MagicString = class _MagicString {
1035
1047
  const stringLength = string.length;
1036
1048
  for (let index = original.indexOf(string); index !== -1; index = original.indexOf(string, index + stringLength)) {
1037
1049
  const previous = original.slice(index, index + stringLength);
1038
- if (previous !== replacement)
1039
- this.overwrite(index, index + stringLength, replacement);
1050
+ if (previous !== replacement) this.overwrite(index, index + stringLength, replacement);
1040
1051
  }
1041
1052
  return this;
1042
1053
  }
@@ -1283,5 +1294,5 @@ var Bundle = class _Bundle {
1283
1294
  };
1284
1295
 
1285
1296
  export { Bundle, SourceMap, MagicString as default };
1286
- //# sourceMappingURL=magic-string.es-VTEG26JP.js.map
1287
- //# sourceMappingURL=magic-string.es-VTEG26JP.js.map
1297
+ //# sourceMappingURL=magic-string.es-D7CL6KKL.js.map
1298
+ //# sourceMappingURL=magic-string.es-D7CL6KKL.js.map