@driveflux/fab 1.0.0-next.1 → 1.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.
- package/.turbo/turbo-build.log +4 -4
- package/CHANGELOG.md +18 -0
- package/dist/build.d.ts +7 -5
- package/dist/build.d.ts.map +1 -1
- package/dist/build.js +111 -30
- package/dist/clean.js +2 -2
- package/dist/config.d.ts +8 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +3 -1
- package/dist/utils.d.ts +1 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +2 -1
- package/package.json +5 -2
- package/src/build.ts +45 -10
- package/src/clean.ts +1 -1
- package/src/config.ts +2 -0
- package/src/utils.ts +4 -3
- package/tsconfig.tsbuildinfo +1 -1
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
-
> @driveflux/fab@1.0.0
|
|
3
|
+
> @driveflux/fab@1.0.0 build /Users/flux/Projects/flux/packages/fab
|
|
4
4
|
> pnpm build:js && pnpm build:types
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
> @driveflux/fab@1.0.0
|
|
7
|
+
> @driveflux/fab@1.0.0 build:js /Users/flux/Projects/flux/packages/fab
|
|
8
8
|
> swc src --strip-leading-paths -d dist
|
|
9
9
|
|
|
10
|
-
Successfully compiled: 7 files with swc (
|
|
10
|
+
Successfully compiled: 7 files with swc (262.87ms)
|
|
11
11
|
|
|
12
|
-
> @driveflux/fab@1.0.0
|
|
12
|
+
> @driveflux/fab@1.0.0 build:types /Users/flux/Projects/flux/packages/fab
|
|
13
13
|
> tsc --build --emitDeclarationOnly
|
|
14
14
|
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# @driveflux/fab
|
|
2
2
|
|
|
3
|
+
## 1.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- 4.5 pre-release
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- verion bump + minor improvements
|
|
12
|
+
- Bump all versions
|
|
13
|
+
- Version bump
|
|
14
|
+
|
|
15
|
+
## 1.0.0-next.2
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- Version bump
|
|
20
|
+
|
|
3
21
|
## 1.0.0-next.1
|
|
4
22
|
|
|
5
23
|
### Patch Changes
|
package/dist/build.d.ts
CHANGED
|
@@ -5,15 +5,17 @@ interface BuildOptions extends BaseOptions, MakeBaseExportsOptions, CleanOptions
|
|
|
5
5
|
noTypes?: boolean;
|
|
6
6
|
noCJS?: boolean;
|
|
7
7
|
noESM?: boolean;
|
|
8
|
+
copyVerbatim?: string[];
|
|
8
9
|
}
|
|
9
10
|
interface MakeBaseExportsOptions extends BaseOptions {
|
|
10
11
|
noTypes?: boolean;
|
|
11
12
|
exports?: PackageJson['exports'];
|
|
12
13
|
}
|
|
13
|
-
export declare const build: (
|
|
14
|
-
export declare const
|
|
15
|
-
export declare const
|
|
16
|
-
export declare const
|
|
17
|
-
export declare const
|
|
14
|
+
export declare const build: (rawOptions?: BuildOptions) => Promise<void>;
|
|
15
|
+
export declare const copyVerbatim: (rawOptions?: BuildOptions) => Promise<void>;
|
|
16
|
+
export declare const buildTypes: (rawOptions?: BaseOptions) => Promise<void>;
|
|
17
|
+
export declare const buildCjs: (rawOptions?: BaseOptions) => Promise<void>;
|
|
18
|
+
export declare const makeBaseExports: (rawOptions?: MakeBaseExportsOptions) => Promise<string[]>;
|
|
19
|
+
export declare const buildEsm: (rawOptions?: BaseOptions) => Promise<void>;
|
|
18
20
|
export {};
|
|
19
21
|
//# sourceMappingURL=build.d.ts.map
|
package/dist/build.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAS,MAAM,YAAY,CAAA;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAK7C,UAAU,YAAa,SAAQ,WAAW,EAAE,sBAAsB,EAAE,YAAY;IAC9E,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CACxB;AAED,UAAU,sBAAuB,SAAQ,WAAW;IAClD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAA;CACjC;AAaD,eAAO,MAAM,KAAK,gBAAuB,YAAY,kBA2BpD,CAAA;AAED,eAAO,MAAM,YAAY,gBAAuB,YAAY,kBAc3D,CAAA;AAED,eAAO,MAAM,UAAU,gBAAuB,WAAW,kBAIxD,CAAA;AAED,eAAO,MAAM,QAAQ,gBAAuB,WAAW,kBAgBtD,CAAA;AAED,eAAO,MAAM,eAAe,gBAAuB,sBAAsB,sBAoBxE,CAAA;AAgLD,eAAO,MAAM,QAAQ,gBAAuB,WAAW,kBAKtD,CAAA"}
|
package/dist/build.js
CHANGED
|
@@ -169,6 +169,7 @@ function _ts_generator(thisArg, body) {
|
|
|
169
169
|
}
|
|
170
170
|
}
|
|
171
171
|
import fg from "fast-glob";
|
|
172
|
+
import merge from "lodash.merge";
|
|
172
173
|
import assert from "node:assert";
|
|
173
174
|
import fs from "node:fs/promises";
|
|
174
175
|
import path from "node:path";
|
|
@@ -176,13 +177,12 @@ import { clean } from "./clean.js";
|
|
|
176
177
|
import { ensureDir, getDefaultOptions, runCommand, validatePackageJson } from "./utils.js";
|
|
177
178
|
var glob = fg.glob;
|
|
178
179
|
export var build = function() {
|
|
179
|
-
var _ref = _async_to_generator(function() {
|
|
180
|
+
var _ref = _async_to_generator(function(rawOptions) {
|
|
180
181
|
var options, promises;
|
|
181
|
-
var _arguments = arguments;
|
|
182
182
|
return _ts_generator(this, function(_state) {
|
|
183
183
|
switch(_state.label){
|
|
184
184
|
case 0:
|
|
185
|
-
options =
|
|
185
|
+
options = merge({}, getDefaultOptions(), rawOptions);
|
|
186
186
|
// Cleanup first
|
|
187
187
|
return [
|
|
188
188
|
4,
|
|
@@ -200,6 +200,7 @@ export var build = function() {
|
|
|
200
200
|
if (!options.noCJS) {
|
|
201
201
|
promises.push(buildCjs(options));
|
|
202
202
|
}
|
|
203
|
+
promises.push(copyVerbatim(options));
|
|
203
204
|
// Build necessary files
|
|
204
205
|
return [
|
|
205
206
|
4,
|
|
@@ -207,31 +208,106 @@ export var build = function() {
|
|
|
207
208
|
];
|
|
208
209
|
case 2:
|
|
209
210
|
_state.sent();
|
|
210
|
-
|
|
211
|
+
if (!!options.noCJS) return [
|
|
212
|
+
3,
|
|
213
|
+
4
|
|
214
|
+
];
|
|
211
215
|
return [
|
|
212
216
|
4,
|
|
213
217
|
makeBaseExports(options)
|
|
214
218
|
];
|
|
215
219
|
case 3:
|
|
216
220
|
_state.sent();
|
|
221
|
+
_state.label = 4;
|
|
222
|
+
case 4:
|
|
223
|
+
return [
|
|
224
|
+
2
|
|
225
|
+
];
|
|
226
|
+
}
|
|
227
|
+
});
|
|
228
|
+
});
|
|
229
|
+
return function build(rawOptions) {
|
|
230
|
+
return _ref.apply(this, arguments);
|
|
231
|
+
};
|
|
232
|
+
}();
|
|
233
|
+
export var copyVerbatim = function() {
|
|
234
|
+
var _ref = _async_to_generator(function(rawOptions) {
|
|
235
|
+
var _options_copyVerbatim, options, _options_cwd, cwd, _options_destination, destination;
|
|
236
|
+
return _ts_generator(this, function(_state) {
|
|
237
|
+
switch(_state.label){
|
|
238
|
+
case 0:
|
|
239
|
+
options = merge({}, getDefaultOptions(), rawOptions);
|
|
240
|
+
if (!((_options_copyVerbatim = options.copyVerbatim) === null || _options_copyVerbatim === void 0 ? void 0 : _options_copyVerbatim.length)) return [
|
|
241
|
+
3,
|
|
242
|
+
2
|
|
243
|
+
];
|
|
244
|
+
cwd = (_options_cwd = options.cwd) !== null && _options_cwd !== void 0 ? _options_cwd : process.cwd();
|
|
245
|
+
destination = (_options_destination = options.destination) !== null && _options_destination !== void 0 ? _options_destination : getDefaultOptions().destination;
|
|
246
|
+
return [
|
|
247
|
+
4,
|
|
248
|
+
Promise.all(options.copyVerbatim.map(function() {
|
|
249
|
+
var _ref = _async_to_generator(function(fileOrFolderRaw) {
|
|
250
|
+
var fileOrFolder, targetPath, targetPathCjs;
|
|
251
|
+
return _ts_generator(this, function(_state) {
|
|
252
|
+
switch(_state.label){
|
|
253
|
+
case 0:
|
|
254
|
+
fileOrFolder = "src/".concat(fileOrFolderRaw.replace(/^(\/)*src/, ""));
|
|
255
|
+
targetPath = path.resolve(destination, fileOrFolder).replace("/src", "");
|
|
256
|
+
targetPathCjs = path.resolve(destination, "cjs", fileOrFolder).replace("/src", "");
|
|
257
|
+
return [
|
|
258
|
+
4,
|
|
259
|
+
ensureDir(path.dirname(targetPath))
|
|
260
|
+
];
|
|
261
|
+
case 1:
|
|
262
|
+
_state.sent();
|
|
263
|
+
return [
|
|
264
|
+
4,
|
|
265
|
+
fs.cp(path.resolve(cwd, fileOrFolder), targetPath, {
|
|
266
|
+
recursive: true
|
|
267
|
+
})
|
|
268
|
+
];
|
|
269
|
+
case 2:
|
|
270
|
+
_state.sent();
|
|
271
|
+
return [
|
|
272
|
+
4,
|
|
273
|
+
fs.cp(path.resolve(cwd, fileOrFolder), targetPathCjs, {
|
|
274
|
+
recursive: true
|
|
275
|
+
})
|
|
276
|
+
];
|
|
277
|
+
case 3:
|
|
278
|
+
_state.sent();
|
|
279
|
+
return [
|
|
280
|
+
2
|
|
281
|
+
];
|
|
282
|
+
}
|
|
283
|
+
});
|
|
284
|
+
});
|
|
285
|
+
return function(fileOrFolderRaw) {
|
|
286
|
+
return _ref.apply(this, arguments);
|
|
287
|
+
};
|
|
288
|
+
}()))
|
|
289
|
+
];
|
|
290
|
+
case 1:
|
|
291
|
+
_state.sent();
|
|
292
|
+
_state.label = 2;
|
|
293
|
+
case 2:
|
|
217
294
|
return [
|
|
218
295
|
2
|
|
219
296
|
];
|
|
220
297
|
}
|
|
221
298
|
});
|
|
222
299
|
});
|
|
223
|
-
return function
|
|
300
|
+
return function copyVerbatim(rawOptions) {
|
|
224
301
|
return _ref.apply(this, arguments);
|
|
225
302
|
};
|
|
226
303
|
}();
|
|
227
304
|
export var buildTypes = function() {
|
|
228
|
-
var _ref = _async_to_generator(function() {
|
|
305
|
+
var _ref = _async_to_generator(function(rawOptions) {
|
|
229
306
|
var options;
|
|
230
|
-
var _arguments = arguments;
|
|
231
307
|
return _ts_generator(this, function(_state) {
|
|
232
308
|
switch(_state.label){
|
|
233
309
|
case 0:
|
|
234
|
-
options =
|
|
310
|
+
options = merge({}, getDefaultOptions(), rawOptions);
|
|
235
311
|
return [
|
|
236
312
|
4,
|
|
237
313
|
validatePackageJson({
|
|
@@ -259,18 +335,17 @@ export var buildTypes = function() {
|
|
|
259
335
|
}
|
|
260
336
|
});
|
|
261
337
|
});
|
|
262
|
-
return function buildTypes() {
|
|
338
|
+
return function buildTypes(rawOptions) {
|
|
263
339
|
return _ref.apply(this, arguments);
|
|
264
340
|
};
|
|
265
341
|
}();
|
|
266
342
|
export var buildCjs = function() {
|
|
267
|
-
var _ref = _async_to_generator(function() {
|
|
343
|
+
var _ref = _async_to_generator(function(rawOptions) {
|
|
268
344
|
var options, _options_cwd, cwd, _options_destination, destination, cjsPath, targetPath;
|
|
269
|
-
var _arguments = arguments;
|
|
270
345
|
return _ts_generator(this, function(_state) {
|
|
271
346
|
switch(_state.label){
|
|
272
347
|
case 0:
|
|
273
|
-
options =
|
|
348
|
+
options = merge({}, getDefaultOptions(), rawOptions);
|
|
274
349
|
cwd = (_options_cwd = options.cwd) !== null && _options_cwd !== void 0 ? _options_cwd : process.cwd();
|
|
275
350
|
destination = (_options_destination = options.destination) !== null && _options_destination !== void 0 ? _options_destination : getDefaultOptions().destination;
|
|
276
351
|
cjsPath = path.resolve(destination, "cjs");
|
|
@@ -289,9 +364,9 @@ export var buildCjs = function() {
|
|
|
289
364
|
runCommand("pnpm", [
|
|
290
365
|
"swc",
|
|
291
366
|
"src",
|
|
292
|
-
"--strip-leading-paths",
|
|
293
367
|
"-C",
|
|
294
368
|
"module.type=commonjs",
|
|
369
|
+
"--strip-leading-paths",
|
|
295
370
|
"-d",
|
|
296
371
|
cjsPath
|
|
297
372
|
], {
|
|
@@ -319,18 +394,17 @@ export var buildCjs = function() {
|
|
|
319
394
|
}
|
|
320
395
|
});
|
|
321
396
|
});
|
|
322
|
-
return function buildCjs() {
|
|
397
|
+
return function buildCjs(rawOptions) {
|
|
323
398
|
return _ref.apply(this, arguments);
|
|
324
399
|
};
|
|
325
400
|
}();
|
|
326
401
|
export var makeBaseExports = function() {
|
|
327
|
-
var _ref = _async_to_generator(function() {
|
|
402
|
+
var _ref = _async_to_generator(function(rawOptions) {
|
|
328
403
|
var options, _options_cwd, cwd, exp, _tmp, baseMap;
|
|
329
|
-
var _arguments = arguments;
|
|
330
404
|
return _ts_generator(this, function(_state) {
|
|
331
405
|
switch(_state.label){
|
|
332
406
|
case 0:
|
|
333
|
-
options =
|
|
407
|
+
options = merge({}, getDefaultOptions(), rawOptions);
|
|
334
408
|
cwd = (_options_cwd = options.cwd) !== null && _options_cwd !== void 0 ? _options_cwd : process.cwd();
|
|
335
409
|
_tmp = options.exports;
|
|
336
410
|
if (_tmp) return [
|
|
@@ -376,7 +450,7 @@ export var makeBaseExports = function() {
|
|
|
376
450
|
}
|
|
377
451
|
});
|
|
378
452
|
});
|
|
379
|
-
return function makeBaseExports() {
|
|
453
|
+
return function makeBaseExports(rawOptions) {
|
|
380
454
|
return _ref.apply(this, arguments);
|
|
381
455
|
};
|
|
382
456
|
}();
|
|
@@ -606,11 +680,6 @@ var resolvePathWithExtension = function() {
|
|
|
606
680
|
2,
|
|
607
681
|
"".concat(targetFile, "/index.").concat(extension)
|
|
608
682
|
];
|
|
609
|
-
} else {
|
|
610
|
-
return [
|
|
611
|
-
2,
|
|
612
|
-
"".concat(targetFile, ".").concat(extension)
|
|
613
|
-
];
|
|
614
683
|
}
|
|
615
684
|
return [
|
|
616
685
|
3,
|
|
@@ -619,12 +688,25 @@ var resolvePathWithExtension = function() {
|
|
|
619
688
|
case 2:
|
|
620
689
|
e = _state.sent();
|
|
621
690
|
return [
|
|
622
|
-
|
|
623
|
-
|
|
691
|
+
3,
|
|
692
|
+
3
|
|
624
693
|
];
|
|
625
694
|
case 3:
|
|
695
|
+
if (targetFile.endsWith(extension)) {
|
|
696
|
+
return [
|
|
697
|
+
2,
|
|
698
|
+
targetFile
|
|
699
|
+
];
|
|
700
|
+
}
|
|
701
|
+
if (targetFile.endsWith(".js")) {
|
|
702
|
+
return [
|
|
703
|
+
2,
|
|
704
|
+
targetFile.replace(/\.js$/, ".".concat(extension))
|
|
705
|
+
];
|
|
706
|
+
}
|
|
626
707
|
return [
|
|
627
|
-
2
|
|
708
|
+
2,
|
|
709
|
+
"".concat(targetFile, ".").concat(extension)
|
|
628
710
|
];
|
|
629
711
|
}
|
|
630
712
|
});
|
|
@@ -677,13 +759,12 @@ var parseExportPath = function() {
|
|
|
677
759
|
};
|
|
678
760
|
}();
|
|
679
761
|
export var buildEsm = function() {
|
|
680
|
-
var _ref = _async_to_generator(function() {
|
|
762
|
+
var _ref = _async_to_generator(function(rawOptions) {
|
|
681
763
|
var options, _options_destination;
|
|
682
|
-
var _arguments = arguments;
|
|
683
764
|
return _ts_generator(this, function(_state) {
|
|
684
765
|
switch(_state.label){
|
|
685
766
|
case 0:
|
|
686
|
-
options =
|
|
767
|
+
options = merge({}, getDefaultOptions(), rawOptions);
|
|
687
768
|
return [
|
|
688
769
|
4,
|
|
689
770
|
runCommand("pnpm", [
|
|
@@ -704,7 +785,7 @@ export var buildEsm = function() {
|
|
|
704
785
|
}
|
|
705
786
|
});
|
|
706
787
|
});
|
|
707
|
-
return function buildEsm() {
|
|
788
|
+
return function buildEsm(rawOptions) {
|
|
708
789
|
return _ref.apply(this, arguments);
|
|
709
790
|
};
|
|
710
791
|
}();
|
package/dist/clean.js
CHANGED
|
@@ -195,9 +195,9 @@ export var clean = function() {
|
|
|
195
195
|
];
|
|
196
196
|
case 1:
|
|
197
197
|
_state.sent();
|
|
198
|
-
doNotCleanup = rawDoNotCleanup.map(function(f) {
|
|
198
|
+
doNotCleanup = (rawDoNotCleanup === null || rawDoNotCleanup === void 0 ? void 0 : rawDoNotCleanup.map(function(f) {
|
|
199
199
|
return "!".concat(f);
|
|
200
|
-
});
|
|
200
|
+
})) || [];
|
|
201
201
|
if (!all) return [
|
|
202
202
|
3,
|
|
203
203
|
3
|
package/dist/config.d.ts
CHANGED
|
@@ -7,13 +7,21 @@ interface ParseConfigOptions {
|
|
|
7
7
|
}
|
|
8
8
|
declare const ConfigValidation: z.ZodObject<{
|
|
9
9
|
doNotCleanup: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
10
|
+
noCJS: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
|
|
11
|
+
copyVerbatim: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
10
12
|
}, "strip", z.ZodTypeAny, {
|
|
11
13
|
doNotCleanup?: string[] | undefined;
|
|
14
|
+
noCJS?: boolean | undefined;
|
|
15
|
+
copyVerbatim?: string[] | undefined;
|
|
12
16
|
}, {
|
|
13
17
|
doNotCleanup?: string[] | undefined;
|
|
18
|
+
noCJS?: boolean | undefined;
|
|
19
|
+
copyVerbatim?: string[] | undefined;
|
|
14
20
|
}>;
|
|
15
21
|
export declare const parseConfig: (options?: ParseConfigOptions) => Promise<{
|
|
16
22
|
doNotCleanup?: string[] | undefined;
|
|
23
|
+
noCJS?: boolean | undefined;
|
|
24
|
+
copyVerbatim?: string[] | undefined;
|
|
17
25
|
}>;
|
|
18
26
|
export {};
|
|
19
27
|
//# sourceMappingURL=config.d.ts.map
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAErD,UAAU,kBAAkB;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,QAAA,MAAM,gBAAgB
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAErD,UAAU,kBAAkB;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,QAAA,MAAM,gBAAgB;;;;;;;;;;;;EAIV,CAAA;AAEZ,eAAO,MAAM,WAAW,aAAoB,kBAAkB;;;;EAiB7D,CAAA"}
|
package/dist/config.js
CHANGED
|
@@ -126,7 +126,9 @@ import fs from "node:fs/promises";
|
|
|
126
126
|
import path from "node:path";
|
|
127
127
|
import { z } from "zod";
|
|
128
128
|
var ConfigValidation = z.object({
|
|
129
|
-
doNotCleanup: z.array(z.string())
|
|
129
|
+
doNotCleanup: z.array(z.string()),
|
|
130
|
+
noCJS: z.boolean().optional(),
|
|
131
|
+
copyVerbatim: z.array(z.string())
|
|
130
132
|
}).partial();
|
|
131
133
|
export var parseConfig = function() {
|
|
132
134
|
var _ref = _async_to_generator(function(options) {
|
package/dist/utils.d.ts
CHANGED
|
@@ -14,6 +14,6 @@ export declare const ensureDir: (dir: string) => Promise<void>;
|
|
|
14
14
|
export declare const runCommand: (cmd: string, args: string[], options: SpawnOptions) => Promise<unknown>;
|
|
15
15
|
export declare const validatePackageJson: ({ command, cwd: providedCwd }: ValidatePackageOptions) => Promise<void>;
|
|
16
16
|
export declare const getBaseDir: () => string;
|
|
17
|
-
export declare const getDefaultOptions: () => Required<BaseOptions & Config
|
|
17
|
+
export declare const getDefaultOptions: () => Required<BaseOptions> & Config;
|
|
18
18
|
export {};
|
|
19
19
|
//# sourceMappingURL=utils.d.ts.map
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAS,MAAM,oBAAoB,CAAA;AAGxD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC,UAAU,sBAAuB,SAAQ,WAAW;IAClD,OAAO,EAAE,MAAM,OAAO,aAAa,CAAA;CACpC;AAED,QAAA,MAAM,aAAa;;;;CAIT,CAAA;AAEV,eAAO,MAAM,SAAS,QAAe,MAAM,kBAS1C,CAAA;AAED,eAAO,MAAM,UAAU,QAAe,MAAM,QAAQ,MAAM,EAAE,WAAW,YAAY,qBAelF,CAAA;AAED,eAAO,MAAM,mBAAmB,kCAAyC,sBAAsB,kBA2B9F,CAAA;AAED,eAAO,MAAM,UAAU,cAGtB,CAAA;AAED,eAAO,MAAM,iBAAiB,QAAO,SAAS,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAS,MAAM,oBAAoB,CAAA;AAGxD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC,UAAU,sBAAuB,SAAQ,WAAW;IAClD,OAAO,EAAE,MAAM,OAAO,aAAa,CAAA;CACpC;AAED,QAAA,MAAM,aAAa;;;;CAIT,CAAA;AAEV,eAAO,MAAM,SAAS,QAAe,MAAM,kBAS1C,CAAA;AAED,eAAO,MAAM,UAAU,QAAe,MAAM,QAAQ,MAAM,EAAE,WAAW,YAAY,qBAelF,CAAA;AAED,eAAO,MAAM,mBAAmB,kCAAyC,sBAAsB,kBA2B9F,CAAA;AAED,eAAO,MAAM,UAAU,cAGtB,CAAA;AAED,eAAO,MAAM,iBAAiB,QAAO,SAAS,WAAW,CAAC,GAAG,MAMzD,CAAA"}
|
package/dist/utils.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@driveflux/fab",
|
|
3
|
-
"version": "1.0.0
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"types": "./dist/index.d.ts",
|
|
6
6
|
"bin": {
|
|
@@ -14,14 +14,17 @@
|
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
16
|
"commander": "^12.0.0",
|
|
17
|
-
"fast-glob": "^3.3.2"
|
|
17
|
+
"fast-glob": "^3.3.2",
|
|
18
|
+
"lodash.merge": "^4.6.2"
|
|
18
19
|
},
|
|
19
20
|
"devDependencies": {
|
|
20
21
|
"@swc-node/register": "^1.8.0",
|
|
21
22
|
"@swc/cli": "^0.3.9",
|
|
22
23
|
"@swc/core": "^1.4.0",
|
|
24
|
+
"@types/lodash.merge": "^4.6.9",
|
|
23
25
|
"del": "^7.1.0",
|
|
24
26
|
"del-cli": "^5.1.0",
|
|
27
|
+
"esbuild": "^0.20.0",
|
|
25
28
|
"type-fest": "^4.10.2",
|
|
26
29
|
"zod": "^3.22.4"
|
|
27
30
|
},
|
package/src/build.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import fg from 'fast-glob'
|
|
2
|
+
import merge from 'lodash.merge'
|
|
2
3
|
import assert from 'node:assert'
|
|
3
4
|
import fs from 'node:fs/promises'
|
|
4
5
|
import path from 'node:path'
|
|
@@ -13,6 +14,7 @@ interface BuildOptions extends BaseOptions, MakeBaseExportsOptions, CleanOptions
|
|
|
13
14
|
noTypes?: boolean
|
|
14
15
|
noCJS?: boolean
|
|
15
16
|
noESM?: boolean
|
|
17
|
+
copyVerbatim?: string[]
|
|
16
18
|
}
|
|
17
19
|
|
|
18
20
|
interface MakeBaseExportsOptions extends BaseOptions {
|
|
@@ -31,7 +33,8 @@ interface ProcessEntryOptions extends BaseOptions {
|
|
|
31
33
|
noCJS?: boolean
|
|
32
34
|
}
|
|
33
35
|
|
|
34
|
-
export const build = async (
|
|
36
|
+
export const build = async (rawOptions?: BuildOptions) => {
|
|
37
|
+
const options = merge({}, getDefaultOptions(), rawOptions)
|
|
35
38
|
// Cleanup first
|
|
36
39
|
await clean(options)
|
|
37
40
|
|
|
@@ -48,25 +51,47 @@ export const build = async (options: BuildOptions = getDefaultOptions()) => {
|
|
|
48
51
|
promises.push(buildCjs(options))
|
|
49
52
|
}
|
|
50
53
|
|
|
54
|
+
promises.push(copyVerbatim(options))
|
|
55
|
+
|
|
51
56
|
// Build necessary files
|
|
52
57
|
await Promise.all(promises)
|
|
53
58
|
|
|
54
59
|
// Make exports for CJS
|
|
55
|
-
|
|
60
|
+
if(!options.noCJS) {
|
|
61
|
+
await makeBaseExports(options)
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export const copyVerbatim = async (rawOptions?: BuildOptions) => {
|
|
66
|
+
const options = merge({}, getDefaultOptions(), rawOptions)
|
|
67
|
+
if(options.copyVerbatim?.length) {
|
|
68
|
+
const cwd = options.cwd ?? process.cwd()
|
|
69
|
+
const destination = options.destination ?? getDefaultOptions().destination
|
|
70
|
+
await Promise.all(options.copyVerbatim.map(async (fileOrFolderRaw) => {
|
|
71
|
+
const fileOrFolder = `src/${fileOrFolderRaw.replace(/^(\/)*src/, '')}`
|
|
72
|
+
const targetPath = path.resolve(destination, fileOrFolder).replace('/src', '')
|
|
73
|
+
const targetPathCjs = path.resolve(destination, 'cjs', fileOrFolder).replace('/src', '')
|
|
74
|
+
await ensureDir(path.dirname(targetPath))
|
|
75
|
+
await fs.cp(path.resolve(cwd, fileOrFolder), targetPath, { recursive: true })
|
|
76
|
+
await fs.cp(path.resolve(cwd, fileOrFolder), targetPathCjs, { recursive: true })
|
|
77
|
+
}))
|
|
78
|
+
}
|
|
56
79
|
}
|
|
57
80
|
|
|
58
|
-
export const buildTypes = async (
|
|
81
|
+
export const buildTypes = async (rawOptions?: BaseOptions) => {
|
|
82
|
+
const options = merge({}, getDefaultOptions(), rawOptions)
|
|
59
83
|
await validatePackageJson({ command: 'tsc', cwd: options.cwd })
|
|
60
84
|
await runCommand('pnpm', ['tsc', '--emitDeclarationOnly', '--declarationMap'], { cwd: options.cwd })
|
|
61
85
|
}
|
|
62
86
|
|
|
63
|
-
export const buildCjs = async (
|
|
87
|
+
export const buildCjs = async (rawOptions?: BaseOptions) => {
|
|
88
|
+
const options = merge({}, getDefaultOptions(), rawOptions)
|
|
64
89
|
const cwd = options.cwd ?? process.cwd()
|
|
65
90
|
const destination = options.destination ?? getDefaultOptions().destination
|
|
66
91
|
const cjsPath = path.resolve(destination, 'cjs')
|
|
67
92
|
await validatePackageJson({ command: 'swc', cwd })
|
|
68
93
|
// We start by emitting the CJS files
|
|
69
|
-
await runCommand(`pnpm`, ['swc', 'src', '
|
|
94
|
+
await runCommand(`pnpm`, ['swc', 'src', '-C', 'module.type=commonjs', '--strip-leading-paths', '-d', cjsPath], { cwd })
|
|
70
95
|
const targetPath = path.resolve(cwd, cjsPath, 'package.json')
|
|
71
96
|
await ensureDir(path.dirname(targetPath))
|
|
72
97
|
await fs.writeFile(
|
|
@@ -77,7 +102,8 @@ export const buildCjs = async (options: BaseOptions = getDefaultOptions()) => {
|
|
|
77
102
|
)
|
|
78
103
|
}
|
|
79
104
|
|
|
80
|
-
export const makeBaseExports = async (
|
|
105
|
+
export const makeBaseExports = async (rawOptions?: MakeBaseExportsOptions) => {
|
|
106
|
+
const options = merge({}, getDefaultOptions(), rawOptions)
|
|
81
107
|
const cwd = options.cwd ?? process.cwd()
|
|
82
108
|
// Now, we need to read the exports from the package.json and create the cjs references
|
|
83
109
|
const exp = options.exports || (await parseExports(cwd))
|
|
@@ -239,12 +265,20 @@ const resolvePathWithExtension = async (targetFile: string, extension: string) =
|
|
|
239
265
|
try {
|
|
240
266
|
if((await fs.stat(targetFile)).isDirectory()) {
|
|
241
267
|
return `${targetFile}/index.${extension}`
|
|
242
|
-
} else {
|
|
243
|
-
return `${targetFile}.${extension}`
|
|
244
268
|
}
|
|
245
269
|
} catch(e) {
|
|
246
|
-
|
|
270
|
+
// Nothing to do here
|
|
247
271
|
}
|
|
272
|
+
|
|
273
|
+
if(targetFile.endsWith(extension)) {
|
|
274
|
+
return targetFile
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
if(targetFile.endsWith(`.js`)) {
|
|
278
|
+
return targetFile.replace(/\.js$/, `.${extension}`)
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
return `${targetFile}.${extension}`
|
|
248
282
|
}
|
|
249
283
|
|
|
250
284
|
const formatImportPath = (exportPath: string): string => {
|
|
@@ -264,7 +298,8 @@ const parseExportPath = async (exportPath: string, cwd = process.cwd()): Promise
|
|
|
264
298
|
return files.map((f) => path.relative(cwd, f))
|
|
265
299
|
}
|
|
266
300
|
|
|
267
|
-
export const buildEsm = async (
|
|
301
|
+
export const buildEsm = async (rawOptions?: BaseOptions) => {
|
|
302
|
+
const options = merge({}, getDefaultOptions(), rawOptions)
|
|
268
303
|
await runCommand(`pnpm`, ['swc', 'src', '--strip-leading-paths', '-d', options.destination ?? getDefaultOptions().destination], {
|
|
269
304
|
cwd: options.cwd
|
|
270
305
|
})
|
package/src/clean.ts
CHANGED
|
@@ -14,7 +14,7 @@ export const clean = async (rawOptions: CleanOptions = getDefaultOptions()) => {
|
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
await validatePackageJson({ command: 'del', cwd })
|
|
17
|
-
const doNotCleanup = rawDoNotCleanup
|
|
17
|
+
const doNotCleanup = rawDoNotCleanup?.map((f) => `!${f}`) || []
|
|
18
18
|
|
|
19
19
|
if (all) {
|
|
20
20
|
await runCommand('pnpm', ['del', '**/*.cjs', '**/*.d.ts', 'tsconfig.tsbuildinfo', ...doNotCleanup], { cwd })
|
package/src/config.ts
CHANGED
|
@@ -12,6 +12,8 @@ interface ParseConfigOptions {
|
|
|
12
12
|
|
|
13
13
|
const ConfigValidation = z.object({
|
|
14
14
|
doNotCleanup: z.array(z.string()),
|
|
15
|
+
noCJS: z.boolean().optional(),
|
|
16
|
+
copyVerbatim: z.array(z.string()),
|
|
15
17
|
}).partial()
|
|
16
18
|
|
|
17
19
|
export const parseConfig = async (options?: ParseConfigOptions) => {
|
package/src/utils.ts
CHANGED
|
@@ -76,9 +76,10 @@ export const getBaseDir = () => {
|
|
|
76
76
|
return path.resolve(path.dirname(decodeURIComponent(new URL(import.meta.url).pathname)), '..')
|
|
77
77
|
}
|
|
78
78
|
|
|
79
|
-
export const getDefaultOptions = (): Required<BaseOptions & Config
|
|
79
|
+
export const getDefaultOptions = (): Required<BaseOptions> & Config =>
|
|
80
80
|
({
|
|
81
81
|
cwd: process.cwd(),
|
|
82
82
|
destination: 'dist',
|
|
83
|
-
doNotCleanup: ['src', 'bin']
|
|
84
|
-
|
|
83
|
+
doNotCleanup: ['src', 'bin'],
|
|
84
|
+
noCJS: false,
|
|
85
|
+
})
|