presetter 5.0.0 → 6.0.0

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.
Files changed (130) hide show
  1. package/lib/executable/entry.d.ts.map +1 -1
  2. package/lib/executable/entry.js +4 -43
  3. package/lib/executable/error.d.ts.map +1 -1
  4. package/lib/executable/error.js +1 -15
  5. package/lib/executable/index.js +1 -15
  6. package/lib/index.d.ts +4 -5
  7. package/lib/index.d.ts.map +1 -1
  8. package/lib/index.js +5 -20
  9. package/lib/io.d.ts +8 -42
  10. package/lib/io.d.ts.map +1 -1
  11. package/lib/io.js +24 -156
  12. package/lib/package.d.ts +2 -2
  13. package/lib/package.d.ts.map +1 -1
  14. package/lib/package.js +3 -17
  15. package/lib/preset/bootstrap.d.ts +5 -0
  16. package/lib/preset/bootstrap.d.ts.map +1 -0
  17. package/lib/preset/bootstrap.js +32 -0
  18. package/lib/preset/config/index.d.ts +3 -0
  19. package/lib/preset/config/index.d.ts.map +1 -0
  20. package/lib/preset/config/index.js +4 -0
  21. package/lib/preset/config/resolve.d.ts +8 -0
  22. package/lib/preset/config/resolve.d.ts.map +1 -0
  23. package/lib/preset/config/resolve.js +25 -0
  24. package/lib/preset/config/search.d.ts +7 -0
  25. package/lib/preset/config/search.d.ts.map +1 -0
  26. package/lib/preset/config/search.js +25 -0
  27. package/lib/preset/context.d.ts +2 -1
  28. package/lib/preset/context.d.ts.map +1 -1
  29. package/lib/preset/context.js +5 -24
  30. package/lib/preset/index.d.ts +5 -2
  31. package/lib/preset/index.d.ts.map +1 -1
  32. package/lib/preset/index.js +6 -18
  33. package/lib/preset/project.d.ts +8 -0
  34. package/lib/preset/project.d.ts.map +1 -0
  35. package/lib/preset/project.js +28 -0
  36. package/lib/preset/resolution/asset.d.ts +31 -0
  37. package/lib/preset/resolution/asset.d.ts.map +1 -0
  38. package/lib/preset/resolution/asset.js +78 -0
  39. package/lib/preset/resolution/content.d.ts +37 -0
  40. package/lib/preset/resolution/content.d.ts.map +1 -0
  41. package/lib/preset/resolution/content.js +55 -0
  42. package/lib/preset/resolution/debugger.d.ts +3 -0
  43. package/lib/preset/resolution/debugger.d.ts.map +1 -0
  44. package/lib/preset/resolution/debugger.js +3 -0
  45. package/lib/preset/resolution/index.d.ts +6 -0
  46. package/lib/preset/resolution/index.d.ts.map +1 -0
  47. package/lib/preset/resolution/index.js +7 -0
  48. package/lib/preset/resolution/object.d.ts +9 -0
  49. package/lib/preset/resolution/object.d.ts.map +1 -0
  50. package/lib/preset/resolution/object.js +10 -0
  51. package/lib/preset/resolution/preset.d.ts +9 -0
  52. package/lib/preset/resolution/preset.d.ts.map +1 -0
  53. package/lib/preset/resolution/preset.js +17 -0
  54. package/lib/preset/resolution/script.d.ts +9 -0
  55. package/lib/preset/resolution/script.d.ts.map +1 -0
  56. package/lib/preset/resolution/script.js +39 -0
  57. package/lib/preset/resolution/variable.d.ts +9 -0
  58. package/lib/preset/resolution/variable.d.ts.map +1 -0
  59. package/lib/preset/resolution/variable.js +33 -0
  60. package/lib/preset/scripts.d.ts.map +1 -1
  61. package/lib/preset/scripts.js +5 -22
  62. package/lib/resolve.d.ts +7 -0
  63. package/lib/resolve.d.ts.map +1 -0
  64. package/lib/resolve.js +27 -0
  65. package/lib/run.d.ts.map +1 -1
  66. package/lib/run.js +4 -19
  67. package/lib/scripts.d.ts.map +1 -1
  68. package/lib/scripts.js +3 -18
  69. package/lib/serialization.d.ts +15 -0
  70. package/lib/serialization.d.ts.map +1 -0
  71. package/lib/serialization.js +48 -0
  72. package/lib/task.d.ts.map +1 -1
  73. package/lib/task.js +1 -16
  74. package/lib/template/index.d.ts +3 -0
  75. package/lib/template/index.d.ts.map +1 -0
  76. package/lib/template/index.js +4 -0
  77. package/lib/template/merge.d.ts +33 -0
  78. package/lib/template/merge.d.ts.map +1 -0
  79. package/lib/template/merge.js +84 -0
  80. package/lib/template/substitute.d.ts +11 -0
  81. package/lib/template/substitute.d.ts.map +1 -0
  82. package/lib/template/substitute.js +19 -0
  83. package/lib/utilities/display.d.ts +15 -0
  84. package/lib/utilities/display.d.ts.map +1 -0
  85. package/lib/utilities/display.js +51 -0
  86. package/lib/utilities/index.d.ts +3 -1
  87. package/lib/utilities/index.d.ts.map +1 -1
  88. package/lib/utilities/index.js +4 -16
  89. package/lib/utilities/{mapValues.d.ts → mapping.d.ts} +1 -1
  90. package/lib/utilities/mapping.d.ts.map +1 -0
  91. package/lib/utilities/mapping.js +10 -0
  92. package/lib/utilities/object.d.ts +20 -0
  93. package/lib/utilities/object.d.ts.map +1 -0
  94. package/lib/utilities/object.js +37 -0
  95. package/package.json +10 -7
  96. package/lib/content.d.ts +0 -123
  97. package/lib/content.d.ts.map +0 -1
  98. package/lib/content.js +0 -244
  99. package/lib/directive.d.ts +0 -34
  100. package/lib/directive.d.ts.map +0 -1
  101. package/lib/directive.js +0 -172
  102. package/lib/error.d.ts +0 -8
  103. package/lib/error.d.ts.map +0 -1
  104. package/lib/error.js +0 -32
  105. package/lib/preset/content.d.ts +0 -14
  106. package/lib/preset/content.d.ts.map +0 -1
  107. package/lib/preset/content.js +0 -32
  108. package/lib/preset/graph.d.ts +0 -22
  109. package/lib/preset/graph.d.ts.map +0 -1
  110. package/lib/preset/graph.js +0 -53
  111. package/lib/preset/mapping.d.ts +0 -9
  112. package/lib/preset/mapping.d.ts.map +0 -1
  113. package/lib/preset/mapping.js +0 -41
  114. package/lib/preset/presetterRC.d.ts +0 -25
  115. package/lib/preset/presetterRC.d.ts.map +0 -1
  116. package/lib/preset/presetterRC.js +0 -76
  117. package/lib/preset/setup.d.ts +0 -17
  118. package/lib/preset/setup.d.ts.map +0 -1
  119. package/lib/preset/setup.js +0 -80
  120. package/lib/preset/unset.d.ts +0 -5
  121. package/lib/preset/unset.d.ts.map +0 -1
  122. package/lib/preset/unset.js +0 -31
  123. package/lib/resolution.d.ts +0 -22
  124. package/lib/resolution.d.ts.map +0 -1
  125. package/lib/resolution.js +0 -61
  126. package/lib/template.d.ts +0 -64
  127. package/lib/template.d.ts.map +0 -1
  128. package/lib/template.js +0 -199
  129. package/lib/utilities/mapValues.d.ts.map +0 -1
  130. package/lib/utilities/mapValues.js +0 -24
