@powerlines/core 0.47.0 → 0.47.2

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.
@@ -1,7 +1,10 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
2
  const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
3
+ const require_plugin_utils_virtual = require('./virtual.cjs');
3
4
  let _stryke_convert_to_array = require("@stryke/convert/to-array");
4
5
  let _stryke_path_is_type = require("@stryke/path/is-type");
6
+ let _stryke_type_checks_is_set_string = require("@stryke/type-checks/is-set-string");
7
+ let _stryke_type_checks_is_regexp = require("@stryke/type-checks/is-regexp");
5
8
  let node_path = require("node:path");
6
9
  let picomatch = require("picomatch");
7
10
  picomatch = require_runtime.__toESM(picomatch, 1);
@@ -9,7 +12,7 @@ picomatch = require_runtime.__toESM(picomatch, 1);
9
12
  //#region src/plugin-utils/filter.ts
10
13
  const BACKSLASH_REGEX = /\\/g;
11
14
  function normalize(path) {
12
- return path.replace(BACKSLASH_REGEX, "/");
15
+ return require_plugin_utils_virtual.removeVirtualPrefix(path).replace(BACKSLASH_REGEX, "/");
13
16
  }
14
17
  function getMatcherString(glob, cwd) {
15
18
  if (glob.startsWith("**") || (0, _stryke_path_is_type.isAbsolutePath)(glob)) return normalize(glob);
@@ -43,12 +46,16 @@ function createFilter(exclude, include) {
43
46
  return !(include && include.length > 0);
44
47
  };
45
48
  }
49
+ function normalizeSingleFilter(filter) {
50
+ if ((0, _stryke_type_checks_is_set_string.isSetString)(filter)) return require_plugin_utils_virtual.removeVirtualPrefix(filter);
51
+ return filter;
52
+ }
46
53
  function normalizeFilter(filter) {
47
- if (typeof filter === "string" || filter instanceof RegExp) return { include: [filter] };
48
- if (Array.isArray(filter)) return { include: filter };
54
+ if ((0, _stryke_type_checks_is_set_string.isSetString)(filter) || (0, _stryke_type_checks_is_regexp.isRegExp)(filter)) return { include: [normalizeSingleFilter(filter)] };
55
+ if (Array.isArray(filter)) return { include: filter.map(normalizeSingleFilter) };
49
56
  return {
50
- exclude: filter.exclude ? (0, _stryke_convert_to_array.toArray)(filter.exclude) : void 0,
51
- include: filter.include ? (0, _stryke_convert_to_array.toArray)(filter.include) : void 0
57
+ exclude: filter.exclude ? (0, _stryke_convert_to_array.toArray)(filter.exclude).map(normalizeSingleFilter) : void 0,
58
+ include: filter.include ? (0, _stryke_convert_to_array.toArray)(filter.include).map(normalizeSingleFilter) : void 0
52
59
  };
53
60
  }
