rollup-plugin-stats 1.0.0 → 1.1.0-beta.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/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  [![](https://img.shields.io/npm/v/rollup-plugin-stats.svg)](https://www.npmjs.com/package/rollup-plugin-stats)
4
4
  ![](https://img.shields.io/node/v/rollup-plugin-stats.svg)
5
5
  [![Socket Badge](https://socket.dev/api/badge/npm/package/rollup-plugin-stats)](https://socket.dev/npm/package/rollup-plugin-stats)
6
- [![CI](https://github.com/vio/rollup-plugin-stats/actions/workflows/main.yml/badge.svg)](https://github.com/vio/rollup-plugin-stats/actions/workflows/main.yml)
6
+ [![ci](https://github.com/vio/rollup-plugin-stats/actions/workflows/ci.yml/badge.svg)](https://github.com/vio/rollup-plugin-stats/actions/workflows/ci.yml)
7
7
 
8
8
  Output Rollup stats JSON file
9
9
 
@@ -50,3 +50,5 @@ module.exports = {
50
50
  - `fileName` - the JSON filename relative to the build folder, default: `stats.json`
51
51
  - `stats`
52
52
  - `source` - output asset/chunk/module source (default `false`)
53
+ - `excludeAssets` - exclude matching assets: `string | RegExp | ((filepath: string) => boolean) | Array<string | RegExp | ((filepath: string) => boolean)>`
54
+ - `excludeModules` - exclude matching modules: `string | RegExp | ((filepath: string) => boolean) | Array<string | RegExp | ((filepath: string) => boolean)>`
package/dist/extract.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { OutputAsset, OutputBundle, OutputChunk, RenderedModule } from 'rollup';
2
+ import { type ExcludeFilepathPatterns } from './utils/check-exclude-filepath';
2
3
  export type AssetStats = Omit<OutputAsset, 'source'> & {
3
4
  source?: OutputAsset['source'];
4
5
  };
@@ -16,5 +17,13 @@ export type StatsOptions = {
16
17
  * @default false
17
18
  */
18
19
  source?: boolean;
20
+ /**
21
+ * Exclude matching assets
22
+ */
23
+ excludeAssets?: ExcludeFilepathPatterns;
24
+ /**
25
+ * Exclude matching modules
26
+ */
27
+ excludeModules?: ExcludeFilepathPatterns;
19
28
  };
20
29
  export default function extractRollupStats(bundle: OutputBundle, options?: StatsOptions): Stats;
package/dist/index.cjs CHANGED
@@ -2,34 +2,71 @@
2
2
 
3
3
  var omit = require('lodash/omit.js');
4
4
 
5
+ /**
6
+ * Check if filepath should be excluded based on patterns
7
+ */
8
+ function checkExcludeFilepath(filepath, patterns) {
9
+ if (!patterns) {
10
+ return false;
11
+ }
12
+ if (Array.isArray(patterns)) {
13
+ let res = false;
14
+ for (let i = 0; i <= patterns.length - 1 && res === false; i++) {
15
+ res = checkExcludeFilepath(filepath, patterns[i]);
16
+ }
17
+ return res;
18
+ }
19
+ if (typeof patterns === 'function') {
20
+ return patterns(filepath);
21
+ }
22
+ if (typeof patterns === 'string') {
23
+ return Boolean(filepath.match(patterns));
24
+ }
25
+ if ('test' in patterns) {
26
+ return patterns.test(filepath);
27
+ }
28
+ return false;
29
+ }
30
+
5
31
  function extractRollupStats(bundle, options = {}) {
6
- const { source = false } = options;
32
+ const { source = false, excludeAssets, excludeModules } = options;
7
33
  const output = {};
8
- Object.entries(bundle).forEach(([key, entry]) => {
9
- if (entry.type === "asset") {
10
- let entryAsset = structuredClone(entry);
11
- // Skip asset source if options.source is false
34
+ Object.entries(bundle).forEach(([bundleEntryFilepath, bundleEntryStats]) => {
35
+ // Skip extraction if the entry filepath matches the exclude assets pattern
36
+ if (checkExcludeFilepath(bundleEntryFilepath, excludeAssets)) {
37
+ return;
38
+ }
39
+ if (bundleEntryStats.type === "asset") {
40
+ let assetStats = structuredClone(bundleEntryStats);
41
+ // Skip asset source if options source is false
12
42
  if (!source) {
13
- entryAsset = omit(entryAsset, 'source');
43
+ assetStats = omit(assetStats, 'source');
14
44
  }
15
- output[key] = entryAsset;
45
+ output[bundleEntryFilepath] = assetStats;
16
46
  return;
17
47
  }
18
- if (entry.type === "chunk") {
19
- let entryChunk = structuredClone(entry);
20
- // Skip chunk code if options.source is false
48
+ if (bundleEntryStats.type === "chunk") {
49
+ let chunkStats = structuredClone(bundleEntryStats);
50
+ // Skip chunk source if options source is false
21
51
  if (!source) {
22
- entryChunk = omit(entryChunk, 'code');
52
+ chunkStats = omit(chunkStats, 'code');
23
53
  }
24
- Object.entries(entryChunk.modules).forEach(([moduleKey, moduleEntry]) => {
25
- let entryChunkModule = structuredClone(moduleEntry);
26
- // Skip module source if source is false
54
+ // Extract chunk modules stats
55
+ const chunkModulesStats = {};
56
+ Object.entries(chunkStats.modules).forEach(([bundleModuleFilepath, bundleModuleStats]) => {
57
+ // Skip module extraction if the filepath matches the exclude modules pattern
58
+ if (checkExcludeFilepath(bundleModuleFilepath, excludeModules)) {
59
+ return;
60
+ }
61
+ let moduleStats = structuredClone(bundleModuleStats);
62
+ // Skip module source if options source is false
27
63
  if (!source) {
28
- entryChunkModule = omit(entryChunkModule, 'code');
64
+ moduleStats = omit(moduleStats, 'code');
29
65
  }
30
- entryChunk.modules[moduleKey] = entryChunkModule;
66
+ chunkModulesStats[bundleModuleFilepath] = moduleStats;
31
67
  });
32
- output[key] = entryChunk;
68
+ chunkStats.modules = chunkModulesStats;
69
+ output[bundleEntryFilepath] = chunkStats;
33
70
  return;
34
71
  }
35
72
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/extract.ts","../src/index.ts"],"sourcesContent":[null,null],"names":[],"mappings":";;;;AA0BwB,SAAA,kBAAkB,CAAC,MAAoB,EAAE,UAAwB,EAAE,EAAA;AACzF,IAAA,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,OAAO;IAElC,MAAM,MAAM,GAAU,EAAE;AAExB,IAAA,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAI;AAC9C,QAAA,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;AAC1B,YAAA,IAAI,UAAU,GAAG,eAAe,CAAC,KAAK,CAAe;;YAGrD,IAAI,CAAC,MAAM,EAAE;AACX,gBAAA,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC;;AAGzC,YAAA,MAAM,CAAC,GAAG,CAAC,GAAG,UAAU;YAExB;;AAGF,QAAA,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;AAC1B,YAAA,IAAI,UAAU,GAAG,eAAe,CAAC,KAAK,CAAe;;YAGrD,IAAI,CAAC,MAAM,EAAE;AACX,gBAAA,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC;;AAGvC,YAAA,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,KAAI;AACtE,gBAAA,IAAI,gBAAgB,GAAG,eAAe,CAAC,WAAW,CAAgB;;gBAGlE,IAAI,CAAC,MAAM,EAAE;AACX,oBAAA,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC;;AAGnD,gBAAA,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,gBAAgB;AAClD,aAAC,CAAC;AAEF,YAAA,MAAM,CAAC,GAAG,CAAC,GAAG,UAAU;YAExB;;AAEJ,KAAC,CAAC;AAEF,IAAA,OAAO,MAAM;AACf;;ACnEA,MAAM,WAAW,GAAG,aAAa;AACjC,MAAM,iBAAiB,GAAG,YAAY;AAEtC,SAAS,mBAAmB,CAAC,KAAc,EAAA;IACzC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AACvC;AAWA,SAAS,WAAW,CAAC,OAAA,GAA8B,EAAE,EAAA;AACnD,IAAA,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,OAAO;IAEnC,OAAO;AACL,QAAA,IAAI,EAAE,WAAW;QACjB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAA;YACtB,IAAI,CAAC,QAAQ,CAAC;AACZ,gBAAA,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,QAAQ,IAAI,iBAAiB;gBACvC,MAAM,EAAE,mBAAmB,CAAC,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC/D,aAAA,CAAC;SACH;KACe;AACpB;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../src/utils/check-exclude-filepath.ts","../src/extract.ts","../src/index.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":"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"}
package/dist/index.mjs CHANGED
@@ -1,33 +1,70 @@
1
1
  import omit from 'lodash/omit.js';
2
2
 
3
+ /**
4
+ * Check if filepath should be excluded based on patterns
5
+ */
6
+ function checkExcludeFilepath(filepath, patterns) {
7
+ if (!patterns) {
8
+ return false;
9
+ }
10
+ if (Array.isArray(patterns)) {
11
+ let res = false;
12
+ for (let i = 0; i <= patterns.length - 1 && res === false; i++) {
13
+ res = checkExcludeFilepath(filepath, patterns[i]);
14
+ }
15
+ return res;
16
+ }
17
+ if (typeof patterns === 'function') {
18
+ return patterns(filepath);
19
+ }
20
+ if (typeof patterns === 'string') {
21
+ return Boolean(filepath.match(patterns));
22
+ }
23
+ if ('test' in patterns) {
24
+ return patterns.test(filepath);
25
+ }
26
+ return false;
27
+ }
28
+
3
29
  function extractRollupStats(bundle, options = {}) {
4
- const { source = false } = options;
30
+ const { source = false, excludeAssets, excludeModules } = options;
5
31
  const output = {};
6
- Object.entries(bundle).forEach(([key, entry]) => {
7
- if (entry.type === "asset") {
8
- let entryAsset = structuredClone(entry);
9
- // Skip asset source if options.source is false
32
+ Object.entries(bundle).forEach(([bundleEntryFilepath, bundleEntryStats]) => {
33
+ // Skip extraction if the entry filepath matches the exclude assets pattern
34
+ if (checkExcludeFilepath(bundleEntryFilepath, excludeAssets)) {
35
+ return;
36
+ }
37
+ if (bundleEntryStats.type === "asset") {
38
+ let assetStats = structuredClone(bundleEntryStats);
39
+ // Skip asset source if options source is false
10
40
  if (!source) {
11
- entryAsset = omit(entryAsset, 'source');
41
+ assetStats = omit(assetStats, 'source');
12
42
  }
13
- output[key] = entryAsset;
43
+ output[bundleEntryFilepath] = assetStats;
14
44
  return;
15
45
  }
16
- if (entry.type === "chunk") {
17
- let entryChunk = structuredClone(entry);
18
- // Skip chunk code if options.source is false
46
+ if (bundleEntryStats.type === "chunk") {
47
+ let chunkStats = structuredClone(bundleEntryStats);
48
+ // Skip chunk source if options source is false
19
49
  if (!source) {
20
- entryChunk = omit(entryChunk, 'code');
50
+ chunkStats = omit(chunkStats, 'code');
21
51
  }
22
- Object.entries(entryChunk.modules).forEach(([moduleKey, moduleEntry]) => {
23
- let entryChunkModule = structuredClone(moduleEntry);
24
- // Skip module source if source is false
52
+ // Extract chunk modules stats
53
+ const chunkModulesStats = {};
54
+ Object.entries(chunkStats.modules).forEach(([bundleModuleFilepath, bundleModuleStats]) => {
55
+ // Skip module extraction if the filepath matches the exclude modules pattern
56
+ if (checkExcludeFilepath(bundleModuleFilepath, excludeModules)) {
57
+ return;
58
+ }
59
+ let moduleStats = structuredClone(bundleModuleStats);
60
+ // Skip module source if options source is false
25
61
  if (!source) {
26
- entryChunkModule = omit(entryChunkModule, 'code');
62
+ moduleStats = omit(moduleStats, 'code');
27
63
  }
28
- entryChunk.modules[moduleKey] = entryChunkModule;
64
+ chunkModulesStats[bundleModuleFilepath] = moduleStats;
29
65
  });
30
- output[key] = entryChunk;
66
+ chunkStats.modules = chunkModulesStats;
67
+ output[bundleEntryFilepath] = chunkStats;
31
68
  return;
32
69
  }
33
70
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../src/extract.ts","../src/index.ts"],"sourcesContent":[null,null],"names":[],"mappings":";;AA0BwB,SAAA,kBAAkB,CAAC,MAAoB,EAAE,UAAwB,EAAE,EAAA;AACzF,IAAA,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,OAAO;IAElC,MAAM,MAAM,GAAU,EAAE;AAExB,IAAA,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAI;AAC9C,QAAA,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;AAC1B,YAAA,IAAI,UAAU,GAAG,eAAe,CAAC,KAAK,CAAe;;YAGrD,IAAI,CAAC,MAAM,EAAE;AACX,gBAAA,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC;;AAGzC,YAAA,MAAM,CAAC,GAAG,CAAC,GAAG,UAAU;YAExB;;AAGF,QAAA,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;AAC1B,YAAA,IAAI,UAAU,GAAG,eAAe,CAAC,KAAK,CAAe;;YAGrD,IAAI,CAAC,MAAM,EAAE;AACX,gBAAA,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC;;AAGvC,YAAA,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,KAAI;AACtE,gBAAA,IAAI,gBAAgB,GAAG,eAAe,CAAC,WAAW,CAAgB;;gBAGlE,IAAI,CAAC,MAAM,EAAE;AACX,oBAAA,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC;;AAGnD,gBAAA,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,gBAAgB;AAClD,aAAC,CAAC;AAEF,YAAA,MAAM,CAAC,GAAG,CAAC,GAAG,UAAU;YAExB;;AAEJ,KAAC,CAAC;AAEF,IAAA,OAAO,MAAM;AACf;;ACnEA,MAAM,WAAW,GAAG,aAAa;AACjC,MAAM,iBAAiB,GAAG,YAAY;AAEtC,SAAS,mBAAmB,CAAC,KAAc,EAAA;IACzC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AACvC;AAWA,SAAS,WAAW,CAAC,OAAA,GAA8B,EAAE,EAAA;AACnD,IAAA,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,OAAO;IAEnC,OAAO;AACL,QAAA,IAAI,EAAE,WAAW;QACjB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAA;YACtB,IAAI,CAAC,QAAQ,CAAC;AACZ,gBAAA,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,QAAQ,IAAI,iBAAiB;gBACvC,MAAM,EAAE,mBAAmB,CAAC,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC/D,aAAA,CAAC;SACH;KACe;AACpB;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../src/utils/check-exclude-filepath.ts","../src/extract.ts","../src/index.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ type ExcludeFilepathParam = string | RegExp | ((filepath: string) => boolean);
2
+ export type ExcludeFilepathPatterns = ExcludeFilepathParam | Array<ExcludeFilepathParam>;
3
+ /**
4
+ * Check if filepath should be excluded based on patterns
5
+ */
6
+ export declare function checkExcludeFilepath(filepath: string, patterns?: ExcludeFilepathPatterns): boolean;
7
+ export {};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "rollup-plugin-stats",
3
3
  "description": "Output Rollup stats",
4
- "version": "1.0.0",
4
+ "version": "1.1.0-beta.0",
5
5
  "license": "MIT",
6
6
  "private": false,
7
7
  "author": {