@apollion-dsi/scripts 0.9.0 → 0.9.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/CHANGELOG.md +18 -0
- package/coverage/clover.xml +13 -5
- package/coverage/coverage-final.json +2 -1
- package/coverage/lcov-report/config/env.ts.html +2 -2
- package/coverage/lcov-report/config/index.html +1 -1
- package/coverage/lcov-report/config/paths.ts.html +1 -1
- package/coverage/lcov-report/config/shared.ts.html +1 -1
- package/coverage/lcov-report/index.html +17 -17
- package/coverage/lcov-report/utils/buildWrapperArgs.ts.html +196 -0
- package/coverage/lcov-report/utils/checkRequiredFiles.ts.html +1 -1
- package/coverage/lcov-report/utils/formatWebpackMessages.ts.html +1 -1
- package/coverage/lcov-report/utils/getPublicUrlOrPath.ts.html +1 -1
- package/coverage/lcov-report/utils/index.html +23 -8
- package/coverage/lcov-report/utils/resolveBin.ts.html +1 -1
- package/coverage/lcov.info +22 -2
- package/lib/command/lint.js +12 -16
- package/lib/command/lint.js.map +1 -1
- package/lib/command/prettier.js +9 -14
- package/lib/command/prettier.js.map +1 -1
- package/lib/utils/buildWrapperArgs.d.ts +32 -0
- package/lib/utils/buildWrapperArgs.js +39 -0
- package/lib/utils/buildWrapperArgs.js.map +1 -0
- package/llms.txt +8 -3
- package/package.json +1 -1
- package/src/__tests__/buildWrapperArgs.test.ts +73 -0
- package/src/command/lint.ts +12 -16
- package/src/command/prettier.ts +9 -14
- package/src/utils/buildWrapperArgs.ts +37 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# @apollion-dsi/scripts
|
|
2
2
|
|
|
3
|
+
## 0.9.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- b3e5d0c: Fix `scripts lint` / `scripts prettier` arg pass-through so flag-value pairs and the POSIX `--` end-of-options separator no longer break the underlying CLI invocation.
|
|
8
|
+
|
|
9
|
+
The previous heuristic in `command/lint.ts` + `command/prettier.ts` treated _any_ argv entry not starting with `-` as a "user-provided path" and handed full control to the user from there. Two real consumer invocations hit by that, surfaced via DEX-Aggregator integration:
|
|
10
|
+
- `scripts lint --max-warnings 0` — the literal `0` value of the flag was misread as a path, so the default `src` target was dropped and ESLint ran with no files (hard error).
|
|
11
|
+
- `scripts lint -- --fix` (the form previously suggested in `llms.txt`) — every arg started with `-`, so `src` was appended, but the surviving `--` separator forced ESLint to treat `--fix` and `src` as positional files (`No files matching pattern '--fix'`).
|
|
12
|
+
|
|
13
|
+
`command/check-types.ts` doesn't carry the same heuristic and isn't affected.
|
|
14
|
+
|
|
15
|
+
**Fix.** A new pure helper `utils/buildWrapperArgs` replaces the heuristic with a simpler rule: empty input falls back to the canonical defaults; otherwise the user argv (with `--` stripped) is followed by the default target (`src` for lint, `src/**/*.{ts,tsx,json,css,md}` for prettier). Consumers needing a non-default target invoke `eslint`/`prettier` directly from `node_modules/.bin`. Tested in `src/__tests__/buildWrapperArgs.test.ts`.
|
|
16
|
+
|
|
17
|
+
**Docs.** `packages/scripts/llms.txt` now shows the flag-direct form (`scripts lint --fix`, `scripts prettier --write`, `scripts check-types -p tsconfig.build.json`) and explicitly warns against the `--` separator.
|
|
18
|
+
|
|
19
|
+
**Backward compatibility.** Both `--flag=value` (the workaround currently shipping in DEX-Aggregator after the canonical-Apollion refactor) and the previously-broken `--flag value` form now resolve to the same eslint/prettier invocation. No consumer change required to consume the fix; consumers may revert the `=`-form workaround at their convenience.
|
|
20
|
+
|
|
3
21
|
## 0.9.0
|
|
4
22
|
|
|
5
23
|
### Minor Changes
|
package/coverage/clover.xml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<coverage generated="
|
|
3
|
-
<project timestamp="
|
|
4
|
-
<metrics statements="
|
|
2
|
+
<coverage generated="1780844477256" clover="3.2.0">
|
|
3
|
+
<project timestamp="1780844477256" name="All files">
|
|
4
|
+
<metrics statements="111" coveredstatements="106" conditionals="65" coveredconditionals="55" methods="20" coveredmethods="19" elements="196" coveredelements="180" complexity="0" loc="111" ncloc="111" packages="2" files="8" classes="8"/>
|
|
5
5
|
<package name="config">
|
|
6
6
|
<metrics statements="43" coveredstatements="41" conditionals="19" coveredconditionals="15" methods="12" coveredmethods="11"/>
|
|
7
7
|
<file name="env.ts" path="/Volumes/External-Fedbalves/Projects/apollion/packages/scripts/src/config/env.ts">
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
<line num="69" count="1" type="stmt"/>
|
|
24
24
|
<line num="72" count="2" type="stmt"/>
|
|
25
25
|
<line num="74" count="2" type="stmt"/>
|
|
26
|
-
<line num="75" count="
|
|
26
|
+
<line num="75" count="111" type="stmt"/>
|
|
27
27
|
<line num="76" count="1" type="stmt"/>
|
|
28
28
|
<line num="100" count="2" type="stmt"/>
|
|
29
29
|
<line num="101" count="13" type="stmt"/>
|
|
@@ -58,7 +58,15 @@
|
|
|
58
58
|
</file>
|
|
59
59
|
</package>
|
|
60
60
|
<package name="utils">
|
|
61
|
-
<metrics statements="
|
|
61
|
+
<metrics statements="68" coveredstatements="65" conditionals="46" coveredconditionals="40" methods="8" coveredmethods="8"/>
|
|
62
|
+
<file name="buildWrapperArgs.ts" path="/Volumes/External-Fedbalves/Projects/apollion/packages/scripts/src/utils/buildWrapperArgs.ts">
|
|
63
|
+
<metrics statements="5" coveredstatements="5" conditionals="2" coveredconditionals="2" methods="2" coveredmethods="2"/>
|
|
64
|
+
<line num="29" count="1" type="stmt"/>
|
|
65
|
+
<line num="30" count="11" type="cond" truecount="2" falsecount="0"/>
|
|
66
|
+
<line num="31" count="3" type="stmt"/>
|
|
67
|
+
<line num="34" count="15" type="stmt"/>
|
|
68
|
+
<line num="36" count="8" type="stmt"/>
|
|
69
|
+
</file>
|
|
62
70
|
<file name="checkRequiredFiles.ts" path="/Volumes/External-Fedbalves/Projects/apollion/packages/scripts/src/utils/checkRequiredFiles.ts">
|
|
63
71
|
<metrics statements="15" coveredstatements="15" conditionals="4" coveredconditionals="2" methods="2" coveredmethods="2"/>
|
|
64
72
|
<line num="1" count="1" type="stmt"/>
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
{"/Volumes/External-Fedbalves/Projects/apollion/packages/scripts/src/config/env.ts": {"path":"/Volumes/External-Fedbalves/Projects/apollion/packages/scripts/src/config/env.ts","statementMap":{"0":{"start":{"line":16,"column":0},"end":{"line":16,"column":16}},"1":{"start":{"line":69,"column":0},"end":{"line":69,"column":24}},"2":{"start":{"line":1,"column":0},"end":{"line":1,"column":20}},"3":{"start":{"line":2,"column":0},"end":{"line":2,"column":24}},"4":{"start":{"line":17,"column":28},"end":{"line":17,"column":39}},"5":{"start":{"line":19,"column":2},"end":{"line":21,"column":3}},"6":{"start":{"line":20,"column":4},"end":{"line":20,"column":92}},"7":{"start":{"line":23,"column":22},"end":{"line":33,"column":36}},"8":{"start":{"line":38,"column":2},"end":{"line":46,"column":5}},"9":{"start":{"line":39,"column":4},"end":{"line":45,"column":5}},"10":{"start":{"line":40,"column":6},"end":{"line":44,"column":8}},"11":{"start":{"line":48,"column":23},"end":{"line":48,"column":53}},"12":{"start":{"line":49,"column":2},"end":{"line":53,"column":26}},"13":{"start":{"line":51,"column":24},"end":{"line":51,"column":58}},"14":{"start":{"line":52,"column":21},"end":{"line":52,"column":55}},"15":{"start":{"line":72,"column":20},"end":{"line":72,"column":34}},"16":{"start":{"line":74,"column":14},"end":{"line":98,"column":6}},"17":{"start":{"line":75,"column":21},"end":{"line":75,"column":40}},"18":{"start":{"line":76,"column":26},"end":{"line":76,"column":73}},"19":{"start":{"line":100,"column":22},"end":{"line":102,"column":4}},"20":{"start":{"line":101,"column":57},"end":{"line":101,"column":112}},"21":{"start":{"line":104,"column":2},"end":{"line":104,"column":30}}},"fnMap":{"0":{"name":"getEnviroment","decl":{"start":{"line":16,"column":16},"end":{"line":16,"column":29}},"loc":{"start":{"line":16,"column":35},"end":{"line":54,"column":1}}},"1":{"name":"(anonymous_2)","decl":{"start":{"line":38,"column":22},"end":{"line":38,"column":23}},"loc":{"start":{"line":38,"column":37},"end":{"line":46,"column":3}}},"2":{"name":"(anonymous_3)","decl":{"start":{"line":51,"column":12},"end":{"line":51,"column":13}},"loc":{"start":{"line":51,"column":24},"end":{"line":51,"column":58}}},"3":{"name":"(anonymous_4)","decl":{"start":{"line":52,"column":9},"end":{"line":52,"column":10}},"loc":{"start":{"line":52,"column":21},"end":{"line":52,"column":55}}},"4":{"name":"getClientEnvironment","decl":{"start":{"line":69,"column":24},"end":{"line":69,"column":44}},"loc":{"start":{"line":69,"column":88},"end":{"line":105,"column":1}}},"5":{"name":"(anonymous_6)","decl":{"start":{"line":75,"column":12},"end":{"line":75,"column":13}},"loc":{"start":{"line":75,"column":21},"end":{"line":75,"column":40}}},"6":{"name":"(anonymous_7)","decl":{"start":{"line":76,"column":12},"end":{"line":76,"column":13}},"loc":{"start":{"line":76,"column":26},"end":{"line":76,"column":73}}},"7":{"name":"(anonymous_8)","decl":{"start":{"line":101,"column":43},"end":{"line":101,"column":44}},"loc":{"start":{"line":101,"column":57},"end":{"line":101,"column":112}}}},"branchMap":{"0":{"loc":{"start":{"line":19,"column":2},"end":{"line":21,"column":3}},"type":"if","locations":[{"start":{"line":19,"column":2},"end":{"line":21,"column":3}},{"start":{},"end":{}}]},"1":{"loc":{"start":{"line":29,"column":4},"end":{"line":29,"column":50}},"type":"binary-expr","locations":[{"start":{"line":29,"column":4},"end":{"line":29,"column":23}},{"start":{"line":29,"column":27},"end":{"line":29,"column":50}}]},"2":{"loc":{"start":{"line":39,"column":4},"end":{"line":45,"column":5}},"type":"if","locations":[{"start":{"line":39,"column":4},"end":{"line":45,"column":5}},{"start":{},"end":{}}]},"3":{"loc":{"start":{"line":49,"column":27},"end":{"line":49,"column":54}},"type":"binary-expr","locations":[{"start":{"line":49,"column":27},"end":{"line":49,"column":48}},{"start":{"line":49,"column":52},"end":{"line":49,"column":54}}]},"4":{"loc":{"start":{"line":51,"column":24},"end":{"line":51,"column":58}},"type":"binary-expr","locations":[{"start":{"line":51,"column":24},"end":{"line":51,"column":30}},{"start":{"line":51,"column":34},"end":{"line":51,"column":58}}]},"5":{"loc":{"start":{"line":79,"column":16},"end":{"line":79,"column":53}},"type":"binary-expr","locations":[{"start":{"line":79,"column":16},"end":{"line":79,"column":36}},{"start":{"line":79,"column":40},"end":{"line":79,"column":53}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":2,"5":2,"6":1,"7":1,"8":1,"9":5,"10":0,"11":1,"12":1,"13":1,"14":0,"15":2,"16":2,"17":
|
|
1
|
+
{"/Volumes/External-Fedbalves/Projects/apollion/packages/scripts/src/config/env.ts": {"path":"/Volumes/External-Fedbalves/Projects/apollion/packages/scripts/src/config/env.ts","statementMap":{"0":{"start":{"line":16,"column":0},"end":{"line":16,"column":16}},"1":{"start":{"line":69,"column":0},"end":{"line":69,"column":24}},"2":{"start":{"line":1,"column":0},"end":{"line":1,"column":20}},"3":{"start":{"line":2,"column":0},"end":{"line":2,"column":24}},"4":{"start":{"line":17,"column":28},"end":{"line":17,"column":39}},"5":{"start":{"line":19,"column":2},"end":{"line":21,"column":3}},"6":{"start":{"line":20,"column":4},"end":{"line":20,"column":92}},"7":{"start":{"line":23,"column":22},"end":{"line":33,"column":36}},"8":{"start":{"line":38,"column":2},"end":{"line":46,"column":5}},"9":{"start":{"line":39,"column":4},"end":{"line":45,"column":5}},"10":{"start":{"line":40,"column":6},"end":{"line":44,"column":8}},"11":{"start":{"line":48,"column":23},"end":{"line":48,"column":53}},"12":{"start":{"line":49,"column":2},"end":{"line":53,"column":26}},"13":{"start":{"line":51,"column":24},"end":{"line":51,"column":58}},"14":{"start":{"line":52,"column":21},"end":{"line":52,"column":55}},"15":{"start":{"line":72,"column":20},"end":{"line":72,"column":34}},"16":{"start":{"line":74,"column":14},"end":{"line":98,"column":6}},"17":{"start":{"line":75,"column":21},"end":{"line":75,"column":40}},"18":{"start":{"line":76,"column":26},"end":{"line":76,"column":73}},"19":{"start":{"line":100,"column":22},"end":{"line":102,"column":4}},"20":{"start":{"line":101,"column":57},"end":{"line":101,"column":112}},"21":{"start":{"line":104,"column":2},"end":{"line":104,"column":30}}},"fnMap":{"0":{"name":"getEnviroment","decl":{"start":{"line":16,"column":16},"end":{"line":16,"column":29}},"loc":{"start":{"line":16,"column":35},"end":{"line":54,"column":1}}},"1":{"name":"(anonymous_2)","decl":{"start":{"line":38,"column":22},"end":{"line":38,"column":23}},"loc":{"start":{"line":38,"column":37},"end":{"line":46,"column":3}}},"2":{"name":"(anonymous_3)","decl":{"start":{"line":51,"column":12},"end":{"line":51,"column":13}},"loc":{"start":{"line":51,"column":24},"end":{"line":51,"column":58}}},"3":{"name":"(anonymous_4)","decl":{"start":{"line":52,"column":9},"end":{"line":52,"column":10}},"loc":{"start":{"line":52,"column":21},"end":{"line":52,"column":55}}},"4":{"name":"getClientEnvironment","decl":{"start":{"line":69,"column":24},"end":{"line":69,"column":44}},"loc":{"start":{"line":69,"column":88},"end":{"line":105,"column":1}}},"5":{"name":"(anonymous_6)","decl":{"start":{"line":75,"column":12},"end":{"line":75,"column":13}},"loc":{"start":{"line":75,"column":21},"end":{"line":75,"column":40}}},"6":{"name":"(anonymous_7)","decl":{"start":{"line":76,"column":12},"end":{"line":76,"column":13}},"loc":{"start":{"line":76,"column":26},"end":{"line":76,"column":73}}},"7":{"name":"(anonymous_8)","decl":{"start":{"line":101,"column":43},"end":{"line":101,"column":44}},"loc":{"start":{"line":101,"column":57},"end":{"line":101,"column":112}}}},"branchMap":{"0":{"loc":{"start":{"line":19,"column":2},"end":{"line":21,"column":3}},"type":"if","locations":[{"start":{"line":19,"column":2},"end":{"line":21,"column":3}},{"start":{},"end":{}}]},"1":{"loc":{"start":{"line":29,"column":4},"end":{"line":29,"column":50}},"type":"binary-expr","locations":[{"start":{"line":29,"column":4},"end":{"line":29,"column":23}},{"start":{"line":29,"column":27},"end":{"line":29,"column":50}}]},"2":{"loc":{"start":{"line":39,"column":4},"end":{"line":45,"column":5}},"type":"if","locations":[{"start":{"line":39,"column":4},"end":{"line":45,"column":5}},{"start":{},"end":{}}]},"3":{"loc":{"start":{"line":49,"column":27},"end":{"line":49,"column":54}},"type":"binary-expr","locations":[{"start":{"line":49,"column":27},"end":{"line":49,"column":48}},{"start":{"line":49,"column":52},"end":{"line":49,"column":54}}]},"4":{"loc":{"start":{"line":51,"column":24},"end":{"line":51,"column":58}},"type":"binary-expr","locations":[{"start":{"line":51,"column":24},"end":{"line":51,"column":30}},{"start":{"line":51,"column":34},"end":{"line":51,"column":58}}]},"5":{"loc":{"start":{"line":79,"column":16},"end":{"line":79,"column":53}},"type":"binary-expr","locations":[{"start":{"line":79,"column":16},"end":{"line":79,"column":36}},{"start":{"line":79,"column":40},"end":{"line":79,"column":53}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":2,"5":2,"6":1,"7":1,"8":1,"9":5,"10":0,"11":1,"12":1,"13":1,"14":0,"15":2,"16":2,"17":111,"18":1,"19":2,"20":13,"21":2},"f":{"0":2,"1":5,"2":1,"3":0,"4":2,"5":111,"6":1,"7":13},"b":{"0":[1,1],"1":[1,0],"2":[0,5],"3":[1,1],"4":[1,0],"5":[2,1]}}
|
|
2
2
|
,"/Volumes/External-Fedbalves/Projects/apollion/packages/scripts/src/config/paths.ts": {"path":"/Volumes/External-Fedbalves/Projects/apollion/packages/scripts/src/config/paths.ts","statementMap":{"0":{"start":{"line":70,"column":0},"end":{"line":70,"column":16}},"1":{"start":{"line":1,"column":0},"end":{"line":1,"column":20}},"2":{"start":{"line":2,"column":0},"end":{"line":2,"column":24}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":61}},"4":{"start":{"line":45,"column":13},"end":{"line":57,"column":2}},"5":{"start":{"line":71,"column":23},"end":{"line":71,"column":48}},"6":{"start":{"line":72,"column":21},"end":{"line":72,"column":79}},"7":{"start":{"line":72,"column":39},"end":{"line":72,"column":79}},"8":{"start":{"line":74,"column":25},"end":{"line":74,"column":51}},"9":{"start":{"line":76,"column":26},"end":{"line":79,"column":null}},"10":{"start":{"line":83,"column":24},"end":{"line":91,"column":3}},"11":{"start":{"line":84,"column":22},"end":{"line":84,"column":104}},"12":{"start":{"line":84,"column":57},"end":{"line":84,"column":103}},"13":{"start":{"line":86,"column":4},"end":{"line":88,"column":5}},"14":{"start":{"line":87,"column":6},"end":{"line":87,"column":51}},"15":{"start":{"line":90,"column":4},"end":{"line":90,"column":39}},"16":{"start":{"line":93,"column":26},"end":{"line":93,"column":52}},"17":{"start":{"line":94,"column":28},"end":{"line":94,"column":58}},"18":{"start":{"line":95,"column":29},"end":{"line":95,"column":60}},"19":{"start":{"line":97,"column":23},"end":{"line":97,"column":93}},"20":{"start":{"line":99,"column":2},"end":{"line":116,"column":4}},"21":{"start":{"line":119,"column":0},"end":{"line":119,"column":32}}},"fnMap":{"0":{"name":"createAppPaths","decl":{"start":{"line":70,"column":16},"end":{"line":70,"column":30}},"loc":{"start":{"line":70,"column":63},"end":{"line":117,"column":1}}},"1":{"name":"(anonymous_2)","decl":{"start":{"line":72,"column":21},"end":{"line":72,"column":22}},"loc":{"start":{"line":72,"column":39},"end":{"line":72,"column":79}}},"2":{"name":"(anonymous_3)","decl":{"start":{"line":83,"column":24},"end":{"line":83,"column":25}},"loc":{"start":{"line":83,"column":48},"end":{"line":91,"column":3}}},"3":{"name":"(anonymous_4)","decl":{"start":{"line":84,"column":48},"end":{"line":84,"column":49}},"loc":{"start":{"line":84,"column":57},"end":{"line":84,"column":103}}}},"branchMap":{"0":{"loc":{"start":{"line":70,"column":31},"end":{"line":70,"column":63}},"type":"default-arg","locations":[{"start":{"line":70,"column":50},"end":{"line":70,"column":63}}]},"1":{"loc":{"start":{"line":86,"column":4},"end":{"line":88,"column":5}},"type":"if","locations":[{"start":{"line":86,"column":4},"end":{"line":88,"column":5}},{"start":{},"end":{}}]},"2":{"loc":{"start":{"line":97,"column":23},"end":{"line":97,"column":93}},"type":"cond-expr","locations":[{"start":{"line":97,"column":65},"end":{"line":97,"column":83}},{"start":{"line":97,"column":86},"end":{"line":97,"column":93}}]},"3":{"loc":{"start":{"line":97,"column":23},"end":{"line":97,"column":62}},"type":"binary-expr","locations":[{"start":{"line":97,"column":23},"end":{"line":97,"column":40}},{"start":{"line":97,"column":44},"end":{"line":97,"column":62}}]}},"s":{"0":2,"1":2,"2":2,"3":2,"4":2,"5":4,"6":4,"7":118,"8":4,"9":4,"10":4,"11":8,"12":62,"13":8,"14":6,"15":2,"16":4,"17":4,"18":4,"19":4,"20":4,"21":2},"f":{"0":4,"1":118,"2":8,"3":62},"b":{"0":[2],"1":[6,2],"2":[4,0],"3":[4,4]}}
|
|
3
3
|
,"/Volumes/External-Fedbalves/Projects/apollion/packages/scripts/src/config/shared.ts": {"path":"/Volumes/External-Fedbalves/Projects/apollion/packages/scripts/src/config/shared.ts","statementMap":{"0":{"start":{"line":33,"column":13},"end":{"line":42,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":1},"f":{},"b":{}}
|
|
4
|
+
,"/Volumes/External-Fedbalves/Projects/apollion/packages/scripts/src/utils/buildWrapperArgs.ts": {"path":"/Volumes/External-Fedbalves/Projects/apollion/packages/scripts/src/utils/buildWrapperArgs.ts","statementMap":{"0":{"start":{"line":29,"column":0},"end":{"line":29,"column":16}},"1":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"2":{"start":{"line":31,"column":4},"end":{"line":31,"column":33}},"3":{"start":{"line":34,"column":22},"end":{"line":34,"column":56}},"4":{"start":{"line":34,"column":45},"end":{"line":34,"column":55}},"5":{"start":{"line":36,"column":2},"end":{"line":36,"column":42}}},"fnMap":{"0":{"name":"buildWrapperArgs","decl":{"start":{"line":29,"column":16},"end":{"line":29,"column":32}},"loc":{"start":{"line":29,"column":100},"end":{"line":37,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":34,"column":38},"end":{"line":34,"column":39}},"loc":{"start":{"line":34,"column":45},"end":{"line":34,"column":55}}}},"branchMap":{"0":{"loc":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"type":"if","locations":[{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},{"start":{},"end":{}}]}},"s":{"0":1,"1":11,"2":3,"3":8,"4":15,"5":8},"f":{"0":11,"1":15},"b":{"0":[3,8]}}
|
|
4
5
|
,"/Volumes/External-Fedbalves/Projects/apollion/packages/scripts/src/utils/checkRequiredFiles.ts": {"path":"/Volumes/External-Fedbalves/Projects/apollion/packages/scripts/src/utils/checkRequiredFiles.ts","statementMap":{"0":{"start":{"line":15,"column":0},"end":{"line":15,"column":24}},"1":{"start":{"line":1,"column":0},"end":{"line":1,"column":20}},"2":{"start":{"line":2,"column":0},"end":{"line":2,"column":24}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":26}},"4":{"start":{"line":17,"column":2},"end":{"line":30,"column":3}},"5":{"start":{"line":18,"column":4},"end":{"line":21,"column":7}},"6":{"start":{"line":19,"column":6},"end":{"line":19,"column":33}},"7":{"start":{"line":20,"column":6},"end":{"line":20,"column":49}},"8":{"start":{"line":22,"column":4},"end":{"line":22,"column":16}},"9":{"start":{"line":24,"column":20},"end":{"line":24,"column":72}},"10":{"start":{"line":25,"column":21},"end":{"line":25,"column":74}},"11":{"start":{"line":26,"column":4},"end":{"line":26,"column":62}},"12":{"start":{"line":27,"column":4},"end":{"line":27,"column":67}},"13":{"start":{"line":28,"column":4},"end":{"line":28,"column":73}},"14":{"start":{"line":29,"column":4},"end":{"line":29,"column":17}}},"fnMap":{"0":{"name":"checkRequiredFiles","decl":{"start":{"line":15,"column":24},"end":{"line":15,"column":42}},"loc":{"start":{"line":15,"column":58},"end":{"line":31,"column":1}}},"1":{"name":"(anonymous_2)","decl":{"start":{"line":18,"column":18},"end":{"line":18,"column":19}},"loc":{"start":{"line":18,"column":31},"end":{"line":21,"column":5}}}},"branchMap":{"0":{"loc":{"start":{"line":24,"column":20},"end":{"line":24,"column":72}},"type":"cond-expr","locations":[{"start":{"line":24,"column":38},"end":{"line":24,"column":67}},{"start":{"line":24,"column":70},"end":{"line":24,"column":72}}]},"1":{"loc":{"start":{"line":25,"column":21},"end":{"line":25,"column":74}},"type":"cond-expr","locations":[{"start":{"line":25,"column":39},"end":{"line":25,"column":69}},{"start":{"line":25,"column":72},"end":{"line":25,"column":74}}]}},"s":{"0":1,"1":1,"2":1,"3":1,"4":3,"5":3,"6":4,"7":4,"8":2,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1},"f":{"0":3,"1":4},"b":{"0":[1,0],"1":[1,0]}}
|
|
5
6
|
,"/Volumes/External-Fedbalves/Projects/apollion/packages/scripts/src/utils/formatWebpackMessages.ts": {"path":"/Volumes/External-Fedbalves/Projects/apollion/packages/scripts/src/utils/formatWebpackMessages.ts","statementMap":{"0":{"start":{"line":39,"column":0},"end":{"line":39,"column":24}},"1":{"start":{"line":11,"column":2},"end":{"line":11,"column":30}},"2":{"start":{"line":11,"column":20},"end":{"line":11,"column":30}},"3":{"start":{"line":12,"column":2},"end":{"line":12,"column":44}},"4":{"start":{"line":12,"column":32},"end":{"line":12,"column":44}},"5":{"start":{"line":13,"column":2},"end":{"line":26,"column":3}},"6":{"start":{"line":14,"column":20},"end":{"line":14,"column":31}},"7":{"start":{"line":15,"column":4},"end":{"line":20,"column":5}},"8":{"start":{"line":16,"column":19},"end":{"line":16,"column":21}},"9":{"start":{"line":17,"column":6},"end":{"line":17,"column":71}},"10":{"start":{"line":17,"column":30},"end":{"line":17,"column":71}},"11":{"start":{"line":18,"column":6},"end":{"line":18,"column":32}},"12":{"start":{"line":19,"column":6},"end":{"line":19,"column":20}},"13":{"start":{"line":21,"column":4},"end":{"line":25,"column":5}},"14":{"start":{"line":22,"column":6},"end":{"line":22,"column":37}},"15":{"start":{"line":24,"column":6},"end":{"line":24,"column":29}},"16":{"start":{"line":27,"column":2},"end":{"line":27,"column":22}},"17":{"start":{"line":40,"column":17},"end":{"line":40,"column":77}},"18":{"start":{"line":41,"column":19},"end":{"line":41,"column":83}},"19":{"start":{"line":42,"column":2},"end":{"line":42,"column":30}}},"fnMap":{"0":{"name":"toString","decl":{"start":{"line":10,"column":9},"end":{"line":10,"column":17}},"loc":{"start":{"line":10,"column":31},"end":{"line":28,"column":1}}},"1":{"name":"formatWebpackMessages","decl":{"start":{"line":39,"column":24},"end":{"line":39,"column":45}},"loc":{"start":{"line":39,"column":55},"end":{"line":43,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":2},"end":{"line":11,"column":30}},"type":"if","locations":[{"start":{"line":11,"column":2},"end":{"line":11,"column":30}},{"start":{},"end":{}}]},"1":{"loc":{"start":{"line":12,"column":2},"end":{"line":12,"column":44}},"type":"if","locations":[{"start":{"line":12,"column":2},"end":{"line":12,"column":44}},{"start":{},"end":{}}]},"2":{"loc":{"start":{"line":13,"column":2},"end":{"line":26,"column":3}},"type":"if","locations":[{"start":{"line":13,"column":2},"end":{"line":26,"column":3}},{"start":{},"end":{}}]},"3":{"loc":{"start":{"line":15,"column":4},"end":{"line":20,"column":5}},"type":"if","locations":[{"start":{"line":15,"column":4},"end":{"line":20,"column":5}},{"start":{},"end":{}}]},"4":{"loc":{"start":{"line":17,"column":6},"end":{"line":17,"column":71}},"type":"if","locations":[{"start":{"line":17,"column":6},"end":{"line":17,"column":71}},{"start":{},"end":{}}]},"5":{"loc":{"start":{"line":40,"column":17},"end":{"line":40,"column":77}},"type":"cond-expr","locations":[{"start":{"line":40,"column":47},"end":{"line":40,"column":72}},{"start":{"line":40,"column":75},"end":{"line":40,"column":77}}]},"6":{"loc":{"start":{"line":41,"column":19},"end":{"line":41,"column":83}},"type":"cond-expr","locations":[{"start":{"line":41,"column":51},"end":{"line":41,"column":78}},{"start":{"line":41,"column":81},"end":{"line":41,"column":83}}]}},"s":{"0":1,"1":7,"2":0,"3":7,"4":2,"5":5,"6":3,"7":3,"8":2,"9":2,"10":1,"11":2,"12":2,"13":1,"14":1,"15":0,"16":2,"17":7,"18":7,"19":7},"f":{"0":7,"1":7},"b":{"0":[0,7],"1":[2,5],"2":[3,2],"3":[2,1],"4":[1,1],"5":[4,3],"6":[2,5]}}
|
|
6
7
|
,"/Volumes/External-Fedbalves/Projects/apollion/packages/scripts/src/utils/getPublicUrlOrPath.ts": {"path":"/Volumes/External-Fedbalves/Projects/apollion/packages/scripts/src/utils/getPublicUrlOrPath.ts","statementMap":{"0":{"start":{"line":22,"column":0},"end":{"line":22,"column":24}},"1":{"start":{"line":1,"column":0},"end":{"line":1,"column":26}},"2":{"start":{"line":27,"column":21},"end":{"line":27,"column":51}},"3":{"start":{"line":29,"column":2},"end":{"line":38,"column":3}},"4":{"start":{"line":30,"column":21},"end":{"line":30,"column":33}},"5":{"start":{"line":31,"column":4},"end":{"line":31,"column":53}},"6":{"start":{"line":31,"column":35},"end":{"line":31,"column":53}},"7":{"start":{"line":32,"column":4},"end":{"line":37,"column":5}},"8":{"start":{"line":33,"column":29},"end":{"line":33,"column":60}},"9":{"start":{"line":34,"column":6},"end":{"line":34,"column":106}},"10":{"start":{"line":36,"column":6},"end":{"line":36,"column":24}},"11":{"start":{"line":40,"column":2},"end":{"line":55,"column":3}},"12":{"start":{"line":41,"column":21},"end":{"line":41,"column":29}},"13":{"start":{"line":42,"column":4},"end":{"line":42,"column":53}},"14":{"start":{"line":42,"column":35},"end":{"line":42,"column":53}},"15":{"start":{"line":43,"column":4},"end":{"line":54,"column":5}},"16":{"start":{"line":44,"column":36},"end":{"line":44,"column":76}},"17":{"start":{"line":45,"column":6},"end":{"line":51,"column":34}},"18":{"start":{"line":53,"column":6},"end":{"line":53,"column":24}},"19":{"start":{"line":57,"column":2},"end":{"line":57,"column":13}}},"fnMap":{"0":{"name":"getPublicUrlOrPath","decl":{"start":{"line":22,"column":24},"end":{"line":22,"column":42}},"loc":{"start":{"line":25,"column":34},"end":{"line":58,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":29,"column":2},"end":{"line":38,"column":3}},"type":"if","locations":[{"start":{"line":29,"column":2},"end":{"line":38,"column":3}},{"start":{},"end":{}}]},"1":{"loc":{"start":{"line":31,"column":4},"end":{"line":31,"column":53}},"type":"if","locations":[{"start":{"line":31,"column":4},"end":{"line":31,"column":53}},{"start":{},"end":{}}]},"2":{"loc":{"start":{"line":34,"column":13},"end":{"line":34,"column":105}},"type":"cond-expr","locations":[{"start":{"line":34,"column":33},"end":{"line":34,"column":91}},{"start":{"line":34,"column":95},"end":{"line":34,"column":105}}]},"3":{"loc":{"start":{"line":34,"column":33},"end":{"line":34,"column":91}},"type":"cond-expr","locations":[{"start":{"line":34,"column":62},"end":{"line":34,"column":65}},{"start":{"line":34,"column":68},"end":{"line":34,"column":91}}]},"4":{"loc":{"start":{"line":40,"column":2},"end":{"line":55,"column":3}},"type":"if","locations":[{"start":{"line":40,"column":2},"end":{"line":55,"column":3}},{"start":{},"end":{}}]},"5":{"loc":{"start":{"line":42,"column":4},"end":{"line":42,"column":53}},"type":"if","locations":[{"start":{"line":42,"column":4},"end":{"line":42,"column":53}},{"start":{},"end":{}}]},"6":{"loc":{"start":{"line":45,"column":13},"end":{"line":51,"column":33}},"type":"cond-expr","locations":[{"start":{"line":46,"column":10},"end":{"line":48,"column":33}},{"start":{"line":49,"column":10},"end":{"line":51,"column":33}}]},"7":{"loc":{"start":{"line":46,"column":10},"end":{"line":48,"column":33}},"type":"cond-expr","locations":[{"start":{"line":47,"column":12},"end":{"line":47,"column":15}},{"start":{"line":48,"column":12},"end":{"line":48,"column":33}}]},"8":{"loc":{"start":{"line":49,"column":10},"end":{"line":51,"column":33}},"type":"cond-expr","locations":[{"start":{"line":50,"column":12},"end":{"line":50,"column":22}},{"start":{"line":51,"column":12},"end":{"line":51,"column":33}}]}},"s":{"0":3,"1":3,"2":12,"3":12,"4":3,"5":3,"6":1,"7":3,"8":3,"9":3,"10":0,"11":9,"12":7,"13":7,"14":1,"15":7,"16":7,"17":7,"18":0,"19":2},"f":{"0":12},"b":{"0":[3,9],"1":[1,2],"2":[2,1],"3":[1,1],"4":[7,2],"5":[1,6],"6":[1,6],"7":[0,1],"8":[1,5]}}
|
|
@@ -242,7 +242,7 @@
|
|
|
242
242
|
<span class="cline-any cline-yes">2x</span>
|
|
243
243
|
<span class="cline-any cline-neutral"> </span>
|
|
244
244
|
<span class="cline-any cline-yes">2x</span>
|
|
245
|
-
<span class="cline-any cline-yes">
|
|
245
|
+
<span class="cline-any cline-yes">111x</span>
|
|
246
246
|
<span class="cline-any cline-yes">1x</span>
|
|
247
247
|
<span class="cline-any cline-neutral"> </span>
|
|
248
248
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -385,7 +385,7 @@ export default function getClientEnvironment(publicUrl: string, config: CustomCo
|
|
|
385
385
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
386
386
|
Code coverage generated by
|
|
387
387
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
388
|
-
at 2026-
|
|
388
|
+
at 2026-06-07T15:01:17.247Z
|
|
389
389
|
</div>
|
|
390
390
|
<script src="../prettify.js"></script>
|
|
391
391
|
<script>
|
|
@@ -131,7 +131,7 @@
|
|
|
131
131
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
132
132
|
Code coverage generated by
|
|
133
133
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
134
|
-
at 2026-
|
|
134
|
+
at 2026-06-07T15:01:17.247Z
|
|
135
135
|
</div>
|
|
136
136
|
<script src="../prettify.js"></script>
|
|
137
137
|
<script>
|
|
@@ -427,7 +427,7 @@ export default createAppPaths();
|
|
|
427
427
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
428
428
|
Code coverage generated by
|
|
429
429
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
430
|
-
at 2026-
|
|
430
|
+
at 2026-06-07T15:01:17.247Z
|
|
431
431
|
</div>
|
|
432
432
|
<script src="../prettify.js"></script>
|
|
433
433
|
<script>
|
|
@@ -196,7 +196,7 @@ export const defaultDevConfig = {
|
|
|
196
196
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
197
197
|
Code coverage generated by
|
|
198
198
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
199
|
-
at 2026-
|
|
199
|
+
at 2026-06-07T15:01:17.247Z
|
|
200
200
|
</div>
|
|
201
201
|
<script src="../prettify.js"></script>
|
|
202
202
|
<script>
|
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">94.
|
|
26
|
+
<span class="strong">94.95% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>113/119</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">84.
|
|
33
|
+
<span class="strong">84.61% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>55/65</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">95% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>19/20</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">95.
|
|
47
|
+
<span class="strong">95.49% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>106/111</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -95,17 +95,17 @@
|
|
|
95
95
|
|
|
96
96
|
<tr>
|
|
97
97
|
<td class="file high" data-value="utils"><a href="utils/index.html">utils</a></td>
|
|
98
|
-
<td data-value="94.
|
|
98
|
+
<td data-value="94.59" class="pic high">
|
|
99
99
|
<div class="chart"><div class="cover-fill" style="width: 94%"></div><div class="cover-empty" style="width: 6%"></div></div>
|
|
100
100
|
</td>
|
|
101
|
-
<td data-value="94.
|
|
102
|
-
<td data-value="
|
|
103
|
-
<td data-value="86.
|
|
104
|
-
<td data-value="
|
|
101
|
+
<td data-value="94.59" class="pct high">94.59%</td>
|
|
102
|
+
<td data-value="74" class="abs high">70/74</td>
|
|
103
|
+
<td data-value="86.95" class="pct high">86.95%</td>
|
|
104
|
+
<td data-value="46" class="abs high">40/46</td>
|
|
105
105
|
<td data-value="100" class="pct high">100%</td>
|
|
106
|
-
<td data-value="
|
|
107
|
-
<td data-value="95.
|
|
108
|
-
<td data-value="
|
|
106
|
+
<td data-value="8" class="abs high">8/8</td>
|
|
107
|
+
<td data-value="95.58" class="pct high">95.58%</td>
|
|
108
|
+
<td data-value="68" class="abs high">65/68</td>
|
|
109
109
|
</tr>
|
|
110
110
|
|
|
111
111
|
</tbody>
|
|
@@ -116,7 +116,7 @@
|
|
|
116
116
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
117
117
|
Code coverage generated by
|
|
118
118
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
119
|
-
at 2026-
|
|
119
|
+
at 2026-06-07T15:01:17.247Z
|
|
120
120
|
</div>
|
|
121
121
|
<script src="prettify.js"></script>
|
|
122
122
|
<script>
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
|
|
2
|
+
<!doctype html>
|
|
3
|
+
<html lang="en">
|
|
4
|
+
|
|
5
|
+
<head>
|
|
6
|
+
<title>Code coverage report for utils/buildWrapperArgs.ts</title>
|
|
7
|
+
<meta charset="utf-8" />
|
|
8
|
+
<link rel="stylesheet" href="../prettify.css" />
|
|
9
|
+
<link rel="stylesheet" href="../base.css" />
|
|
10
|
+
<link rel="shortcut icon" type="image/x-icon" href="../favicon.png" />
|
|
11
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
|
+
<style type='text/css'>
|
|
13
|
+
.coverage-summary .sorter {
|
|
14
|
+
background-image: url(../sort-arrow-sprite.png);
|
|
15
|
+
}
|
|
16
|
+
</style>
|
|
17
|
+
</head>
|
|
18
|
+
|
|
19
|
+
<body>
|
|
20
|
+
<div class='wrapper'>
|
|
21
|
+
<div class='pad1'>
|
|
22
|
+
<h1><a href="../index.html">All files</a> / <a href="index.html">utils</a> buildWrapperArgs.ts</h1>
|
|
23
|
+
<div class='clearfix'>
|
|
24
|
+
|
|
25
|
+
<div class='fl pad1y space-right2'>
|
|
26
|
+
<span class="strong">100% </span>
|
|
27
|
+
<span class="quiet">Statements</span>
|
|
28
|
+
<span class='fraction'>6/6</span>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
<div class='fl pad1y space-right2'>
|
|
33
|
+
<span class="strong">100% </span>
|
|
34
|
+
<span class="quiet">Branches</span>
|
|
35
|
+
<span class='fraction'>2/2</span>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
<div class='fl pad1y space-right2'>
|
|
40
|
+
<span class="strong">100% </span>
|
|
41
|
+
<span class="quiet">Functions</span>
|
|
42
|
+
<span class='fraction'>2/2</span>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
<div class='fl pad1y space-right2'>
|
|
47
|
+
<span class="strong">100% </span>
|
|
48
|
+
<span class="quiet">Lines</span>
|
|
49
|
+
<span class='fraction'>5/5</span>
|
|
50
|
+
</div>
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
</div>
|
|
54
|
+
<p class="quiet">
|
|
55
|
+
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
|
+
</p>
|
|
57
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
63
|
+
</div>
|
|
64
|
+
<div class='status-line high'></div>
|
|
65
|
+
<pre><table class="coverage">
|
|
66
|
+
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
|
+
<a name='L2'></a><a href='#L2'>2</a>
|
|
68
|
+
<a name='L3'></a><a href='#L3'>3</a>
|
|
69
|
+
<a name='L4'></a><a href='#L4'>4</a>
|
|
70
|
+
<a name='L5'></a><a href='#L5'>5</a>
|
|
71
|
+
<a name='L6'></a><a href='#L6'>6</a>
|
|
72
|
+
<a name='L7'></a><a href='#L7'>7</a>
|
|
73
|
+
<a name='L8'></a><a href='#L8'>8</a>
|
|
74
|
+
<a name='L9'></a><a href='#L9'>9</a>
|
|
75
|
+
<a name='L10'></a><a href='#L10'>10</a>
|
|
76
|
+
<a name='L11'></a><a href='#L11'>11</a>
|
|
77
|
+
<a name='L12'></a><a href='#L12'>12</a>
|
|
78
|
+
<a name='L13'></a><a href='#L13'>13</a>
|
|
79
|
+
<a name='L14'></a><a href='#L14'>14</a>
|
|
80
|
+
<a name='L15'></a><a href='#L15'>15</a>
|
|
81
|
+
<a name='L16'></a><a href='#L16'>16</a>
|
|
82
|
+
<a name='L17'></a><a href='#L17'>17</a>
|
|
83
|
+
<a name='L18'></a><a href='#L18'>18</a>
|
|
84
|
+
<a name='L19'></a><a href='#L19'>19</a>
|
|
85
|
+
<a name='L20'></a><a href='#L20'>20</a>
|
|
86
|
+
<a name='L21'></a><a href='#L21'>21</a>
|
|
87
|
+
<a name='L22'></a><a href='#L22'>22</a>
|
|
88
|
+
<a name='L23'></a><a href='#L23'>23</a>
|
|
89
|
+
<a name='L24'></a><a href='#L24'>24</a>
|
|
90
|
+
<a name='L25'></a><a href='#L25'>25</a>
|
|
91
|
+
<a name='L26'></a><a href='#L26'>26</a>
|
|
92
|
+
<a name='L27'></a><a href='#L27'>27</a>
|
|
93
|
+
<a name='L28'></a><a href='#L28'>28</a>
|
|
94
|
+
<a name='L29'></a><a href='#L29'>29</a>
|
|
95
|
+
<a name='L30'></a><a href='#L30'>30</a>
|
|
96
|
+
<a name='L31'></a><a href='#L31'>31</a>
|
|
97
|
+
<a name='L32'></a><a href='#L32'>32</a>
|
|
98
|
+
<a name='L33'></a><a href='#L33'>33</a>
|
|
99
|
+
<a name='L34'></a><a href='#L34'>34</a>
|
|
100
|
+
<a name='L35'></a><a href='#L35'>35</a>
|
|
101
|
+
<a name='L36'></a><a href='#L36'>36</a>
|
|
102
|
+
<a name='L37'></a><a href='#L37'>37</a>
|
|
103
|
+
<a name='L38'></a><a href='#L38'>38</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
104
|
+
<span class="cline-any cline-neutral"> </span>
|
|
105
|
+
<span class="cline-any cline-neutral"> </span>
|
|
106
|
+
<span class="cline-any cline-neutral"> </span>
|
|
107
|
+
<span class="cline-any cline-neutral"> </span>
|
|
108
|
+
<span class="cline-any cline-neutral"> </span>
|
|
109
|
+
<span class="cline-any cline-neutral"> </span>
|
|
110
|
+
<span class="cline-any cline-neutral"> </span>
|
|
111
|
+
<span class="cline-any cline-neutral"> </span>
|
|
112
|
+
<span class="cline-any cline-neutral"> </span>
|
|
113
|
+
<span class="cline-any cline-neutral"> </span>
|
|
114
|
+
<span class="cline-any cline-neutral"> </span>
|
|
115
|
+
<span class="cline-any cline-neutral"> </span>
|
|
116
|
+
<span class="cline-any cline-neutral"> </span>
|
|
117
|
+
<span class="cline-any cline-neutral"> </span>
|
|
118
|
+
<span class="cline-any cline-neutral"> </span>
|
|
119
|
+
<span class="cline-any cline-neutral"> </span>
|
|
120
|
+
<span class="cline-any cline-neutral"> </span>
|
|
121
|
+
<span class="cline-any cline-neutral"> </span>
|
|
122
|
+
<span class="cline-any cline-neutral"> </span>
|
|
123
|
+
<span class="cline-any cline-neutral"> </span>
|
|
124
|
+
<span class="cline-any cline-neutral"> </span>
|
|
125
|
+
<span class="cline-any cline-neutral"> </span>
|
|
126
|
+
<span class="cline-any cline-neutral"> </span>
|
|
127
|
+
<span class="cline-any cline-neutral"> </span>
|
|
128
|
+
<span class="cline-any cline-neutral"> </span>
|
|
129
|
+
<span class="cline-any cline-neutral"> </span>
|
|
130
|
+
<span class="cline-any cline-neutral"> </span>
|
|
131
|
+
<span class="cline-any cline-yes">1x</span>
|
|
132
|
+
<span class="cline-any cline-yes">11x</span>
|
|
133
|
+
<span class="cline-any cline-yes">3x</span>
|
|
134
|
+
<span class="cline-any cline-neutral"> </span>
|
|
135
|
+
<span class="cline-any cline-neutral"> </span>
|
|
136
|
+
<span class="cline-any cline-yes">15x</span>
|
|
137
|
+
<span class="cline-any cline-neutral"> </span>
|
|
138
|
+
<span class="cline-any cline-yes">8x</span>
|
|
139
|
+
<span class="cline-any cline-neutral"> </span>
|
|
140
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">/**
|
|
141
|
+
* Build the argv passed to an underlying CLI (eslint, prettier) for a
|
|
142
|
+
* `scripts <cmd>` wrapper, from the user-provided argv.
|
|
143
|
+
*
|
|
144
|
+
* - Empty input → `defaults` verbatim (the canonical no-args
|
|
145
|
+
* invocation, e.g. `['src', '--quiet']` for lint).
|
|
146
|
+
* - Non-empty input → user args (with the POSIX `--` end-of-options
|
|
147
|
+
* marker removed) followed by `target`.
|
|
148
|
+
*
|
|
149
|
+
* The previous heuristic tried to detect "user-provided path" by
|
|
150
|
+
* scanning for any argv entry not starting with `-`, then handed full
|
|
151
|
+
* control to the user. That broke two real consumer invocations:
|
|
152
|
+
*
|
|
153
|
+
* 1. `scripts lint --max-warnings 0` — the `0` value of the flag was
|
|
154
|
+
* misread as a path, so `src` was dropped and ESLint ran with no
|
|
155
|
+
* files.
|
|
156
|
+
* 2. `scripts lint -- --fix` — every arg started with `-`, so `src`
|
|
157
|
+
* was appended, but the surviving `--` separator forced ESLint to
|
|
158
|
+
* treat `--fix` and `src` as positional files.
|
|
159
|
+
*
|
|
160
|
+
* The wrapper is intentionally narrow: pass flags, get the default
|
|
161
|
+
* target. Consumers that need a non-default target should invoke the
|
|
162
|
+
* underlying CLI directly (`node_modules/.bin/eslint <path>`).
|
|
163
|
+
*
|
|
164
|
+
* @param userArgs - argv after `scripts <cmd>` (i.e. `process.argv.slice(2)`).
|
|
165
|
+
* @param options.defaults - argv to use when `userArgs` is empty.
|
|
166
|
+
* @param options.target - path/glob appended after user flags otherwise.
|
|
167
|
+
*/
|
|
168
|
+
export function buildWrapperArgs(userArgs: string[], options: { defaults: string[]; target: string }): string[] {
|
|
169
|
+
if (userArgs.length === 0) {
|
|
170
|
+
return [...options.defaults];
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
const passthrough = userArgs.filter((a) => a !== '--');
|
|
174
|
+
|
|
175
|
+
return [...passthrough, options.target];
|
|
176
|
+
}
|
|
177
|
+
</pre></td></tr></table></pre>
|
|
178
|
+
|
|
179
|
+
<div class='push'></div><!-- for sticky footer -->
|
|
180
|
+
</div><!-- /wrapper -->
|
|
181
|
+
<div class='footer quiet pad2 space-top1 center small'>
|
|
182
|
+
Code coverage generated by
|
|
183
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
184
|
+
at 2026-06-07T15:01:17.247Z
|
|
185
|
+
</div>
|
|
186
|
+
<script src="../prettify.js"></script>
|
|
187
|
+
<script>
|
|
188
|
+
window.onload = function () {
|
|
189
|
+
prettyPrint();
|
|
190
|
+
};
|
|
191
|
+
</script>
|
|
192
|
+
<script src="../sorter.js"></script>
|
|
193
|
+
<script src="../block-navigation.js"></script>
|
|
194
|
+
</body>
|
|
195
|
+
</html>
|
|
196
|
+
|
|
@@ -163,7 +163,7 @@ export default function checkRequiredFiles(files: string[]): boolean {
|
|
|
163
163
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
164
164
|
Code coverage generated by
|
|
165
165
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
166
|
-
at 2026-
|
|
166
|
+
at 2026-06-07T15:01:17.247Z
|
|
167
167
|
</div>
|
|
168
168
|
<script src="../prettify.js"></script>
|
|
169
169
|
<script>
|
|
@@ -199,7 +199,7 @@ export default function formatWebpackMessages(json: any): FormattedMessages {
|
|
|
199
199
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
200
200
|
Code coverage generated by
|
|
201
201
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
202
|
-
at 2026-
|
|
202
|
+
at 2026-06-07T15:01:17.247Z
|
|
203
203
|
</div>
|
|
204
204
|
<script src="../prettify.js"></script>
|
|
205
205
|
<script>
|
|
@@ -244,7 +244,7 @@ export default function getPublicUrlOrPath(
|
|
|
244
244
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
245
245
|
Code coverage generated by
|
|
246
246
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
247
|
-
at 2026-
|
|
247
|
+
at 2026-06-07T15:01:17.247Z
|
|
248
248
|
</div>
|
|
249
249
|
<script src="../prettify.js"></script>
|
|
250
250
|
<script>
|
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">94.
|
|
26
|
+
<span class="strong">94.59% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>70/74</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">86.
|
|
33
|
+
<span class="strong">86.95% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>40/46</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
40
|
<span class="strong">100% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>8/8</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">95.
|
|
47
|
+
<span class="strong">95.58% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>65/68</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -79,6 +79,21 @@
|
|
|
79
79
|
</tr>
|
|
80
80
|
</thead>
|
|
81
81
|
<tbody><tr>
|
|
82
|
+
<td class="file high" data-value="buildWrapperArgs.ts"><a href="buildWrapperArgs.ts.html">buildWrapperArgs.ts</a></td>
|
|
83
|
+
<td data-value="100" class="pic high">
|
|
84
|
+
<div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
|
|
85
|
+
</td>
|
|
86
|
+
<td data-value="100" class="pct high">100%</td>
|
|
87
|
+
<td data-value="6" class="abs high">6/6</td>
|
|
88
|
+
<td data-value="100" class="pct high">100%</td>
|
|
89
|
+
<td data-value="2" class="abs high">2/2</td>
|
|
90
|
+
<td data-value="100" class="pct high">100%</td>
|
|
91
|
+
<td data-value="2" class="abs high">2/2</td>
|
|
92
|
+
<td data-value="100" class="pct high">100%</td>
|
|
93
|
+
<td data-value="5" class="abs high">5/5</td>
|
|
94
|
+
</tr>
|
|
95
|
+
|
|
96
|
+
<tr>
|
|
82
97
|
<td class="file high" data-value="checkRequiredFiles.ts"><a href="checkRequiredFiles.ts.html">checkRequiredFiles.ts</a></td>
|
|
83
98
|
<td data-value="100" class="pic high">
|
|
84
99
|
<div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
|
|
@@ -146,7 +161,7 @@
|
|
|
146
161
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
147
162
|
Code coverage generated by
|
|
148
163
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
149
|
-
at 2026-
|
|
164
|
+
at 2026-06-07T15:01:17.247Z
|
|
150
165
|
</div>
|
|
151
166
|
<script src="../prettify.js"></script>
|
|
152
167
|
<script>
|
|
@@ -178,7 +178,7 @@ export function resolveBin(pkgName: string, binName: string = <span class="branc
|
|
|
178
178
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
179
179
|
Code coverage generated by
|
|
180
180
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
181
|
-
at 2026-
|
|
181
|
+
at 2026-06-07T15:01:17.247Z
|
|
182
182
|
</div>
|
|
183
183
|
<script src="../prettify.js"></script>
|
|
184
184
|
<script>
|
package/coverage/lcov.info
CHANGED
|
@@ -15,7 +15,7 @@ FNDA:5,(anonymous_2)
|
|
|
15
15
|
FNDA:1,(anonymous_3)
|
|
16
16
|
FNDA:0,(anonymous_4)
|
|
17
17
|
FNDA:2,getClientEnvironment
|
|
18
|
-
FNDA:
|
|
18
|
+
FNDA:111,(anonymous_6)
|
|
19
19
|
FNDA:1,(anonymous_7)
|
|
20
20
|
FNDA:13,(anonymous_8)
|
|
21
21
|
DA:1,1
|
|
@@ -35,7 +35,7 @@ DA:52,0
|
|
|
35
35
|
DA:69,1
|
|
36
36
|
DA:72,2
|
|
37
37
|
DA:74,2
|
|
38
|
-
DA:75,
|
|
38
|
+
DA:75,111
|
|
39
39
|
DA:76,1
|
|
40
40
|
DA:100,2
|
|
41
41
|
DA:101,13
|
|
@@ -112,6 +112,26 @@ BRF:0
|
|
|
112
112
|
BRH:0
|
|
113
113
|
end_of_record
|
|
114
114
|
TN:
|
|
115
|
+
SF:src/utils/buildWrapperArgs.ts
|
|
116
|
+
FN:29,buildWrapperArgs
|
|
117
|
+
FN:34,(anonymous_1)
|
|
118
|
+
FNF:2
|
|
119
|
+
FNH:2
|
|
120
|
+
FNDA:11,buildWrapperArgs
|
|
121
|
+
FNDA:15,(anonymous_1)
|
|
122
|
+
DA:29,1
|
|
123
|
+
DA:30,11
|
|
124
|
+
DA:31,3
|
|
125
|
+
DA:34,15
|
|
126
|
+
DA:36,8
|
|
127
|
+
LF:5
|
|
128
|
+
LH:5
|
|
129
|
+
BRDA:30,0,0,3
|
|
130
|
+
BRDA:30,0,1,8
|
|
131
|
+
BRF:2
|
|
132
|
+
BRH:2
|
|
133
|
+
end_of_record
|
|
134
|
+
TN:
|
|
115
135
|
SF:src/utils/checkRequiredFiles.ts
|
|
116
136
|
FN:15,checkRequiredFiles
|
|
117
137
|
FN:18,(anonymous_2)
|
package/lib/command/lint.js
CHANGED
|
@@ -4,28 +4,24 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const cross_spawn_1 = __importDefault(require("cross-spawn"));
|
|
7
|
+
const buildWrapperArgs_1 = require("../utils/buildWrapperArgs");
|
|
7
8
|
const resolveBin_1 = require("../utils/resolveBin");
|
|
8
9
|
/**
|
|
9
|
-
* `scripts lint` — ESLint over `src
|
|
10
|
-
*
|
|
10
|
+
* `scripts lint` — ESLint over `src`. ESLint 9 flat config uses
|
|
11
|
+
* `eslint.config.js#files` for filtering (no `--ext`).
|
|
11
12
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
13
|
+
* Flag args pass through; the default `src` target is always appended
|
|
14
|
+
* so the common case (`scripts lint --fix`, `scripts lint
|
|
15
|
+
* --max-warnings 0`, `scripts lint -- --fix`) Just Works. Consumers
|
|
16
|
+
* that need a different target should call `eslint` directly from
|
|
17
|
+
* `node_modules/.bin`.
|
|
15
18
|
*/
|
|
16
19
|
const eslintBin = (0, resolveBin_1.resolveBin)('eslint');
|
|
17
20
|
const userArgs = process.argv.slice(2);
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}
|
|
23
|
-
else if (userProvidedPath) {
|
|
24
|
-
args = userArgs;
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
args = [...userArgs, 'src'];
|
|
28
|
-
}
|
|
21
|
+
const args = (0, buildWrapperArgs_1.buildWrapperArgs)(userArgs, {
|
|
22
|
+
defaults: ['src', '--quiet'],
|
|
23
|
+
target: 'src',
|
|
24
|
+
});
|
|
29
25
|
const result = cross_spawn_1.default.sync(process.execPath, [eslintBin, ...args], { stdio: 'inherit' });
|
|
30
26
|
process.exit(result.status ?? 1);
|
|
31
27
|
//# sourceMappingURL=lint.js.map
|
package/lib/command/lint.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lint.js","sourceRoot":"","sources":["../../src/command/lint.ts"],"names":[],"mappings":";;;;;AAAA,8DAAgC;AAEhC,oDAAiD;AAEjD
|
|
1
|
+
{"version":3,"file":"lint.js","sourceRoot":"","sources":["../../src/command/lint.ts"],"names":[],"mappings":";;;;;AAAA,8DAAgC;AAEhC,gEAA6D;AAC7D,oDAAiD;AAEjD;;;;;;;;;GASG;AACH,MAAM,SAAS,GAAG,IAAA,uBAAU,EAAC,QAAQ,CAAC,CAAC;AAEvC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEvC,MAAM,IAAI,GAAG,IAAA,mCAAgB,EAAC,QAAQ,EAAE;IACtC,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC;IAC5B,MAAM,EAAE,KAAK;CACd,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,qBAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;AAExF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC"}
|
package/lib/command/prettier.js
CHANGED
|
@@ -4,28 +4,23 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const cross_spawn_1 = __importDefault(require("cross-spawn"));
|
|
7
|
+
const buildWrapperArgs_1 = require("../utils/buildWrapperArgs");
|
|
7
8
|
const resolveBin_1 = require("../utils/resolveBin");
|
|
8
9
|
/**
|
|
9
10
|
* `scripts prettier` — `--check` over `src/**\/*.{ts,tsx,json,css,md}`.
|
|
10
11
|
*
|
|
11
|
-
* Flag
|
|
12
|
-
*
|
|
13
|
-
*
|
|
12
|
+
* Flag args pass through; the default glob is always appended so
|
|
13
|
+
* `scripts prettier --write` Just Works. Consumers that need a
|
|
14
|
+
* different target should call `prettier` directly from
|
|
15
|
+
* `node_modules/.bin`.
|
|
14
16
|
*/
|
|
15
17
|
const prettierBin = (0, resolveBin_1.resolveBin)('prettier');
|
|
16
18
|
const DEFAULT_GLOB = 'src/**/*.{ts,tsx,json,css,md}';
|
|
17
19
|
const userArgs = process.argv.slice(2);
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}
|
|
23
|
-
else if (userProvidedPath) {
|
|
24
|
-
args = userArgs;
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
args = [...userArgs, DEFAULT_GLOB];
|
|
28
|
-
}
|
|
20
|
+
const args = (0, buildWrapperArgs_1.buildWrapperArgs)(userArgs, {
|
|
21
|
+
defaults: ['--check', DEFAULT_GLOB],
|
|
22
|
+
target: DEFAULT_GLOB,
|
|
23
|
+
});
|
|
29
24
|
const result = cross_spawn_1.default.sync(process.execPath, [prettierBin, ...args], { stdio: 'inherit' });
|
|
30
25
|
process.exit(result.status ?? 1);
|
|
31
26
|
//# sourceMappingURL=prettier.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prettier.js","sourceRoot":"","sources":["../../src/command/prettier.ts"],"names":[],"mappings":";;;;;AAAA,8DAAgC;AAEhC,oDAAiD;AAEjD
|
|
1
|
+
{"version":3,"file":"prettier.js","sourceRoot":"","sources":["../../src/command/prettier.ts"],"names":[],"mappings":";;;;;AAAA,8DAAgC;AAEhC,gEAA6D;AAC7D,oDAAiD;AAEjD;;;;;;;GAOG;AACH,MAAM,WAAW,GAAG,IAAA,uBAAU,EAAC,UAAU,CAAC,CAAC;AAE3C,MAAM,YAAY,GAAG,+BAA+B,CAAC;AAErD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEvC,MAAM,IAAI,GAAG,IAAA,mCAAgB,EAAC,QAAQ,EAAE;IACtC,QAAQ,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC;IACnC,MAAM,EAAE,YAAY;CACrB,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,qBAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;AAE1F,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Build the argv passed to an underlying CLI (eslint, prettier) for a
|
|
3
|
+
* `scripts <cmd>` wrapper, from the user-provided argv.
|
|
4
|
+
*
|
|
5
|
+
* - Empty input → `defaults` verbatim (the canonical no-args
|
|
6
|
+
* invocation, e.g. `['src', '--quiet']` for lint).
|
|
7
|
+
* - Non-empty input → user args (with the POSIX `--` end-of-options
|
|
8
|
+
* marker removed) followed by `target`.
|
|
9
|
+
*
|
|
10
|
+
* The previous heuristic tried to detect "user-provided path" by
|
|
11
|
+
* scanning for any argv entry not starting with `-`, then handed full
|
|
12
|
+
* control to the user. That broke two real consumer invocations:
|
|
13
|
+
*
|
|
14
|
+
* 1. `scripts lint --max-warnings 0` — the `0` value of the flag was
|
|
15
|
+
* misread as a path, so `src` was dropped and ESLint ran with no
|
|
16
|
+
* files.
|
|
17
|
+
* 2. `scripts lint -- --fix` — every arg started with `-`, so `src`
|
|
18
|
+
* was appended, but the surviving `--` separator forced ESLint to
|
|
19
|
+
* treat `--fix` and `src` as positional files.
|
|
20
|
+
*
|
|
21
|
+
* The wrapper is intentionally narrow: pass flags, get the default
|
|
22
|
+
* target. Consumers that need a non-default target should invoke the
|
|
23
|
+
* underlying CLI directly (`node_modules/.bin/eslint <path>`).
|
|
24
|
+
*
|
|
25
|
+
* @param userArgs - argv after `scripts <cmd>` (i.e. `process.argv.slice(2)`).
|
|
26
|
+
* @param options.defaults - argv to use when `userArgs` is empty.
|
|
27
|
+
* @param options.target - path/glob appended after user flags otherwise.
|
|
28
|
+
*/
|
|
29
|
+
export declare function buildWrapperArgs(userArgs: string[], options: {
|
|
30
|
+
defaults: string[];
|
|
31
|
+
target: string;
|
|
32
|
+
}): string[];
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildWrapperArgs = buildWrapperArgs;
|
|
4
|
+
/**
|
|
5
|
+
* Build the argv passed to an underlying CLI (eslint, prettier) for a
|
|
6
|
+
* `scripts <cmd>` wrapper, from the user-provided argv.
|
|
7
|
+
*
|
|
8
|
+
* - Empty input → `defaults` verbatim (the canonical no-args
|
|
9
|
+
* invocation, e.g. `['src', '--quiet']` for lint).
|
|
10
|
+
* - Non-empty input → user args (with the POSIX `--` end-of-options
|
|
11
|
+
* marker removed) followed by `target`.
|
|
12
|
+
*
|
|
13
|
+
* The previous heuristic tried to detect "user-provided path" by
|
|
14
|
+
* scanning for any argv entry not starting with `-`, then handed full
|
|
15
|
+
* control to the user. That broke two real consumer invocations:
|
|
16
|
+
*
|
|
17
|
+
* 1. `scripts lint --max-warnings 0` — the `0` value of the flag was
|
|
18
|
+
* misread as a path, so `src` was dropped and ESLint ran with no
|
|
19
|
+
* files.
|
|
20
|
+
* 2. `scripts lint -- --fix` — every arg started with `-`, so `src`
|
|
21
|
+
* was appended, but the surviving `--` separator forced ESLint to
|
|
22
|
+
* treat `--fix` and `src` as positional files.
|
|
23
|
+
*
|
|
24
|
+
* The wrapper is intentionally narrow: pass flags, get the default
|
|
25
|
+
* target. Consumers that need a non-default target should invoke the
|
|
26
|
+
* underlying CLI directly (`node_modules/.bin/eslint <path>`).
|
|
27
|
+
*
|
|
28
|
+
* @param userArgs - argv after `scripts <cmd>` (i.e. `process.argv.slice(2)`).
|
|
29
|
+
* @param options.defaults - argv to use when `userArgs` is empty.
|
|
30
|
+
* @param options.target - path/glob appended after user flags otherwise.
|
|
31
|
+
*/
|
|
32
|
+
function buildWrapperArgs(userArgs, options) {
|
|
33
|
+
if (userArgs.length === 0) {
|
|
34
|
+
return [...options.defaults];
|
|
35
|
+
}
|
|
36
|
+
const passthrough = userArgs.filter((a) => a !== '--');
|
|
37
|
+
return [...passthrough, options.target];
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=buildWrapperArgs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildWrapperArgs.js","sourceRoot":"","sources":["../../src/utils/buildWrapperArgs.ts"],"names":[],"mappings":";;AA4BA,4CAQC;AApCD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,SAAgB,gBAAgB,CAAC,QAAkB,EAAE,OAA+C;IAClG,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IAEvD,OAAO,CAAC,GAAG,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;AAC1C,CAAC"}
|
package/llms.txt
CHANGED
|
@@ -21,8 +21,12 @@ behind four commands: `create`, `dev`, `build`, `test`.
|
|
|
21
21
|
| `audit` | `yarn npm audit --severity moderate --no-deprecations` (falls back to `npm audit --audit-level=moderate`) |
|
|
22
22
|
| `validate` | Pre-merge gate: `check-types` + `prettier` + `lint` in parallel, then `test --watchAll=false`. `--skip=lint,prettier` to drop steps. |
|
|
23
23
|
|
|
24
|
-
Every command accepts pass-through args — `scripts lint --
|
|
25
|
-
`scripts prettier --
|
|
24
|
+
Every command accepts pass-through args — `scripts lint --fix`,
|
|
25
|
+
`scripts prettier --write`, `scripts check-types -p tsconfig.build.json`, etc.
|
|
26
|
+
Do **not** use the POSIX `--` end-of-options separator: `lint` and
|
|
27
|
+
`prettier` always append the default target (`src` / the default glob),
|
|
28
|
+
so `eslint -- --fix src` would treat `--fix` and `src` as positional
|
|
29
|
+
files. Pass flags directly.
|
|
26
30
|
|
|
27
31
|
Use via `package.json#scripts` — the whole consumer file becomes thin:
|
|
28
32
|
|
|
@@ -33,8 +37,9 @@ Use via `package.json#scripts` — the whole consumer file becomes thin:
|
|
|
33
37
|
"build": "scripts build",
|
|
34
38
|
"test": "scripts test",
|
|
35
39
|
"lint": "scripts lint",
|
|
36
|
-
"lint:fix": "scripts lint --
|
|
40
|
+
"lint:fix": "scripts lint --fix",
|
|
37
41
|
"prettier": "scripts prettier",
|
|
42
|
+
"format": "scripts prettier --write",
|
|
38
43
|
"check-types": "scripts check-types",
|
|
39
44
|
"audit-dependencies": "scripts audit",
|
|
40
45
|
"validate": "scripts validate"
|
package/package.json
CHANGED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { buildWrapperArgs } from '../utils/buildWrapperArgs';
|
|
2
|
+
|
|
3
|
+
describe('buildWrapperArgs', () => {
|
|
4
|
+
const lintOptions = { defaults: ['src', '--quiet'], target: 'src' };
|
|
5
|
+
const prettierOptions = {
|
|
6
|
+
defaults: ['--check', 'src/**/*.{ts,tsx,json,css,md}'],
|
|
7
|
+
target: 'src/**/*.{ts,tsx,json,css,md}',
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
describe('lint wrapper semantics', () => {
|
|
11
|
+
it('falls back to defaults when no user args', () => {
|
|
12
|
+
expect(buildWrapperArgs([], lintOptions)).toEqual(['src', '--quiet']);
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
it('returns a fresh defaults copy (does not alias the input array)', () => {
|
|
16
|
+
const defaults = ['src', '--quiet'];
|
|
17
|
+
const result = buildWrapperArgs([], { defaults, target: 'src' });
|
|
18
|
+
|
|
19
|
+
expect(result).not.toBe(defaults);
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
it('appends target after a single flag (lint --fix)', () => {
|
|
23
|
+
expect(buildWrapperArgs(['--fix'], lintOptions)).toEqual(['--fix', 'src']);
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
it('appends target after --flag=value form', () => {
|
|
27
|
+
expect(buildWrapperArgs(['--max-warnings=0'], lintOptions)).toEqual(['--max-warnings=0', 'src']);
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
it('appends target after --flag value (space-separated) form', () => {
|
|
31
|
+
// Regression: previously the literal `0` was misread as a path,
|
|
32
|
+
// dropping `src` from the eslint invocation so it ran with no files.
|
|
33
|
+
expect(buildWrapperArgs(['--max-warnings', '0'], lintOptions)).toEqual(['--max-warnings', '0', 'src']);
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
it('strips a POSIX `--` end-of-options marker before appending target', () => {
|
|
37
|
+
// Regression: the `--` previously survived into argv, so eslint
|
|
38
|
+
// treated `--fix` and `src` as positional file arguments and failed
|
|
39
|
+
// with "No files matching pattern '--fix'".
|
|
40
|
+
expect(buildWrapperArgs(['--', '--fix'], lintOptions)).toEqual(['--fix', 'src']);
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
it('strips multiple `--` markers (defensive)', () => {
|
|
44
|
+
expect(buildWrapperArgs(['--', '--fix', '--'], lintOptions)).toEqual(['--fix', 'src']);
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
it('preserves the order of user flags', () => {
|
|
48
|
+
expect(buildWrapperArgs(['--cache', '--max-warnings=0', '--fix'], lintOptions)).toEqual([
|
|
49
|
+
'--cache',
|
|
50
|
+
'--max-warnings=0',
|
|
51
|
+
'--fix',
|
|
52
|
+
'src',
|
|
53
|
+
]);
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
describe('prettier wrapper semantics', () => {
|
|
58
|
+
it('falls back to --check + DEFAULT_GLOB when no user args', () => {
|
|
59
|
+
expect(buildWrapperArgs([], prettierOptions)).toEqual(['--check', 'src/**/*.{ts,tsx,json,css,md}']);
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
it('appends DEFAULT_GLOB after --write', () => {
|
|
63
|
+
expect(buildWrapperArgs(['--write'], prettierOptions)).toEqual(['--write', 'src/**/*.{ts,tsx,json,css,md}']);
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
it('strips the `--` separator before appending DEFAULT_GLOB', () => {
|
|
67
|
+
expect(buildWrapperArgs(['--', '--write'], prettierOptions)).toEqual([
|
|
68
|
+
'--write',
|
|
69
|
+
'src/**/*.{ts,tsx,json,css,md}',
|
|
70
|
+
]);
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
});
|
package/src/command/lint.ts
CHANGED
|
@@ -1,30 +1,26 @@
|
|
|
1
1
|
import spawn from 'cross-spawn';
|
|
2
2
|
|
|
3
|
+
import { buildWrapperArgs } from '../utils/buildWrapperArgs';
|
|
3
4
|
import { resolveBin } from '../utils/resolveBin';
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
|
-
* `scripts lint` — ESLint over `src
|
|
7
|
-
*
|
|
7
|
+
* `scripts lint` — ESLint over `src`. ESLint 9 flat config uses
|
|
8
|
+
* `eslint.config.js#files` for filtering (no `--ext`).
|
|
8
9
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
10
|
+
* Flag args pass through; the default `src` target is always appended
|
|
11
|
+
* so the common case (`scripts lint --fix`, `scripts lint
|
|
12
|
+
* --max-warnings 0`, `scripts lint -- --fix`) Just Works. Consumers
|
|
13
|
+
* that need a different target should call `eslint` directly from
|
|
14
|
+
* `node_modules/.bin`.
|
|
12
15
|
*/
|
|
13
16
|
const eslintBin = resolveBin('eslint');
|
|
14
17
|
|
|
15
18
|
const userArgs = process.argv.slice(2);
|
|
16
19
|
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
if (userArgs.length === 0) {
|
|
22
|
-
args = ['src', '--quiet'];
|
|
23
|
-
} else if (userProvidedPath) {
|
|
24
|
-
args = userArgs;
|
|
25
|
-
} else {
|
|
26
|
-
args = [...userArgs, 'src'];
|
|
27
|
-
}
|
|
20
|
+
const args = buildWrapperArgs(userArgs, {
|
|
21
|
+
defaults: ['src', '--quiet'],
|
|
22
|
+
target: 'src',
|
|
23
|
+
});
|
|
28
24
|
|
|
29
25
|
const result = spawn.sync(process.execPath, [eslintBin, ...args], { stdio: 'inherit' });
|
|
30
26
|
|
package/src/command/prettier.ts
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import spawn from 'cross-spawn';
|
|
2
2
|
|
|
3
|
+
import { buildWrapperArgs } from '../utils/buildWrapperArgs';
|
|
3
4
|
import { resolveBin } from '../utils/resolveBin';
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* `scripts prettier` — `--check` over `src/**\/*.{ts,tsx,json,css,md}`.
|
|
7
8
|
*
|
|
8
|
-
* Flag
|
|
9
|
-
*
|
|
10
|
-
*
|
|
9
|
+
* Flag args pass through; the default glob is always appended so
|
|
10
|
+
* `scripts prettier --write` Just Works. Consumers that need a
|
|
11
|
+
* different target should call `prettier` directly from
|
|
12
|
+
* `node_modules/.bin`.
|
|
11
13
|
*/
|
|
12
14
|
const prettierBin = resolveBin('prettier');
|
|
13
15
|
|
|
@@ -15,17 +17,10 @@ const DEFAULT_GLOB = 'src/**/*.{ts,tsx,json,css,md}';
|
|
|
15
17
|
|
|
16
18
|
const userArgs = process.argv.slice(2);
|
|
17
19
|
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
if (userArgs.length === 0) {
|
|
23
|
-
args = ['--check', DEFAULT_GLOB];
|
|
24
|
-
} else if (userProvidedPath) {
|
|
25
|
-
args = userArgs;
|
|
26
|
-
} else {
|
|
27
|
-
args = [...userArgs, DEFAULT_GLOB];
|
|
28
|
-
}
|
|
20
|
+
const args = buildWrapperArgs(userArgs, {
|
|
21
|
+
defaults: ['--check', DEFAULT_GLOB],
|
|
22
|
+
target: DEFAULT_GLOB,
|
|
23
|
+
});
|
|
29
24
|
|
|
30
25
|
const result = spawn.sync(process.execPath, [prettierBin, ...args], { stdio: 'inherit' });
|
|
31
26
|
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Build the argv passed to an underlying CLI (eslint, prettier) for a
|
|
3
|
+
* `scripts <cmd>` wrapper, from the user-provided argv.
|
|
4
|
+
*
|
|
5
|
+
* - Empty input → `defaults` verbatim (the canonical no-args
|
|
6
|
+
* invocation, e.g. `['src', '--quiet']` for lint).
|
|
7
|
+
* - Non-empty input → user args (with the POSIX `--` end-of-options
|
|
8
|
+
* marker removed) followed by `target`.
|
|
9
|
+
*
|
|
10
|
+
* The previous heuristic tried to detect "user-provided path" by
|
|
11
|
+
* scanning for any argv entry not starting with `-`, then handed full
|
|
12
|
+
* control to the user. That broke two real consumer invocations:
|
|
13
|
+
*
|
|
14
|
+
* 1. `scripts lint --max-warnings 0` — the `0` value of the flag was
|
|
15
|
+
* misread as a path, so `src` was dropped and ESLint ran with no
|
|
16
|
+
* files.
|
|
17
|
+
* 2. `scripts lint -- --fix` — every arg started with `-`, so `src`
|
|
18
|
+
* was appended, but the surviving `--` separator forced ESLint to
|
|
19
|
+
* treat `--fix` and `src` as positional files.
|
|
20
|
+
*
|
|
21
|
+
* The wrapper is intentionally narrow: pass flags, get the default
|
|
22
|
+
* target. Consumers that need a non-default target should invoke the
|
|
23
|
+
* underlying CLI directly (`node_modules/.bin/eslint <path>`).
|
|
24
|
+
*
|
|
25
|
+
* @param userArgs - argv after `scripts <cmd>` (i.e. `process.argv.slice(2)`).
|
|
26
|
+
* @param options.defaults - argv to use when `userArgs` is empty.
|
|
27
|
+
* @param options.target - path/glob appended after user flags otherwise.
|
|
28
|
+
*/
|
|
29
|
+
export function buildWrapperArgs(userArgs: string[], options: { defaults: string[]; target: string }): string[] {
|
|
30
|
+
if (userArgs.length === 0) {
|
|
31
|
+
return [...options.defaults];
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const passthrough = userArgs.filter((a) => a !== '--');
|
|
35
|
+
|
|
36
|
+
return [...passthrough, options.target];
|
|
37
|
+
}
|