@jsenv/file-size-impact 13.0.2 → 14.1.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.
@@ -0,0 +1,19 @@
1
+ #!/usr/bin/env node
2
+
3
+ import { pathToFileURL } from "node:url"
4
+ import { generateFileSizeReport } from "@jsenv/file-size-impact"
5
+
6
+ const cwdUrl = `${pathToFileURL(process.cwd())}/`
7
+ const argv = process.argv.slice(2)
8
+ const dirname = argv[0] || "dist"
9
+
10
+ await generateFileSizeReport({
11
+ log: true,
12
+ rootDirectoryUrl: cwdUrl,
13
+ trackingConfig: {
14
+ [dirname]: {
15
+ [`${dirname}/**/*`]: true,
16
+ [`${dirname}/**/*.map`]: false,
17
+ },
18
+ },
19
+ })
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jsenv/file-size-impact",
3
- "version": "13.0.2",
3
+ "version": "14.1.0",
4
4
  "description": "Add files size impact into pull requests",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -21,6 +21,9 @@
21
21
  },
22
22
  "./*": "./*"
23
23
  },
24
+ "bin": {
25
+ "filesize": "./bin/filesize.mjs"
26
+ },
24
27
  "main": "./src/main.js",
25
28
  "files": [
26
29
  "/src/"
@@ -32,9 +35,9 @@
32
35
  },
33
36
  "dependencies": {
34
37
  "@jsenv/dynamic-import-worker": "1.1.0",
35
- "@jsenv/filesystem": "4.1.6",
38
+ "@jsenv/filesystem": "4.2.3",
36
39
  "@jsenv/github-pull-request-impact": "1.7.1",
37
- "@jsenv/log": "3.3.1",
38
- "@jsenv/urls": "1.2.8"
40
+ "@jsenv/log": "3.3.4",
41
+ "@jsenv/urls": "2.0.0"
39
42
  }
40
43
  }
package/readme.md CHANGED
@@ -69,7 +69,7 @@ _.github/workflows/file_size_impact.yml_
69
69
 
70
70
  name: file size impact
71
71
 
72
- on: pull_request_target
72
+ on: pull_request
73
73
 
74
74
  jobs:
75
75
  file_size_impact:
@@ -77,11 +77,11 @@ jobs:
77
77
  name: file size impact
78
78
  steps:
79
79
  - name: Setup git
80
- uses: actions/checkout@v2
80
+ uses: actions/checkout@v3
81
81
  - name: Setup node
82
- uses: actions/setup-node@v1
82
+ uses: actions/setup-node@v3
83
83
  with:
84
- node-version: "16.6.1"
84
+ node-version: "18.3.0"
85
85
  - name: Setup npm
86
86
  run: npm install
87
87
  - name: Report file size impact
@@ -101,11 +101,11 @@ _report_file_size_impact.mjs_
101
101
  */
102
102
 
103
103
  import {
104
- reportFileSizeImpact,
104
+ reportFileSizeImpactInGitHubPullRequest,
105
105
  readGitHubWorkflowEnv,
106
106
  } from "@jsenv/file-size-impact"
107
107
 
