@culur/config-stylelint 1.3.4 → 1.3.6
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 +26 -0
- package/dist/{chunk-XVGSEBZ3.cjs → chunk-3OKK3OZA.cjs} +12 -2
- package/dist/chunk-3OKK3OZA.cjs.map +1 -0
- package/dist/chunk-7RXT24FQ.cjs +14 -0
- package/dist/chunk-7RXT24FQ.cjs.map +1 -0
- package/dist/chunk-A2YPGE5K.cjs +14 -0
- package/dist/chunk-A2YPGE5K.cjs.map +1 -0
- package/dist/{chunk-FGLO4UZK.js → chunk-DELVOOF7.js} +12 -2
- package/dist/chunk-DELVOOF7.js.map +1 -0
- package/dist/chunk-E5AQKPTR.cjs +14 -0
- package/dist/chunk-E5AQKPTR.cjs.map +1 -0
- package/dist/chunk-F4KVFXZ5.cjs +14 -0
- package/dist/chunk-F4KVFXZ5.cjs.map +1 -0
- package/dist/{chunk-LD3TYMYZ.js → chunk-PLH663YF.js} +3 -3
- package/dist/chunk-PLH663YF.js.map +1 -0
- package/dist/{chunk-UE3L2EAC.js → chunk-PXFGHETR.js} +3 -3
- package/dist/chunk-PXFGHETR.js.map +1 -0
- package/dist/{chunk-FLKJSLQV.js → chunk-RS7U7LK5.js} +3 -3
- package/dist/chunk-RS7U7LK5.js.map +1 -0
- package/dist/{chunk-TYMIEU32.js → chunk-TFSJFLSG.js} +3 -3
- package/dist/chunk-TFSJFLSG.js.map +1 -0
- package/dist/{chunk-EBISEPDI.js → chunk-UI2O37PT.js} +3 -3
- package/dist/chunk-UI2O37PT.js.map +1 -0
- package/dist/{chunk-K3AT24DR.js → chunk-VMEJZNCQ.js} +3 -3
- package/dist/chunk-VMEJZNCQ.js.map +1 -0
- package/dist/chunk-VPEUG2GY.cjs +14 -0
- package/dist/chunk-VPEUG2GY.cjs.map +1 -0
- package/dist/{chunk-G3HDXENP.js → chunk-WSSCF6SR.js} +3 -3
- package/dist/chunk-WSSCF6SR.js.map +1 -0
- package/dist/chunk-XTYHCQFN.cjs +14 -0
- package/dist/chunk-XTYHCQFN.cjs.map +1 -0
- package/dist/chunk-YE6VSGPS.cjs +14 -0
- package/dist/chunk-YE6VSGPS.cjs.map +1 -0
- package/dist/{chunk-BMHJWBQW.js → chunk-Z5DZI5GF.js} +3 -3
- package/dist/chunk-Z5DZI5GF.js.map +1 -0
- package/dist/{chunk-YY3GVME5.cjs → chunk-ZIUULTY5.cjs} +4 -4
- package/dist/chunk-ZIUULTY5.cjs.map +1 -0
- package/dist/factory.cjs +2 -2
- package/dist/factory.js +1 -1
- package/dist/{magic-string.es-VTEG26JP.js → magic-string.es-D7CL6KKL.js} +29 -18
- package/dist/magic-string.es-D7CL6KKL.js.map +1 -0
- package/dist/{magic-string.es-ZMAVZB3C.cjs → magic-string.es-KFRT2ZSU.cjs} +29 -18
- package/dist/magic-string.es-KFRT2ZSU.cjs.map +1 -0
- package/dist/shareable-configs/auto.cjs +3 -3
- package/dist/shareable-configs/auto.js +2 -2
- package/dist/shareable-configs/none.cjs +3 -3
- package/dist/shareable-configs/none.js +2 -2
- package/dist/shareable-configs/sass-vue.cjs +3 -3
- package/dist/shareable-configs/sass-vue.js +2 -2
- package/dist/shareable-configs/sass.cjs +3 -3
- package/dist/shareable-configs/sass.js +2 -2
- package/dist/shareable-configs/tailwind-sass-vue.cjs +3 -3
- package/dist/shareable-configs/tailwind-sass-vue.js +2 -2
- package/dist/shareable-configs/tailwind-sass.cjs +3 -3
- package/dist/shareable-configs/tailwind-sass.js +2 -2
- package/dist/shareable-configs/tailwind.cjs +3 -3
- package/dist/shareable-configs/tailwind.js +2 -2
- package/dist/shareable-configs/vue.cjs +3 -3
- package/dist/shareable-configs/vue.js +2 -2
- package/package.json +12 -12
- package/src/__tests__/describe-rule-or-config.ts +1 -1
- package/src/configs/css.ts +2 -0
- package/src/rules/at-rule-no-deprecated.ts +15 -0
- package/dist/chunk-AM6NNHVX.cjs +0 -14
- package/dist/chunk-AM6NNHVX.cjs.map +0 -1
- package/dist/chunk-B6QLQR55.cjs +0 -14
- package/dist/chunk-B6QLQR55.cjs.map +0 -1
- package/dist/chunk-BMHJWBQW.js.map +0 -1
- package/dist/chunk-EBISEPDI.js.map +0 -1
- package/dist/chunk-FGLO4UZK.js.map +0 -1
- package/dist/chunk-FLKJSLQV.js.map +0 -1
- package/dist/chunk-G3HDXENP.js.map +0 -1
- package/dist/chunk-K3AT24DR.js.map +0 -1
- package/dist/chunk-LD3TYMYZ.js.map +0 -1
- package/dist/chunk-LONQX5DI.cjs +0 -14
- package/dist/chunk-LONQX5DI.cjs.map +0 -1
- package/dist/chunk-NXO7LZCC.cjs +0 -14
- package/dist/chunk-NXO7LZCC.cjs.map +0 -1
- package/dist/chunk-TYMIEU32.js.map +0 -1
- package/dist/chunk-UE3L2EAC.js.map +0 -1
- package/dist/chunk-WC5SUG2Y.cjs +0 -14
- package/dist/chunk-WC5SUG2Y.cjs.map +0 -1
- package/dist/chunk-XVGSEBZ3.cjs.map +0 -1
- package/dist/chunk-Y3MVVY3R.cjs +0 -14
- package/dist/chunk-Y3MVVY3R.cjs.map +0 -1
- package/dist/chunk-Y7R6CURO.cjs +0 -14
- package/dist/chunk-Y7R6CURO.cjs.map +0 -1
- package/dist/chunk-YY3GVME5.cjs.map +0 -1
- package/dist/magic-string.es-VTEG26JP.js.map +0 -1
- package/dist/magic-string.es-ZMAVZB3C.cjs.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
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 +0,0 @@
|
|
|
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 +0,0 @@
|
|
|
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 +0,0 @@
|
|
|
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 +0,0 @@
|
|
|
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"]}
|
package/dist/chunk-LONQX5DI.cjs
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var chunkXVGSEBZ3_cjs = require('./chunk-XVGSEBZ3.cjs');
|
|
4
|
-
|
|
5
|
-
// src/shareable-configs/tailwind-sass.ts
|
|
6
|
-
var tailwind_sass_default = chunkXVGSEBZ3_cjs.defineConfig({
|
|
7
|
-
tailwind: true,
|
|
8
|
-
sass: true,
|
|
9
|
-
vue: false
|
|
10
|
-
});
|
|
11
|
-
|
|
12
|
-
exports.tailwind_sass_default = tailwind_sass_default;
|
|
13
|
-
//# sourceMappingURL=chunk-LONQX5DI.cjs.map
|
|
14
|
-
//# sourceMappingURL=chunk-LONQX5DI.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
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"]}
|
package/dist/chunk-NXO7LZCC.cjs
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var chunkXVGSEBZ3_cjs = require('./chunk-XVGSEBZ3.cjs');
|
|
4
|
-
|
|
5
|
-
// src/shareable-configs/tailwind-sass-vue.ts
|
|
6
|
-
var tailwind_sass_vue_default = chunkXVGSEBZ3_cjs.defineConfig({
|
|
7
|
-
tailwind: true,
|
|
8
|
-
sass: true,
|
|
9
|
-
vue: true
|
|
10
|
-
});
|
|
11
|
-
|
|
12
|
-
exports.tailwind_sass_vue_default = tailwind_sass_vue_default;
|
|
13
|
-
//# sourceMappingURL=chunk-NXO7LZCC.cjs.map
|
|
14
|
-
//# sourceMappingURL=chunk-NXO7LZCC.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
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 +0,0 @@
|
|
|
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 +0,0 @@
|
|
|
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"]}
|
package/dist/chunk-WC5SUG2Y.cjs
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var chunkXVGSEBZ3_cjs = require('./chunk-XVGSEBZ3.cjs');
|
|
4
|
-
|
|
5
|
-
// src/shareable-configs/none.ts
|
|
6
|
-
var none_default = chunkXVGSEBZ3_cjs.defineConfig({
|
|
7
|
-
tailwind: false,
|
|
8
|
-
sass: false,
|
|
9
|
-
vue: false
|
|
10
|
-
});
|
|
11
|
-
|
|
12
|
-
exports.none_default = none_default;
|
|
13
|
-
//# sourceMappingURL=chunk-WC5SUG2Y.cjs.map
|
|
14
|
-
//# sourceMappingURL=chunk-WC5SUG2Y.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
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 +0,0 @@
|
|
|
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"]}
|
package/dist/chunk-Y3MVVY3R.cjs
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var chunkXVGSEBZ3_cjs = require('./chunk-XVGSEBZ3.cjs');
|
|
4
|
-
|
|
5
|
-
// src/shareable-configs/sass-vue.ts
|
|
6
|
-
var sass_vue_default = chunkXVGSEBZ3_cjs.defineConfig({
|
|
7
|
-
tailwind: false,
|
|
8
|
-
sass: true,
|
|
9
|
-
vue: true
|
|
10
|
-
});
|
|
11
|
-
|
|
12
|
-
exports.sass_vue_default = sass_vue_default;
|
|
13
|
-
//# sourceMappingURL=chunk-Y3MVVY3R.cjs.map
|
|
14
|
-
//# sourceMappingURL=chunk-Y3MVVY3R.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
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"]}
|
package/dist/chunk-Y7R6CURO.cjs
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var chunkXVGSEBZ3_cjs = require('./chunk-XVGSEBZ3.cjs');
|
|
4
|
-
|
|
5
|
-
// src/shareable-configs/tailwind.ts
|
|
6
|
-
var tailwind_default = chunkXVGSEBZ3_cjs.defineConfig({
|
|
7
|
-
tailwind: true,
|
|
8
|
-
sass: false,
|
|
9
|
-
vue: false
|
|
10
|
-
});
|
|
11
|
-
|
|
12
|
-
exports.tailwind_default = tailwind_default;
|
|
13
|
-
//# sourceMappingURL=chunk-Y7R6CURO.cjs.map
|
|
14
|
-
//# sourceMappingURL=chunk-Y7R6CURO.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
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 +0,0 @@
|
|
|
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 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/.pnpm/@jridgewell+sourcemap-codec@1.5.0/node_modules/@jridgewell/sourcemap-codec/src/vlq.ts","../../../node_modules/.pnpm/@jridgewell+sourcemap-codec@1.5.0/node_modules/@jridgewell/sourcemap-codec/src/strings.ts","../../../node_modules/.pnpm/@jridgewell+sourcemap-codec@1.5.0/node_modules/@jridgewell/sourcemap-codec/src/sourcemap-codec.ts","../../../node_modules/.pnpm/magic-string@0.30.12/node_modules/magic-string/src/BitSet.js","../../../node_modules/.pnpm/magic-string@0.30.12/node_modules/magic-string/src/Chunk.js","../../../node_modules/.pnpm/magic-string@0.30.12/node_modules/magic-string/src/SourceMap.js","../../../node_modules/.pnpm/magic-string@0.30.12/node_modules/magic-string/src/utils/guessIndent.js","../../../node_modules/.pnpm/magic-string@0.30.12/node_modules/magic-string/src/utils/getRelativePath.js","../../../node_modules/.pnpm/magic-string@0.30.12/node_modules/magic-string/src/utils/isObject.js","../../../node_modules/.pnpm/magic-string@0.30.12/node_modules/magic-string/src/utils/getLocator.js","../../../node_modules/.pnpm/magic-string@0.30.12/node_modules/magic-string/src/utils/Mappings.js","../../../node_modules/.pnpm/magic-string@0.30.12/node_modules/magic-string/src/MagicString.js","../../../node_modules/.pnpm/magic-string@0.30.12/node_modules/magic-string/src/Bundle.js"],"names":["n","segment","replacement"],"mappings":"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","file":"magic-string.es-VTEG26JP.js","sourcesContent":["import type { StringReader, StringWriter } from './strings';\n\nexport const comma = ','.charCodeAt(0);\nexport const semicolon = ';'.charCodeAt(0);\n\nconst chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\nconst intToChar = new Uint8Array(64); // 64 possible chars.\nconst charToInt = new Uint8Array(128); // z is 122 in ASCII\n\nfor (let i = 0; i < chars.length; i++) {\n const c = chars.charCodeAt(i);\n intToChar[i] = c;\n charToInt[c] = i;\n}\n\nexport function decodeInteger(reader: StringReader, relative: number): number {\n let value = 0;\n let shift = 0;\n let integer = 0;\n\n do {\n const c = reader.next();\n integer = charToInt[c];\n value |= (integer & 31) << shift;\n shift += 5;\n } while (integer & 32);\n\n const shouldNegate = value & 1;\n value >>>= 1;\n\n if (shouldNegate) {\n value = -0x80000000 | -value;\n }\n\n return relative + value;\n}\n\nexport function encodeInteger(builder: StringWriter, num: number, relative: number): number {\n let delta = num - relative;\n\n delta = delta < 0 ? (-delta << 1) | 1 : delta << 1;\n do {\n let clamped = delta & 0b011111;\n delta >>>= 5;\n if (delta > 0) clamped |= 0b100000;\n builder.write(intToChar[clamped]);\n } while (delta > 0);\n\n return num;\n}\n\nexport function hasMoreVlq(reader: StringReader, max: number) {\n if (reader.pos >= max) return false;\n return reader.peek() !== comma;\n}\n","const bufLength = 1024 * 16;\n\n// Provide a fallback for older environments.\nconst td =\n typeof TextDecoder !== 'undefined'\n ? /* #__PURE__ */ new TextDecoder()\n : typeof Buffer !== 'undefined'\n ? {\n decode(buf: Uint8Array): string {\n const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);\n return out.toString();\n },\n }\n : {\n decode(buf: Uint8Array): string {\n let out = '';\n for (let i = 0; i < buf.length; i++) {\n out += String.fromCharCode(buf[i]);\n }\n return out;\n },\n };\n\nexport class StringWriter {\n pos = 0;\n private out = '';\n private buffer = new Uint8Array(bufLength);\n\n write(v: number): void {\n const { buffer } = this;\n buffer[this.pos++] = v;\n if (this.pos === bufLength) {\n this.out += td.decode(buffer);\n this.pos = 0;\n }\n }\n\n flush(): string {\n const { buffer, out, pos } = this;\n return pos > 0 ? out + td.decode(buffer.subarray(0, pos)) : out;\n }\n}\n\nexport class StringReader {\n pos = 0;\n private declare buffer: string;\n\n constructor(buffer: string) {\n this.buffer = buffer;\n }\n\n next(): number {\n return this.buffer.charCodeAt(this.pos++);\n }\n\n peek(): number {\n return this.buffer.charCodeAt(this.pos);\n }\n\n indexOf(char: string): number {\n const { buffer, pos } = this;\n const idx = buffer.indexOf(char, pos);\n return idx === -1 ? buffer.length : idx;\n }\n}\n","import { comma, decodeInteger, encodeInteger, hasMoreVlq, semicolon } from './vlq';\nimport { StringWriter, StringReader } from './strings';\n\nexport {\n decodeOriginalScopes,\n encodeOriginalScopes,\n decodeGeneratedRanges,\n encodeGeneratedRanges,\n} from './scopes';\nexport type { OriginalScope, GeneratedRange, CallSite, BindingExpressionRange } from './scopes';\n\nexport type SourceMapSegment =\n | [number]\n | [number, number, number, number]\n | [number, number, number, number, number];\nexport type SourceMapLine = SourceMapSegment[];\nexport type SourceMapMappings = SourceMapLine[];\n\nexport function decode(mappings: string): SourceMapMappings {\n const { length } = mappings;\n const reader = new StringReader(mappings);\n const decoded: SourceMapMappings = [];\n let genColumn = 0;\n let sourcesIndex = 0;\n let sourceLine = 0;\n let sourceColumn = 0;\n let namesIndex = 0;\n\n do {\n const semi = reader.indexOf(';');\n const line: SourceMapLine = [];\n let sorted = true;\n let lastCol = 0;\n genColumn = 0;\n\n while (reader.pos < semi) {\n let seg: SourceMapSegment;\n\n genColumn = decodeInteger(reader, genColumn);\n if (genColumn < lastCol) sorted = false;\n lastCol = genColumn;\n\n if (hasMoreVlq(reader, semi)) {\n sourcesIndex = decodeInteger(reader, sourcesIndex);\n sourceLine = decodeInteger(reader, sourceLine);\n sourceColumn = decodeInteger(reader, sourceColumn);\n\n if (hasMoreVlq(reader, semi)) {\n namesIndex = decodeInteger(reader, namesIndex);\n seg = [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex];\n } else {\n seg = [genColumn, sourcesIndex, sourceLine, sourceColumn];\n }\n } else {\n seg = [genColumn];\n }\n\n line.push(seg);\n reader.pos++;\n }\n\n if (!sorted) sort(line);\n decoded.push(line);\n reader.pos = semi + 1;\n } while (reader.pos <= length);\n\n return decoded;\n}\n\nfunction sort(line: SourceMapSegment[]) {\n line.sort(sortComparator);\n}\n\nfunction sortComparator(a: SourceMapSegment, b: SourceMapSegment): number {\n return a[0] - b[0];\n}\n\nexport function encode(decoded: SourceMapMappings): string;\nexport function encode(decoded: Readonly<SourceMapMappings>): string;\nexport function encode(decoded: Readonly<SourceMapMappings>): string {\n const writer = new StringWriter();\n let sourcesIndex = 0;\n let sourceLine = 0;\n let sourceColumn = 0;\n let namesIndex = 0;\n\n for (let i = 0; i < decoded.length; i++) {\n const line = decoded[i];\n if (i > 0) writer.write(semicolon);\n if (line.length === 0) continue;\n\n let genColumn = 0;\n\n for (let j = 0; j < line.length; j++) {\n const segment = line[j];\n if (j > 0) writer.write(comma);\n\n genColumn = encodeInteger(writer, segment[0], genColumn);\n\n if (segment.length === 1) continue;\n sourcesIndex = encodeInteger(writer, segment[1], sourcesIndex);\n sourceLine = encodeInteger(writer, segment[2], sourceLine);\n sourceColumn = encodeInteger(writer, segment[3], sourceColumn);\n\n if (segment.length === 4) continue;\n namesIndex = encodeInteger(writer, segment[4], namesIndex);\n }\n }\n\n return writer.flush();\n}\n","export default class BitSet {\n\tconstructor(arg) {\n\t\tthis.bits = arg instanceof BitSet ? arg.bits.slice() : [];\n\t}\n\n\tadd(n) {\n\t\tthis.bits[n >> 5] |= 1 << (n & 31);\n\t}\n\n\thas(n) {\n\t\treturn !!(this.bits[n >> 5] & (1 << (n & 31)));\n\t}\n}\n","export default class Chunk {\n\tconstructor(start, end, content) {\n\t\tthis.start = start;\n\t\tthis.end = end;\n\t\tthis.original = content;\n\n\t\tthis.intro = '';\n\t\tthis.outro = '';\n\n\t\tthis.content = content;\n\t\tthis.storeName = false;\n\t\tthis.edited = false;\n\n\t\tif (DEBUG) {\n\t\t\t// we make these non-enumerable, for sanity while debugging\n\t\t\tObject.defineProperties(this, {\n\t\t\t\tprevious: { writable: true, value: null },\n\t\t\t\tnext: { writable: true, value: null },\n\t\t\t});\n\t\t} else {\n\t\t\tthis.previous = null;\n\t\t\tthis.next = null;\n\t\t}\n\t}\n\n\tappendLeft(content) {\n\t\tthis.outro += content;\n\t}\n\n\tappendRight(content) {\n\t\tthis.intro = this.intro + content;\n\t}\n\n\tclone() {\n\t\tconst chunk = new Chunk(this.start, this.end, this.original);\n\n\t\tchunk.intro = this.intro;\n\t\tchunk.outro = this.outro;\n\t\tchunk.content = this.content;\n\t\tchunk.storeName = this.storeName;\n\t\tchunk.edited = this.edited;\n\n\t\treturn chunk;\n\t}\n\n\tcontains(index) {\n\t\treturn this.start < index && index < this.end;\n\t}\n\n\teachNext(fn) {\n\t\tlet chunk = this;\n\t\twhile (chunk) {\n\t\t\tfn(chunk);\n\t\t\tchunk = chunk.next;\n\t\t}\n\t}\n\n\teachPrevious(fn) {\n\t\tlet chunk = this;\n\t\twhile (chunk) {\n\t\t\tfn(chunk);\n\t\t\tchunk = chunk.previous;\n\t\t}\n\t}\n\n\tedit(content, storeName, contentOnly) {\n\t\tthis.content = content;\n\t\tif (!contentOnly) {\n\t\t\tthis.intro = '';\n\t\t\tthis.outro = '';\n\t\t}\n\t\tthis.storeName = storeName;\n\n\t\tthis.edited = true;\n\n\t\treturn this;\n\t}\n\n\tprependLeft(content) {\n\t\tthis.outro = content + this.outro;\n\t}\n\n\tprependRight(content) {\n\t\tthis.intro = content + this.intro;\n\t}\n\n\treset() {\n\t\tthis.intro = '';\n\t\tthis.outro = '';\n\t\tif (this.edited) {\n\t\t\tthis.content = this.original;\n\t\t\tthis.storeName = false;\n\t\t\tthis.edited = false;\n\t\t}\n\t}\n\n\tsplit(index) {\n\t\tconst sliceIndex = index - this.start;\n\n\t\tconst originalBefore = this.original.slice(0, sliceIndex);\n\t\tconst originalAfter = this.original.slice(sliceIndex);\n\n\t\tthis.original = originalBefore;\n\n\t\tconst newChunk = new Chunk(index, this.end, originalAfter);\n\t\tnewChunk.outro = this.outro;\n\t\tthis.outro = '';\n\n\t\tthis.end = index;\n\n\t\tif (this.edited) {\n\t\t\t// after split we should save the edit content record into the correct chunk\n\t\t\t// to make sure sourcemap correct\n\t\t\t// For example:\n\t\t\t// ' test'.trim()\n\t\t\t// split -> ' ' + 'test'\n\t\t\t// ✔️ edit -> '' + 'test'\n\t\t\t// ✖️ edit -> 'test' + '' \n\t\t\t// TODO is this block necessary?...\n\t\t\tnewChunk.edit('', false);\n\t\t\tthis.content = '';\n\t\t} else {\n\t\t\tthis.content = originalBefore;\n\t\t}\n\n\t\tnewChunk.next = this.next;\n\t\tif (newChunk.next) newChunk.next.previous = newChunk;\n\t\tnewChunk.previous = this;\n\t\tthis.next = newChunk;\n\n\t\treturn newChunk;\n\t}\n\n\ttoString() {\n\t\treturn this.intro + this.content + this.outro;\n\t}\n\n\ttrimEnd(rx) {\n\t\tthis.outro = this.outro.replace(rx, '');\n\t\tif (this.outro.length) return true;\n\n\t\tconst trimmed = this.content.replace(rx, '');\n\n\t\tif (trimmed.length) {\n\t\t\tif (trimmed !== this.content) {\n\t\t\t\tthis.split(this.start + trimmed.length).edit('', undefined, true);\n\t\t\t\tif (this.edited) {\n\t\t\t\t\t// save the change, if it has been edited\n\t\t\t\t\tthis.edit(trimmed, this.storeName, true);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t} else {\n\t\t\tthis.edit('', undefined, true);\n\n\t\t\tthis.intro = this.intro.replace(rx, '');\n\t\t\tif (this.intro.length) return true;\n\t\t}\n\t}\n\n\ttrimStart(rx) {\n\t\tthis.intro = this.intro.replace(rx, '');\n\t\tif (this.intro.length) return true;\n\n\t\tconst trimmed = this.content.replace(rx, '');\n\n\t\tif (trimmed.length) {\n\t\t\tif (trimmed !== this.content) {\n\t\t\t\tconst newChunk = this.split(this.end - trimmed.length);\n\t\t\t\tif (this.edited) {\n\t\t\t\t\t// save the change, if it has been edited\n\t\t\t\t\tnewChunk.edit(trimmed, this.storeName, true);\n\t\t\t\t}\n\t\t\t\tthis.edit('', undefined, true);\n\t\t\t}\n\t\t\treturn true;\n\t\t} else {\n\t\t\tthis.edit('', undefined, true);\n\n\t\t\tthis.outro = this.outro.replace(rx, '');\n\t\t\tif (this.outro.length) return true;\n\t\t}\n\t}\n}\n","import { encode } from '@jridgewell/sourcemap-codec';\n\nfunction getBtoa() {\n\tif (typeof globalThis !== 'undefined' && typeof globalThis.btoa === 'function') {\n\t\treturn (str) => globalThis.btoa(unescape(encodeURIComponent(str)));\n\t} else if (typeof Buffer === 'function') {\n\t\treturn (str) => Buffer.from(str, 'utf-8').toString('base64');\n\t} else {\n\t\treturn () => {\n\t\t\tthrow new Error('Unsupported environment: `window.btoa` or `Buffer` should be supported.');\n\t\t};\n\t}\n}\n\nconst btoa = /*#__PURE__*/ getBtoa();\n\nexport default class SourceMap {\n\tconstructor(properties) {\n\t\tthis.version = 3;\n\t\tthis.file = properties.file;\n\t\tthis.sources = properties.sources;\n\t\tthis.sourcesContent = properties.sourcesContent;\n\t\tthis.names = properties.names;\n\t\tthis.mappings = encode(properties.mappings);\n\t\tif (typeof properties.x_google_ignoreList !== 'undefined') {\n\t\t\tthis.x_google_ignoreList = properties.x_google_ignoreList;\n\t\t}\n\t}\n\n\ttoString() {\n\t\treturn JSON.stringify(this);\n\t}\n\n\ttoUrl() {\n\t\treturn 'data:application/json;charset=utf-8;base64,' + btoa(this.toString());\n\t}\n}\n","export default function guessIndent(code) {\n\tconst lines = code.split('\\n');\n\n\tconst tabbed = lines.filter((line) => /^\\t+/.test(line));\n\tconst spaced = lines.filter((line) => /^ {2,}/.test(line));\n\n\tif (tabbed.length === 0 && spaced.length === 0) {\n\t\treturn null;\n\t}\n\n\t// More lines tabbed than spaced? Assume tabs, and\n\t// default to tabs in the case of a tie (or nothing\n\t// to go on)\n\tif (tabbed.length >= spaced.length) {\n\t\treturn '\\t';\n\t}\n\n\t// Otherwise, we need to guess the multiple\n\tconst min = spaced.reduce((previous, current) => {\n\t\tconst numSpaces = /^ +/.exec(current)[0].length;\n\t\treturn Math.min(numSpaces, previous);\n\t}, Infinity);\n\n\treturn new Array(min + 1).join(' ');\n}\n","export default function getRelativePath(from, to) {\n\tconst fromParts = from.split(/[/\\\\]/);\n\tconst toParts = to.split(/[/\\\\]/);\n\n\tfromParts.pop(); // get dirname\n\n\twhile (fromParts[0] === toParts[0]) {\n\t\tfromParts.shift();\n\t\ttoParts.shift();\n\t}\n\n\tif (fromParts.length) {\n\t\tlet i = fromParts.length;\n\t\twhile (i--) fromParts[i] = '..';\n\t}\n\n\treturn fromParts.concat(toParts).join('/');\n}\n","const toString = Object.prototype.toString;\n\nexport default function isObject(thing) {\n\treturn toString.call(thing) === '[object Object]';\n}\n","export default function getLocator(source) {\n\tconst originalLines = source.split('\\n');\n\tconst lineOffsets = [];\n\n\tfor (let i = 0, pos = 0; i < originalLines.length; i++) {\n\t\tlineOffsets.push(pos);\n\t\tpos += originalLines[i].length + 1;\n\t}\n\n\treturn function locate(index) {\n\t\tlet i = 0;\n\t\tlet j = lineOffsets.length;\n\t\twhile (i < j) {\n\t\t\tconst m = (i + j) >> 1;\n\t\t\tif (index < lineOffsets[m]) {\n\t\t\t\tj = m;\n\t\t\t} else {\n\t\t\t\ti = m + 1;\n\t\t\t}\n\t\t}\n\t\tconst line = i - 1;\n\t\tconst column = index - lineOffsets[line];\n\t\treturn { line, column };\n\t};\n}\n","const wordRegex = /\\w/;\n\nexport default class Mappings {\n\tconstructor(hires) {\n\t\tthis.hires = hires;\n\t\tthis.generatedCodeLine = 0;\n\t\tthis.generatedCodeColumn = 0;\n\t\tthis.raw = [];\n\t\tthis.rawSegments = this.raw[this.generatedCodeLine] = [];\n\t\tthis.pending = null;\n\t}\n\n\taddEdit(sourceIndex, content, loc, nameIndex) {\n\t\tif (content.length) {\n\t\t\tconst contentLengthMinusOne = content.length - 1;\n\t\t\tlet contentLineEnd = content.indexOf('\\n', 0);\n\t\t\tlet previousContentLineEnd = -1;\n\t\t\t// Loop through each line in the content and add a segment, but stop if the last line is empty,\n\t\t\t// else code afterwards would fill one line too many\n\t\t\twhile (contentLineEnd >= 0 && contentLengthMinusOne > contentLineEnd) {\n\t\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\t\t\t\tif (nameIndex >= 0) {\n\t\t\t\t\tsegment.push(nameIndex);\n\t\t\t\t}\n\t\t\t\tthis.rawSegments.push(segment);\n\n\t\t\t\tthis.generatedCodeLine += 1;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t\tthis.generatedCodeColumn = 0;\n\n\t\t\t\tpreviousContentLineEnd = contentLineEnd;\n\t\t\t\tcontentLineEnd = content.indexOf('\\n', contentLineEnd + 1);\n\t\t\t}\n\n\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\t\t\tif (nameIndex >= 0) {\n\t\t\t\tsegment.push(nameIndex);\n\t\t\t}\n\t\t\tthis.rawSegments.push(segment);\n\n\t\t\tthis.advance(content.slice(previousContentLineEnd + 1));\n\t\t} else if (this.pending) {\n\t\t\tthis.rawSegments.push(this.pending);\n\t\t\tthis.advance(content);\n\t\t}\n\n\t\tthis.pending = null;\n\t}\n\n\taddUneditedChunk(sourceIndex, chunk, original, loc, sourcemapLocations) {\n\t\tlet originalCharIndex = chunk.start;\n\t\tlet first = true;\n\t\t// when iterating each char, check if it's in a word boundary\n\t\tlet charInHiresBoundary = false;\n\n\t\twhile (originalCharIndex < chunk.end) {\n\t\t\tif (original[originalCharIndex] === '\\n') {\n\t\t\t\tloc.line += 1;\n\t\t\t\tloc.column = 0;\n\t\t\t\tthis.generatedCodeLine += 1;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t\tthis.generatedCodeColumn = 0;\n\t\t\t\tfirst = true;\n\t\t\t} else {\n\t\t\t\tif (this.hires || first || sourcemapLocations.has(originalCharIndex)) {\n\t\t\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\n\t\t\t\t\tif (this.hires === 'boundary') {\n\t\t\t\t\t\t// in hires \"boundary\", group segments per word boundary than per char\n\t\t\t\t\t\tif (wordRegex.test(original[originalCharIndex])) {\n\t\t\t\t\t\t\t// for first char in the boundary found, start the boundary by pushing a segment\n\t\t\t\t\t\t\tif (!charInHiresBoundary) {\n\t\t\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t\t\t\tcharInHiresBoundary = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// for non-word char, end the boundary by pushing a segment\n\t\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t\t\tcharInHiresBoundary = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tloc.column += 1;\n\t\t\t\tthis.generatedCodeColumn += 1;\n\t\t\t\tfirst = false;\n\t\t\t}\n\n\t\t\toriginalCharIndex += 1;\n\t\t}\n\n\t\tthis.pending = null;\n\t}\n\n\tadvance(str) {\n\t\tif (!str) return;\n\n\t\tconst lines = str.split('\\n');\n\n\t\tif (lines.length > 1) {\n\t\t\tfor (let i = 0; i < lines.length - 1; i++) {\n\t\t\t\tthis.generatedCodeLine++;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t}\n\t\t\tthis.generatedCodeColumn = 0;\n\t\t}\n\n\t\tthis.generatedCodeColumn += lines[lines.length - 1].length;\n\t}\n}\n","import BitSet from './BitSet.js';\nimport Chunk from './Chunk.js';\nimport SourceMap from './SourceMap.js';\nimport guessIndent from './utils/guessIndent.js';\nimport getRelativePath from './utils/getRelativePath.js';\nimport isObject from './utils/isObject.js';\nimport getLocator from './utils/getLocator.js';\nimport Mappings from './utils/Mappings.js';\nimport Stats from './utils/Stats.js';\n\nconst n = '\\n';\n\nconst warned = {\n\tinsertLeft: false,\n\tinsertRight: false,\n\tstoreName: false,\n};\n\nexport default class MagicString {\n\tconstructor(string, options = {}) {\n\t\tconst chunk = new Chunk(0, string.length, string);\n\n\t\tObject.defineProperties(this, {\n\t\t\toriginal: { writable: true, value: string },\n\t\t\toutro: { writable: true, value: '' },\n\t\t\tintro: { writable: true, value: '' },\n\t\t\tfirstChunk: { writable: true, value: chunk },\n\t\t\tlastChunk: { writable: true, value: chunk },\n\t\t\tlastSearchedChunk: { writable: true, value: chunk },\n\t\t\tbyStart: { writable: true, value: {} },\n\t\t\tbyEnd: { writable: true, value: {} },\n\t\t\tfilename: { writable: true, value: options.filename },\n\t\t\tindentExclusionRanges: { writable: true, value: options.indentExclusionRanges },\n\t\t\tsourcemapLocations: { writable: true, value: new BitSet() },\n\t\t\tstoredNames: { writable: true, value: {} },\n\t\t\tindentStr: { writable: true, value: undefined },\n\t\t\tignoreList: { writable: true, value: options.ignoreList },\n\t\t});\n\n\t\tif (DEBUG) {\n\t\t\tObject.defineProperty(this, 'stats', { value: new Stats() });\n\t\t}\n\n\t\tthis.byStart[0] = chunk;\n\t\tthis.byEnd[string.length] = chunk;\n\t}\n\n\taddSourcemapLocation(char) {\n\t\tthis.sourcemapLocations.add(char);\n\t}\n\n\tappend(content) {\n\t\tif (typeof content !== 'string') throw new TypeError('outro content must be a string');\n\n\t\tthis.outro += content;\n\t\treturn this;\n\t}\n\n\tappendLeft(index, content) {\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tif (DEBUG) this.stats.time('appendLeft');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byEnd[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.appendLeft(content);\n\t\t} else {\n\t\t\tthis.intro += content;\n\t\t}\n\n\t\tif (DEBUG) this.stats.timeEnd('appendLeft');\n\t\treturn this;\n\t}\n\n\tappendRight(index, content) {\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tif (DEBUG) this.stats.time('appendRight');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byStart[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.appendRight(content);\n\t\t} else {\n\t\t\tthis.outro += content;\n\t\t}\n\n\t\tif (DEBUG) this.stats.timeEnd('appendRight');\n\t\treturn this;\n\t}\n\n\tclone() {\n\t\tconst cloned = new MagicString(this.original, { filename: this.filename });\n\n\t\tlet originalChunk = this.firstChunk;\n\t\tlet clonedChunk = (cloned.firstChunk = cloned.lastSearchedChunk = originalChunk.clone());\n\n\t\twhile (originalChunk) {\n\t\t\tcloned.byStart[clonedChunk.start] = clonedChunk;\n\t\t\tcloned.byEnd[clonedChunk.end] = clonedChunk;\n\n\t\t\tconst nextOriginalChunk = originalChunk.next;\n\t\t\tconst nextClonedChunk = nextOriginalChunk && nextOriginalChunk.clone();\n\n\t\t\tif (nextClonedChunk) {\n\t\t\t\tclonedChunk.next = nextClonedChunk;\n\t\t\t\tnextClonedChunk.previous = clonedChunk;\n\n\t\t\t\tclonedChunk = nextClonedChunk;\n\t\t\t}\n\n\t\t\toriginalChunk = nextOriginalChunk;\n\t\t}\n\n\t\tcloned.lastChunk = clonedChunk;\n\n\t\tif (this.indentExclusionRanges) {\n\t\t\tcloned.indentExclusionRanges = this.indentExclusionRanges.slice();\n\t\t}\n\n\t\tcloned.sourcemapLocations = new BitSet(this.sourcemapLocations);\n\n\t\tcloned.intro = this.intro;\n\t\tcloned.outro = this.outro;\n\n\t\treturn cloned;\n\t}\n\n\tgenerateDecodedMap(options) {\n\t\toptions = options || {};\n\n\t\tconst sourceIndex = 0;\n\t\tconst names = Object.keys(this.storedNames);\n\t\tconst mappings = new Mappings(options.hires);\n\n\t\tconst locate = getLocator(this.original);\n\n\t\tif (this.intro) {\n\t\t\tmappings.advance(this.intro);\n\t\t}\n\n\t\tthis.firstChunk.eachNext((chunk) => {\n\t\t\tconst loc = locate(chunk.start);\n\n\t\t\tif (chunk.intro.length) mappings.advance(chunk.intro);\n\n\t\t\tif (chunk.edited) {\n\t\t\t\tmappings.addEdit(\n\t\t\t\t\tsourceIndex,\n\t\t\t\t\tchunk.content,\n\t\t\t\t\tloc,\n\t\t\t\t\tchunk.storeName ? names.indexOf(chunk.original) : -1,\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tmappings.addUneditedChunk(sourceIndex, chunk, this.original, loc, this.sourcemapLocations);\n\t\t\t}\n\n\t\t\tif (chunk.outro.length) mappings.advance(chunk.outro);\n\t\t});\n\n\t\treturn {\n\t\t\tfile: options.file ? options.file.split(/[/\\\\]/).pop() : undefined,\n\t\t\tsources: [\n\t\t\t\toptions.source ? getRelativePath(options.file || '', options.source) : options.file || '',\n\t\t\t],\n\t\t\tsourcesContent: options.includeContent ? [this.original] : undefined,\n\t\t\tnames,\n\t\t\tmappings: mappings.raw,\n\t\t\tx_google_ignoreList: this.ignoreList ? [sourceIndex] : undefined,\n\t\t};\n\t}\n\n\tgenerateMap(options) {\n\t\treturn new SourceMap(this.generateDecodedMap(options));\n\t}\n\n\t_ensureindentStr() {\n\t\tif (this.indentStr === undefined) {\n\t\t\tthis.indentStr = guessIndent(this.original);\n\t\t}\n\t}\n\n\t_getRawIndentString() {\n\t\tthis._ensureindentStr();\n\t\treturn this.indentStr;\n\t}\n\n\tgetIndentString() {\n\t\tthis._ensureindentStr();\n\t\treturn this.indentStr === null ? '\\t' : this.indentStr;\n\t}\n\n\tindent(indentStr, options) {\n\t\tconst pattern = /^[^\\r\\n]/gm;\n\n\t\tif (isObject(indentStr)) {\n\t\t\toptions = indentStr;\n\t\t\tindentStr = undefined;\n\t\t}\n\n\t\tif (indentStr === undefined) {\n\t\t\tthis._ensureindentStr();\n\t\t\tindentStr = this.indentStr || '\\t';\n\t\t}\n\n\t\tif (indentStr === '') return this; // noop\n\n\t\toptions = options || {};\n\n\t\t// Process exclusion ranges\n\t\tconst isExcluded = {};\n\n\t\tif (options.exclude) {\n\t\t\tconst exclusions =\n\t\t\t\ttypeof options.exclude[0] === 'number' ? [options.exclude] : options.exclude;\n\t\t\texclusions.forEach((exclusion) => {\n\t\t\t\tfor (let i = exclusion[0]; i < exclusion[1]; i += 1) {\n\t\t\t\t\tisExcluded[i] = true;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tlet shouldIndentNextCharacter = options.indentStart !== false;\n\t\tconst replacer = (match) => {\n\t\t\tif (shouldIndentNextCharacter) return `${indentStr}${match}`;\n\t\t\tshouldIndentNextCharacter = true;\n\t\t\treturn match;\n\t\t};\n\n\t\tthis.intro = this.intro.replace(pattern, replacer);\n\n\t\tlet charIndex = 0;\n\t\tlet chunk = this.firstChunk;\n\n\t\twhile (chunk) {\n\t\t\tconst end = chunk.end;\n\n\t\t\tif (chunk.edited) {\n\t\t\t\tif (!isExcluded[charIndex]) {\n\t\t\t\t\tchunk.content = chunk.content.replace(pattern, replacer);\n\n\t\t\t\t\tif (chunk.content.length) {\n\t\t\t\t\t\tshouldIndentNextCharacter = chunk.content[chunk.content.length - 1] === '\\n';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcharIndex = chunk.start;\n\n\t\t\t\twhile (charIndex < end) {\n\t\t\t\t\tif (!isExcluded[charIndex]) {\n\t\t\t\t\t\tconst char = this.original[charIndex];\n\n\t\t\t\t\t\tif (char === '\\n') {\n\t\t\t\t\t\t\tshouldIndentNextCharacter = true;\n\t\t\t\t\t\t} else if (char !== '\\r' && shouldIndentNextCharacter) {\n\t\t\t\t\t\t\tshouldIndentNextCharacter = false;\n\n\t\t\t\t\t\t\tif (charIndex === chunk.start) {\n\t\t\t\t\t\t\t\tchunk.prependRight(indentStr);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis._splitChunk(chunk, charIndex);\n\t\t\t\t\t\t\t\tchunk = chunk.next;\n\t\t\t\t\t\t\t\tchunk.prependRight(indentStr);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tcharIndex += 1;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcharIndex = chunk.end;\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\tthis.outro = this.outro.replace(pattern, replacer);\n\n\t\treturn this;\n\t}\n\n\tinsert() {\n\t\tthrow new Error(\n\t\t\t'magicString.insert(...) is deprecated. Use prependRight(...) or appendLeft(...)',\n\t\t);\n\t}\n\n\tinsertLeft(index, content) {\n\t\tif (!warned.insertLeft) {\n\t\t\tconsole.warn(\n\t\t\t\t'magicString.insertLeft(...) is deprecated. Use magicString.appendLeft(...) instead',\n\t\t\t); // eslint-disable-line no-console\n\t\t\twarned.insertLeft = true;\n\t\t}\n\n\t\treturn this.appendLeft(index, content);\n\t}\n\n\tinsertRight(index, content) {\n\t\tif (!warned.insertRight) {\n\t\t\tconsole.warn(\n\t\t\t\t'magicString.insertRight(...) is deprecated. Use magicString.prependRight(...) instead',\n\t\t\t); // eslint-disable-line no-console\n\t\t\twarned.insertRight = true;\n\t\t}\n\n\t\treturn this.prependRight(index, content);\n\t}\n\n\tmove(start, end, index) {\n\t\tif (index >= start && index <= end) throw new Error('Cannot move a selection inside itself');\n\n\t\tif (DEBUG) this.stats.time('move');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\t\tthis._split(index);\n\n\t\tconst first = this.byStart[start];\n\t\tconst last = this.byEnd[end];\n\n\t\tconst oldLeft = first.previous;\n\t\tconst oldRight = last.next;\n\n\t\tconst newRight = this.byStart[index];\n\t\tif (!newRight && last === this.lastChunk) return this;\n\t\tconst newLeft = newRight ? newRight.previous : this.lastChunk;\n\n\t\tif (oldLeft) oldLeft.next = oldRight;\n\t\tif (oldRight) oldRight.previous = oldLeft;\n\n\t\tif (newLeft) newLeft.next = first;\n\t\tif (newRight) newRight.previous = last;\n\n\t\tif (!first.previous) this.firstChunk = last.next;\n\t\tif (!last.next) {\n\t\t\tthis.lastChunk = first.previous;\n\t\t\tthis.lastChunk.next = null;\n\t\t}\n\n\t\tfirst.previous = newLeft;\n\t\tlast.next = newRight || null;\n\n\t\tif (!newLeft) this.firstChunk = first;\n\t\tif (!newRight) this.lastChunk = last;\n\n\t\tif (DEBUG) this.stats.timeEnd('move');\n\t\treturn this;\n\t}\n\n\toverwrite(start, end, content, options) {\n\t\toptions = options || {};\n\t\treturn this.update(start, end, content, { ...options, overwrite: !options.contentOnly });\n\t}\n\n\tupdate(start, end, content, options) {\n\t\tif (typeof content !== 'string') throw new TypeError('replacement content must be a string');\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (end > this.original.length) throw new Error('end is out of bounds');\n\t\tif (start === end)\n\t\t\tthrow new Error(\n\t\t\t\t'Cannot overwrite a zero-length range – use appendLeft or prependRight instead',\n\t\t\t);\n\n\t\tif (DEBUG) this.stats.time('overwrite');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tif (options === true) {\n\t\t\tif (!warned.storeName) {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t'The final argument to magicString.overwrite(...) should be an options object. See https://github.com/rich-harris/magic-string',\n\t\t\t\t); // eslint-disable-line no-console\n\t\t\t\twarned.storeName = true;\n\t\t\t}\n\n\t\t\toptions = { storeName: true };\n\t\t}\n\t\tconst storeName = options !== undefined ? options.storeName : false;\n\t\tconst overwrite = options !== undefined ? options.overwrite : false;\n\n\t\tif (storeName) {\n\t\t\tconst original = this.original.slice(start, end);\n\t\t\tObject.defineProperty(this.storedNames, original, {\n\t\t\t\twritable: true,\n\t\t\t\tvalue: true,\n\t\t\t\tenumerable: true,\n\t\t\t});\n\t\t}\n\n\t\tconst first = this.byStart[start];\n\t\tconst last = this.byEnd[end];\n\n\t\tif (first) {\n\t\t\tlet chunk = first;\n\t\t\twhile (chunk !== last) {\n\t\t\t\tif (chunk.next !== this.byStart[chunk.end]) {\n\t\t\t\t\tthrow new Error('Cannot overwrite across a split point');\n\t\t\t\t}\n\t\t\t\tchunk = chunk.next;\n\t\t\t\tchunk.edit('', false);\n\t\t\t}\n\n\t\t\tfirst.edit(content, storeName, !overwrite);\n\t\t} else {\n\t\t\t// must be inserting at the end\n\t\t\tconst newChunk = new Chunk(start, end, '').edit(content, storeName);\n\n\t\t\t// TODO last chunk in the array may not be the last chunk, if it's moved...\n\t\t\tlast.next = newChunk;\n\t\t\tnewChunk.previous = last;\n\t\t}\n\n\t\tif (DEBUG) this.stats.timeEnd('overwrite');\n\t\treturn this;\n\t}\n\n\tprepend(content) {\n\t\tif (typeof content !== 'string') throw new TypeError('outro content must be a string');\n\n\t\tthis.intro = content + this.intro;\n\t\treturn this;\n\t}\n\n\tprependLeft(index, content) {\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tif (DEBUG) this.stats.time('insertRight');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byEnd[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.prependLeft(content);\n\t\t} else {\n\t\t\tthis.intro = content + this.intro;\n\t\t}\n\n\t\tif (DEBUG) this.stats.timeEnd('insertRight');\n\t\treturn this;\n\t}\n\n\tprependRight(index, content) {\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tif (DEBUG) this.stats.time('insertRight');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byStart[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.prependRight(content);\n\t\t} else {\n\t\t\tthis.outro = content + this.outro;\n\t\t}\n\n\t\tif (DEBUG) this.stats.timeEnd('insertRight');\n\t\treturn this;\n\t}\n\n\tremove(start, end) {\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (start === end) return this;\n\n\t\tif (start < 0 || end > this.original.length) throw new Error('Character is out of bounds');\n\t\tif (start > end) throw new Error('end must be greater than start');\n\n\t\tif (DEBUG) this.stats.time('remove');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tlet chunk = this.byStart[start];\n\n\t\twhile (chunk) {\n\t\t\tchunk.intro = '';\n\t\t\tchunk.outro = '';\n\t\t\tchunk.edit('');\n\n\t\t\tchunk = end > chunk.end ? this.byStart[chunk.end] : null;\n\t\t}\n\n\t\tif (DEBUG) this.stats.timeEnd('remove');\n\t\treturn this;\n\t}\n\n\treset(start, end) {\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (start === end) return this;\n\n\t\tif (start < 0 || end > this.original.length) throw new Error('Character is out of bounds');\n\t\tif (start > end) throw new Error('end must be greater than start');\n\n\t\tif (DEBUG) this.stats.time('reset');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tlet chunk = this.byStart[start];\n\n\t\twhile (chunk) {\n\t\t\tchunk.reset();\n\n\t\t\tchunk = end > chunk.end ? this.byStart[chunk.end] : null;\n\t\t}\n\n\t\tif (DEBUG) this.stats.timeEnd('reset');\n\t\treturn this;\n\t}\n\n\tlastChar() {\n\t\tif (this.outro.length) return this.outro[this.outro.length - 1];\n\t\tlet chunk = this.lastChunk;\n\t\tdo {\n\t\t\tif (chunk.outro.length) return chunk.outro[chunk.outro.length - 1];\n\t\t\tif (chunk.content.length) return chunk.content[chunk.content.length - 1];\n\t\t\tif (chunk.intro.length) return chunk.intro[chunk.intro.length - 1];\n\t\t} while ((chunk = chunk.previous));\n\t\tif (this.intro.length) return this.intro[this.intro.length - 1];\n\t\treturn '';\n\t}\n\n\tlastLine() {\n\t\tlet lineIndex = this.outro.lastIndexOf(n);\n\t\tif (lineIndex !== -1) return this.outro.substr(lineIndex + 1);\n\t\tlet lineStr = this.outro;\n\t\tlet chunk = this.lastChunk;\n\t\tdo {\n\t\t\tif (chunk.outro.length > 0) {\n\t\t\t\tlineIndex = chunk.outro.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.outro.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.outro + lineStr;\n\t\t\t}\n\n\t\t\tif (chunk.content.length > 0) {\n\t\t\t\tlineIndex = chunk.content.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.content.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.content + lineStr;\n\t\t\t}\n\n\t\t\tif (chunk.intro.length > 0) {\n\t\t\t\tlineIndex = chunk.intro.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.intro.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.intro + lineStr;\n\t\t\t}\n\t\t} while ((chunk = chunk.previous));\n\t\tlineIndex = this.intro.lastIndexOf(n);\n\t\tif (lineIndex !== -1) return this.intro.substr(lineIndex + 1) + lineStr;\n\t\treturn this.intro + lineStr;\n\t}\n\n\tslice(start = 0, end = this.original.length) {\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tlet result = '';\n\n\t\t// find start chunk\n\t\tlet chunk = this.firstChunk;\n\t\twhile (chunk && (chunk.start > start || chunk.end <= start)) {\n\t\t\t// found end chunk before start\n\t\t\tif (chunk.start < end && chunk.end >= end) {\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\tif (chunk && chunk.edited && chunk.start !== start)\n\t\t\tthrow new Error(`Cannot use replaced character ${start} as slice start anchor.`);\n\n\t\tconst startChunk = chunk;\n\t\twhile (chunk) {\n\t\t\tif (chunk.intro && (startChunk !== chunk || chunk.start === start)) {\n\t\t\t\tresult += chunk.intro;\n\t\t\t}\n\n\t\t\tconst containsEnd = chunk.start < end && chunk.end >= end;\n\t\t\tif (containsEnd && chunk.edited && chunk.end !== end)\n\t\t\t\tthrow new Error(`Cannot use replaced character ${end} as slice end anchor.`);\n\n\t\t\tconst sliceStart = startChunk === chunk ? start - chunk.start : 0;\n\t\t\tconst sliceEnd = containsEnd ? chunk.content.length + end - chunk.end : chunk.content.length;\n\n\t\t\tresult += chunk.content.slice(sliceStart, sliceEnd);\n\n\t\t\tif (chunk.outro && (!containsEnd || chunk.end === end)) {\n\t\t\t\tresult += chunk.outro;\n\t\t\t}\n\n\t\t\tif (containsEnd) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\treturn result;\n\t}\n\n\t// TODO deprecate this? not really very useful\n\tsnip(start, end) {\n\t\tconst clone = this.clone();\n\t\tclone.remove(0, start);\n\t\tclone.remove(end, clone.original.length);\n\n\t\treturn clone;\n\t}\n\n\t_split(index) {\n\t\tif (this.byStart[index] || this.byEnd[index]) return;\n\n\t\tif (DEBUG) this.stats.time('_split');\n\n\t\tlet chunk = this.lastSearchedChunk;\n\t\tconst searchForward = index > chunk.end;\n\n\t\twhile (chunk) {\n\t\t\tif (chunk.contains(index)) return this._splitChunk(chunk, index);\n\n\t\t\tchunk = searchForward ? this.byStart[chunk.end] : this.byEnd[chunk.start];\n\t\t}\n\t}\n\n\t_splitChunk(chunk, index) {\n\t\tif (chunk.edited && chunk.content.length) {\n\t\t\t// zero-length edited chunks are a special case (overlapping replacements)\n\t\t\tconst loc = getLocator(this.original)(index);\n\t\t\tthrow new Error(\n\t\t\t\t`Cannot split a chunk that has already been edited (${loc.line}:${loc.column} – \"${chunk.original}\")`,\n\t\t\t);\n\t\t}\n\n\t\tconst newChunk = chunk.split(index);\n\n\t\tthis.byEnd[index] = chunk;\n\t\tthis.byStart[index] = newChunk;\n\t\tthis.byEnd[newChunk.end] = newChunk;\n\n\t\tif (chunk === this.lastChunk) this.lastChunk = newChunk;\n\n\t\tthis.lastSearchedChunk = chunk;\n\t\tif (DEBUG) this.stats.timeEnd('_split');\n\t\treturn true;\n\t}\n\n\ttoString() {\n\t\tlet str = this.intro;\n\n\t\tlet chunk = this.firstChunk;\n\t\twhile (chunk) {\n\t\t\tstr += chunk.toString();\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\treturn str + this.outro;\n\t}\n\n\tisEmpty() {\n\t\tlet chunk = this.firstChunk;\n\t\tdo {\n\t\t\tif (\n\t\t\t\t(chunk.intro.length && chunk.intro.trim()) ||\n\t\t\t\t(chunk.content.length && chunk.content.trim()) ||\n\t\t\t\t(chunk.outro.length && chunk.outro.trim())\n\t\t\t)\n\t\t\t\treturn false;\n\t\t} while ((chunk = chunk.next));\n\t\treturn true;\n\t}\n\n\tlength() {\n\t\tlet chunk = this.firstChunk;\n\t\tlet length = 0;\n\t\tdo {\n\t\t\tlength += chunk.intro.length + chunk.content.length + chunk.outro.length;\n\t\t} while ((chunk = chunk.next));\n\t\treturn length;\n\t}\n\n\ttrimLines() {\n\t\treturn this.trim('[\\\\r\\\\n]');\n\t}\n\n\ttrim(charType) {\n\t\treturn this.trimStart(charType).trimEnd(charType);\n\t}\n\n\ttrimEndAborted(charType) {\n\t\tconst rx = new RegExp((charType || '\\\\s') + '+$');\n\n\t\tthis.outro = this.outro.replace(rx, '');\n\t\tif (this.outro.length) return true;\n\n\t\tlet chunk = this.lastChunk;\n\n\t\tdo {\n\t\t\tconst end = chunk.end;\n\t\t\tconst aborted = chunk.trimEnd(rx);\n\n\t\t\t// if chunk was trimmed, we have a new lastChunk\n\t\t\tif (chunk.end !== end) {\n\t\t\t\tif (this.lastChunk === chunk) {\n\t\t\t\t\tthis.lastChunk = chunk.next;\n\t\t\t\t}\n\n\t\t\t\tthis.byEnd[chunk.end] = chunk;\n\t\t\t\tthis.byStart[chunk.next.start] = chunk.next;\n\t\t\t\tthis.byEnd[chunk.next.end] = chunk.next;\n\t\t\t}\n\n\t\t\tif (aborted) return true;\n\t\t\tchunk = chunk.previous;\n\t\t} while (chunk);\n\n\t\treturn false;\n\t}\n\n\ttrimEnd(charType) {\n\t\tthis.trimEndAborted(charType);\n\t\treturn this;\n\t}\n\ttrimStartAborted(charType) {\n\t\tconst rx = new RegExp('^' + (charType || '\\\\s') + '+');\n\n\t\tthis.intro = this.intro.replace(rx, '');\n\t\tif (this.intro.length) return true;\n\n\t\tlet chunk = this.firstChunk;\n\n\t\tdo {\n\t\t\tconst end = chunk.end;\n\t\t\tconst aborted = chunk.trimStart(rx);\n\n\t\t\tif (chunk.end !== end) {\n\t\t\t\t// special case...\n\t\t\t\tif (chunk === this.lastChunk) this.lastChunk = chunk.next;\n\n\t\t\t\tthis.byEnd[chunk.end] = chunk;\n\t\t\t\tthis.byStart[chunk.next.start] = chunk.next;\n\t\t\t\tthis.byEnd[chunk.next.end] = chunk.next;\n\t\t\t}\n\n\t\t\tif (aborted) return true;\n\t\t\tchunk = chunk.next;\n\t\t} while (chunk);\n\n\t\treturn false;\n\t}\n\n\ttrimStart(charType) {\n\t\tthis.trimStartAborted(charType);\n\t\treturn this;\n\t}\n\n\thasChanged() {\n\t\treturn this.original !== this.toString();\n\t}\n\n\t_replaceRegexp(searchValue, replacement) {\n\t\tfunction getReplacement(match, str) {\n\t\t\tif (typeof replacement === 'string') {\n\t\t\t\treturn replacement.replace(/\\$(\\$|&|\\d+)/g, (_, i) => {\n\t\t\t\t\t// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#specifying_a_string_as_a_parameter\n\t\t\t\t\tif (i === '$') return '$';\n\t\t\t\t\tif (i === '&') return match[0];\n\t\t\t\t\tconst num = +i;\n\t\t\t\t\tif (num < match.length) return match[+i];\n\t\t\t\t\treturn `$${i}`;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn replacement(...match, match.index, str, match.groups);\n\t\t\t}\n\t\t}\n\t\tfunction matchAll(re, str) {\n\t\t\tlet match;\n\t\t\tconst matches = [];\n\t\t\twhile ((match = re.exec(str))) {\n\t\t\t\tmatches.push(match);\n\t\t\t}\n\t\t\treturn matches;\n\t\t}\n\t\tif (searchValue.global) {\n\t\t\tconst matches = matchAll(searchValue, this.original);\n\t\t\tmatches.forEach((match) => {\n\t\t\t\tif (match.index != null) {\n\t\t\t\t\tconst replacement = getReplacement(match, this.original);\n\t\t\t\t\tif (replacement !== match[0]) {\n\t\t\t\t\t\tthis.overwrite(\n\t\t\t\t\t\t\tmatch.index,\n\t\t\t\t\t\t\tmatch.index + match[0].length,\n\t\t\t\t\t\t\treplacement\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tconst match = this.original.match(searchValue);\n\t\t\tif (match && match.index != null) {\n\t\t\t\tconst replacement = getReplacement(match, this.original);\n\t\t\t\tif (replacement !== match[0]) {\n\t\t\t\t\tthis.overwrite(\n\t\t\t\t\t\tmatch.index,\n\t\t\t\t\t\tmatch.index + match[0].length,\n\t\t\t\t\t\treplacement\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n\n\t_replaceString(string, replacement) {\n\t\tconst { original } = this;\n\t\tconst index = original.indexOf(string);\n\n\t\tif (index !== -1) {\n\t\t\tthis.overwrite(index, index + string.length, replacement);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\treplace(searchValue, replacement) {\n\t\tif (typeof searchValue === 'string') {\n\t\t\treturn this._replaceString(searchValue, replacement);\n\t\t}\n\n\t\treturn this._replaceRegexp(searchValue, replacement);\n\t}\n\n\t_replaceAllString(string, replacement) {\n\t\tconst { original } = this;\n\t\tconst stringLength = string.length;\n\t\tfor (\n\t\t\tlet index = original.indexOf(string);\n\t\t\tindex !== -1;\n\t\t\tindex = original.indexOf(string, index + stringLength)\n\t\t) {\n\t\t\tconst previous = original.slice(index, index + stringLength);\n\t\t\tif (previous !== replacement)\n\t\t\t\tthis.overwrite(index, index + stringLength, replacement);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\treplaceAll(searchValue, replacement) {\n\t\tif (typeof searchValue === 'string') {\n\t\t\treturn this._replaceAllString(searchValue, replacement);\n\t\t}\n\n\t\tif (!searchValue.global) {\n\t\t\tthrow new TypeError(\n\t\t\t\t'MagicString.prototype.replaceAll called with a non-global RegExp argument',\n\t\t\t);\n\t\t}\n\n\t\treturn this._replaceRegexp(searchValue, replacement);\n\t}\n}\n","import MagicString from './MagicString.js';\nimport SourceMap from './SourceMap.js';\nimport getRelativePath from './utils/getRelativePath.js';\nimport isObject from './utils/isObject.js';\nimport getLocator from './utils/getLocator.js';\nimport Mappings from './utils/Mappings.js';\n\nconst hasOwnProp = Object.prototype.hasOwnProperty;\n\nexport default class Bundle {\n\tconstructor(options = {}) {\n\t\tthis.intro = options.intro || '';\n\t\tthis.separator = options.separator !== undefined ? options.separator : '\\n';\n\t\tthis.sources = [];\n\t\tthis.uniqueSources = [];\n\t\tthis.uniqueSourceIndexByFilename = {};\n\t}\n\n\taddSource(source) {\n\t\tif (source instanceof MagicString) {\n\t\t\treturn this.addSource({\n\t\t\t\tcontent: source,\n\t\t\t\tfilename: source.filename,\n\t\t\t\tseparator: this.separator,\n\t\t\t});\n\t\t}\n\n\t\tif (!isObject(source) || !source.content) {\n\t\t\tthrow new Error(\n\t\t\t\t'bundle.addSource() takes an object with a `content` property, which should be an instance of MagicString, and an optional `filename`',\n\t\t\t);\n\t\t}\n\n\t\t['filename', 'ignoreList', 'indentExclusionRanges', 'separator'].forEach((option) => {\n\t\t\tif (!hasOwnProp.call(source, option)) source[option] = source.content[option];\n\t\t});\n\n\t\tif (source.separator === undefined) {\n\t\t\t// TODO there's a bunch of this sort of thing, needs cleaning up\n\t\t\tsource.separator = this.separator;\n\t\t}\n\n\t\tif (source.filename) {\n\t\t\tif (!hasOwnProp.call(this.uniqueSourceIndexByFilename, source.filename)) {\n\t\t\t\tthis.uniqueSourceIndexByFilename[source.filename] = this.uniqueSources.length;\n\t\t\t\tthis.uniqueSources.push({ filename: source.filename, content: source.content.original });\n\t\t\t} else {\n\t\t\t\tconst uniqueSource = this.uniqueSources[this.uniqueSourceIndexByFilename[source.filename]];\n\t\t\t\tif (source.content.original !== uniqueSource.content) {\n\t\t\t\t\tthrow new Error(`Illegal source: same filename (${source.filename}), different contents`);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.sources.push(source);\n\t\treturn this;\n\t}\n\n\tappend(str, options) {\n\t\tthis.addSource({\n\t\t\tcontent: new MagicString(str),\n\t\t\tseparator: (options && options.separator) || '',\n\t\t});\n\n\t\treturn this;\n\t}\n\n\tclone() {\n\t\tconst bundle = new Bundle({\n\t\t\tintro: this.intro,\n\t\t\tseparator: this.separator,\n\t\t});\n\n\t\tthis.sources.forEach((source) => {\n\t\t\tbundle.addSource({\n\t\t\t\tfilename: source.filename,\n\t\t\t\tcontent: source.content.clone(),\n\t\t\t\tseparator: source.separator,\n\t\t\t});\n\t\t});\n\n\t\treturn bundle;\n\t}\n\n\tgenerateDecodedMap(options = {}) {\n\t\tconst names = [];\n\t\tlet x_google_ignoreList = undefined;\n\t\tthis.sources.forEach((source) => {\n\t\t\tObject.keys(source.content.storedNames).forEach((name) => {\n\t\t\t\tif (!~names.indexOf(name)) names.push(name);\n\t\t\t});\n\t\t});\n\n\t\tconst mappings = new Mappings(options.hires);\n\n\t\tif (this.intro) {\n\t\t\tmappings.advance(this.intro);\n\t\t}\n\n\t\tthis.sources.forEach((source, i) => {\n\t\t\tif (i > 0) {\n\t\t\t\tmappings.advance(this.separator);\n\t\t\t}\n\n\t\t\tconst sourceIndex = source.filename ? this.uniqueSourceIndexByFilename[source.filename] : -1;\n\t\t\tconst magicString = source.content;\n\t\t\tconst locate = getLocator(magicString.original);\n\n\t\t\tif (magicString.intro) {\n\t\t\t\tmappings.advance(magicString.intro);\n\t\t\t}\n\n\t\t\tmagicString.firstChunk.eachNext((chunk) => {\n\t\t\t\tconst loc = locate(chunk.start);\n\n\t\t\t\tif (chunk.intro.length) mappings.advance(chunk.intro);\n\n\t\t\t\tif (source.filename) {\n\t\t\t\t\tif (chunk.edited) {\n\t\t\t\t\t\tmappings.addEdit(\n\t\t\t\t\t\t\tsourceIndex,\n\t\t\t\t\t\t\tchunk.content,\n\t\t\t\t\t\t\tloc,\n\t\t\t\t\t\t\tchunk.storeName ? names.indexOf(chunk.original) : -1,\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmappings.addUneditedChunk(\n\t\t\t\t\t\t\tsourceIndex,\n\t\t\t\t\t\t\tchunk,\n\t\t\t\t\t\t\tmagicString.original,\n\t\t\t\t\t\t\tloc,\n\t\t\t\t\t\t\tmagicString.sourcemapLocations,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tmappings.advance(chunk.content);\n\t\t\t\t}\n\n\t\t\t\tif (chunk.outro.length) mappings.advance(chunk.outro);\n\t\t\t});\n\n\t\t\tif (magicString.outro) {\n\t\t\t\tmappings.advance(magicString.outro);\n\t\t\t}\n\n\t\t\tif (source.ignoreList && sourceIndex !== -1) {\n\t\t\t\tif (x_google_ignoreList === undefined) {\n\t\t\t\t\tx_google_ignoreList = [];\n\t\t\t\t}\n\t\t\t\tx_google_ignoreList.push(sourceIndex);\n\t\t\t}\n\t\t});\n\n\t\treturn {\n\t\t\tfile: options.file ? options.file.split(/[/\\\\]/).pop() : undefined,\n\t\t\tsources: this.uniqueSources.map((source) => {\n\t\t\t\treturn options.file ? getRelativePath(options.file, source.filename) : source.filename;\n\t\t\t}),\n\t\t\tsourcesContent: this.uniqueSources.map((source) => {\n\t\t\t\treturn options.includeContent ? source.content : null;\n\t\t\t}),\n\t\t\tnames,\n\t\t\tmappings: mappings.raw,\n\t\t\tx_google_ignoreList,\n\t\t};\n\t}\n\n\tgenerateMap(options) {\n\t\treturn new SourceMap(this.generateDecodedMap(options));\n\t}\n\n\tgetIndentString() {\n\t\tconst indentStringCounts = {};\n\n\t\tthis.sources.forEach((source) => {\n\t\t\tconst indentStr = source.content._getRawIndentString();\n\n\t\t\tif (indentStr === null) return;\n\n\t\t\tif (!indentStringCounts[indentStr]) indentStringCounts[indentStr] = 0;\n\t\t\tindentStringCounts[indentStr] += 1;\n\t\t});\n\n\t\treturn (\n\t\t\tObject.keys(indentStringCounts).sort((a, b) => {\n\t\t\t\treturn indentStringCounts[a] - indentStringCounts[b];\n\t\t\t})[0] || '\\t'\n\t\t);\n\t}\n\n\tindent(indentStr) {\n\t\tif (!arguments.length) {\n\t\t\tindentStr = this.getIndentString();\n\t\t}\n\n\t\tif (indentStr === '') return this; // noop\n\n\t\tlet trailingNewline = !this.intro || this.intro.slice(-1) === '\\n';\n\n\t\tthis.sources.forEach((source, i) => {\n\t\t\tconst separator = source.separator !== undefined ? source.separator : this.separator;\n\t\t\tconst indentStart = trailingNewline || (i > 0 && /\\r?\\n$/.test(separator));\n\n\t\t\tsource.content.indent(indentStr, {\n\t\t\t\texclude: source.indentExclusionRanges,\n\t\t\t\tindentStart, //: trailingNewline || /\\r?\\n$/.test( separator ) //true///\\r?\\n/.test( separator )\n\t\t\t});\n\n\t\t\ttrailingNewline = source.content.lastChar() === '\\n';\n\t\t});\n\n\t\tif (this.intro) {\n\t\t\tthis.intro =\n\t\t\t\tindentStr +\n\t\t\t\tthis.intro.replace(/^[^\\n]/gm, (match, index) => {\n\t\t\t\t\treturn index > 0 ? indentStr + match : match;\n\t\t\t\t});\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tprepend(str) {\n\t\tthis.intro = str + this.intro;\n\t\treturn this;\n\t}\n\n\ttoString() {\n\t\tconst body = this.sources\n\t\t\t.map((source, i) => {\n\t\t\t\tconst separator = source.separator !== undefined ? source.separator : this.separator;\n\t\t\t\tconst str = (i > 0 ? separator : '') + source.content.toString();\n\n\t\t\t\treturn str;\n\t\t\t})\n\t\t\t.join('');\n\n\t\treturn this.intro + body;\n\t}\n\n\tisEmpty() {\n\t\tif (this.intro.length && this.intro.trim()) return false;\n\t\tif (this.sources.some((source) => !source.content.isEmpty())) return false;\n\t\treturn true;\n\t}\n\n\tlength() {\n\t\treturn this.sources.reduce(\n\t\t\t(length, source) => length + source.content.length(),\n\t\t\tthis.intro.length,\n\t\t);\n\t}\n\n\ttrimLines() {\n\t\treturn this.trim('[\\\\r\\\\n]');\n\t}\n\n\ttrim(charType) {\n\t\treturn this.trimStart(charType).trimEnd(charType);\n\t}\n\n\ttrimStart(charType) {\n\t\tconst rx = new RegExp('^' + (charType || '\\\\s') + '+');\n\t\tthis.intro = this.intro.replace(rx, '');\n\n\t\tif (!this.intro) {\n\t\t\tlet source;\n\t\t\tlet i = 0;\n\n\t\t\tdo {\n\t\t\t\tsource = this.sources[i++];\n\t\t\t\tif (!source) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} while (!source.content.trimStartAborted(charType));\n\t\t}\n\n\t\treturn this;\n\t}\n\n\ttrimEnd(charType) {\n\t\tconst rx = new RegExp((charType || '\\\\s') + '+$');\n\n\t\tlet source;\n\t\tlet i = this.sources.length - 1;\n\n\t\tdo {\n\t\t\tsource = this.sources[i--];\n\t\t\tif (!source) {\n\t\t\t\tthis.intro = this.intro.replace(rx, '');\n\t\t\t\tbreak;\n\t\t\t}\n\t\t} while (!source.content.trimEndAborted(charType));\n\n\t\treturn this;\n\t}\n}\n"]}
|