54
61
  function createIdFilter(filter) {
@@ -89,5 +96,6 @@ exports.createFilterForId = createFilterForId;
89
96
  exports.createFilterForTransform = createFilterForTransform;
90
97
  exports.createIdFilter = createIdFilter;
91
98
  exports.normalizeFilter = normalizeFilter;
99
+ exports.normalizeSingleFilter = normalizeSingleFilter;
92
100
  exports.patternToCodeFilter = patternToCodeFilter;
93
101
  exports.patternToIdFilter = patternToIdFilter;
@@ -5,11 +5,12 @@ import { StringFilter, StringOrRegExp } from "unplugin";
5
5
  declare function patternToIdFilter(pattern: StringOrRegExp): PluginFilter;
6
6
  declare function patternToCodeFilter(pattern: StringOrRegExp): PluginFilter;
7
7
  declare function createFilter(exclude: PluginFilter[] | undefined, include: PluginFilter[] | undefined): PluginFilter | undefined;
8
+ declare function normalizeSingleFilter(filter: string | RegExp): string | RegExp;
8
9
  declare function normalizeFilter(filter: StringFilter): NormalizedStringFilter;
9
10
  declare function createIdFilter(filter: StringFilter | undefined): PluginFilter | undefined;
10
11
  declare function createCodeFilter(filter: StringFilter | undefined): PluginFilter | undefined;
11
12
  declare function createFilterForId(filter: StringFilter | undefined): PluginFilter | undefined;
12
13
  declare function createFilterForTransform(idFilter: StringFilter | undefined, codeFilter: StringFilter | undefined): TransformHookFilter | undefined;
13
14
  //#endregion
14
- export { createCodeFilter, createFilter, createFilterForId, createFilterForTransform, createIdFilter, normalizeFilter, patternToCodeFilter, patternToIdFilter };
15
+ export { createCodeFilter, createFilter, createFilterForId, createFilterForTransform, createIdFilter, normalizeFilter, normalizeSingleFilter, patternToCodeFilter, patternToIdFilter };
15
16
  //# sourceMappingURL=filter.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"filter.d.cts","names":[],"sources":["../../src/plugin-utils/filter.ts"],"mappings":";;;;iBA4CgB,iBAAA,CAAkB,OAAA,EAAS,cAAA,GAAiB,YAAA;AAAA,iBAoB5C,mBAAA,CAAoB,OAAA,EAAS,cAAA,GAAiB,YAAA;AAAA,iBAW9C,YAAA,CACd,OAAA,EAAS,YAAA,gBACT,OAAA,EAAS,YAAA,iBACR,YAAA;AAAA,iBAgBa,eAAA,CAAgB,MAAA,EAAQ,YAAA,GAAe,sBAAA;AAAA,iBAiBvC,cAAA,CACd,MAAA,EAAQ,YAAA,eACP,YAAA;AAAA,iBASa,gBAAA,CACd,MAAA,EAAQ,YAAA,eACP,YAAA;AAAA,iBASa,iBAAA,CACd,MAAA,EAAQ,YAAA,eACP,YAAA;AAAA,iBAMa,wBAAA,CACd,QAAA,EAAU,YAAA,cACV,UAAA,EAAY,YAAA,eACX,mBAAA"}
1
+ {"version":3,"file":"filter.d.cts","names":[],"sources":["../../src/plugin-utils/filter.ts"],"mappings":";;;;iBA+CgB,iBAAA,CAAkB,OAAA,EAAS,cAAA,GAAiB,YAAA;AAAA,iBAoB5C,mBAAA,CAAoB,OAAA,EAAS,cAAA,GAAiB,YAAA;AAAA,iBAW9C,YAAA,CACd,OAAA,EAAS,YAAA,gBACT,OAAA,EAAS,YAAA,iBACR,YAAA;AAAA,iBAgBa,qBAAA,CACd,MAAA,WAAiB,MAAA,YACP,MAAA;AAAA,iBAQI,eAAA,CAAgB,MAAA,EAAQ,YAAA,GAAe,sBAAA;AAAA,iBAuBvC,cAAA,CACd,MAAA,EAAQ,YAAA,eACP,YAAA;AAAA,iBASa,gBAAA,CACd,MAAA,EAAQ,YAAA,eACP,YAAA;AAAA,iBASa,iBAAA,CACd,MAAA,EAAQ,YAAA,eACP,YAAA;AAAA,iBAMa,wBAAA,CACd,QAAA,EAAU,YAAA,cACV,UAAA,EAAY,YAAA,eACX,mBAAA"}
@@ -5,11 +5,12 @@ import { StringFilter, StringOrRegExp } from "unplugin";
5
5
  declare function patternToIdFilter(pattern: StringOrRegExp): PluginFilter;
6
6
  declare function patternToCodeFilter(pattern: StringOrRegExp): PluginFilter;
7
7
  declare function createFilter(exclude: PluginFilter[] | undefined, include: PluginFilter[] | undefined): PluginFilter | undefined;
8
+ declare function normalizeSingleFilter(filter: string | RegExp): string | RegExp;
8
9
  declare function normalizeFilter(filter: StringFilter): NormalizedStringFilter;
9
10
  declare function createIdFilter(filter: StringFilter | undefined): PluginFilter | undefined;
10
11
  declare function createCodeFilter(filter: StringFilter | undefined): PluginFilter | undefined;
11
12
  declare function createFilterForId(filter: StringFilter | undefined): PluginFilter | undefined;
12
13
  declare function createFilterForTransform(idFilter: StringFilter | undefined, codeFilter: StringFilter | undefined): TransformHookFilter | undefined;
13
14
  //#endregion
14
- export { createCodeFilter, createFilter, createFilterForId, createFilterForTransform, createIdFilter, normalizeFilter, patternToCodeFilter, patternToIdFilter };
15
+ export { createCodeFilter, createFilter, createFilterForId, createFilterForTransform, createIdFilter, normalizeFilter, normalizeSingleFilter, patternToCodeFilter, patternToIdFilter };
15
16
  //# sourceMappingURL=filter.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"filter.d.mts","names":[],"sources":["../../src/plugin-utils/filter.ts"],"mappings":";;;;iBA4CgB,iBAAA,CAAkB,OAAA,EAAS,cAAA,GAAiB,YAAA;AAAA,iBAoB5C,mBAAA,CAAoB,OAAA,EAAS,cAAA,GAAiB,YAAA;AAAA,iBAW9C,YAAA,CACd,OAAA,EAAS,YAAA,gBACT,OAAA,EAAS,YAAA,iBACR,YAAA;AAAA,iBAgBa,eAAA,CAAgB,MAAA,EAAQ,YAAA,GAAe,sBAAA;AAAA,iBAiBvC,cAAA,CACd,MAAA,EAAQ,YAAA,eACP,YAAA;AAAA,iBASa,gBAAA,CACd,MAAA,EAAQ,YAAA,eACP,YAAA;AAAA,iBASa,iBAAA,CACd,MAAA,EAAQ,YAAA,eACP,YAAA;AAAA,iBAMa,wBAAA,CACd,QAAA,EAAU,YAAA,cACV,UAAA,EAAY,YAAA,eACX,mBAAA"}
1
+ {"version":3,"file":"filter.d.mts","names":[],"sources":["../../src/plugin-utils/filter.ts"],"mappings":";;;;iBA+CgB,iBAAA,CAAkB,OAAA,EAAS,cAAA,GAAiB,YAAA;AAAA,iBAoB5C,mBAAA,CAAoB,OAAA,EAAS,cAAA,GAAiB,YAAA;AAAA,iBAW9C,YAAA,CACd,OAAA,EAAS,YAAA,gBACT,OAAA,EAAS,YAAA,iBACR,YAAA;AAAA,iBAgBa,qBAAA,CACd,MAAA,WAAiB,MAAA,YACP,MAAA;AAAA,iBAQI,eAAA,CAAgB,MAAA,EAAQ,YAAA,GAAe,sBAAA;AAAA,iBAuBvC,cAAA,CACd,MAAA,EAAQ,YAAA,eACP,YAAA;AAAA,iBASa,gBAAA,CACd,MAAA,EAAQ,YAAA,eACP,YAAA;AAAA,iBASa,iBAAA,CACd,MAAA,EAAQ,YAAA,eACP,YAAA;AAAA,iBAMa,wBAAA,CACd,QAAA,EAAU,YAAA,cACV,UAAA,EAAY,YAAA,eACX,mBAAA"}
@@ -1,12 +1,15 @@
1
+ import { removeVirtualPrefix } from "./virtual.mjs";
1
2
  import { toArray } from "@stryke/convert/to-array";
2
3
  import { isAbsolutePath } from "@stryke/path/is-type";
4
+ import { isSetString } from "@stryke/type-checks/is-set-string";
5
+ import { isRegExp } from "@stryke/type-checks/is-regexp";
3
6
  import { resolve } from "node:path";
4
7
  import picomatch from "picomatch";
5
8
 
6
9
  //#region src/plugin-utils/filter.ts
7
10
  const BACKSLASH_REGEX = /\\/g;
8
11
  function normalize(path) {
9
- return path.replace(BACKSLASH_REGEX, "/");
12
+ return removeVirtualPrefix(path).replace(BACKSLASH_REGEX, "/");
10
13
  }
11
14
  function getMatcherString(glob, cwd) {
12
15
  if (glob.startsWith("**") || isAbsolutePath(glob)) return normalize(glob);
@@ -40,12 +43,16 @@ function createFilter(exclude, include) {
40
43
  return !(include && include.length > 0);
41
44
  };
42
45
  }
46
+ function normalizeSingleFilter(filter) {
47
+ if (isSetString(filter)) return removeVirtualPrefix(filter);
48
+ return filter;
49
+ }
43
50
  function normalizeFilter(filter) {
44
- if (typeof filter === "string" || filter instanceof RegExp) return { include: [filter] };
45
- if (Array.isArray(filter)) return { include: filter };
51
+ if (isSetString(filter) || isRegExp(filter)) return { include: [normalizeSingleFilter(filter)] };
52
+ if (Array.isArray(filter)) return { include: filter.map(normalizeSingleFilter) };
46
53
  return {
47
- exclude: filter.exclude ? toArray(filter.exclude) : void 0,
48
- include: filter.include ? toArray(filter.include) : void 0
54
+ exclude: filter.exclude ? toArray(filter.exclude).map(normalizeSingleFilter) : void 0,
55
+ include: filter.include ? toArray(filter.include).map(normalizeSingleFilter) : void 0
49
56
  };
50
57
  }
51
58
  function createIdFilter(filter) {
@@ -80,5 +87,5 @@ function createFilterForTransform(idFilter, codeFilter) {
80
87
  }
81
88
 
82
89
  //#endregion
83
- export { createCodeFilter, createFilter, createFilterForId, createFilterForTransform, createIdFilter, normalizeFilter, patternToCodeFilter, patternToIdFilter };
90
+ export { createCodeFilter, createFilter, createFilterForId, createFilterForTransform, createIdFilter, normalizeFilter, normalizeSingleFilter, patternToCodeFilter, patternToIdFilter };
84
91
  //# sourceMappingURL=filter.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"filter.mjs","names":[],"sources":["../../src/plugin-utils/filter.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { toArray } from \"@stryke/convert/to-array\";\nimport { isAbsolutePath } from \"@stryke/path/is-type\";\nimport { resolve } from \"node:path\";\nimport picomatch from \"picomatch\";\nimport type { StringFilter, StringOrRegExp } from \"unplugin\";\nimport {\n NormalizedStringFilter,\n PluginFilter,\n TransformHookFilter\n} from \"../types/hooks\";\n\nconst BACKSLASH_REGEX = /\\\\/g;\nfunction normalize(path: string): string {\n return path.replace(BACKSLASH_REGEX, \"/\");\n}\n\nfunction getMatcherString(glob: string, cwd: string) {\n if (glob.startsWith(\"**\") || isAbsolutePath(glob)) {\n return normalize(glob);\n }\n\n const resolved = resolve(cwd, glob);\n\n return normalize(resolved);\n}\n\nexport function patternToIdFilter(pattern: StringOrRegExp): PluginFilter {\n if (pattern instanceof RegExp) {\n return (id: string) => {\n const normalizedId = normalize(id);\n const result = pattern.test(normalizedId);\n pattern.lastIndex = 0;\n return result;\n };\n }\n const cwd = process.cwd();\n const glob = getMatcherString(pattern, cwd);\n const matcher = picomatch(glob, { dot: true });\n\n return (id: string) => {\n const normalizedId = normalize(id);\n\n return matcher(normalizedId);\n };\n}\n\nexport function patternToCodeFilter(pattern: StringOrRegExp): PluginFilter {\n if (pattern instanceof RegExp) {\n return (code: string) => {\n const result = pattern.test(code);\n pattern.lastIndex = 0;\n return result;\n };\n }\n return (code: string) => code.includes(pattern);\n}\n\nexport function createFilter(\n exclude: PluginFilter[] | undefined,\n include: PluginFilter[] | undefined\n): PluginFilter | undefined {\n if (!exclude && !include) {\n return;\n }\n\n return input => {\n if (exclude?.some(filter => filter(input))) {\n return false;\n }\n if (include?.some(filter => filter(input))) {\n return true;\n }\n return !(include && include.length > 0);\n };\n}\n\nexport function normalizeFilter(filter: StringFilter): NormalizedStringFilter {\n if (typeof filter === \"string\" || filter instanceof RegExp) {\n return {\n include: [filter]\n };\n }\n if (Array.isArray(filter)) {\n return {\n include: filter\n };\n }\n return {\n exclude: filter.exclude ? toArray(filter.exclude) : undefined,\n include: filter.include ? toArray(filter.include) : undefined\n };\n}\n\nexport function createIdFilter(\n filter: StringFilter | undefined\n): PluginFilter | undefined {\n if (!filter) return;\n const { exclude, include } = normalizeFilter(filter);\n const excludeFilter = exclude?.map(patternToIdFilter);\n const includeFilter = include?.map(patternToIdFilter);\n\n return createFilter(excludeFilter, includeFilter);\n}\n\nexport function createCodeFilter(\n filter: StringFilter | undefined\n): PluginFilter | undefined {\n if (!filter) return;\n const { exclude, include } = normalizeFilter(filter);\n const excludeFilter = exclude?.map(patternToCodeFilter);\n const includeFilter = include?.map(patternToCodeFilter);\n\n return createFilter(excludeFilter, includeFilter);\n}\n\nexport function createFilterForId(\n filter: StringFilter | undefined\n): PluginFilter | undefined {\n const filterFunction = createIdFilter(filter);\n\n return filterFunction ? id => !!filterFunction(id) : undefined;\n}\n\nexport function createFilterForTransform(\n idFilter: StringFilter | undefined,\n codeFilter: StringFilter | undefined\n): TransformHookFilter | undefined {\n if (!idFilter && !codeFilter) return;\n const idFilterFunction = createIdFilter(idFilter);\n const codeFilterFunction = createCodeFilter(codeFilter);\n\n return (id, code) => {\n let fallback = true;\n if (idFilterFunction) {\n fallback &&= idFilterFunction(id);\n }\n if (!fallback) {\n return false;\n }\n\n if (codeFilterFunction) {\n fallback &&= codeFilterFunction(code);\n }\n return fallback;\n };\n}\n"],"mappings":";;;;;;AA6BA,MAAM,kBAAkB;AACxB,SAAS,UAAU,MAAsB;AACvC,QAAO,KAAK,QAAQ,iBAAiB,IAAI;;AAG3C,SAAS,iBAAiB,MAAc,KAAa;AACnD,KAAI,KAAK,WAAW,KAAK,IAAI,eAAe,KAAK,CAC/C,QAAO,UAAU,KAAK;AAKxB,QAAO,UAFU,QAAQ,KAAK,KAEL,CAAC;;AAG5B,SAAgB,kBAAkB,SAAuC;AACvE,KAAI,mBAAmB,OACrB,SAAQ,OAAe;EACrB,MAAM,eAAe,UAAU,GAAG;EAClC,MAAM,SAAS,QAAQ,KAAK,aAAa;AACzC,UAAQ,YAAY;AACpB,SAAO;;CAKX,MAAM,UAAU,UADH,iBAAiB,SADlB,QAAQ,KACsB,CACZ,EAAE,EAAE,KAAK,MAAM,CAAC;AAE9C,SAAQ,OAAe;AAGrB,SAAO,QAFc,UAAU,GAEJ,CAAC;;;AAIhC,SAAgB,oBAAoB,SAAuC;AACzE,KAAI,mBAAmB,OACrB,SAAQ,SAAiB;EACvB,MAAM,SAAS,QAAQ,KAAK,KAAK;AACjC,UAAQ,YAAY;AACpB,SAAO;;AAGX,SAAQ,SAAiB,KAAK,SAAS,QAAQ;;AAGjD,SAAgB,aACd,SACA,SAC0B;AAC1B,KAAI,CAAC,WAAW,CAAC,QACf;AAGF,SAAO,UAAS;AACd,MAAI,SAAS,MAAK,WAAU,OAAO,MAAM,CAAC,CACxC,QAAO;AAET,MAAI,SAAS,MAAK,WAAU,OAAO,MAAM,CAAC,CACxC,QAAO;AAET,SAAO,EAAE,WAAW,QAAQ,SAAS;;;AAIzC,SAAgB,gBAAgB,QAA8C;AAC5E,KAAI,OAAO,WAAW,YAAY,kBAAkB,OAClD,QAAO,EACL,SAAS,CAAC,OAAO,EAClB;AAEH,KAAI,MAAM,QAAQ,OAAO,CACvB,QAAO,EACL,SAAS,QACV;AAEH,QAAO;EACL,SAAS,OAAO,UAAU,QAAQ,OAAO,QAAQ,GAAG;EACpD,SAAS,OAAO,UAAU,QAAQ,OAAO,QAAQ,GAAG;EACrD;;AAGH,SAAgB,eACd,QAC0B;AAC1B,KAAI,CAAC,OAAQ;CACb,MAAM,EAAE,SAAS,YAAY,gBAAgB,OAAO;CACpD,MAAM,gBAAgB,SAAS,IAAI,kBAAkB;CACrD,MAAM,gBAAgB,SAAS,IAAI,kBAAkB;AAErD,QAAO,aAAa,eAAe,cAAc;;AAGnD,SAAgB,iBACd,QAC0B;AAC1B,KAAI,CAAC,OAAQ;CACb,MAAM,EAAE,SAAS,YAAY,gBAAgB,OAAO;CACpD,MAAM,gBAAgB,SAAS,IAAI,oBAAoB;CACvD,MAAM,gBAAgB,SAAS,IAAI,oBAAoB;AAEvD,QAAO,aAAa,eAAe,cAAc;;AAGnD,SAAgB,kBACd,QAC0B;CAC1B,MAAM,iBAAiB,eAAe,OAAO;AAE7C,QAAO,kBAAiB,OAAM,CAAC,CAAC,eAAe,GAAG,GAAG;;AAGvD,SAAgB,yBACd,UACA,YACiC;AACjC,KAAI,CAAC,YAAY,CAAC,WAAY;CAC9B,MAAM,mBAAmB,eAAe,SAAS;CACjD,MAAM,qBAAqB,iBAAiB,WAAW;AAEvD,SAAQ,IAAI,SAAS;EACnB,IAAI,WAAW;AACf,MAAI,iBACF,cAAa,iBAAiB,GAAG;AAEnC,MAAI,CAAC,SACH,QAAO;AAGT,MAAI,mBACF,cAAa,mBAAmB,KAAK;AAEvC,SAAO"}
1
+ {"version":3,"file":"filter.mjs","names":[],"sources":["../../src/plugin-utils/filter.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { toArray } from \"@stryke/convert/to-array\";\nimport { isAbsolutePath } from \"@stryke/path/is-type\";\nimport { isRegExp } from \"@stryke/type-checks/is-regexp\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport { resolve } from \"node:path\";\nimport picomatch from \"picomatch\";\nimport type { StringFilter, StringOrRegExp } from \"unplugin\";\nimport {\n NormalizedStringFilter,\n PluginFilter,\n TransformHookFilter\n} from \"../types/hooks\";\nimport { removeVirtualPrefix } from \"./virtual\";\n\nconst BACKSLASH_REGEX = /\\\\/g;\nfunction normalize(path: string): string {\n return removeVirtualPrefix(path).replace(BACKSLASH_REGEX, \"/\");\n}\n\nfunction getMatcherString(glob: string, cwd: string) {\n if (glob.startsWith(\"**\") || isAbsolutePath(glob)) {\n return normalize(glob);\n }\n\n const resolved = resolve(cwd, glob);\n\n return normalize(resolved);\n}\n\nexport function patternToIdFilter(pattern: StringOrRegExp): PluginFilter {\n if (pattern instanceof RegExp) {\n return (id: string) => {\n const normalizedId = normalize(id);\n const result = pattern.test(normalizedId);\n pattern.lastIndex = 0;\n return result;\n };\n }\n const cwd = process.cwd();\n const glob = getMatcherString(pattern, cwd);\n const matcher = picomatch(glob, { dot: true });\n\n return (id: string) => {\n const normalizedId = normalize(id);\n\n return matcher(normalizedId);\n };\n}\n\nexport function patternToCodeFilter(pattern: StringOrRegExp): PluginFilter {\n if (pattern instanceof RegExp) {\n return (code: string) => {\n const result = pattern.test(code);\n pattern.lastIndex = 0;\n return result;\n };\n }\n return (code: string) => code.includes(pattern);\n}\n\nexport function createFilter(\n exclude: PluginFilter[] | undefined,\n include: PluginFilter[] | undefined\n): PluginFilter | undefined {\n if (!exclude && !include) {\n return;\n }\n\n return input => {\n if (exclude?.some(filter => filter(input))) {\n return false;\n }\n if (include?.some(filter => filter(input))) {\n return true;\n }\n return !(include && include.length > 0);\n };\n}\n\nexport function normalizeSingleFilter(\n filter: string | RegExp\n): string | RegExp {\n if (isSetString(filter)) {\n return removeVirtualPrefix(filter);\n }\n\n return filter;\n}\n\nexport function normalizeFilter(filter: StringFilter): NormalizedStringFilter {\n if (isSetString(filter) || isRegExp(filter)) {\n return {\n include: [normalizeSingleFilter(filter)]\n };\n }\n\n if (Array.isArray(filter)) {\n return {\n include: filter.map(normalizeSingleFilter)\n };\n }\n\n return {\n exclude: filter.exclude\n ? toArray(filter.exclude).map(normalizeSingleFilter)\n : undefined,\n include: filter.include\n ? toArray(filter.include).map(normalizeSingleFilter)\n : undefined\n };\n}\n\nexport function createIdFilter(\n filter: StringFilter | undefined\n): PluginFilter | undefined {\n if (!filter) return;\n const { exclude, include } = normalizeFilter(filter);\n const excludeFilter = exclude?.map(patternToIdFilter);\n const includeFilter = include?.map(patternToIdFilter);\n\n return createFilter(excludeFilter, includeFilter);\n}\n\nexport function createCodeFilter(\n filter: StringFilter | undefined\n): PluginFilter | undefined {\n if (!filter) return;\n const { exclude, include } = normalizeFilter(filter);\n const excludeFilter = exclude?.map(patternToCodeFilter);\n const includeFilter = include?.map(patternToCodeFilter);\n\n return createFilter(excludeFilter, includeFilter);\n}\n\nexport function createFilterForId(\n filter: StringFilter | undefined\n): PluginFilter | undefined {\n const filterFunction = createIdFilter(filter);\n\n return filterFunction ? id => !!filterFunction(id) : undefined;\n}\n\nexport function createFilterForTransform(\n idFilter: StringFilter | undefined,\n codeFilter: StringFilter | undefined\n): TransformHookFilter | undefined {\n if (!idFilter && !codeFilter) return;\n const idFilterFunction = createIdFilter(idFilter);\n const codeFilterFunction = createCodeFilter(codeFilter);\n\n return (id, code) => {\n let fallback = true;\n if (idFilterFunction) {\n fallback &&= idFilterFunction(id);\n }\n if (!fallback) {\n return false;\n }\n\n if (codeFilterFunction) {\n fallback &&= codeFilterFunction(code);\n }\n return fallback;\n };\n}\n"],"mappings":";;;;;;;;;AAgCA,MAAM,kBAAkB;AACxB,SAAS,UAAU,MAAsB;AACvC,QAAO,oBAAoB,KAAK,CAAC,QAAQ,iBAAiB,IAAI;;AAGhE,SAAS,iBAAiB,MAAc,KAAa;AACnD,KAAI,KAAK,WAAW,KAAK,IAAI,eAAe,KAAK,CAC/C,QAAO,UAAU,KAAK;AAKxB,QAAO,UAFU,QAAQ,KAAK,KAEL,CAAC;;AAG5B,SAAgB,kBAAkB,SAAuC;AACvE,KAAI,mBAAmB,OACrB,SAAQ,OAAe;EACrB,MAAM,eAAe,UAAU,GAAG;EAClC,MAAM,SAAS,QAAQ,KAAK,aAAa;AACzC,UAAQ,YAAY;AACpB,SAAO;;CAKX,MAAM,UAAU,UADH,iBAAiB,SADlB,QAAQ,KACsB,CACZ,EAAE,EAAE,KAAK,MAAM,CAAC;AAE9C,SAAQ,OAAe;AAGrB,SAAO,QAFc,UAAU,GAEJ,CAAC;;;AAIhC,SAAgB,oBAAoB,SAAuC;AACzE,KAAI,mBAAmB,OACrB,SAAQ,SAAiB;EACvB,MAAM,SAAS,QAAQ,KAAK,KAAK;AACjC,UAAQ,YAAY;AACpB,SAAO;;AAGX,SAAQ,SAAiB,KAAK,SAAS,QAAQ;;AAGjD,SAAgB,aACd,SACA,SAC0B;AAC1B,KAAI,CAAC,WAAW,CAAC,QACf;AAGF,SAAO,UAAS;AACd,MAAI,SAAS,MAAK,WAAU,OAAO,MAAM,CAAC,CACxC,QAAO;AAET,MAAI,SAAS,MAAK,WAAU,OAAO,MAAM,CAAC,CACxC,QAAO;AAET,SAAO,EAAE,WAAW,QAAQ,SAAS;;;AAIzC,SAAgB,sBACd,QACiB;AACjB,KAAI,YAAY,OAAO,CACrB,QAAO,oBAAoB,OAAO;AAGpC,QAAO;;AAGT,SAAgB,gBAAgB,QAA8C;AAC5E,KAAI,YAAY,OAAO,IAAI,SAAS,OAAO,CACzC,QAAO,EACL,SAAS,CAAC,sBAAsB,OAAO,CAAC,EACzC;AAGH,KAAI,MAAM,QAAQ,OAAO,CACvB,QAAO,EACL,SAAS,OAAO,IAAI,sBAAsB,EAC3C;AAGH,QAAO;EACL,SAAS,OAAO,UACZ,QAAQ,OAAO,QAAQ,CAAC,IAAI,sBAAsB,GAClD;EACJ,SAAS,OAAO,UACZ,QAAQ,OAAO,QAAQ,CAAC,IAAI,sBAAsB,GAClD;EACL;;AAGH,SAAgB,eACd,QAC0B;AAC1B,KAAI,CAAC,OAAQ;CACb,MAAM,EAAE,SAAS,YAAY,gBAAgB,OAAO;CACpD,MAAM,gBAAgB,SAAS,IAAI,kBAAkB;CACrD,MAAM,gBAAgB,SAAS,IAAI,kBAAkB;AAErD,QAAO,aAAa,eAAe,cAAc;;AAGnD,SAAgB,iBACd,QAC0B;AAC1B,KAAI,CAAC,OAAQ;CACb,MAAM,EAAE,SAAS,YAAY,gBAAgB,OAAO;CACpD,MAAM,gBAAgB,SAAS,IAAI,oBAAoB;CACvD,MAAM,gBAAgB,SAAS,IAAI,oBAAoB;AAEvD,QAAO,aAAa,eAAe,cAAc;;AAGnD,SAAgB,kBACd,QAC0B;CAC1B,MAAM,iBAAiB,eAAe,OAAO;AAE7C,QAAO,kBAAiB,OAAM,CAAC,CAAC,eAAe,GAAG,GAAG;;AAGvD,SAAgB,yBACd,UACA,YACiC;AACjC,KAAI,CAAC,YAAY,CAAC,WAAY;CAC9B,MAAM,mBAAmB,eAAe,SAAS;CACjD,MAAM,qBAAqB,iBAAiB,WAAW;AAEvD,SAAQ,IAAI,SAAS;EACnB,IAAI,WAAW;AACf,MAAI,iBACF,cAAa,iBAAiB,GAAG;AAEnC,MAAI,CAAC,SACH,QAAO;AAGT,MAAI,mBACF,cAAa,mBAAmB,KAAK;AAEvC,SAAO"}
@@ -7,13 +7,13 @@ const require_plugin_utils_combine_plugins = require('./combine-plugins.cjs');
7
7
  const require_plugin_utils_context_helpers = require('./context-helpers.cjs');
8
8
  const require_plugin_utils_docs_helper = require('./docs-helper.cjs');
9
9
  const require_plugin_utils_extend = require('./extend.cjs');
10
+ const require_plugin_utils_virtual = require('./virtual.cjs');
10
11
  const require_plugin_utils_filter = require('./filter.cjs');
11
12
  const require_plugin_utils_format = require('./format.cjs');
12
13
  const require_plugin_utils_format_package_json = require('./format-package-json.cjs');
13
14
  const require_plugin_utils_get_config_path = require('./get-config-path.cjs');
14
15
  const require_plugin_utils_logging = require('./logging.cjs');
15
16
  const require_plugin_utils_modules = require('./modules.cjs');
16
- const require_plugin_utils_virtual = require('./virtual.cjs');
17
17
 
18
18
  exports.VIRTUAL_MODULE_PREFIX = require_plugin_utils_virtual.VIRTUAL_MODULE_PREFIX;
19
19
  exports.VIRTUAL_MODULE_PREFIX_REGEX = require_plugin_utils_virtual.VIRTUAL_MODULE_PREFIX_REGEX;
@@ -68,8 +68,10 @@ exports.isVirtualModule = require_plugin_utils_virtual.isVirtualModule;
68
68
  exports.merge = require_plugin_utils_merge.merge;
69
69
  exports.mergeConfig = require_plugin_utils_merge.mergeConfig;
70
70
  exports.normalizeFilter = require_plugin_utils_filter.normalizeFilter;
71
+ exports.normalizeSingleFilter = require_plugin_utils_filter.normalizeSingleFilter;
71
72
  exports.patternToCodeFilter = require_plugin_utils_filter.patternToCodeFilter;
72
73
  exports.patternToIdFilter = require_plugin_utils_filter.patternToIdFilter;
74
+ exports.prefixRegex = require_plugin_utils_virtual.prefixRegex;
73
75
  exports.removeVirtualPrefix = require_plugin_utils_virtual.removeVirtualPrefix;
74
76
  exports.replacePathTokens = require_plugin_utils_paths.replacePathTokens;
75
77
  exports.resolveLogLevel = require_plugin_utils_logging.resolveLogLevel;
@@ -3,7 +3,7 @@ import { CombinePluginsOptions, __ΩCombinePluginsOptions, combinePluginOptions,
3
3
  import { getOrganizationName, getPackageJsonOrganization, getWorkspaceName } from "./context-helpers.cjs";
4
4
  import { getDocsOutputPath } from "./docs-helper.cjs";
5
5
  import { extend } from "./extend.cjs";
6
- import { createCodeFilter, createFilter, createFilterForId, createFilterForTransform, createIdFilter, normalizeFilter, patternToCodeFilter, patternToIdFilter } from "./filter.cjs";
6
+ import { createCodeFilter, createFilter, createFilterForId, createFilterForTransform, createIdFilter, normalizeFilter, normalizeSingleFilter, patternToCodeFilter, patternToIdFilter } from "./filter.cjs";
7
7
  import { formatPackageJson } from "./format-package-json.cjs";
8
8
  import { formatConfig } from "./format.cjs";
9
9
  import { getConfigPath } from "./get-config-path.cjs";
@@ -12,5 +12,5 @@ import { colorBackground, colorText, consoleLog, consoleLogger, createLogFn, cre
12
12
  import { MergeResult, __ΩMergeResult, merge, mergeConfig } from "./merge.cjs";
13
13
  import { isBuiltinModule } from "./modules.cjs";
14
14
  import { replacePathTokens } from "./paths.cjs";
15
- import { VIRTUAL_MODULE_PREFIX, VIRTUAL_MODULE_PREFIX_REGEX, addVirtualPrefix, createVirtualPrefixRegex, isVirtualModule, removeVirtualPrefix } from "./virtual.cjs";
16
- export { CombinePluginsOptions, GetDependencyConfigResult, GetHookHandlerReturnType, MergeResult, VIRTUAL_MODULE_PREFIX, VIRTUAL_MODULE_PREFIX_REGEX, __ΩCombinePluginsOptions, __ΩGetDependencyConfigResult, __ΩGetHookHandlerReturnType, __ΩMergeResult, addPluginHook, addVirtualPrefix, colorBackground, colorText, combinePluginOptions, combinePlugins, consoleLog, consoleLogger, createCodeFilter, createFilter, createFilterForId, createFilterForTransform, createIdFilter, createLogFn, createLogger, createVirtualPrefixRegex, dedupeHooklist, extend, extendLogFn, extendLogger, extractPluginHook, findInvalidPluginConfig, formatConfig, formatPackageJson, getConfigPath, getDependencyConfig, getDocsOutputPath, getHookHandler, getOrganizationName, getPackageJsonOrganization, getTextColor, getWorkspaceName, isBuiltinModule, isDuplicate, isPlugin, isPluginConfig, isPluginConfigObject, isPluginConfigTuple, isPluginHook, isPluginHookField, isPluginHookFunction, isPluginHookObject, isUnpluginHookField, isUnpluginHookKey, isValidLogLevel, isValidLogLevelConfig, isVerbose, isVirtualModule, merge, mergeConfig, normalizeFilter, patternToCodeFilter, patternToIdFilter, removeVirtualPrefix, replacePathTokens, resolveLogLevel, withCustomLogger, withLogFn, withLogger };
15
+ import { PrefixRegexOptions, VIRTUAL_MODULE_PREFIX, VIRTUAL_MODULE_PREFIX_REGEX, __ΩPrefixRegexOptions, addVirtualPrefix, createVirtualPrefixRegex, isVirtualModule, prefixRegex, removeVirtualPrefix } from "./virtual.cjs";
16
+ export { CombinePluginsOptions, GetDependencyConfigResult, GetHookHandlerReturnType, MergeResult, PrefixRegexOptions, VIRTUAL_MODULE_PREFIX, VIRTUAL_MODULE_PREFIX_REGEX, __ΩCombinePluginsOptions, __ΩGetDependencyConfigResult, __ΩGetHookHandlerReturnType, __ΩMergeResult, __ΩPrefixRegexOptions, addPluginHook, addVirtualPrefix, colorBackground, colorText, combinePluginOptions, combinePlugins, consoleLog, consoleLogger, createCodeFilter, createFilter, createFilterForId, createFilterForTransform, createIdFilter, createLogFn, createLogger, createVirtualPrefixRegex, dedupeHooklist, extend, extendLogFn, extendLogger, extractPluginHook, findInvalidPluginConfig, formatConfig, formatPackageJson, getConfigPath, getDependencyConfig, getDocsOutputPath, getHookHandler, getOrganizationName, getPackageJsonOrganization, getTextColor, getWorkspaceName, isBuiltinModule, isDuplicate, isPlugin, isPluginConfig, isPluginConfigObject, isPluginConfigTuple, isPluginHook, isPluginHookField, isPluginHookFunction, isPluginHookObject, isUnpluginHookField, isUnpluginHookKey, isValidLogLevel, isValidLogLevelConfig, isVerbose, isVirtualModule, merge, mergeConfig, normalizeFilter, normalizeSingleFilter, patternToCodeFilter, patternToIdFilter, prefixRegex, removeVirtualPrefix, replacePathTokens, resolveLogLevel, withCustomLogger, withLogFn, withLogger };
@@ -3,7 +3,7 @@ import { CombinePluginsOptions, __ΩCombinePluginsOptions, combinePluginOptions,
3
3
  import { getOrganizationName, getPackageJsonOrganization, getWorkspaceName } from "./context-helpers.mjs";
4
4
  import { getDocsOutputPath } from "./docs-helper.mjs";
5
5
  import { extend } from "./extend.mjs";
6
- import { createCodeFilter, createFilter, createFilterForId, createFilterForTransform, createIdFilter, normalizeFilter, patternToCodeFilter, patternToIdFilter } from "./filter.mjs";
6
+ import { createCodeFilter, createFilter, createFilterForId, createFilterForTransform, createIdFilter, normalizeFilter, normalizeSingleFilter, patternToCodeFilter, patternToIdFilter } from "./filter.mjs";
7
7
  import { formatPackageJson } from "./format-package-json.mjs";
8
8
  import { formatConfig } from "./format.mjs";
9
9
  import { getConfigPath } from "./get-config-path.mjs";
@@ -12,5 +12,5 @@ import { colorBackground, colorText, consoleLog, consoleLogger, createLogFn, cre
12
12
  import { MergeResult, __ΩMergeResult, merge, mergeConfig } from "./merge.mjs";
13
13
  import { isBuiltinModule } from "./modules.mjs";
14
14
  import { replacePathTokens } from "./paths.mjs";
15
- import { VIRTUAL_MODULE_PREFIX, VIRTUAL_MODULE_PREFIX_REGEX, addVirtualPrefix, createVirtualPrefixRegex, isVirtualModule, removeVirtualPrefix } from "./virtual.mjs";
16
- export { CombinePluginsOptions, GetDependencyConfigResult, GetHookHandlerReturnType, MergeResult, VIRTUAL_MODULE_PREFIX, VIRTUAL_MODULE_PREFIX_REGEX, __ΩCombinePluginsOptions, __ΩGetDependencyConfigResult, __ΩGetHookHandlerReturnType, __ΩMergeResult, addPluginHook, addVirtualPrefix, colorBackground, colorText, combinePluginOptions, combinePlugins, consoleLog, consoleLogger, createCodeFilter, createFilter, createFilterForId, createFilterForTransform, createIdFilter, createLogFn, createLogger, createVirtualPrefixRegex, dedupeHooklist, extend, extendLogFn, extendLogger, extractPluginHook, findInvalidPluginConfig, formatConfig, formatPackageJson, getConfigPath, getDependencyConfig, getDocsOutputPath, getHookHandler, getOrganizationName, getPackageJsonOrganization, getTextColor, getWorkspaceName, isBuiltinModule, isDuplicate, isPlugin, isPluginConfig, isPluginConfigObject, isPluginConfigTuple, isPluginHook, isPluginHookField, isPluginHookFunction, isPluginHookObject, isUnpluginHookField, isUnpluginHookKey, isValidLogLevel, isValidLogLevelConfig, isVerbose, isVirtualModule, merge, mergeConfig, normalizeFilter, patternToCodeFilter, patternToIdFilter, removeVirtualPrefix, replacePathTokens, resolveLogLevel, withCustomLogger, withLogFn, withLogger };
15
+ import { PrefixRegexOptions, VIRTUAL_MODULE_PREFIX, VIRTUAL_MODULE_PREFIX_REGEX, __ΩPrefixRegexOptions, addVirtualPrefix, createVirtualPrefixRegex, isVirtualModule, prefixRegex, removeVirtualPrefix } from "./virtual.mjs";
16
+ export { CombinePluginsOptions, GetDependencyConfigResult, GetHookHandlerReturnType, MergeResult, PrefixRegexOptions, VIRTUAL_MODULE_PREFIX, VIRTUAL_MODULE_PREFIX_REGEX, __ΩCombinePluginsOptions, __ΩGetDependencyConfigResult, __ΩGetHookHandlerReturnType, __ΩMergeResult, __ΩPrefixRegexOptions, addPluginHook, addVirtualPrefix, colorBackground, colorText, combinePluginOptions, combinePlugins, consoleLog, consoleLogger, createCodeFilter, createFilter, createFilterForId, createFilterForTransform, createIdFilter, createLogFn, createLogger, createVirtualPrefixRegex, dedupeHooklist, extend, extendLogFn, extendLogger, extractPluginHook, findInvalidPluginConfig, formatConfig, formatPackageJson, getConfigPath, getDependencyConfig, getDocsOutputPath, getHookHandler, getOrganizationName, getPackageJsonOrganization, getTextColor, getWorkspaceName, isBuiltinModule, isDuplicate, isPlugin, isPluginConfig, isPluginConfigObject, isPluginConfigTuple, isPluginHook, isPluginHookField, isPluginHookFunction, isPluginHookObject, isUnpluginHookField, isUnpluginHookKey, isValidLogLevel, isValidLogLevelConfig, isVerbose, isVirtualModule, merge, mergeConfig, normalizeFilter, normalizeSingleFilter, patternToCodeFilter, patternToIdFilter, prefixRegex, removeVirtualPrefix, replacePathTokens, resolveLogLevel, withCustomLogger, withLogFn, withLogger };
@@ -6,12 +6,12 @@ import { combinePluginOptions, combinePlugins } from "./combine-plugins.mjs";
6
6
  import { getOrganizationName, getPackageJsonOrganization, getWorkspaceName } from "./context-helpers.mjs";
7
7
  import { getDocsOutputPath } from "./docs-helper.mjs";
8
8
  import { extend } from "./extend.mjs";
9
- import { createCodeFilter, createFilter, createFilterForId, createFilterForTransform, createIdFilter, normalizeFilter, patternToCodeFilter, patternToIdFilter } from "./filter.mjs";
9
+ import { VIRTUAL_MODULE_PREFIX, VIRTUAL_MODULE_PREFIX_REGEX, addVirtualPrefix, createVirtualPrefixRegex, isVirtualModule, prefixRegex, removeVirtualPrefix } from "./virtual.mjs";
10
+ import { createCodeFilter, createFilter, createFilterForId, createFilterForTransform, createIdFilter, normalizeFilter, normalizeSingleFilter, patternToCodeFilter, patternToIdFilter } from "./filter.mjs";
10
11
  import { formatConfig } from "./format.mjs";
11
12
  import { formatPackageJson } from "./format-package-json.mjs";
12
13
  import { getConfigPath } from "./get-config-path.mjs";
13
14
  import { colorBackground, colorText, consoleLog, consoleLogger, createLogFn, createLogger, extendLogFn, extendLogger, getTextColor, isValidLogLevel, isValidLogLevelConfig, isVerbose, resolveLogLevel, withCustomLogger, withLogFn, withLogger } from "./logging.mjs";
14
15
  import { isBuiltinModule } from "./modules.mjs";
15
- import { VIRTUAL_MODULE_PREFIX, VIRTUAL_MODULE_PREFIX_REGEX, addVirtualPrefix, createVirtualPrefixRegex, isVirtualModule, removeVirtualPrefix } from "./virtual.mjs";
16
16
 
17
- export { VIRTUAL_MODULE_PREFIX, VIRTUAL_MODULE_PREFIX_REGEX, addPluginHook, addVirtualPrefix, colorBackground, colorText, combinePluginOptions, combinePlugins, consoleLog, consoleLogger, createCodeFilter, createFilter, createFilterForId, createFilterForTransform, createIdFilter, createLogFn, createLogger, createVirtualPrefixRegex, dedupeHooklist, extend, extendLogFn, extendLogger, extractPluginHook, findInvalidPluginConfig, formatConfig, formatPackageJson, getConfigPath, getDependencyConfig, getDocsOutputPath, getHookHandler, getOrganizationName, getPackageJsonOrganization, getTextColor, getWorkspaceName, isBuiltinModule, isDuplicate, isPlugin, isPluginConfig, isPluginConfigObject, isPluginConfigTuple, isPluginHook, isPluginHookField, isPluginHookFunction, isPluginHookObject, isUnpluginHookField, isUnpluginHookKey, isValidLogLevel, isValidLogLevelConfig, isVerbose, isVirtualModule, merge, mergeConfig, normalizeFilter, patternToCodeFilter, patternToIdFilter, removeVirtualPrefix, replacePathTokens, resolveLogLevel, withCustomLogger, withLogFn, withLogger };
17
+ export { VIRTUAL_MODULE_PREFIX, VIRTUAL_MODULE_PREFIX_REGEX, addPluginHook, addVirtualPrefix, colorBackground, colorText, combinePluginOptions, combinePlugins, consoleLog, consoleLogger, createCodeFilter, createFilter, createFilterForId, createFilterForTransform, createIdFilter, createLogFn, createLogger, createVirtualPrefixRegex, dedupeHooklist, extend, extendLogFn, extendLogger, extractPluginHook, findInvalidPluginConfig, formatConfig, formatPackageJson, getConfigPath, getDependencyConfig, getDocsOutputPath, getHookHandler, getOrganizationName, getPackageJsonOrganization, getTextColor, getWorkspaceName, isBuiltinModule, isDuplicate, isPlugin, isPluginConfig, isPluginConfigObject, isPluginConfigTuple, isPluginHook, isPluginHookField, isPluginHookFunction, isPluginHookObject, isUnpluginHookField, isUnpluginHookKey, isValidLogLevel, isValidLogLevelConfig, isVerbose, isVirtualModule, merge, mergeConfig, normalizeFilter, normalizeSingleFilter, patternToCodeFilter, patternToIdFilter, prefixRegex, removeVirtualPrefix, replacePathTokens, resolveLogLevel, withCustomLogger, withLogFn, withLogger };
@@ -1,10 +1,35 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
3
- let _rolldown_pluginutils = require("@rolldown/pluginutils");
4
2
 
5
3
  //#region src/plugin-utils/virtual.ts
4
+ const ESCAPE_REGEX = /[-/\\^$*+?.()|[\]{}]/g;
5
+ function escapeRegex(str) {
6
+ return str.replace(ESCAPE_REGEX, "\\$&");
7
+ }
6
8
  const VIRTUAL_MODULE_PREFIX = "\0";
7
- const VIRTUAL_MODULE_PREFIX_REGEX = (0, _rolldown_pluginutils.prefixRegex)("\0");
9
+ const VIRTUAL_MODULE_PREFIX_REGEX = prefixRegex("\0");
10
+ /**
11
+ * Constructs a RegExp that matches a value that has the specified prefix. This is useful for plugin hook filters.
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * import { prefixRegex } from '@rolldown/pluginutils';
16
+ * const plugin = {
17
+ * name: 'plugin',
18
+ * resolveId: {
19
+ * filter: { id: prefixRegex('foo') },
20
+ * handler(id) {} // will only be called for IDs starting with `foo`
21
+ * }
22
+ * }
23
+ * ```
24
+ *
25
+ * @param str - the string to match.
26
+ * @param options - options for the RegExp.
27
+ * @return a RegExp that matches the specified string with the specified prefix.
28
+ */
29
+ function prefixRegex(str, options = {}) {
30
+ const { flags, prefix, isPrefixOptional = false } = options;
31
+ return new RegExp(`^${prefix ? isPrefixOptional ? `(${escapeRegex(prefix)})?` : `${escapeRegex(prefix)}` : ""}${escapeRegex(str)}`, flags);
32
+ }
8
33
  /**
9
34
  * Adds the virtual module prefix to the given ID.
10
35
  *
@@ -39,7 +64,10 @@ function isVirtualModule(id) {
39
64
  * @returns A regular expression that matches the given ID with the virtual module prefix.
40
65
  */
41
66
  function createVirtualPrefixRegex(id) {
42
- return (0, _rolldown_pluginutils.prefixRegex)(addVirtualPrefix(removeVirtualPrefix(id)));
67
+ return prefixRegex(removeVirtualPrefix(id), {
68
+ prefix: "\0",
69
+ isPrefixOptional: true
70
+ });
43
71
  }
44
72
 
45
73
  //#endregion
@@ -48,4 +76,5 @@ exports.VIRTUAL_MODULE_PREFIX_REGEX = VIRTUAL_MODULE_PREFIX_REGEX;
48
76
  exports.addVirtualPrefix = addVirtualPrefix;
49
77
  exports.createVirtualPrefixRegex = createVirtualPrefixRegex;
50
78
  exports.isVirtualModule = isVirtualModule;
79
+ exports.prefixRegex = prefixRegex;
51
80
  exports.removeVirtualPrefix = removeVirtualPrefix;
@@ -1,6 +1,40 @@
1
1
  //#region src/plugin-utils/virtual.d.ts
2
2
  declare const VIRTUAL_MODULE_PREFIX = "\0";
3
3
  declare const VIRTUAL_MODULE_PREFIX_REGEX: RegExp;
4
+ interface PrefixRegexOptions {
5
+ /**
6
+ * Flags for the RegExp.
7
+ */
8
+ flags?: string;
9
+ /**
10
+ * The prefix to match. This will be escaped and used as the prefix in the generated RegExp.
11
+ */
12
+ prefix?: string;
13
+ /**
14
+ * Whether the prefix is optional. If true, the generated RegExp will match both strings that start with the prefix and strings that do not start with the prefix. Default is false.
15
+ */
16
+ isPrefixOptional?: boolean;
17
+ }
18
+ /**
19
+ * Constructs a RegExp that matches a value that has the specified prefix. This is useful for plugin hook filters.
20
+ *
21
+ * @example
22
+ * ```ts
23
+ * import { prefixRegex } from '@rolldown/pluginutils';
24
+ * const plugin = {
25
+ * name: 'plugin',
26
+ * resolveId: {
27
+ * filter: { id: prefixRegex('foo') },
28
+ * handler(id) {} // will only be called for IDs starting with `foo`
29
+ * }
30
+ * }
31
+ * ```
32
+ *
33
+ * @param str - the string to match.
34
+ * @param options - options for the RegExp.
35
+ * @return a RegExp that matches the specified string with the specified prefix.
36
+ */
37
+ declare function prefixRegex(str: string, options?: PrefixRegexOptions): RegExp;
4
38
  /**
5
39
  * Adds the virtual module prefix to the given ID.
6
40
  *
@@ -29,6 +63,7 @@ declare function isVirtualModule(id: string): boolean;
29
63
  * @returns A regular expression that matches the given ID with the virtual module prefix.
30
64
  */
31
65
  declare function createVirtualPrefixRegex(id: string): RegExp;
66
+ declare type __ΩPrefixRegexOptions = any[];
32
67
  //#endregion
33
- export { VIRTUAL_MODULE_PREFIX, VIRTUAL_MODULE_PREFIX_REGEX, addVirtualPrefix, createVirtualPrefixRegex, isVirtualModule, removeVirtualPrefix };
68
+ export { PrefixRegexOptions, VIRTUAL_MODULE_PREFIX, VIRTUAL_MODULE_PREFIX_REGEX, __ΩPrefixRegexOptions, addVirtualPrefix, createVirtualPrefixRegex, isVirtualModule, prefixRegex, removeVirtualPrefix };
34
69
  //# sourceMappingURL=virtual.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"virtual.d.cts","names":[],"sources":["../../src/plugin-utils/virtual.ts"],"mappings":";cAoBa,qBAAA;AAAA,cACA,2BAAA,EAA2B,MAAA;;;;;AAAxC;;iBAQgB,gBAAA,CAAiB,EAAA;;;AAAjC;;;;iBAUgB,mBAAA,CAAoB,EAAA;AAApC;;;;;AAUA;AAVA,iBAUgB,eAAA,CAAgB,EAAA;;;;AAUhC;;;iBAAgB,wBAAA,CAAyB,EAAA,WAAa,MAAA"}
1
+ {"version":3,"file":"virtual.d.cts","names":[],"sources":["../../src/plugin-utils/virtual.ts"],"mappings":";cAuBa,qBAAA;AAAA,cACA,2BAAA,EAA2B,MAAA;AAAA,UAEvB,kBAAA;;;;EAIf,KAAA;EAN0D;;;EAW1D,MAAA;EATe;;;EAcf,gBAAA;AAAA;;;;;AAsBF;;;;;;;;;;AAwBA;;;;;iBAxBgB,WAAA,CACd,GAAA,UACA,OAAA,GAAS,kBAAA,GACR,MAAA;;;;;AAyCH;;iBApBgB,gBAAA,CAAiB,EAAA;;;AA8BjC;;;;iBApBgB,mBAAA,CAAoB,EAAA;;;;;;;iBAUpB,eAAA,CAAgB,EAAA;;;;;;;iBAUhB,wBAAA,CAAyB,EAAA,WAAa,MAAA;AAAA"}
@@ -1,6 +1,40 @@
1
1
  //#region src/plugin-utils/virtual.d.ts
2
2
  declare const VIRTUAL_MODULE_PREFIX = "\0";
3
3
  declare const VIRTUAL_MODULE_PREFIX_REGEX: RegExp;
4
+ interface PrefixRegexOptions {
5
+ /**
6
+ * Flags for the RegExp.
7
+ */
8
+ flags?: string;
9
+ /**
10
+ * The prefix to match. This will be escaped and used as the prefix in the generated RegExp.
11
+ */
12
+ prefix?: string;
13
+ /**
14
+ * Whether the prefix is optional. If true, the generated RegExp will match both strings that start with the prefix and strings that do not start with the prefix. Default is false.
15
+ */
16
+ isPrefixOptional?: boolean;
17
+ }
18
+ /**
19
+ * Constructs a RegExp that matches a value that has the specified prefix. This is useful for plugin hook filters.
20
+ *
21
+ * @example
22
+ * ```ts
23
+ * import { prefixRegex } from '@rolldown/pluginutils';
24
+ * const plugin = {
25
+ * name: 'plugin',
26
+ * resolveId: {
27
+ * filter: { id: prefixRegex('foo') },
28
+ * handler(id) {} // will only be called for IDs starting with `foo`
29
+ * }
30
+ * }
31
+ * ```
32
+ *
33
+ * @param str - the string to match.
34
+ * @param options - options for the RegExp.
35
+ * @return a RegExp that matches the specified string with the specified prefix.
36
+ */
37
+ declare function prefixRegex(str: string, options?: PrefixRegexOptions): RegExp;
4
38
  /**
5
39
  * Adds the virtual module prefix to the given ID.
6
40
  *
@@ -29,6 +63,7 @@ declare function isVirtualModule(id: string): boolean;
29
63
  * @returns A regular expression that matches the given ID with the virtual module prefix.
30
64
  */
31
65
  declare function createVirtualPrefixRegex(id: string): RegExp;
66
+ declare type __ΩPrefixRegexOptions = any[];
32
67
  //#endregion
33
- export { VIRTUAL_MODULE_PREFIX, VIRTUAL_MODULE_PREFIX_REGEX, addVirtualPrefix, createVirtualPrefixRegex, isVirtualModule, removeVirtualPrefix };
68
+ export { PrefixRegexOptions, VIRTUAL_MODULE_PREFIX, VIRTUAL_MODULE_PREFIX_REGEX, __ΩPrefixRegexOptions, addVirtualPrefix, createVirtualPrefixRegex, isVirtualModule, prefixRegex, removeVirtualPrefix };
34
69
  //# sourceMappingURL=virtual.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"virtual.d.mts","names":[],"sources":["../../src/plugin-utils/virtual.ts"],"mappings":";cAoBa,qBAAA;AAAA,cACA,2BAAA,EAA2B,MAAA;;;;;AAAxC;;iBAQgB,gBAAA,CAAiB,EAAA;;;AAAjC;;;;iBAUgB,mBAAA,CAAoB,EAAA;AAApC;;;;;AAUA;AAVA,iBAUgB,eAAA,CAAgB,EAAA;;;;AAUhC;;;iBAAgB,wBAAA,CAAyB,EAAA,WAAa,MAAA"}
1
+ {"version":3,"file":"virtual.d.mts","names":[],"sources":["../../src/plugin-utils/virtual.ts"],"mappings":";cAuBa,qBAAA;AAAA,cACA,2BAAA,EAA2B,MAAA;AAAA,UAEvB,kBAAA;;;;EAIf,KAAA;EAN0D;;;EAW1D,MAAA;EATe;;;EAcf,gBAAA;AAAA;;;;;AAsBF;;;;;;;;;;AAwBA;;;;;iBAxBgB,WAAA,CACd,GAAA,UACA,OAAA,GAAS,kBAAA,GACR,MAAA;;;;;AAyCH;;iBApBgB,gBAAA,CAAiB,EAAA;;;AA8BjC;;;;iBApBgB,mBAAA,CAAoB,EAAA;;;;;;;iBAUpB,eAAA,CAAgB,EAAA;;;;;;;iBAUhB,wBAAA,CAAyB,EAAA,WAAa,MAAA;AAAA"}
@@ -1,9 +1,34 @@
1
- import { prefixRegex } from "@rolldown/pluginutils";
2
-
3
1
  //#region src/plugin-utils/virtual.ts
2
+ const ESCAPE_REGEX = /[-/\\^$*+?.()|[\]{}]/g;
3
+ function escapeRegex(str) {
4
+ return str.replace(ESCAPE_REGEX, "\\$&");
5
+ }
4
6
  const VIRTUAL_MODULE_PREFIX = "\0";
5
7
  const VIRTUAL_MODULE_PREFIX_REGEX = prefixRegex("\0");
6
8
  /**
9
+ * Constructs a RegExp that matches a value that has the specified prefix. This is useful for plugin hook filters.
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * import { prefixRegex } from '@rolldown/pluginutils';
14
+ * const plugin = {
15
+ * name: 'plugin',
16
+ * resolveId: {
17
+ * filter: { id: prefixRegex('foo') },
18
+ * handler(id) {} // will only be called for IDs starting with `foo`
19
+ * }
20
+ * }
21
+ * ```
22
+ *
23
+ * @param str - the string to match.
24
+ * @param options - options for the RegExp.
25
+ * @return a RegExp that matches the specified string with the specified prefix.
26
+ */
27
+ function prefixRegex(str, options = {}) {
28
+ const { flags, prefix, isPrefixOptional = false } = options;
29
+ return new RegExp(`^${prefix ? isPrefixOptional ? `(${escapeRegex(prefix)})?` : `${escapeRegex(prefix)}` : ""}${escapeRegex(str)}`, flags);
30
+ }
31
+ /**
7
32
  * Adds the virtual module prefix to the given ID.
8
33
  *
9
34
  * @param id - The ID to add the virtual module prefix to.
@@ -37,9 +62,12 @@ function isVirtualModule(id) {
37
62
  * @returns A regular expression that matches the given ID with the virtual module prefix.
38
63
  */
39
64
  function createVirtualPrefixRegex(id) {
40
- return prefixRegex(addVirtualPrefix(removeVirtualPrefix(id)));
65
+ return prefixRegex(removeVirtualPrefix(id), {
66
+ prefix: "\0",
67
+ isPrefixOptional: true
68
+ });
41
69
  }
42
70
 
43
71
  //#endregion
44
- export { VIRTUAL_MODULE_PREFIX, VIRTUAL_MODULE_PREFIX_REGEX, addVirtualPrefix, createVirtualPrefixRegex, isVirtualModule, removeVirtualPrefix };
72
+ export { VIRTUAL_MODULE_PREFIX, VIRTUAL_MODULE_PREFIX_REGEX, addVirtualPrefix, createVirtualPrefixRegex, isVirtualModule, prefixRegex, removeVirtualPrefix };
45
73
  //# sourceMappingURL=virtual.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"virtual.mjs","names":[],"sources":["../../src/plugin-utils/virtual.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { prefixRegex } from \"@rolldown/pluginutils\";\n\nexport const VIRTUAL_MODULE_PREFIX = \"\\0\";\nexport const VIRTUAL_MODULE_PREFIX_REGEX = prefixRegex(\"\\0\");\n\n/**\n * Adds the virtual module prefix to the given ID.\n *\n * @param id - The ID to add the virtual module prefix to.\n * @returns The ID with the virtual module prefix added.\n */\nexport function addVirtualPrefix(id: string): string {\n return `${VIRTUAL_MODULE_PREFIX}${id}`;\n}\n\n/**\n * Removes the virtual module prefix from the given ID, if it exists.\n *\n * @param id - The ID to remove the virtual module prefix from.\n * @returns The ID without the virtual module prefix.\n */\nexport function removeVirtualPrefix(id: string): string {\n return id.replace(VIRTUAL_MODULE_PREFIX_REGEX, \"\");\n}\n\n/**\n * Checks if the given ID is a virtual module by checking if it starts with the virtual module prefix.\n *\n * @param id - The ID to check.\n * @returns True if the ID is a virtual module, false otherwise.\n */\nexport function isVirtualModule(id: string): boolean {\n return id.startsWith(VIRTUAL_MODULE_PREFIX);\n}\n\n/**\n * Creates a regular expression that matches the given ID with the virtual module prefix.\n *\n * @param id - The ID to create a regular expression for.\n * @returns A regular expression that matches the given ID with the virtual module prefix.\n */\nexport function createVirtualPrefixRegex(id: string): RegExp {\n return prefixRegex(addVirtualPrefix(removeVirtualPrefix(id)));\n}\n"],"mappings":";;;AAoBA,MAAa,wBAAwB;AACrC,MAAa,8BAA8B,YAAY,KAAK;;;;;;;AAQ5D,SAAgB,iBAAiB,IAAoB;AACnD,QAAO,UAA2B;;;;;;;;AASpC,SAAgB,oBAAoB,IAAoB;AACtD,QAAO,GAAG,QAAQ,6BAA6B,GAAG;;;;;;;;AASpD,SAAgB,gBAAgB,IAAqB;AACnD,QAAO,GAAG,gBAAiC;;;;;;;;AAS7C,SAAgB,yBAAyB,IAAoB;AAC3D,QAAO,YAAY,iBAAiB,oBAAoB,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"virtual.mjs","names":[],"sources":["../../src/plugin-utils/virtual.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nconst ESCAPE_REGEX = /[-/\\\\^$*+?.()|[\\]{}]/g;\nfunction escapeRegex(str: string): string {\n return str.replace(ESCAPE_REGEX, \"\\\\$&\");\n}\n\nexport const VIRTUAL_MODULE_PREFIX = \"\\0\";\nexport const VIRTUAL_MODULE_PREFIX_REGEX = prefixRegex(\"\\0\");\n\nexport interface PrefixRegexOptions {\n /**\n * Flags for the RegExp.\n */\n flags?: string;\n\n /**\n * The prefix to match. This will be escaped and used as the prefix in the generated RegExp.\n */\n prefix?: string;\n\n /**\n * Whether the prefix is optional. If true, the generated RegExp will match both strings that start with the prefix and strings that do not start with the prefix. Default is false.\n */\n isPrefixOptional?: boolean;\n}\n\n/**\n * Constructs a RegExp that matches a value that has the specified prefix. This is useful for plugin hook filters.\n *\n * @example\n * ```ts\n * import { prefixRegex } from '@rolldown/pluginutils';\n * const plugin = {\n * name: 'plugin',\n * resolveId: {\n * filter: { id: prefixRegex('foo') },\n * handler(id) {} // will only be called for IDs starting with `foo`\n * }\n * }\n * ```\n *\n * @param str - the string to match.\n * @param options - options for the RegExp.\n * @return a RegExp that matches the specified string with the specified prefix.\n */\nexport function prefixRegex(\n str: string,\n options: PrefixRegexOptions = {}\n): RegExp {\n const { flags, prefix, isPrefixOptional = false } = options;\n\n return new RegExp(\n `^${\n prefix\n ? isPrefixOptional\n ? `(${escapeRegex(prefix)})?`\n : `${escapeRegex(prefix)}`\n : \"\"\n }${escapeRegex(str)}`,\n flags\n );\n}\n\n/**\n * Adds the virtual module prefix to the given ID.\n *\n * @param id - The ID to add the virtual module prefix to.\n * @returns The ID with the virtual module prefix added.\n */\nexport function addVirtualPrefix(id: string): string {\n return `${VIRTUAL_MODULE_PREFIX}${id}`;\n}\n\n/**\n * Removes the virtual module prefix from the given ID, if it exists.\n *\n * @param id - The ID to remove the virtual module prefix from.\n * @returns The ID without the virtual module prefix.\n */\nexport function removeVirtualPrefix(id: string): string {\n return id.replace(VIRTUAL_MODULE_PREFIX_REGEX, \"\");\n}\n\n/**\n * Checks if the given ID is a virtual module by checking if it starts with the virtual module prefix.\n *\n * @param id - The ID to check.\n * @returns True if the ID is a virtual module, false otherwise.\n */\nexport function isVirtualModule(id: string): boolean {\n return id.startsWith(VIRTUAL_MODULE_PREFIX);\n}\n\n/**\n * Creates a regular expression that matches the given ID with the virtual module prefix.\n *\n * @param id - The ID to create a regular expression for.\n * @returns A regular expression that matches the given ID with the virtual module prefix.\n */\nexport function createVirtualPrefixRegex(id: string): RegExp {\n return prefixRegex(removeVirtualPrefix(id), {\n prefix: VIRTUAL_MODULE_PREFIX,\n isPrefixOptional: true\n });\n}\n"],"mappings":";AAkBA,MAAM,eAAe;AACrB,SAAS,YAAY,KAAqB;AACxC,QAAO,IAAI,QAAQ,cAAc,OAAO;;AAG1C,MAAa,wBAAwB;AACrC,MAAa,8BAA8B,YAAY,KAAK;;;;;;;;;;;;;;;;;;;;AAsC5D,SAAgB,YACd,KACA,UAA8B,EAAE,EACxB;CACR,MAAM,EAAE,OAAO,QAAQ,mBAAmB,UAAU;AAEpD,QAAO,IAAI,OACT,IACE,SACI,mBACE,IAAI,YAAY,OAAO,CAAC,MACxB,GAAG,YAAY,OAAO,KACxB,KACH,YAAY,IAAI,IACnB,MACD;;;;;;;;AASH,SAAgB,iBAAiB,IAAoB;AACnD,QAAO,UAA2B;;;;;;;;AASpC,SAAgB,oBAAoB,IAAoB;AACtD,QAAO,GAAG,QAAQ,6BAA6B,GAAG;;;;;;;;AASpD,SAAgB,gBAAgB,IAAqB;AACnD,QAAO,GAAG,gBAAiC;;;;;;;;AAS7C,SAAgB,yBAAyB,IAAoB;AAC3D,QAAO,YAAY,oBAAoB,GAAG,EAAE;EAC1C;EACA,kBAAkB;EACnB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@powerlines/core",
3
- "version": "0.47.0",
3
+ "version": "0.47.2",
4
4
  "private": false,
5
5
  "description": "An internal core package for Powerlines - please use the `powerlines` package for public usage.",
6
6
  "homepage": "https://stormsoftware.com",
@@ -242,5 +242,5 @@
242
242
  "typescript": "^6.0.3"
243
243
  },
244
244
  "publishConfig": { "access": "public" },
245
- "gitHead": "3ffdf81ad60da786acd42f9b750df6c7837f8003"
245
+ "gitHead": "76fde74fd0b494596135ace273dd0d0072b7b8be"
246
246
  }