@@ -0,0 +1,51 @@
1
+ /**
2
+ * displays the content of a variable
3
+ * @param content the content to display
4
+ * @param level the level of nesting
5
+ * @returns a string representation of the content
6
+ */
7
+ export function display(content, level = 0) {
8
+ if (typeof content === 'function') {
9
+ return 'Function';
10
+ }
11
+ else if (Array.isArray(content)) {
12
+ return `Array(${content.length})`;
13
+ }
14
+ else if (content instanceof Buffer) {
15
+ return 'Buffer';
16
+ }
17
+ else if (content === null) {
18
+ return 'null';
19
+ }
20
+ else if (typeof content === 'object') {
21
+ return `Object({${level > 1
22
+ ? '...' // skip displaying nested objects
23
+ : '\n' +
24
+ Object.keys(content)
25
+ .map((key) =>
26
+ // indent the content based on the level
27
+ ' '.repeat(level + 1) +
28
+ `${key}: ` +
29
+ display(content[key], level + 1))
30
+ .join('\n') +
31
+ '\n' +
32
+ ' '.repeat(level)}})`;
33
+ }
34
+ return typeof content;
35
+ }
36
+ /**
37
+ * displays the content of a variable with a prefix
38
+ * @param prefix the prefix to add to the display
39
+ * @param content the content to display
40
+ * @returns a string representation of the content with the prefix
41
+ */
42
+ export function prefixDisplay(prefix, content) {
43
+ const representation = display(content);
44
+ const indent = ' '.repeat(prefix.length);
45
+ return (prefix +
46
+ representation
47
+ .split('\n')
48
+ .join('\n' + indent)
49
+ .trim());
50
+ }
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGxheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NvdXJjZS91dGlsaXRpZXMvZGlzcGxheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxPQUFPLENBQUMsT0FBZ0IsRUFBRSxLQUFLLEdBQUcsQ0FBQztJQUNqRCxJQUFJLE9BQU8sT0FBTyxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7U0FBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNsQyxPQUFPLFNBQVMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDO0lBQ3BDLENBQUM7U0FBTSxJQUFJLE9BQU8sWUFBWSxNQUFNLEVBQUUsQ0FBQztRQUNyQyxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO1NBQU0sSUFBSSxPQUFPLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDNUIsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztTQUFNLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDdkMsT0FBTyxXQUNMLEtBQUssR0FBRyxDQUFDO1lBQ1AsQ0FBQyxDQUFDLEtBQUssQ0FBQyxpQ0FBaUM7WUFDekMsQ0FBQyxDQUFDLElBQUk7Z0JBQ0osTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7cUJBQ2pCLEdBQUcsQ0FDRixDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNOLHdDQUF3QztnQkFDeEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO29CQUN0QixHQUFHLEdBQUcsSUFBSTtvQkFDVixPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FDbkM7cUJBQ0EsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDYixJQUFJO2dCQUNKLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUN2QixJQUFJLENBQUM7SUFDUCxDQUFDO0lBRUQsT0FBTyxPQUFPLE9BQU8sQ0FBQztBQUN4QixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsYUFBYSxDQUFDLE1BQWMsRUFBRSxPQUFnQjtJQUM1RCxNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEMsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFekMsT0FBTyxDQUNMLE1BQU07UUFDTixjQUFjO2FBQ1gsS0FBSyxDQUFDLElBQUksQ0FBQzthQUNYLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO2FBQ25CLElBQUksRUFBRSxDQUNWLENBQUM7QUFDSixDQUFDIn0=
@@ -1,2 +1,4 @@
1
- export * from './mapValues.js';
1
+ export * from './display.js';
2
+ export * from './mapping.js';
3
+ export * from './object.js';
2
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../source/utilities/index.ts"],"names":[],"mappings":"AAiBA,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../source/utilities/index.ts"],"names":[],"mappings":"AAEA,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC"}
@@ -1,17 +1,5 @@
1
1
  /* v8 ignore start */
