pkgbld 1.20.0 → 1.21.1

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/README.md CHANGED
@@ -170,6 +170,14 @@ pkgbld --umd-pattern=[name].js
170
170
 
171
171
  Defines the pattern for umd output files. Default is `[name].umd.js`.
172
172
 
173
+ ### format-package-json
174
+
175
+ ```
176
+ pkgbld --format-package-json
177
+ ```
178
+
179
+ Formats package.json file.
180
+
173
181
  ## Plugin API
174
182
 
175
183
  `pkgbld` reads all installed packages named `pkgbld-plugin-*` and assumes they are plugins
package/dist/index.js CHANGED
@@ -56,7 +56,8 @@ const cliFlagsDefaults = {
56
56
  noUpdatePackageJson: false,
57
57
  commonjsPattern: '[name].cjs',
58
58
  esPattern: '[name].mjs',
59
- umdPattern: '[name].umd.js'
59
+ umdPattern: '[name].umd.js',
60
+ formatPackageJson: false
60
61
  };
61
62
  const cliFlags = {
62
63
  umd: {
@@ -132,8 +133,72 @@ const cliFlags = {
132
133
  type: String,
133
134
  description: 'UMD output file name pattern',
134
135
  default: cliFlagsDefaults.umdPattern
136
+ },
137
+ formatPackageJson: {
138
+ type: Boolean,
139
+ description: 'Format package.json',
140
+ default: cliFlagsDefaults.formatPackageJson
135
141
  }
136
142
  };
143
+ const packageJsonFieldsOrder = new Set([
144
+ 'private',
145
+ 'type',
146
+ 'version',
147
+ 'name',
148
+ 'description',
149
+ 'license',
150
+ 'author',
151
+ 'contributors',
152
+ 'funding',
153
+ 'bin',
154
+ 'main',
155
+ 'browser',
156
+ 'unpkg',
157
+ 'module',
158
+ 'exports',
159
+ 'imports',
160
+ 'types',
161
+ 'typings',
162
+ 'files',
163
+ 'packageManager',
164
+ 'sideEffects',
165
+ 'engines',
166
+ 'os',
167
+ 'cpu',
168
+ 'man',
169
+ 'directories',
170
+ 'repository',
171
+ 'bugs',
172
+ 'homepage',
173
+ 'readme',
174
+ 'keywords',
175
+ 'scripts',
176
+ 'config',
177
+ 'dependencies',
178
+ 'devDependencies',
179
+ 'peerDependencies',
180
+ 'peerDependenciesMeta',
181
+ 'bundleDependencies',
182
+ 'bundledDependencies',
183
+ 'optionalDependencies',
184
+ 'overrides',
185
+ 'publishConfig',
186
+ 'workspaces'
187
+ ]);
188
+ function processPackageJson(pkg, needTreatment, treatKey) {
189
+ const newPkg = {};
190
+ for (const key of packageJsonFieldsOrder) {
191
+ if (needTreatment(key)) {
192
+ newPkg[key] = treatKey(key);
193
+ }
194
+ }
195
+ for (const key in pkg) {
196
+ if (!packageJsonFieldsOrder.has(key)) {
197
+ newPkg[key] = pkg[key];
198
+ }
199
+ }
200
+ return newPkg;
201
+ }
137
202
  function toFormattedJson(json) {
138
203
  return JSON.stringify(json, null, 2) + '\n';
139
204
  }
@@ -161,7 +226,8 @@ function getCliOptions(plugins, pkg) {
161
226
  noUpdatePackageJson: flags.noUpdatePackageJson,
162
227
  commonjsPattern: flags.commonjsPattern,
163
228
  esPattern: flags.esmPattern,
164
- umdPattern: flags.umdPattern
229
+ umdPattern: flags.umdPattern,
230
+ formatPackageJson: flags.formatPackageJson
165
231
  };
166
232
  for (const plugin of plugins) {
167
233
  plugin.options?.(flags, options);
@@ -389,6 +455,9 @@ function getTimeDiff(starting) {
389
455
  return `${now - starting}ms`;
390
456
  }
391
457
  const areSetsEqual = (a, b) => a.size === b.size ? [...a].every(value => b.has(value)) : false;
458
+ function formatPackageJson(pkg) {
459
+ return processPackageJson(pkg, key => key in pkg, key => pkg[key]);
460
+ }
392
461
 
393
462
  async function getRollupConfigs([provider, plugins$1], inputs, config, helpers, externalPlugins) {
394
463
  const factoryInProgress = [];
@@ -677,7 +746,7 @@ async function writeJson(path, json) {
677
746
  await fs.writeFile(path, toFormattedJson(json));
678
747
  }
679
748
 
680
- var version = "1.20.0";
749
+ var version = "1.21.1";
681
750
  var name = "pkgbld";
682
751
  var license = "MIT";
683
752
  var author = "Konstantin Shutkin";
@@ -712,7 +781,7 @@ var dependencies = {
712
781
  "@niceties/logger": "^1.1.10",
713
782
  "@niceties/draftlog-appender": "^1.3.0",
714
783
  lodash: "^4.17.21",
715
- rollup: "^3.20.2",
784
+ rollup: "^4.0.0",
716
785
  "rollup-plugin-typescript2": "^0.36.0",
717
786
  "rollup-plugin-preprocess": "^0.0.4",
718
787
  "@rollup/plugin-commonjs": "^25.0.0",
@@ -905,7 +974,10 @@ async function execute() {
905
974
  const mainLogger = logger.createLogger();
906
975
  mainLogger.update('preparing..');
907
976
  try {
908
- const [pkgPath, pkg] = await getJson('package.json');
977
+ let pkg;
978
+ let pkgPath;
979
+ // eslint-disable-next-line prefer-const
980
+ [pkgPath, pkg] = await getJson('package.json');
909
981
  const plugins = await loadPlugins(pkg);
910
982
  mainLogger.update('');
911
983
  process.stdout.moveCursor?.(0, -1);
@@ -914,6 +986,9 @@ async function execute() {
914
986
  mainLogger.update('preparing...');
915
987
  checkTsConfig(options, mainLogger, plugins);
916
988
  const inputs = processPackage(pkg, options, plugins);
989
+ if (options.formatPackageJson) {
990
+ pkg = formatPackageJson(pkg);
991
+ }
917
992
  const helpers = getHelpers(pkg.name);
918
993
  const preimportMap = preimport();
919
994
  const provider = options.eject ? await createEjectProvider(preimportMap) : createProvider(preimportMap);
@@ -16,4 +16,5 @@ export declare function getCliOptions(plugins: Partial<PkgbldPlugin>[], pkg: Pac
16
16
  commonjsPattern: string;
17
17
  esPattern: string;
18
18
  umdPattern: string;
19
+ formatPackageJson: boolean;
19
20
  };
@@ -9,15 +9,14 @@ export declare function getRollupConfigs([provider, plugins]: [Provider, PkgbldR
9
9
  chunkFileNames?: string | ((chunkInfo: import("rollup").PreRenderedChunk) => string) | undefined;
10
10
  compact?: boolean | undefined;
11
11
  dir: string;
12
- dynamicImportFunction?: string | undefined;
13
12
  dynamicImportInCjs?: boolean | undefined;
14
13
  entryFileNames: string | ((chunkInfo: import("rollup").PreRenderedChunk) => string);
15
14
  esModule?: boolean | "if-default-prop" | undefined;
16
- experimentalDeepDynamicChunkOptimization?: boolean | undefined;
17
15
  experimentalMinChunkSize?: number | undefined;
18
16
  exports?: "default" | "named" | "none" | "auto" | undefined;
19
17
  extend?: boolean | undefined;
20
18
  externalImportAssertions?: boolean | undefined;
19
+ externalImportAttributes?: boolean | undefined;
21
20
  externalLiveBindings?: boolean | undefined;
22
21
  file?: string | undefined;
23
22
  footer?: string | import("rollup").AddonFunction | undefined;
@@ -33,12 +32,10 @@ export declare function getRollupConfigs([provider, plugins]: [Provider, PkgbldR
33
32
  manualChunks?: import("rollup").ManualChunksOption | undefined;
34
33
  minifyInternalExports?: boolean | undefined;
35
34
  name?: string | undefined;
36
- namespaceToStringTag?: boolean | undefined;
37
35
  noConflict?: boolean | undefined;
38
36
  outro?: string | import("rollup").AddonFunction | undefined;
39
37
  paths?: import("rollup").OptionsPaths | undefined;
40
38
  plugins: false | import("rollup").OutputPlugin | import("rollup").OutputPluginOption[] | Promise<false | import("rollup").OutputPlugin | import("rollup").NullValue | import("rollup").OutputPluginOption[]> | null;
41
- preferConst?: boolean | undefined;
42
39
  preserveModules?: boolean | undefined;
43
40
  preserveModulesRoot?: string | undefined;
44
41
  sanitizeFileName?: boolean | ((fileName: string) => string) | undefined;
@@ -46,11 +43,12 @@ export declare function getRollupConfigs([provider, plugins]: [Provider, PkgbldR
46
43
  sourcemapBaseUrl?: string | undefined;
47
44
  sourcemapExcludeSources?: boolean | undefined;
48
45
  sourcemapFile?: string | undefined;
46
+ sourcemapFileNames?: string | ((chunkInfo: import("rollup").PreRenderedChunk) => string) | undefined;
49
47
  sourcemapIgnoreList?: boolean | import("rollup").SourcemapIgnoreListOption | undefined;
50
48
  sourcemapPathTransform?: import("rollup").SourcemapPathTransformOption | undefined;
51
49
  strict?: boolean | undefined;
52
50
  systemNullSetters?: boolean | undefined;
53
51
  validate?: boolean | undefined;
54
52
  }[];
55
- plugins: import("rollup").Plugin[];
53
+ plugins: import("rollup").Plugin<any>[];
56
54
  }[]>;
@@ -1,4 +1,5 @@
1
1
  import { OutputOptions } from 'rollup';
2
+ import { PackageJson } from './types';
2
3
  export declare function getHelpers(pkgName: string): {
3
4
  getGlobalName: (anInput: string) => string;
4
5
  getExternalGlobalName: (id: string) => string;
@@ -8,3 +9,4 @@ export declare function formatInput(input: string[] | string): string;
8
9
  export declare function formatOutput(output: OutputOptions | OutputOptions[] | undefined, field: 'dir' | 'format'): string;
9
10
  export declare function getTimeDiff(starting: number): string;
10
11
  export declare const areSetsEqual: <T>(a: Set<T>, b: Set<T>) => boolean;
12
+ export declare function formatPackageJson(pkg: PackageJson): PackageJson;
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.20.0",
2
+ "version": "1.21.1",
3
3
  "name": "pkgbld",
4
4
  "license": "MIT",
5
5
  "author": "Konstantin Shutkin",
@@ -30,7 +30,7 @@
30
30
  "@niceties/logger": "^1.1.10",
31
31
  "@niceties/draftlog-appender": "^1.3.0",
32
32
  "lodash": "^4.17.21",
33
- "rollup": "^3.20.2",
33
+ "rollup": "^4.0.0",
34
34
  "rollup-plugin-typescript2": "^0.36.0",
35
35
  "rollup-plugin-preprocess": "^0.0.4",
36
36
  "@rollup/plugin-commonjs": "^25.0.0",
@@ -50,7 +50,7 @@
50
50
  "devDependencies": {
51
51
  "@types/lodash": "^4.14.192",
52
52
  "@total-typescript/ts-reset": "^0.5.1",
53
- "options": "0.0.0"
53
+ "options": "0.0.1"
54
54
  },
55
55
  "peerDependencies": {
56
56
  "typescript": "^5.2.2"