@jsenv/core 39.4.1 → 39.5.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.
@@ -22116,6 +22116,11 @@ const defaultRuntimeCompat = {
22116
22116
  safari: "11.3",
22117
22117
  samsung: "9.2",
22118
22118
  };
22119
+ const logsDefault = {
22120
+ level: "info",
22121
+ disabled: false,
22122
+ animation: true,
22123
+ };
22119
22124
 
22120
22125
  /**
22121
22126
  * Generate an optimized version of source files into a directory
@@ -22154,11 +22159,7 @@ const defaultRuntimeCompat = {
22154
22159
  const build = async ({
22155
22160
  signal = new AbortController().signal,
22156
22161
  handleSIGINT = true,
22157
- logLevel = "info",
22158
- logs = {
22159
- disabled: false,
22160
- animation: true,
22161
- },
22162
+ logs = logsDefault,
22162
22163
  sourceDirectoryUrl,
22163
22164
  buildDirectoryUrl,
22164
22165
  entryPoints = {},
@@ -22208,6 +22209,21 @@ const build = async ({
22208
22209
  `${unexpectedParamNames.join(",")}: there is no such param`,
22209
22210
  );
22210
22211
  }
22212
+ // logs
22213
+ {
22214
+ if (typeof logs !== "object") {
22215
+ throw new TypeError(`logs must be an object, got ${logs}`);
22216
+ }
22217
+ const unexpectedLogsKeys = Object.keys(logs).filter(
22218
+ (key) => !Object.hasOwn(logsDefault, key),
22219
+ );
22220
+ if (unexpectedLogsKeys.length > 0) {
22221
+ throw new TypeError(
22222
+ `${unexpectedLogsKeys.join(",")}: no such key on logs`,
22223
+ );
22224
+ }
22225
+ logs = { ...logsDefault, ...logs };
22226
+ }
22211
22227
  sourceDirectoryUrl = assertAndNormalizeDirectoryUrl(
22212
22228
  sourceDirectoryUrl,
22213
22229
  "sourceDirectoryUrl",
@@ -22336,7 +22352,7 @@ build ${entryPointKeys.length} entry points`);
22336
22352
  };
22337
22353
  const rawKitchen = createKitchen({
22338
22354
  signal,
22339
- logLevel,
22355
+ logLevel: logs.level,
22340
22356
  rootDirectoryUrl: sourceDirectoryUrl,
22341
22357
  ignore,
22342
22358
  // during first pass (craft) we keep "ignore:" when a reference is ignored
@@ -22416,7 +22432,7 @@ build ${entryPointKeys.length} entry points`);
22416
22432
 
22417
22433
  const finalKitchen = createKitchen({
22418
22434
  name: "shape",
22419
- logLevel,
22435
+ logLevel: logs.level,
22420
22436
  rootDirectoryUrl: sourceDirectoryUrl,
22421
22437
  // here most plugins are not there
22422
22438
  // - no external plugin
@@ -22741,7 +22757,7 @@ build ${entryPointKeys.length} entry points`);
22741
22757
  try {
22742
22758
  const result = await runBuild({
22743
22759
  signal: operation.signal,
22744
- logLevel,
22760
+ logLevel: logs.level,
22745
22761
  });
22746
22762
  return result;
22747
22763
  } finally {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jsenv/core",
3
- "version": "39.4.1",
3
+ "version": "39.5.0",
4
4
  "description": "Tool to develop, test and build js projects",
5
5
  "license": "MIT",
6
6
  "author": {
@@ -54,6 +54,11 @@ export const defaultRuntimeCompat = {
54
54
  safari: "11.3",
55
55
  samsung: "9.2",
56
56
  };
57
+ const logsDefault = {
58
+ level: "info",
59
+ disabled: false,
60
+ animation: true,
61
+ };
57
62
 
58
63
  /**
59
64
  * Generate an optimized version of source files into a directory
@@ -92,11 +97,7 @@ export const defaultRuntimeCompat = {
92
97
  export const build = async ({
93
98
  signal = new AbortController().signal,
94
99
  handleSIGINT = true,
95
- logLevel = "info",
96
- logs = {
97
- disabled: false,
98
- animation: true,
99
- },
100
+ logs = logsDefault,
100
101
  sourceDirectoryUrl,
101
102
  buildDirectoryUrl,
102
103
  entryPoints = {},
@@ -146,6 +147,21 @@ export const build = async ({
146
147
  `${unexpectedParamNames.join(",")}: there is no such param`,
147
148
  );
148
149
  }
150
+ // logs
151
+ {
152
+ if (typeof logs !== "object") {
153
+ throw new TypeError(`logs must be an object, got ${logs}`);
154
+ }
155
+ const unexpectedLogsKeys = Object.keys(logs).filter(
156
+ (key) => !Object.hasOwn(logsDefault, key),
157
+ );
158
+ if (unexpectedLogsKeys.length > 0) {
159
+ throw new TypeError(
160
+ `${unexpectedLogsKeys.join(",")}: no such key on logs`,
161
+ );
162
+ }
163
+ logs = { ...logsDefault, ...logs };
164
+ }
149
165
  sourceDirectoryUrl = assertAndNormalizeDirectoryUrl(
150
166
  sourceDirectoryUrl,
151
167
  "sourceDirectoryUrl",
@@ -274,7 +290,7 @@ build ${entryPointKeys.length} entry points`);
274
290
  };
275
291
  const rawKitchen = createKitchen({
276
292
  signal,
277
- logLevel,
293
+ logLevel: logs.level,
278
294
  rootDirectoryUrl: sourceDirectoryUrl,
279
295
  ignore,
280
296
  // during first pass (craft) we keep "ignore:" when a reference is ignored
@@ -354,7 +370,7 @@ build ${entryPointKeys.length} entry points`);
354
370
 
355
371
  const finalKitchen = createKitchen({
356
372
  name: "shape",
357
- logLevel,
373
+ logLevel: logs.level,
358
374
  rootDirectoryUrl: sourceDirectoryUrl,
359
375
  // here most plugins are not there
360
376
  // - no external plugin
@@ -681,7 +697,7 @@ build ${entryPointKeys.length} entry points`);
681
697
  try {
682
698
  const result = await runBuild({
683
699
  signal: operation.signal,
684
- logLevel,
700
+ logLevel: logs.level,
685
701
  });
686
702
  return result;
687
703
  } finally {