2
- /*
3
- * *** MIT LICENSE ***
4
- * -------------------------------------------------------------------------
5
- * This code may be modified and distributed under the MIT license.
6
- * See the LICENSE file for details.
7
- * -------------------------------------------------------------------------
8
- *
9
- * @summary Collection of utility functions
10
- *
11
- * @author Alvis HT Tang <alvis@hilbert.space>
12
- * @license MIT
13
- * @copyright Copyright (c) 2023 - All Rights Reserved.
14
- * -------------------------------------------------------------------------
15
- */
16
- export * from './mapValues.js';
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zb3VyY2UvdXRpbGl0aWVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHFCQUFxQjtBQUVyQjs7Ozs7Ozs7Ozs7OztHQWFHO0FBRUgsY0FBYyxhQUFhLENBQUMifQ==
2
+ export * from './display.js';
3
+ export * from './mapping.js';
4
+ export * from './object.js';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zb3VyY2UvdXRpbGl0aWVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHFCQUFxQjtBQUVyQixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLFVBQVUsQ0FBQyJ9
@@ -5,4 +5,4 @@
5
5
  * @returns the mapped object
6
6
  */
7
7
  export declare function mapValues<T, U>(obj: Record<string, T>, fn: (value: T) => U): Record<string, U>;
8
- //# sourceMappingURL=mapValues.d.ts.map
8
+ //# sourceMappingURL=mapping.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapping.d.ts","sourceRoot":"","sources":["../../source/utilities/mapping.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAC5B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,EACtB,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAClB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAInB"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * map the values of an object to a new object with the same keys
3
+ * @param obj the object to be mapped
4
+ * @param fn the mapping function
5
+ * @returns the mapped object
6
+ */
7
+ export function mapValues(obj, fn) {
8
+ return Object.fromEntries(Object.entries(obj).map(([key, value]) => [key, fn(value)]));
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwcGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NvdXJjZS91dGlsaXRpZXMvbWFwcGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxTQUFTLENBQ3ZCLEdBQXNCLEVBQ3RCLEVBQW1CO0lBRW5CLE9BQU8sTUFBTSxDQUFDLFdBQVcsQ0FDdkIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDNUQsQ0FBQztBQUNKLENBQUMifQ==
@@ -0,0 +1,20 @@
1
+ import type { JsonObject, JsonValue } from 'type-fest';
2
+ /**
3
+ * indicate whether the supplied value is a JSON object
4
+ * @param subject the subject to be tested
5
+ * @returns true if the subject is a JSON object
6
+ */
7
+ export declare function isJsonObject(subject: unknown): subject is JsonObject;
8
+ /**
9
+ * check if value is JSON compatible
10
+ * @param subject value to be checked
11
+ * @returns true if the value is JSON compatible
12
+ */
13
+ export declare function isJsonCompatible(subject: unknown): subject is JsonValue;
14
+ /**
15
+ * indicates whether the target is a plain object
16
+ * @param subject target to be checked
17
+ * @returns true if the target is a plain object
18
+ */
19
+ export declare function isPlainObject(subject: unknown): subject is Record<string, unknown>;
20
+ //# sourceMappingURL=object.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../source/utilities/object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEvD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,UAAU,CAOpE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,SAAS,CASvE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,OAAO,GACf,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQpC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * indicate whether the supplied value is a JSON object
3
+ * @param subject the subject to be tested
4
+ * @returns true if the subject is a JSON object
5
+ */
6
+ export function isJsonObject(subject) {
7
+ return (typeof subject === 'object' &&
8
+ !Array.isArray(subject) &&
9
+ subject !== null &&
10
+ isJsonCompatible(subject));
11
+ }
12
+ /**
13
+ * check if value is JSON compatible
14
+ * @param subject value to be checked
15
+ * @returns true if the value is JSON compatible
16
+ */
17
+ export function isJsonCompatible(subject) {
18
+ return (typeof subject === 'string' ||
19
+ typeof subject === 'number' ||
20
+ typeof subject === 'boolean' ||
21
+ subject === null ||
22
+ (Array.isArray(subject) && subject.every(isJsonCompatible)) ||
23
+ (isPlainObject(subject) && Object.values(subject).every(isJsonCompatible)));
24
+ }
25
+ /**
26
+ * indicates whether the target is a plain object
27
+ * @param subject target to be checked
28
+ * @returns true if the target is a plain object
29
+ */
30
+ export function isPlainObject(subject) {
31
+ return (!!subject &&
32
+ typeof subject === 'object' &&
33
+ (Object.getPrototypeOf(subject)?.constructor ===
34
+ Object ||
35
+ Object.getPrototypeOf(subject) === null));
36
+ }
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL3V0aWxpdGllcy9vYmplY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxZQUFZLENBQUMsT0FBZ0I7SUFDM0MsT0FBTyxDQUNMLE9BQU8sT0FBTyxLQUFLLFFBQVE7UUFDM0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUN2QixPQUFPLEtBQUssSUFBSTtRQUNoQixnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FDMUIsQ0FBQztBQUNKLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUFDLE9BQWdCO0lBQy9DLE9BQU8sQ0FDTCxPQUFPLE9BQU8sS0FBSyxRQUFRO1FBQzNCLE9BQU8sT0FBTyxLQUFLLFFBQVE7UUFDM0IsT0FBTyxPQUFPLEtBQUssU0FBUztRQUM1QixPQUFPLEtBQUssSUFBSTtRQUNoQixDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzNELENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FDM0UsQ0FBQztBQUNKLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FDM0IsT0FBZ0I7SUFFaEIsT0FBTyxDQUNMLENBQUMsQ0FBQyxPQUFPO1FBQ1QsT0FBTyxPQUFPLEtBQUssUUFBUTtRQUMzQixDQUFFLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFtQixFQUFFLFdBQVc7WUFDN0QsTUFBTTtZQUNOLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQzNDLENBQUM7QUFDSixDQUFDIn0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "presetter",
3
- "version": "5.0.0",
3
+ "version": "6.0.0",
4
4
  "engines": {
5
5
  "node": ">=16.0.0"
6
6
  },
@@ -39,16 +39,19 @@
39
39
  "@types/node": "*",
40
40
  "@types/yargs": "^17.0.0",
41
41
  "type-fest": "^4.23.0",
42
- "presetter-preset-strict": "5.0.0"
42
+ "presetter-preset-esm": "6.0.0",
43
+ "presetter-preset-strict": "6.0.0",
44
+ "presetter-preset-essentials": "6.0.0"
43
45
  },