108
- await reportFileSizeImpact({
108
+ await reportFileSizeImpactInGitHubPullRequest({
109
109
  ...readGitHubWorkflowEnv(),
110
110
  buildCommand: "npm run dist",
111
111
  fileSizeReportUrl: new URL("./file_size.mjs#fileSizeReport", import.meta.url),
@@ -139,13 +139,13 @@ node ./report_file_size_impact.mjs
139
139
 
140
140
  ### 2. Adjust _report_file_size_impact.mjs_
141
141
 
142
- When outside a GitHub workflow, you cannot use _readGitHubWorkflowEnv()_. It means you must pass several parameters to _reportFileSizeImpact_. The example below assume code is executed by Travis.
142
+ When outside a GitHub workflow, you cannot use _readGitHubWorkflowEnv()_. It means you must pass several parameters to _reportFileSizeImpactInGitHubPullRequest_. The example below assume code is executed by Travis.
143
143
 
144
144
  ```diff
145
- - import { reportFileSizeImpact, readGitHubWorkflowEnv } from "@jsenv/file-size-impact"
146
- + import { reportFileSizeImpact } from "@jsenv/file-size-impact"
145
+ - import { reportFileSizeImpactInGitHubPullRequest, readGitHubWorkflowEnv } from "@jsenv/file-size-impact"
146
+ + import { reportFileSizeImpactInGitHubPullRequest } from "@jsenv/file-size-impact"
147
147
 
148
- reportFileSizeImpact({
148
+ reportFileSizeImpactInGitHubPullRequest({
149
149
  - ...readGitHubWorkflowEnv(),
150
150
  + rootDirectoryUrl: process.env.TRAVIS_BUILD_DIR,
151
151
  + repositoryOwner: process.env.TRAVIS_REPO_SLUG.split("/")[0],
@@ -284,9 +284,9 @@ _manifestConfig_ parameter is an object used to configure the location of an opt
284
284
  This parameter reuses the shape of [trackingConfig](#trackingConfig) (associating pattern + value).
285
285
 
286
286
  ```js
287
- import { reportFileSizeImpact } from "@jsenv/file-size-impact"
287
+ import { reportFileSizeImpactInGitHubPullRequest } from "@jsenv/file-size-impact"
288
288
 
289
- await reportFileSizeImpact({
289
+ await reportFileSizeImpactInGitHubPullRequest({
290
290
  manifestConfig: {
291
291
  "./dist/**/manifest.json": true,
292
292
  },
@@ -296,9 +296,9 @@ await reportFileSizeImpact({
296
296
  You can disable manifest files handling by passing `null`.
297
297
 
298
298
  ```js
299
- import { reportFileSizeImpact } from "@jsenv/file-size-impact"
299
+ import { reportFileSizeImpactInGitHubPullRequest } from "@jsenv/file-size-impact"
300
300
 
301
- await reportFileSizeImpact({
301
+ await reportFileSizeImpactInGitHubPullRequest({
302
302
  manifestConfig: {
303
303
  "./dist/**/manifest.json": null,
304
304
  },
@@ -307,14 +307,17 @@ await reportFileSizeImpact({
307
307
 
308
308
  In that case _manifest.json_ will be handled as a regular file.
309
309
 
310
- # reportFileSizeImpact
310
+ # reportFileSizeImpactInGitHubPullRequest
311
311
 
312
- _reportFileSizeImpact_ is an async function that will analyse a pull request file size impact and post a comment with the result of this analysis.
312
+ _reportFileSizeImpactInGitHubPullRequest_ is an async function that will analyse a pull request file size impact and post a comment with the result of this analysis.
313
313
 
314
314
  ```js
315
- import { reportFileSizeImpact, raw } from "@jsenv/file-size-impact"
315
+ import {
316
+ reportFileSizeImpactInGitHubPullRequest,
317
+ raw,
318
+ } from "@jsenv/file-size-impact"
316
319
 
317
- await reportFileSizeImpact({
320
+ await reportFileSizeImpactInGitHubPullRequest({
318
321
  logLevel: "info",
319
322
 
320
323
  rootDirectoryUrl: "file:///directory",
@@ -372,9 +375,9 @@ This parameter is returned by [readGitHubWorkflowEnv](#readGitHubWorkflowEnv) me
372
375
  Inside an other workflow, you can pass your own _runLink_. As in the example below where it is assumed that script is runned by jenkins.
373
376
 
374
377
  ```js
375
- import { reportFileSizeImpact } from "@jsenv/file-size-impact"
378
+ import { reportFileSizeImpactInGitHubPullRequest } from "@jsenv/file-size-impact"
376
379
 
377
- await reportFileSizeImpact({
380
+ await reportFileSizeImpactInGitHubPullRequest({
378
381
  runLink: {
379
382
  url: process.env.BUILD_URL,
380
383
  text: `${process.env.JOB_NAME}#${process.env.BUILD_ID}`,
@@ -390,17 +393,17 @@ _commitInGeneratedByInfo_ parameter is a boolean controlling if a link to the co
390
393
 
391
394
  # readGitHubWorkflowEnv
392
395
 
393
- _readGitHubWorkflowEnv_ is a function meant to be runned inside a GitHub workflow. It returns an object meant to be forwarded to [reportFileSizeImpact](#reportFileSizeImpact).
396
+ _readGitHubWorkflowEnv_ is a function meant to be runned inside a GitHub workflow. It returns an object meant to be forwarded to [reportFileSizeImpactInGitHubPullRequest](#reportFileSizeImpactInGitHubPullRequest).
394
397
 
395
398
  ```js
396
399
  import {
397
- reportFileSizeImpact,
400
+ reportFileSizeImpactInGitHubPullRequest,
398
401
  readGitHubWorkflowEnv,
399
402
  } from "@jsenv/file-size-impact"
400
403
 
401
404
  const gitHubWorkflowEnv = readGitHubWorkflowEnv()
402
405
 
403
- await reportFileSizeImpact({
406
+ await reportFileSizeImpactInGitHubPullRequest({
404
407
  ...gitHubWorkflowEnv,
405
408
  })
406
409
  ```
package/src/main.js CHANGED
@@ -5,4 +5,4 @@ export { transform as raw } from "./rawTransformation.js"
5
5
  export { transform as gzip } from "./gzipTransformation.js"
6
6
  export { transform as brotli } from "./brotliTransformation.js"
7
7
  export { generateFileSizeReport } from "./generateFileSizeReport.js"
8
- export { reportFileSizeImpact } from "./reportFileSizeImpact.js"
8
+ export { reportFileSizeImpactInGitHubPullRequest } from "./report_file_size_impact_in_github_pr.js"
@@ -5,7 +5,7 @@ import { importOneExportFromFile } from "@jsenv/dynamic-import-worker"
5
5
  import { formatComment } from "./internal/formatComment.js"
6
6
  import { jsenvCommentParameters } from "./internal/jsenvCommentParameters.js"
7
7
 
8
- export const reportFileSizeImpact = async ({
8
+ export const reportFileSizeImpactInGitHubPullRequest = async ({
9
9
  logLevel,
10
10
  commandLogs,
11
11
  cancellationToken,