presetter 4.7.2 → 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 (134) hide show
  1. package/README.md +5 -5
  2. package/lib/debugger.d.ts +4 -0
  3. package/lib/debugger.d.ts.map +1 -0
  4. package/lib/debugger.js +4 -0
  5. package/lib/executable/entry.d.ts.map +1 -1
  6. package/lib/executable/entry.js +4 -43
  7. package/lib/executable/error.d.ts.map +1 -1
  8. package/lib/executable/error.js +1 -16
  9. package/lib/executable/index.js +2 -16
  10. package/lib/index.d.ts +4 -5
  11. package/lib/index.d.ts.map +1 -1
  12. package/lib/index.js +6 -21
  13. package/lib/io.d.ts +8 -42
  14. package/lib/io.d.ts.map +1 -1
  15. package/lib/io.js +24 -156
  16. package/lib/package.d.ts +2 -2
  17. package/lib/package.d.ts.map +1 -1
  18. package/lib/package.js +5 -20
  19. package/lib/preset/bootstrap.d.ts +5 -0
  20. package/lib/preset/bootstrap.d.ts.map +1 -0
  21. package/lib/preset/bootstrap.js +32 -0
  22. package/lib/preset/config/index.d.ts +3 -0
  23. package/lib/preset/config/index.d.ts.map +1 -0
  24. package/lib/preset/config/index.js +4 -0
  25. package/lib/preset/config/resolve.d.ts +8 -0
  26. package/lib/preset/config/resolve.d.ts.map +1 -0
  27. package/lib/preset/config/resolve.js +25 -0
  28. package/lib/preset/config/search.d.ts +7 -0
  29. package/lib/preset/config/search.d.ts.map +1 -0
  30. package/lib/preset/config/search.js +25 -0
  31. package/lib/preset/context.d.ts +2 -1
  32. package/lib/preset/context.d.ts.map +1 -1
  33. package/lib/preset/context.js +5 -24
  34. package/lib/preset/index.d.ts +5 -2
  35. package/lib/preset/index.d.ts.map +1 -1
  36. package/lib/preset/index.js +7 -18
  37. package/lib/preset/project.d.ts +8 -0
  38. package/lib/preset/project.d.ts.map +1 -0
  39. package/lib/preset/project.js +28 -0
  40. package/lib/preset/resolution/asset.d.ts +31 -0
  41. package/lib/preset/resolution/asset.d.ts.map +1 -0
  42. package/lib/preset/resolution/asset.js +78 -0
  43. package/lib/preset/resolution/content.d.ts +37 -0
  44. package/lib/preset/resolution/content.d.ts.map +1 -0
  45. package/lib/preset/resolution/content.js +55 -0
  46. package/lib/preset/resolution/debugger.d.ts +3 -0
  47. package/lib/preset/resolution/debugger.d.ts.map +1 -0
  48. package/lib/preset/resolution/debugger.js +3 -0
  49. package/lib/preset/resolution/index.d.ts +6 -0
  50. package/lib/preset/resolution/index.d.ts.map +1 -0
  51. package/lib/preset/resolution/index.js +7 -0
  52. package/lib/preset/resolution/object.d.ts +9 -0
  53. package/lib/preset/resolution/object.d.ts.map +1 -0
  54. package/lib/preset/resolution/object.js +10 -0
  55. package/lib/preset/resolution/preset.d.ts +9 -0
  56. package/lib/preset/resolution/preset.d.ts.map +1 -0
  57. package/lib/preset/resolution/preset.js +17 -0
  58. package/lib/preset/resolution/script.d.ts +9 -0
  59. package/lib/preset/resolution/script.d.ts.map +1 -0
  60. package/lib/preset/resolution/script.js +39 -0
  61. package/lib/preset/resolution/variable.d.ts +9 -0
  62. package/lib/preset/resolution/variable.d.ts.map +1 -0
  63. package/lib/preset/resolution/variable.js +33 -0
  64. package/lib/preset/scripts.d.ts.map +1 -1
  65. package/lib/preset/scripts.js +6 -20
  66. package/lib/resolve.d.ts +7 -0
  67. package/lib/resolve.d.ts.map +1 -0
  68. package/lib/resolve.js +27 -0
  69. package/lib/run.d.ts.map +1 -1
  70. package/lib/run.js +7 -19
  71. package/lib/scripts.d.ts.map +1 -1
  72. package/lib/scripts.js +8 -19
  73. package/lib/serialization.d.ts +15 -0
  74. package/lib/serialization.d.ts.map +1 -0
  75. package/lib/serialization.js +48 -0
  76. package/lib/task.d.ts.map +1 -1
  77. package/lib/task.js +5 -17
  78. package/lib/template/index.d.ts +3 -0
  79. package/lib/template/index.d.ts.map +1 -0
  80. package/lib/template/index.js +4 -0
  81. package/lib/template/merge.d.ts +33 -0
  82. package/lib/template/merge.d.ts.map +1 -0
  83. package/lib/template/merge.js +84 -0
  84. package/lib/template/substitute.d.ts +11 -0
  85. package/lib/template/substitute.d.ts.map +1 -0
  86. package/lib/template/substitute.js +19 -0
  87. package/lib/utilities/display.d.ts +15 -0
  88. package/lib/utilities/display.d.ts.map +1 -0
  89. package/lib/utilities/display.js +51 -0
  90. package/lib/utilities/index.d.ts +3 -1
  91. package/lib/utilities/index.d.ts.map +1 -1
  92. package/lib/utilities/index.js +5 -17
  93. package/lib/utilities/{mapValues.d.ts → mapping.d.ts} +1 -1
  94. package/lib/utilities/mapping.d.ts.map +1 -0
  95. package/lib/utilities/mapping.js +10 -0
  96. package/lib/utilities/object.d.ts +20 -0
  97. package/lib/utilities/object.d.ts.map +1 -0
  98. package/lib/utilities/object.js +37 -0
  99. package/package.json +21 -16
  100. package/lib/content.d.ts +0 -123
  101. package/lib/content.d.ts.map +0 -1
  102. package/lib/content.js +0 -241
  103. package/lib/directive.d.ts +0 -34
  104. package/lib/directive.d.ts.map +0 -1
  105. package/lib/directive.js +0 -172
  106. package/lib/error.d.ts +0 -8
  107. package/lib/error.d.ts.map +0 -1
  108. package/lib/error.js +0 -32
  109. package/lib/preset/content.d.ts +0 -14
  110. package/lib/preset/content.d.ts.map +0 -1
  111. package/lib/preset/content.js +0 -32
  112. package/lib/preset/graph.d.ts +0 -22
  113. package/lib/preset/graph.d.ts.map +0 -1
  114. package/lib/preset/graph.js +0 -53
  115. package/lib/preset/mapping.d.ts +0 -9
  116. package/lib/preset/mapping.d.ts.map +0 -1
  117. package/lib/preset/mapping.js +0 -38
  118. package/lib/preset/presetterRC.d.ts +0 -25
  119. package/lib/preset/presetterRC.d.ts.map +0 -1
  120. package/lib/preset/presetterRC.js +0 -74
  121. package/lib/preset/setup.d.ts +0 -17
  122. package/lib/preset/setup.d.ts.map +0 -1
  123. package/lib/preset/setup.js +0 -80
  124. package/lib/preset/unset.d.ts +0 -5
  125. package/lib/preset/unset.d.ts.map +0 -1
  126. package/lib/preset/unset.js +0 -31
  127. package/lib/resolution.d.ts +0 -22
  128. package/lib/resolution.d.ts.map +0 -1
  129. package/lib/resolution.js +0 -61
  130. package/lib/template.d.ts +0 -64
  131. package/lib/template.d.ts.map +0 -1
  132. package/lib/template.js +0 -199
  133. package/lib/utilities/mapValues.d.ts.map +0 -1
  134. package/lib/utilities/mapValues.js +0 -24