44
46
  "dependencies": {
45
- "@npmcli/arborist": "^7.5.0",
46
- "@npmcli/config": "^8.3.0",
47
- "@npmcli/run-script": "^8.1.0",
47
+ "@npmcli/arborist": "^8.0.0",
48
+ "@npmcli/config": "^9.0.0",
49
+ "@npmcli/run-script": "^9.0.0",
48
50
  "callsite-record": "^4.1.0",
49
51
  "chalk": "^5.3.0",
50
52
  "debug": "^4.3.5",
51
53
  "execa": "^9.3.0",
54
+ "jiti": "^2.4.0",
52
55
  "js-yaml": "^4.1.0",
53
56
  "listr2": "^8.2.0",
54
57
  "mvdan-sh": "^0.10.0",
@@ -60,10 +63,10 @@
60
63
  "write-pkg": "^7.0.0",
61
64
  "yargs": "^17.0.0",
62
65
  "yargs-parser": "^21.0.0",
63
- "presetter-types": "5.0.0"
66
+ "xception": "^6.0.0",
67
+ "presetter-types": "6.0.0"
64
68
  },
65
69
  "scripts": {
66
- "echo": "echo $npm_package_name",
67
70
  "build": "npm run script -- build",
68
71
  "clean": "npm run script -- clean",
69
72
  "coverage": "npm run script -- coverage --",
package/lib/content.d.ts DELETED
@@ -1,123 +0,0 @@
1
- import type { Config, PresetContext, PresetGraph, PresetNode, PresetterConfig, ResolvedPresetContext, Template } from 'presetter-types';
2
- /**
3
- * enrich the context with the resolved supplementary assets
4
- * @param _ collection of arguments
5
- * @param _.graph preset graph
6
- * @param _.context preset context
7
- * @returns enriched preset context
8
- */
9
- export declare function resolveContext(_: {
10
- graph: PresetGraph;
11
- context: PresetContext;
12
- }): Promise<ResolvedPresetContext>;
13
- /**
14
- * resolve no noSymlinks
15
- * @param _ collection of arguments
16
- * @param _.graph preset graph
17
- * @param _.context preset context
18
- * @returns list of noSymlinks
19
- */
20
- export declare function resolveNoSymlinks(_: {
21
- graph: PresetGraph;
22
- context: ResolvedPresetContext<'variable'>;
23
- }): Promise<string[]>;
24
- /**
25
- * compute the final config map
26
- * @param _ collection of arguments
27
- * @param _.graph preset graph
28
- * @param _.context preset context
29
- * @returns map of config content
30
- */
31
- export declare function resolveSupplementaryConfig(_: {
32
- graph: PresetGraph;
33
- context: ResolvedPresetContext<'variable'>;
34
- }): Promise<Record<string, Config>>;
35
- /**
36
- * compute the supplementary config map from a preset node
37
- * @param _ collection of arguments
38
- * @param _.node preset node
39
- * @param _.context preset context
40
- * @returns map of config content
41
- */
42
- export declare function resolveSupplementaryConfigFromNode(_: {
43
- node: PresetNode;
44
- context: ResolvedPresetContext<'variable'>;
45
- }): Promise<Record<string, Config>>;
46
- /**
47
- * compute script that will be merged with those provided by presets
48
- * @param _ collection of arguments
49
- * @param _.graph preset graph
50
- * @param _.context preset context
51
- * @returns map of config content
52
- */
53
- export declare function resolveSupplementaryScripts(_: {
54
- graph: PresetGraph;
55
- context: ResolvedPresetContext<'variable'>;
56
- }): Promise<Record<string, string>>;
57
- /**
58
- * compute the supplementary config map from a preset node
59
- * @param _ collection of arguments
60
- * @param _.node preset node
61
- * @param _.context preset context
62
- * @returns map of config content
63
- */
64
- export declare function resolveSupplementaryScriptsFromNode(_: {
65
- node: PresetNode;
66
- context: ResolvedPresetContext<'variable'>;
67
- }): Promise<Record<string, string>>;
68
- /**
69
- * combine default variables from presets with custom variables
70
- * @param _ collection of arguments
71
- * @param _.graph preset graph
72
- * @param _.config user config
73
- * @returns combined variables
74
- */
75
- export declare function resolveVariable(_: {
76
- graph: PresetGraph;
77
- config: PresetterConfig;
78
- }): Record<string, string>;
79
- /**
80
- * compute the final script map
81
- * @param _ collection of arguments
82
- * @param _.graph preset graph
83
- * @param _.context preset context
84
- * @returns map of script content
85
- */
86
- export declare function resolveScripts(_: {
87
- graph: PresetGraph;
88
- context: ResolvedPresetContext<'variable'>;
89
- }): Promise<Record<string, string>>;
90
- /**
91
- * compute the final script map from a preset node
92
- * @param _ collection of arguments
93
- * @param _.node preset node
94
- * @param _.context preset context
95
- * @returns map of script content
96
- */
97
- export declare function resolveScriptsFromNode(_: {
98
- node: PresetNode;
99
- context: ResolvedPresetContext<'variable'>;
100
- }): Promise<Record<string, string>>;
101
- /**
102
- * compute the final template content
103
- * @param _ collection of arguments
104
- * @param _.graph preset graph
105
- * @param _.context preset context
106
- * @returns map of template content
107
- */
108
- export declare function resolveTemplate(_: {
109
- graph: PresetGraph;
110
- context: ResolvedPresetContext;
111
- }): Promise<Record<string, Template>>;
112
- /**
113
- * compute the final template content from a preset node
114
- * @param _ collection of arguments
115
- * @param _.node preset node
116
- * @param _.context preset context
117
- * @returns map of template content
118
- */
119
- export declare function resolveTemplateFromNode(_: {
120
- node: PresetNode;
121
- context: ResolvedPresetContext;
122
- }): Promise<Record<string, Template>>;
123
- //# sourceMappingURL=content.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../source/content.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EACV,MAAM,EACN,aAAa,EACb,WAAW,EACX,UAAU,EACV,eAAe,EACf,qBAAqB,EACrB,QAAQ,EACT,MAAM,iBAAiB,CAAC;AAEzB;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,CAAC,EAAE;IACtC,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,aAAa,CAAC;CACxB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CA+BjC;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EAAE;IACzC,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;CAC5C,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAWpB;AA+BD;;;;;;GAMG;AACH,wBAAsB,0BAA0B,CAAC,CAAC,EAAE;IAClD,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;CAC5C,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAYlC;AAED;;;;;;GAMG;AACH,wBAAsB,kCAAkC,CAAC,CAAC,EAAE;IAC1D,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;CAC5C,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAqBlC;AAED;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAAC,CAAC,EAAE;IACnD,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;CAC5C,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAYlC;AAED;;;;;;GAMG;AACH,wBAAsB,mCAAmC,CAAC,CAAC,EAAE;IAC3D,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;CAC5C,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAmBlC;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE;IACjC,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,eAAe,CAAC;CACzB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUzB;AAuBD;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,CAAC,EAAE;IACtC,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;CAC5C,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAalC;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAAC,CAAC,EAAE;IAC9C,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;CAC5C,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAgBlC;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,CAAC,EAAE;IACvC,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,qBAAqB,CAAC;CAChC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CA0BpC;AAED;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAAC,CAAC,EAAE;IAC/C,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,qBAAqB,CAAC;CAChC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAsBpC"}
package/lib/content.js DELETED
@@ -1,244 +0,0 @@
1
- /*
2
- * *** MIT LICENSE ***
3
- * -------------------------------------------------------------------------
4
- * This code may be modified and distributed under the MIT license.
5
- * See the LICENSE file for details.
6
- * -------------------------------------------------------------------------
7
- *
8
- * @summary Collection of context resolvers
9
- *
10
- * @author Alvis HT Tang <alvis@hilbert.space>
11
- * @license MIT
12
- * @copyright Copyright (c) 2021 - All Rights Reserved.
13
- * -------------------------------------------------------------------------
14
- */
15
- import debug from './debugger.js';
16
- import { getConfigKey, loadDynamic, loadDynamicMap } from './resolution.js';
17
- import { filter, merge, mergeTemplate, template } from './template.js';
18
- /**
19
- * enrich the context with the resolved supplementary assets
20
- * @param _ collection of arguments
21
- * @param _.graph preset graph
22
- * @param _.context preset context
23
- * @returns enriched preset context
24
- */
25
- export async function resolveContext(_) {
26
- const { graph } = _;
27
- // compute a new context with variable resolved
28
- const context = {
29
- ..._.context,
30
- custom: {
31
- ..._.context.custom,
32
- variable: resolveVariable({ graph, config: _.context.custom }),
33
- },
34
- };
35
- const config = await resolveSupplementaryConfig({ graph, context });
36
- const noSymlinks = await resolveNoSymlinks({ graph, context });
37
- const scripts = await resolveSupplementaryScripts({ graph, context });
38
- const custom = {
39
- ...context.custom,
40
- preset: context.custom.preset,
41
- config,
42
- noSymlinks,
43
- scripts,
44
- };
45
- debug('RESOLVED CONFIGURATION WITH PRESET\n%O', custom);
46
- // return a new context with everything resolved
47
- return {
48
- target: context.target,
49
- custom,
50
- };
51
- }
52
- /**
53
- * resolve no noSymlinks
54
- * @param _ collection of arguments
55
- * @param _.graph preset graph
56
- * @param _.context preset context
57
- * @returns list of noSymlinks
58
- */
59
- export async function resolveNoSymlinks(_) {
60
- const { graph, context } = _;
61
- const fromPreset = (await Promise.all(graph.map(async (node) => resolveNoSymlinksFromNode({ node, context })))).flat();
62
- const fromUser = context.custom.noSymlinks ?? [];
63
- return [...new Set([...fromPreset, ...fromUser])];
64
- }
65
- /**
66
- * resolve noSymlinks from a preset node
67
- * @param _ collection of arguments
68
- * @param _.node preset node
69
- * @param _.context resolved preset context
70
- * @returns list of noSymlinks
71
- */
72
- async function resolveNoSymlinksFromNode(_) {
73
- const { node, context } = _;
74
- const { asset, nodes } = node;
75
- // resolve noSymlink lists from preset's extensions
76
- const fromChildren = (await Promise.all(nodes.map(async (extension) => resolveNoSymlinksFromNode({ node: extension, context })))).flat();
77
- // resolve preset's noSymlink list
78
- const fromPreset = await loadDynamic(asset.noSymlinks ?? [], context);
79
- return [...new Set([...fromChildren, ...fromPreset])];
80
- }
81
- /**
82
- * compute the final config map
83
- * @param _ collection of arguments
84
- * @param _.graph preset graph
85
- * @param _.context preset context
86
- * @returns map of config content
87
- */
88
- export async function resolveSupplementaryConfig(_) {
89
- const { graph, context } = _;
90
- const fromPresets = (await Promise.all(graph.map(async (node) => resolveSupplementaryConfigFromNode({ node, context })))).reduce((merged, next) => merge(merged, next), {});
91
- return merge(fromPresets, context.custom.config);
92
- }
93
- /**
94
- * compute the supplementary config map from a preset node
95
- * @param _ collection of arguments
96
- * @param _.node preset node
97
- * @param _.context preset context
98
- * @returns map of config content
99
- */
100
- export async function resolveSupplementaryConfigFromNode(_) {
101
- const { node, context } = _;
102
- const { asset, nodes } = node;
103
- // resolve configs from the preset's extensions
104
- const fromChildren = (await Promise.all(nodes.map(async (node) => resolveSupplementaryConfigFromNode({ node, context })))).reduce((merged, next) => merge(merged, next), {});
105
- // resolve preset's config
106
- const fromPreset = await loadDynamicMap(asset.supplementaryConfig, context);
107
- // merge preset's config on top of the extensions
108
- return merge(fromChildren, fromPreset);
109
- }
110
- /**
111
- * compute script that will be merged with those provided by presets
112
- * @param _ collection of arguments
113
- * @param _.graph preset graph
114
- * @param _.context preset context
115
- * @returns map of config content
116
- */
117
- export async function resolveSupplementaryScripts(_) {
118
- const { graph, context } = _;
119
- const fromPresets = (await Promise.all(graph.map(async (node) => resolveSupplementaryScriptsFromNode({ node, context })))).reduce((merged, next) => merge(merged, next), {});
120
- return merge(fromPresets, context.custom.scripts);
121
- }
122
- /**
123
- * compute the supplementary config map from a preset node
124
- * @param _ collection of arguments
125
- * @param _.node preset node
126
- * @param _.context preset context
127
- * @returns map of config content
128
- */
129
- export async function resolveSupplementaryScriptsFromNode(_) {
130
- const { node, context } = _;
131
- const { asset, nodes } = node;
132
- const { supplementaryScripts } = asset;
133
- // resolve configs from the preset's extensions
134
- const fromChildren = (await Promise.all(nodes.map(async (node) => resolveSupplementaryScriptsFromNode({ node, context })))).reduce((merged, next) => merge(merged, next), {});
135
- // resolve preset's config
136
- const fromPreset = await loadDynamic(supplementaryScripts ?? {}, context);
137
- // merge preset's config on top of the extensions
138
- return merge(fromChildren, fromPreset);
139
- }
140
- /**
141
- * combine default variables from presets with custom variables
142
- * @param _ collection of arguments
143
- * @param _.graph preset graph
144
- * @param _.config user config
145
- * @returns combined variables
146
- */
147
- export function resolveVariable(_) {
148
- const { graph, config } = _;
149
- // get the default from presets
150
- const fromPresets = graph
151
- .map((node) => resolveVariableFromNode({ node }))
152
- .reduce((merged, next) => merge(merged, next), {});
153
- // merge with those from the config file
154
- return merge(fromPresets, config.variable);
155
- }
156
- /**
157
- * resolve variables from a preset node
158
- * @param _ collection of arguments
159
- * @param _.node preset node
160
- * @returns combined variables
161
- */
162
- function resolveVariableFromNode(_) {
163
- const { node } = _;
164
- const { asset, nodes } = node;
165
- // resolve variables from the preset's extensions
166
- const fromChildren = nodes
167
- .map((node) => resolveVariableFromNode({ node }))
168
- .reduce((merged, next) => merge(merged, next), {});
169
- // merge with the preset's default variables
170
- return merge(fromChildren, asset.variable);
171
- }
172
- /**
173
- * compute the final script map
174
- * @param _ collection of arguments
175
- * @param _.graph preset graph
176
- * @param _.context preset context
177
- * @returns map of script content
178
- */
179
- export async function resolveScripts(_) {
180
- const { graph, context } = _;
181
- // resolve scripts from all presets
182
- const fromPresets = (await Promise.all(graph.map(async (node) => resolveScriptsFromNode({ node, context })))).reduce((merged, next) => merge(merged, next), {});
183
- const fromConfig = context.custom.scripts;
184
- return template(merge(fromPresets, fromConfig), context.custom.variable);
185
- }
186
- /**
187
- * compute the final script map from a preset node
188
- * @param _ collection of arguments
189
- * @param _.node preset node
190
- * @param _.context preset context
191
- * @returns map of script content
192
- */
193
- export async function resolveScriptsFromNode(_) {
194
- const { node, context } = _;
195
- const { asset, nodes } = node;
196
- // resolve scripts from the preset's extensions
197
- const fromChildren = (await Promise.all(nodes.map(async (node) => resolveScriptsFromNode({ node, context })))).reduce((merged, next) => merge(merged, next), {});
198
- // resolve preset's scripts
199
- const fromPreset = await loadDynamic(asset.scripts ?? {}, context);
200
- // merge preset's scripts on top of the extensions
201
- return merge(fromChildren, fromPreset);
202
- }
203
- /**
204
- * compute the final template content
205
- * @param _ collection of arguments
206
- * @param _.graph preset graph
207
- * @param _.context preset context
208
- * @returns map of template content
209
- */
210
- export async function resolveTemplate(_) {
211
- const { graph, context } = _;
212
- // deduce all the template contents and their paths from presets
213
- const fromPreset = (await Promise.all(graph.map(async (node) => resolveTemplateFromNode({ node, context })))).reduce((merged, next) => mergeTemplate(merged, next), {});
214
- // merge the template with the config supplied by user
215
- const customTemplate = Object.fromEntries(Object.entries(fromPreset).map(([path, current]) => {
216
- const config = context.custom.config[getConfigKey(path)];
217
- const candidate = Array.isArray(config) ? config.join('\n') : config;
218
- return [path, candidate ?? current];
219
- }));
220
- const merged = mergeTemplate(fromPreset, customTemplate);
221
- const resolvedTemplate = filter(merged, ...(context.custom.ignores ?? []));
222
- return template(resolvedTemplate, context.custom.variable);
223
- }
224
- /**
225
- * compute the final template content from a preset node
226
- * @param _ collection of arguments
227
- * @param _.node preset node
228
- * @param _.context preset context
229
- * @returns map of template content
230
- */
231
- export async function resolveTemplateFromNode(_) {
232
- const { node, context } = _;
233
- const { asset, nodes } = node;
234
- const { supplementaryIgnores } = asset;
235
- // resolve template from the preset's extensions
236
- const fromChildren = (await Promise.all(nodes.map(async (node) => resolveTemplateFromNode({ node, context })))).reduce((current, next) => mergeTemplate(current, next), {});
237
- const fromPreset = await loadDynamicMap(asset.template, context);
238
- const merged = mergeTemplate(fromChildren, fromPreset);
239
- const ignoreRules = typeof supplementaryIgnores === 'function'
240
- ? await supplementaryIgnores(context)
241
- : supplementaryIgnores;
242
- return filter(merged, ...(ignoreRules ?? []));
243
- }
244
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NvdXJjZS9jb250ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFFSCxPQUFPLEtBQUssTUFBTSxZQUFZLENBQUM7QUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFZcEU7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxjQUFjLENBQUMsQ0FHcEM7SUFDQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBRXBCLCtDQUErQztJQUMvQyxNQUFNLE9BQU8sR0FBc0M7UUFDakQsR0FBRyxDQUFDLENBQUMsT0FBTztRQUNaLE1BQU0sRUFBRTtZQUNOLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNO1lBQ25CLFFBQVEsRUFBRSxlQUFlLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDL0Q7S0FDRixDQUFDO0lBRUYsTUFBTSxNQUFNLEdBQUcsTUFBTSwwQkFBMEIsQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLE1BQU0sVUFBVSxHQUFHLE1BQU0saUJBQWlCLENBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMvRCxNQUFNLE9BQU8sR0FBRyxNQUFNLDJCQUEyQixDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFFdEUsTUFBTSxNQUFNLEdBQUc7UUFDYixHQUFHLE9BQU8sQ0FBQyxNQUFNO1FBQ2pCLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFD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
@@ -1,34 +0,0 @@
1
- import type { PresetContext } from 'presetter-types';
2
- /** syntax for an apply directive */
3
- export type ApplyDirective = `@apply ${string}` | `@apply ${string}[${string}]`;
4
- /** syntax for an import directive */
5
- export type ImportDirective = `@import ${string}` | `@import ${string}[${string}]`;
6
- /**
7
- * indicate whether the given value is an apply directive
8
- * @param value value to be tested
9
- * @returns true if the value is an apply directive
10
- */
11
- export declare function isApplyDirective(value: unknown): value is ApplyDirective;
12
- /**
13
- * indicate whether the given value is an import directive
14
- * @param value value to be tested
15
- * @returns true if the value is an import directive
16
- */
17
- export declare function isImportDirective(value: unknown): value is ImportDirective;
18
- /**
19
- * indicate whether the given value is a directive
20
- * @param value value to be tested
21
- * @returns true if the value is a directive
22
- */
23
- export declare function isDirective(value: unknown): value is ApplyDirective | ImportDirective;
24
- /**
25
- * resolve directives from configuration options
26
- * @param config configuration options
27
- * @param context background context about the configuration
28
- * @returns resolved configuration options with directive replaced
29
- */
30
- export declare function resolveDirective(config: Record<string, unknown>, context: PresetContext): {
31
- importMap: Record<string, string>;
32
- stringifiedConfig: string;
33
- };
34
- //# sourceMappingURL=directive.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"directive.d.ts","sourceRoot":"","sources":["../source/directive.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,oCAAoC;AACpC,MAAM,MAAM,cAAc,GAAG,UAAU,MAAM,EAAE,GAAG,UAAU,MAAM,IAAI,MAAM,GAAG,CAAC;AAEhF,qCAAqC;AACrC,MAAM,MAAM,eAAe,GACvB,WAAW,MAAM,EAAE,GACnB,WAAW,MAAM,IAAI,MAAM,GAAG,CAAC;AAgBnC;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAExE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAE1E;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,cAAc,GAAG,eAAe,CAE3C;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,EAAE,aAAa,GACrB;IACD,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAeA"}