package/lib/content.js DELETED
@@ -1,241 +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 { getConfigKey, loadDynamic, loadDynamicMap } from './resolution.js';
16
- import { filter, merge, mergeTemplate, template } from './template.js';
17
- /**
18
- * enrich the context with the resolved supplementary assets
19
- * @param _ collection of arguments
20
- * @param _.graph preset graph
21
- * @param _.context preset context
22
- * @returns enriched preset context
23
- */
24
- export async function resolveContext(_) {
25
- const { graph } = _;
26
- // compute a new context with variable resolved
27
- const context = {
28
- ..._.context,
29
- custom: {
30
- ..._.context.custom,
31
- variable: resolveVariable({ graph, config: _.context.custom }),
32
- },
33
- };
34
- const config = await resolveSupplementaryConfig({ graph, context });
35
- const noSymlinks = await resolveNoSymlinks({ graph, context });
36
- const scripts = await resolveSupplementaryScripts({ graph, context });
37
- // return a new context with everything resolved
38
- return {
39
- target: context.target,
40
- custom: {
41
- ...context.custom,
42
- preset: context.custom.preset,
43
- config,
44
- noSymlinks,
45
- scripts,
46
- },
47
- };
48
- }
49
- /**
50
- * resolve no noSymlinks
51
- * @param _ collection of arguments
52
- * @param _.graph preset graph
53
- * @param _.context preset context
54
- * @returns list of noSymlinks
55
- */
56
- export async function resolveNoSymlinks(_) {
57
- const { graph, context } = _;
58
- const fromPreset = (await Promise.all(graph.map(async (node) => resolveNoSymlinksFromNode({ node, context })))).flat();
59
- const fromUser = context.custom.noSymlinks ?? [];
60
- return [...new Set([...fromPreset, ...fromUser])];
61
- }
62
- /**
63
- * resolve noSymlinks from a preset node
64
- * @param _ collection of arguments
65
- * @param _.node preset node
66
- * @param _.context resolved preset context
67
- * @returns list of noSymlinks
68
- */
69
- async function resolveNoSymlinksFromNode(_) {
70
- const { node, context } = _;
71
- const { asset, nodes } = node;
72
- // resolve noSymlink lists from preset's extensions
73
- const fromChildren = (await Promise.all(nodes.map(async (extension) => resolveNoSymlinksFromNode({ node: extension, context })))).flat();
74
- // resolve preset's noSymlink list
75
- const fromPreset = await loadDynamic(asset.noSymlinks ?? [], context);
76
- return [...new Set([...fromChildren, ...fromPreset])];
77
- }
78
- /**
79
- * compute the final config map
80
- * @param _ collection of arguments
81
- * @param _.graph preset graph
82
- * @param _.context preset context
83
- * @returns map of config content
84
- */
85
- export async function resolveSupplementaryConfig(_) {
86
- const { graph, context } = _;
87
- const fromPresets = (await Promise.all(graph.map(async (node) => resolveSupplementaryConfigFromNode({ node, context })))).reduce((merged, next) => merge(merged, next), {});
88
- return merge(fromPresets, context.custom.config);
89
- }
90
- /**
91
- * compute the supplementary config map from a preset node
92
- * @param _ collection of arguments
93
- * @param _.node preset node
94
- * @param _.context preset context
95
- * @returns map of config content
96
- */
97
- export async function resolveSupplementaryConfigFromNode(_) {
98
- const { node, context } = _;
99
- const { asset, nodes } = node;
100
- // resolve configs from the preset's extensions
101
- const fromChildren = (await Promise.all(nodes.map(async (node) => resolveSupplementaryConfigFromNode({ node, context })))).reduce((merged, next) => merge(merged, next), {});
102
- // resolve preset's config
103
- const fromPreset = await loadDynamicMap(asset.supplementaryConfig, context);
104
- // merge preset's config on top of the extensions
105
- return merge(fromChildren, fromPreset);
106
- }
107
- /**
108
- * compute script that will be merged with those provided by presets
109
- * @param _ collection of arguments
110
- * @param _.graph preset graph
111
- * @param _.context preset context
112
- * @returns map of config content
113
- */
114
- export async function resolveSupplementaryScripts(_) {
115
- const { graph, context } = _;
116
- const fromPresets = (await Promise.all(graph.map(async (node) => resolveSupplementaryScriptsFromNode({ node, context })))).reduce((merged, next) => merge(merged, next), {});
117
- return merge(fromPresets, context.custom.scripts);
118
- }
119
- /**
120
- * compute the supplementary config map from a preset node
121
- * @param _ collection of arguments
122
- * @param _.node preset node
123
- * @param _.context preset context
124
- * @returns map of config content
125
- */
126
- export async function resolveSupplementaryScriptsFromNode(_) {
127
- const { node, context } = _;
128
- const { asset, nodes } = node;
129
- const { supplementaryScripts } = asset;
130
- // resolve configs from the preset's extensions
131
- const fromChildren = (await Promise.all(nodes.map(async (node) => resolveSupplementaryScriptsFromNode({ node, context })))).reduce((merged, next) => merge(merged, next), {});
132
- // resolve preset's config
133
- const fromPreset = await loadDynamic(supplementaryScripts ?? {}, context);
134
- // merge preset's config on top of the extensions
135
- return merge(fromChildren, fromPreset);
136
- }
137
- /**
138
- * combine default variables from presets with custom variables
139
- * @param _ collection of arguments
140
- * @param _.graph preset graph
141
- * @param _.config user config
142
- * @returns combined variables
143
- */
144
- export function resolveVariable(_) {
145
- const { graph, config } = _;
146
- // get the default from presets
147
- const fromPresets = graph
148
- .map((node) => resolveVariableFromNode({ node }))
149
- .reduce((merged, next) => merge(merged, next), {});
150
- // merge with those from the config file
151
- return merge(fromPresets, config.variable);
152
- }
153
- /**
154
- * resolve variables from a preset node
155
- * @param _ collection of arguments
156
- * @param _.node preset node
157
- * @returns combined variables
158
- */
159
- function resolveVariableFromNode(_) {
160
- const { node } = _;
161
- const { asset, nodes } = node;
162
- // resolve variables from the preset's extensions
163
- const fromChildren = nodes
164
- .map((node) => resolveVariableFromNode({ node }))
165
- .reduce((merged, next) => merge(merged, next), {});
166
- // merge with the preset's default variables
167
- return merge(fromChildren, asset.variable);
168
- }
169
- /**
170
- * compute the final script map
171
- * @param _ collection of arguments
172
- * @param _.graph preset graph
173
- * @param _.context preset context
174
- * @returns map of script content
175
- */
176
- export async function resolveScripts(_) {
177
- const { graph, context } = _;
178
- // resolve scripts from all presets
179
- const fromPresets = (await Promise.all(graph.map(async (node) => resolveScriptsFromNode({ node, context })))).reduce((merged, next) => merge(merged, next), {});
180
- const fromConfig = context.custom.scripts;
181
- return template(merge(fromPresets, fromConfig), context.custom.variable);
182
- }
183
- /**
184
- * compute the final script map from a preset node
185
- * @param _ collection of arguments
186
- * @param _.node preset node
187
- * @param _.context preset context
188
- * @returns map of script content
189
- */
190
- export async function resolveScriptsFromNode(_) {
191
- const { node, context } = _;
192
- const { asset, nodes } = node;
193
- // resolve scripts from the preset's extensions
194
- const fromChildren = (await Promise.all(nodes.map(async (node) => resolveScriptsFromNode({ node, context })))).reduce((merged, next) => merge(merged, next), {});
195
- // resolve preset's scripts
196
- const fromPreset = await loadDynamic(asset.scripts ?? {}, context);
197
- // merge preset's scripts on top of the extensions
198
- return merge(fromChildren, fromPreset);
199
- }
200
- /**
201
- * compute the final template content
202
- * @param _ collection of arguments
203
- * @param _.graph preset graph
204
- * @param _.context preset context
205
- * @returns map of template content
206
- */
207
- export async function resolveTemplate(_) {
208
- const { graph, context } = _;
209
- // deduce all the template contents and their paths from presets
210
- const fromPreset = (await Promise.all(graph.map(async (node) => resolveTemplateFromNode({ node, context })))).reduce((merged, next) => mergeTemplate(merged, next), {});
211
- // merge the template with the config supplied by user
212
- const customTemplate = Object.fromEntries(Object.entries(fromPreset).map(([path, current]) => {
213
- const config = context.custom.config[getConfigKey(path)];
214
- const candidate = Array.isArray(config) ? config.join('\n') : config;
215
- return [path, candidate ?? current];
216
- }));
217
- const merged = mergeTemplate(fromPreset, customTemplate);
218
- const resolvedTemplate = filter(merged, ...(context.custom.ignores ?? []));
219
- return template(resolvedTemplate, context.custom.variable);
220
- }
221
- /**
222
- * compute the final template content from a preset node
223
- * @param _ collection of arguments
224
- * @param _.node preset node
225
- * @param _.context preset context
226
- * @returns map of template content
227
- */
228
- export async function resolveTemplateFromNode(_) {
229
- const { node, context } = _;
230
- const { asset, nodes } = node;
231
- const { supplementaryIgnores } = asset;
232
- // resolve template from the preset's extensions
233
- const fromChildren = (await Promise.all(nodes.map(async (node) => resolveTemplateFromNode({ node, context })))).reduce((current, next) => mergeTemplate(current, next), {});
234
- const fromPreset = await loadDynamicMap(asset.template, context);
235
- const merged = mergeTemplate(fromChildren, fromPreset);
236
- const ignoreRules = typeof supplementaryIgnores === 'function'
237
- ? await supplementaryIgnores(context)
238
- : supplementaryIgnores;
239
- return filter(merged, ...(ignoreRules ?? []));
240
- }
241
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NvdXJjZS9jb250ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFFSCxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQVlwRTs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLGNBQWMsQ0FBQyxDQUdwQztJQUNDLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFFcEIsK0NBQStDO0lBQy9DLE1BQU0sT0FBTyxHQUFzQztRQUNqRCxHQUFHLENBQUMsQ0FBQyxPQUFPO1FBQ1osTUFBTSxFQUFFO1lBQ04sR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU07WUFDbkIsUUFBUSxFQUFFLGVBQWUsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUMvRDtLQUNGLENBQUM7SUFFRixNQUFNLE1BQU0sR0FBRyxNQUFNLDBCQUEwQixDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDcEUsTUFBTSxVQUFVLEdBQUcsTUFBTSxpQkFBaUIsQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELE1BQU0sT0FBTyxHQUFHLE1BQU0sMkJBQTJCLENBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUV0RSxnREFBZ0Q7SUFDaEQsT0FBTztRQUNMLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtRQUN0QixNQUFNLEVBQUU7WUFDTixHQUFHLE9BQU8sQ0FBQyxNQUFNO1lBQ2pCLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDN0IsTUFBTTtZQUNOLFVBQVU7WUFDVixPQUFPO1NBQ1I7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsaUJBQWlCLENBQUMsQ0FHdkM7SUFDQyxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztJQUU3QixNQUFNLFVBQVUsR0FBRyxDQUNqQixNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ2YsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQ3hFLENBQ0YsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNULE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQztJQUVqRCxPQUFPLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsVUFBVSxFQUFFLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BELENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxLQUFLLFVBQVUseUJBQXlCLENBQUMsQ0FHeEM7SUFDQyxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM1QixNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQztJQUU5QixtREFBbUQ7SUFDbkQsTUFBTSxZQUFZLEdBQUcsQ0FDbkIsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUNmLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQzVCLHlCQUF5QixDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUN4RCxDQUNGLENBQ0YsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUVULGtDQUFrQztJQUNsQyxNQUFNLFVBQVUsR0FBRyxNQUFNLFdBQVcsQ0FBQyxLQUFLLENBQUMsVUFBVSxJQUFJLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUV0RSxPQUFPLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsWUFBWSxFQUFFLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3hELENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLDBCQUEwQixDQUFDLENBR2hEO0lBQ0MsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFFN0IsTUFBTSxXQUFXLEdBQUcsQ0FDbEIsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUNmLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFLENBQ3ZCLGtDQUFrQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQ3RELENBQ0YsQ0FDRixDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFcEQsT0FBTyxLQUFLLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDbkQsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsa0NBQWtDLENBQUMsQ0FHeEQ7SUFDQyxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM1QixNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQztJQUU5QiwrQ0FBK0M7SUFDL0MsTUFBTSxZQUFZLEdBQUcsQ0FDbkIsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUNmLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFLENBQ3ZCLGtDQUFrQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQ3RELENBQ0YsQ0FDRixDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFcEQsMEJBQTBCO0lBQzFCLE1BQU0sVUFBVSxHQUFHLE1BQU0sY0FBYyxDQUNyQyxLQUFLLENBQUMsbUJBQW1CLEVBQ3pCLE9BQU8sQ0FDUixDQUFDO0lBRUYsaURBQWlEO0lBQ2pELE9BQU8sS0FBSyxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsQ0FBQztBQUN6QyxDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSwyQkFBMkIsQ0FBQyxDQUdqRDtJQUNDLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBRTdCLE1BQU0sV0FBVyxHQUFHLENBQ2xCLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDZixLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUN2QixtQ0FBbUMsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUN2RCxDQUNGLENBQ0YsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRXBELE9BQU8sS0FBSyxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3BELENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLG1DQUFtQyxDQUFDLENBR3pEO0lBQ0MsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDNUIsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFDOUIsTUFBTSxFQUFFLG9CQUFvQixFQUFFLEdBQUcsS0FBSyxDQUFDO0lBRXZDLCtDQUErQztJQUMvQyxNQUFNLFlBQVksR0FBRyxDQUNuQixNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ2YsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FDdkIsbUNBQW1DLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FDdkQsQ0FDRixDQUNGLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUVwRCwwQkFBMEI7SUFDMUIsTUFBTSxVQUFVLEdBQUcsTUFBTSxXQUFXLENBQUMsb0JBQW9CLElBQUksRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBRTFFLGlEQUFpRDtJQUNqRCxPQUFPLEtBQUssQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDekMsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxlQUFlLENBQUMsQ0FHL0I7SUFDQyxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztJQUU1QiwrQkFBK0I7SUFDL0IsTUFBTSxXQUFXLEdBQUcsS0FBSztTQUN0QixHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLHVCQUF1QixDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUNoRCxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRXJELHdDQUF3QztJQUN4QyxPQUFPLEtBQUssQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQzdDLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILFNBQVMsdUJBQXVCLENBQUMsQ0FFaEM7SUFDQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ25CLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDO0lBRTlCLGlEQUFpRDtJQUNqRCxNQUFNLFlBQVksR0FBRyxLQUFLO1NBQ3ZCLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsdUJBQXVCLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ2hELE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFckQsNENBQTRDO0lBQzVDLE9BQU8sS0FBSyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsY0FBYyxDQUFDLENBR3BDO0lBQ0MsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFFN0IsbUNBQW1DO0lBQ25DLE1BQU0sV0FBVyxHQUFHLENBQ2xCLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDZixLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FDckUsQ0FDRixDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFcEQsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7SUFFMUMsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQzNFLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLHNCQUFzQixDQUFDLENBRzVDO0lBQ0MsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDNUIsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFFOUIsK0NBQStDO0lBQy9DLE1BQU0sWUFBWSxHQUFHLENBQ25CLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDZixLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FDckUsQ0FDRixDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFcEQsMkJBQTJCO0lBQzNCLE1BQU0sVUFBVSxHQUFHLE1BQU0sV0FBVyxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBRW5FLGtEQUFrRDtJQUNsRCxPQUFPLEtBQUssQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDekMsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsZUFBZSxDQUFDLENBR3JDO0lBQ0MsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFFN0IsZ0VBQWdFO0lBQ2hFLE1BQU0sVUFBVSxHQUFHLENBQ2pCLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDZixLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLHVCQUF1QixDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FDdEUsQ0FDRixDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFNUQsc0RBQXNEO0lBQ3RELE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQ3ZDLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRTtRQUNqRCxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBRTlDLENBQUM7UUFDVixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFFckUsT0FBTyxDQUFDLElBQUksRUFBRSxTQUFTLElBQUksT0FBTyxDQUFDLENBQUM7SUFDdEMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNGLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxVQUFVLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFFekQsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRTNFLE9BQU8sUUFBUSxDQUFDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDN0QsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsdUJBQXVCLENBQUMsQ0FHN0M7SUFDQyxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM1QixNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQztJQUM5QixNQUFNLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFFdkMsZ0RBQWdEO0lBQ2hELE1BQU0sWUFBWSxHQUFHLENBQ25CLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDZixLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLHVCQUF1QixDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FDdEUsQ0FDRixDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFOUQsTUFBTSxVQUFVLEdBQUcsTUFBTSxjQUFjLENBQWEsS0FBSyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUU3RSxNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBRXZELE1BQU0sV0FBVyxHQUNmLE9BQU8sb0JBQW9CLEtBQUssVUFBVTtRQUN4QyxDQUFDLENBQUMsTUFBTSxvQkFBb0IsQ0FBQyxPQUFPLENBQUM7UUFDckMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDO0lBRTNCLE9BQU8sTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDaEQsQ0FBQyJ9
@@ -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"}
package/lib/directive.js DELETED
@@ -1,172 +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 helpers for parsing configuration
9
- *
10
- * @author Alvis HT Tang <alvis@hilbert.space>
11
- * @license MIT
12
- * @copyright Copyright (c) 2021 - All Rights Reserved.
13
- * -------------------------------------------------------------------------
14
- */
15
- /** syntax for an apply directive */
16
- const applyRegex = /^@apply ((\.+\/|@)?[a-zA-Z]+[a-zA-Z0-9_/.-]*[a-zA-Z0-9_]+)(\[([a-zA-Z]+[a-zA-Z0-9_.]*)\])?$/;
17
- /** syntax for an import directive */
18
- const importRegex = /^@import ((\.+\/|@)?[a-zA-Z]+[a-zA-Z0-9_/.-]*[a-zA-Z0-9_]+)(\[([a-zA-Z]+[a-zA-Z0-9_.]*)\])?$/;
19
- /**
20
- * indicate whether the given value is an apply directive
21
- * @param value value to be tested
22
- * @returns true if the value is an apply directive
23
- */
24
- export function isApplyDirective(value) {
25
- return typeof value === 'string' && !!applyRegex.exec(value);
26
- }
27
- /**
28
- * indicate whether the given value is an import directive
29
- * @param value value to be tested
30
- * @returns true if the value is an import directive
31
- */
32
- export function isImportDirective(value) {
33
- return typeof value === 'string' && !!importRegex.exec(value);
34
- }
35
- /**
36
- * indicate whether the given value is a directive
37
- * @param value value to be tested
38
- * @returns true if the value is a directive
39
- */
40
- export function isDirective(value) {
41
- return isApplyDirective(value) || isImportDirective(value);
42
- }
43
- /**
44
- * resolve directives from configuration options
45
- * @param config configuration options
46
- * @param context background context about the configuration
47
- * @returns resolved configuration options with directive replaced
48
- */
49
- export function resolveDirective(config, context) {
50
- const packages = new Set();
51
- const stringifiedConfig = stringifyConfigObject(config, {
52
- ...context,
53
- packages,
54
- });
55
- const importMap = Object.fromEntries([...packages.values()].map((packageName, key) => [
56
- packageName,
57
- `import${key}`,
58
- ]));
59
- return { importMap, stringifiedConfig };
60
- }
61
- /**
62
- * resolve an apply directive
63
- * @param directiveMeta a potential directive in the form of [directive, options]
64
- * @param context shared context passed from the upstream
65
- * @returns resolved string or null if no directive is found
66
- */
67
- function resolveApplyDirective(directiveMeta, context) {
68
- const [directive, ...args] = directiveMeta;
69
- const { packages } = context;
70
- if (typeof directive === 'string') {
71
- const match = applyRegex.exec(directive);
72
- if (match) {
73
- const [_, packageName, _prefix, _importBracket, importName] = match;
74
- const resolvedArgs = args.map((arg) => stringifyValue(arg, context));
75
- const argsExpression = `[${resolvedArgs.join(', ')}]`;
76
- const resolvedName = registerUsage(packages, packageName, importName);
77
- return `${resolvedName}(...(${argsExpression} as const))`;
78
- }
79
- }
80
- // return null for a non-match
81
- return null;
82
- }
83
- /**
84
- * resolve an import directive
85
- * @param directive a potential directive string
86
- * @param context shared context passed from the upstream
87
- * @returns resolved string or null if no directive is found
88
- */
89
- function resolveImportDirective(directive, context) {
90
- const { packages } = context;
91
- const match = importRegex.exec(directive);
92
- if (match) {
93
- const [_, packageName, _prefix, _importBracket, importName] = match;
94
- return registerUsage(packages, packageName, importName);
95
- }
96
- // return null for a non-match
97
- return null;
98
- }
99
- /**
100
- * stringify a value which has a type object
101
- * @param value the value to be stringified
102
- * @param context shared context passed from the upstream
103
- * @returns stringified value
104
- */
105
- function stringifyObjectValue(value, context) {
106
- if (Array.isArray(value)) {
107
- return (resolveApplyDirective(value, context) ??
108
- stringifyConfigArray(value, context));
109
- }
110
- else if (value !== null) {
111
- return stringifyConfigObject(value, context);
112
- }
113
- else {
114
- return 'null';
115
- }
116
- }
117
- /**
118
- * stringify an array
119
- * @param config an object to be parsed
120
- * @param context shared context passed from the upstream
121
- * @returns stringified object
122
- */
123
- function stringifyConfigArray(config, context) {
124
- const values = config.map((value) => stringifyValue(value, context));
125
- return `[${values.join(', ')}]`;
126
- }
127
- /**
128
- * stringify an object
129
- * @param config an object to be parsed
130
- * @param context shared context passed from the upstream
131
- * @returns stringified object
132
- */
133
- function stringifyConfigObject(config, context) {
134
- const values = Object.entries(config).map(([key, value]) => {
135
- return `${JSON.stringify(key)}: ${stringifyValue(value, context)}`;
136
- });
137
- return `{${values.join(', ')}}`;
138
- }
139
- /**
140
- * stringify a value
141
- * @param value the value to be stringified
142
- * @param context shared context passed from the upstream
143
- * @returns stringified value
144
- */
145
- function stringifyValue(value, context) {
146
- switch (typeof value) {
147
- case 'string':
148
- return resolveImportDirective(value, context) ?? JSON.stringify(value);
149
- case 'object':
150
- return stringifyObjectValue(value, context);
151
- case 'boolean':
152
- case 'number':
153
- default:
154
- return JSON.stringify(value);
155
- }
156
- }
157
- /**
158
- * add the needed package name to the registry and return its resolved name
159
- * @param packages package registry
160
- * @param packageName name of the package to be imported
161
- * @param importName named import to be used
162
- * @returns resolved symbol
163
- */
164
- function registerUsage(packages, packageName, importName) {
165
- // add package and import to the register
166
- packages.add(packageName);
167
- // replace the directive with the value path
168
- const packageKey = [...packages.values()].findIndex((name) => name === packageName);
169
- const named = importName ? `.${importName}` : '';
170
- return `import${packageKey}${named}`;
171
- }
172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc291cmNlL2RpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7OztHQWFHO0FBa0JILG9DQUFvQztBQUNwQyxNQUFNLFVBQVUsR0FDZCw2RkFBNkYsQ0FBQztBQUVoRyxxQ0FBcUM7QUFDckMsTUFBTSxXQUFXLEdBQ2YsOEZBQThGLENBQUM7QUFFakc7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxLQUFjO0lBQzdDLE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQy9ELENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEtBQWM7SUFDOUMsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDaEUsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUN6QixLQUFjO0lBRWQsT0FBTyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUM3RCxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQzlCLE1BQStCLEVBQy9CLE9BQXNCO0lBS3RCLE1BQU0sUUFBUSxHQUFHLElBQUksR0FBRyxFQUFVLENBQUM7SUFDbkMsTUFBTSxpQkFBaUIsR0FBRyxxQkFBcUIsQ0FBQyxNQUFNLEVBQUU7UUFDdEQsR0FBRyxPQUFPO1FBQ1YsUUFBUTtLQUNULENBQUMsQ0FBQztJQUVILE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQ2xDLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQztRQUMvQyxXQUFXO1FBQ1gsU0FBUyxHQUFHLEVBQUU7S0FDZixDQUFDLENBQ0gsQ0FBQztJQUVGLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztBQUMxQyxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFTLHFCQUFxQixDQUM1QixhQUF3QixFQUN4QixPQUFnQztJQUVoQyxNQUFNLENBQUMsU0FBUyxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsYUFBYSxDQUFDO0lBQzNDLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxPQUFPLENBQUM7SUFFN0IsSUFBSSxPQUFPLFNBQVMsS0FBSyxRQUFRLEVBQUU7UUFDakMsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUV6QyxJQUFJLEtBQUssRUFBRTtZQUNULE1BQU0sQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsVUFBVSxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQ3BFLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNyRSxNQUFNLGNBQWMsR0FBRyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUV0RCxNQUFNLFlBQVksR0FBRyxhQUFhLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUV0RSxPQUFPLEdBQUcsWUFBWSxRQUFRLGNBQWMsYUFBYSxDQUFDO1NBQzNEO0tBQ0Y7SUFFRCw4QkFBOEI7SUFDOUIsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFTLHNCQUFzQixDQUM3QixTQUFpQixFQUNqQixPQUFnQztJQUVoQyxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBQzdCLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFMUMsSUFBSSxLQUFLLEVBQUU7UUFDVCxNQUFNLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUVwRSxPQUFPLGFBQWEsQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0tBQ3pEO0lBRUQsOEJBQThCO0lBQzlCLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBUyxvQkFBb0IsQ0FDM0IsS0FBeUMsRUFDekMsT0FBZ0M7SUFFaEMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ3hCLE9BQU8sQ0FDTCxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDO1lBQ3JDLG9CQUFvQixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FDckMsQ0FBQztLQUNIO1NBQU0sSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFO1FBQ3pCLE9BQU8scUJBQXFCLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0tBQzlDO1NBQU07UUFDTCxPQUFPLE1BQU0sQ0FBQztLQUNmO0FBQ0gsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBUyxvQkFBb0IsQ0FDM0IsTUFBaUIsRUFDakIsT0FBZ0M7SUFFaEMsTUFBTSxNQUFNLEdBQWEsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQzVDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQy9CLENBQUM7SUFFRixPQUFPLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO0FBQ2xDLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILFNBQVMscUJBQXFCLENBQzVCLE1BQTJCLEVBQzNCLE9BQWdDO0lBRWhDLE1BQU0sTUFBTSxHQUFhLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtRQUNuRSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxjQUFjLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUM7SUFDckUsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO0FBQ2xDLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILFNBQVMsY0FBYyxDQUNyQixLQUFjLEVBQ2QsT0FBZ0M7SUFFaEMsUUFBUSxPQUFPLEtBQUssRUFBRTtRQUNwQixLQUFLLFFBQVE7WUFDWCxPQUFPLHNCQUFzQixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pFLEtBQUssUUFBUTtZQUNYLE9BQU8sb0JBQW9CLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzlDLEtBQUssU0FBUyxDQUFDO1FBQ2YsS0FBSyxRQUFRLENBQUM7UUFDZDtZQUNFLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUNoQztBQUNILENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxTQUFTLGFBQWEsQ0FDcEIsUUFBcUIsRUFDckIsV0FBbUIsRUFDbkIsVUFBbUI7SUFFbkIseUNBQXlDO0lBQ3pDLFFBQVEsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFMUIsNENBQTRDO0lBQzVDLE1BQU0sVUFBVSxHQUFHLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQ2pELENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUMvQixDQUFDO0lBRUYsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFFakQsT0FBTyxTQUFTLFVBQVUsR0FBRyxLQUFLLEVBQUUsQ0FBQztBQUN2QyxDQUFDIn0=
package/lib/error.d.ts DELETED
@@ -1,8 +0,0 @@
1
- /**
2
- * prepend a rejected error message with a better explanation
3
- * @param promise a promise to be resolved
4
- * @param message a custom message to be prepended to any rejected message
5
- * @returns wrapped error
6
- */
7
- export declare function wrap<T>(promise: Promise<T>, message: string): Promise<T>;
8
- //# sourceMappingURL=error.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../source/error.ts"],"names":[],"mappings":"AAeA;;;;;GAKG;AACH,wBAAsB,IAAI,CAAC,CAAC,EAC1B,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,CAAC,CAAC,CAUZ"}
package/lib/error.js DELETED
@@ -1,32 +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 Helpers for handling errors
9
- *
10
- * @author Alvis HT Tang <alvis@hilbert.space>
11
- * @license MIT
12
- * @copyright Copyright (c) 2020 - All Rights Reserved.
13
- * -------------------------------------------------------------------------
14
- */
15
- /**
16
- * prepend a rejected error message with a better explanation
17
- * @param promise a promise to be resolved
18
- * @param message a custom message to be prepended to any rejected message
19
- * @returns wrapped error
20
- */
21
- export async function wrap(promise, message) {
22
- try {
23
- return await promise;
24
- }
25
- catch (error) {
26
- if (error instanceof Error) {
27
- error.message = `${message}: ${error.message}`;
28
- }
29
- throw error;
30
- }
31
- }
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zb3VyY2UvZXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUVIOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxJQUFJLENBQ3hCLE9BQW1CLEVBQ25CLE9BQWU7SUFFZixJQUFJO1FBQ0YsT0FBTyxNQUFNLE9BQU8sQ0FBQztLQUN0QjtJQUFDLE9BQU8sS0FBSyxFQUFFO1FBQ2QsSUFBSSxLQUFLLFlBQVksS0FBSyxFQUFFO1lBQzFCLEtBQUssQ0FBQyxPQUFPLEdBQUcsR0FBRyxPQUFPLEtBQUssS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ2hEO1FBRUQsTUFBTSxLQUFLLENBQUM7S0FDYjtBQUNILENBQUMifQ==
@@ -1,14 +0,0 @@
1
- import type { PresetContext } from 'presetter-types';
2
- /** collection of options for bootstrapping */
3
- interface BootstrapOptions {
4
- /** whether to skip all checks */
5
- force?: boolean;
6
- }
7
- /**
8
- * generate files from templates and link them to the target project root
9
- * @param context context about the target project and any customization in .presetterrc
10
- * @param options collection of options
11
- */
12
- export declare function bootstrapContent(context: PresetContext, options?: BootstrapOptions): Promise<void>;
13
- export {};
14
- //# sourceMappingURL=content.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../source/preset/content.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,8CAA8C;AAC9C,UAAU,gBAAgB;IACxB,iCAAiC;IACjC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,aAAa,EACtB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,IAAI,CAAC,CAUf"}
@@ -1,32 +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 helpers for content generation
9
- *
10
- * @author Alvis HT Tang <alvis@hilbert.space>
11
- * @license MIT
12
- * @copyright Copyright (c) 2020 - All Rights Reserved.
13
- * -------------------------------------------------------------------------
14
- */
15
- import { resolveContext, resolveTemplate } from '../content.js';
16
- import { linkFiles, writeFiles } from '../io.js';
17
- import { getPresetGraph } from './graph.js';
18
- import { getDestinationMap } from './mapping.js';
19
- /**
20
- * generate files from templates and link them to the target project root
21
- * @param context context about the target project and any customization in .presetterrc
22
- * @param options collection of options
23
- */
24
- export async function bootstrapContent(context, options) {
25
- const graph = await getPresetGraph(context);
26
- const resolvedContext = await resolveContext({ graph, context });
27
- const content = await resolveTemplate({ graph, context: resolvedContext });
28
- const destinationMap = await getDestinationMap(content, resolvedContext);
29
- writeFiles(context.target.root, content, destinationMap, options);
30
- linkFiles(context.target.root, destinationMap, options);
31
- }
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NvdXJjZS9wcmVzZXQvY29udGVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7OztHQWFHO0FBRUgsT0FBTyxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDN0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDOUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFVOUM7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsZ0JBQWdCLENBQ3BDLE9BQXNCLEVBQ3RCLE9BQTBCO0lBRTFCLE1BQU0sS0FBSyxHQUFHLE1BQU0sY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRTVDLE1BQU0sZUFBZSxHQUFHLE1BQU0sY0FBYyxDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDakUsTUFBTSxPQUFPLEdBQUcsTUFBTSxlQUFlLENBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7SUFFM0UsTUFBTSxjQUFjLEdBQUcsTUFBTSxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFFekUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDbEUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUMxRCxDQUFDIn0=
@@ -1,22 +0,0 @@
1
- import type { PresetAsset, PresetContext, PresetGraph, PresetNode } from 'presetter-types';
2
- /**
3
- * get assets from a preset
4
- * @param name name of the preset
5
- * @param context context about the target project and customization in .presetterrc
6
- * @returns assets from the preset
7
- */
8
- export declare function getPresetAsset(name: string, context: PresetContext): Promise<PresetAsset>;
9
- /**
10
- * compute a graph of presets
11
- * @param context context about the target project and customization in .presetterrc
12
- * @returns resolved preset graph
13
- */
14
- export declare function getPresetGraph(context: PresetContext): Promise<PresetGraph>;
15
- /**
16
- * resolve a preset as a node
17
- * @param name name of the preset
18
- * @param context context about the target project and customization in .presetterrc
19
- * @returns resolved preset node
20
- */
21
- export declare function getPresetNode(name: string, context: PresetContext): Promise<PresetNode>;
22
- //# sourceMappingURL=graph.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../source/preset/graph.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACb,WAAW,EACX,UAAU,EACX,MAAM,iBAAiB,CAAC;AAEzB;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,WAAW,CAAC,CAWtB;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,WAAW,CAAC,CAOtB;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,UAAU,CAAC,CASrB"}
@@ -1,53 +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 helpers for prepare the preset graph
9
- *
10
- * @author Alvis HT Tang <alvis@hilbert.space>
11
- * @license MIT
12
- * @copyright Copyright (c) 2020 - All Rights Reserved.
13
- * -------------------------------------------------------------------------
14
- */
15
- /**
16
- * get assets from a preset
17
- * @param name name of the preset
18
- * @param context context about the target project and customization in .presetterrc
19
- * @returns assets from the preset
20
- */
21
- export async function getPresetAsset(name, context) {
22
- try {
23
- // get the preset
24
- const { default: getPresetAsset } = (await import(name));
25
- return await getPresetAsset(context);
26
- }
27
- catch {
28
- throw new Error(`cannot resolve preset ${name}`);
29
- }
30
- }
31
- /**
32
- * compute a graph of presets
33
- * @param context context about the target project and customization in .presetterrc
34
- * @returns resolved preset graph
35
- */
36
- export async function getPresetGraph(context) {
37
- // get the preset name
38
- const { preset } = context.custom;
39
- const presets = Array.isArray(preset) ? preset : [preset];
40
- return Promise.all(presets.map(async (name) => getPresetNode(name, context)));
41
- }
42
- /**
43
- * resolve a preset as a node
44
- * @param name name of the preset
45
- * @param context context about the target project and customization in .presetterrc
46
- * @returns resolved preset node
47
- */
48
- export async function getPresetNode(name, context) {
49
- const asset = await getPresetAsset(name, context);
50
- const nodes = await Promise.all((asset.extends ?? []).map(async (extension) => getPresetNode(extension, context)));
51
- return { name, asset, nodes };
52
- }
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zb3VyY2UvcHJlc2V0L2dyYXBoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFTSDs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsY0FBYyxDQUNsQyxJQUFZLEVBQ1osT0FBc0I7SUFFdEIsSUFBSTtRQUNGLGlCQUFpQjtRQUNqQixNQUFNLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxHQUFHLENBQUMsTUFBTSxNQUFNLENBQUMsSUFBSSxDQUFDLENBRXRELENBQUM7UUFFRixPQUFPLE1BQU0sY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBQ3RDO0lBQUMsTUFBTTtRQUNOLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLElBQUksRUFBRSxDQUFDLENBQUM7S0FDbEQ7QUFDSCxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsY0FBYyxDQUNsQyxPQUFzQjtJQUV0QixzQkFBc0I7SUFDdEIsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFFbEMsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRTFELE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hGLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsYUFBYSxDQUNqQyxJQUFZLEVBQ1osT0FBc0I7SUFFdEIsTUFBTSxLQUFLLEdBQUcsTUFBTSxjQUFjLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2xELE1BQU0sS0FBSyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDN0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUUsQ0FDNUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FDbEMsQ0FDRixDQUFDO0lBRUYsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUM7QUFDaEMsQ0FBQyJ9