@jslint-org/jslint 2025.10.31 → 2025.12.28
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 +6 -0
- package/README.md +15 -6
- package/jslint.mjs +46 -8
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,12 @@
|
|
|
6
6
|
- jslint - add new warning requiring paren around plus-separated concatenations.
|
|
7
7
|
- jslint - try to improve parser to be able to parse jquery.js without stopping.
|
|
8
8
|
|
|
9
|
+
# v2025.12.28
|
|
10
|
+
- ci - Update file publish.yml to use trusted-publishing for npm packages.
|
|
11
|
+
- jslint - regression-fix - Warn about variable usage before initialization.
|
|
12
|
+
- jslint - Allow parenthesis after ellipsis inside a function call.
|
|
13
|
+
- ci - Upgrade nodejs used in ci to v24.
|
|
14
|
+
|
|
9
15
|
# v2025.10.31
|
|
10
16
|
- coverage - Add coverage-directives '/*coverage-disable*/', '/*coverage-enable*/'. '//coverage-ignore-line'.
|
|
11
17
|
|
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@ Douglas Crockford <douglas@crockford.com>
|
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
# Status
|
|
6
|
-
| Branch | [master<br>(v2025.
|
|
6
|
+
| Branch | [master<br>(v2025.12.28)](https://github.com/jslint-org/jslint/tree/master) | [beta<br>(Web Demo)](https://github.com/jslint-org/jslint/tree/beta) | [alpha<br>(Development)](https://github.com/jslint-org/jslint/tree/alpha) |
|
|
7
7
|
|--:|:--:|:--:|:--:|
|
|
8
8
|
| CI | [](https://github.com/jslint-org/jslint/actions?query=branch%3Amaster) | [](https://github.com/jslint-org/jslint/actions?query=branch%3Abeta) | [](https://github.com/jslint-org/jslint/actions?query=branch%3Aalpha) |
|
|
9
9
|
| Coverage | [](https://jslint-org.github.io/jslint/branch-master/.artifact/coverage/index.html) | [](https://jslint-org.github.io/jslint/branch-beta/.artifact/coverage/index.html) | [](https://jslint-org.github.io/jslint/branch-alpha/.artifact/coverage/index.html) |
|
|
@@ -947,13 +947,14 @@ if (false) {
|
|
|
947
947
|
<br><br>
|
|
948
948
|
### pull-request merge
|
|
949
949
|
- find highest issue-number at https://github.com/jslint-org/jslint/issues/, https://github.com/jslint-org/jslint/pulls/, and add +1 to it for PR-xxx
|
|
950
|
+
- checkpoint local-branch-beta
|
|
950
951
|
- `shGitPullrequest beta beta`
|
|
951
952
|
- verify ci-success for origin-branch-alpha
|
|
952
953
|
- https://github.com/kaizhu256/jslint/actions
|
|
953
954
|
- `git push upstream alpha -f`
|
|
954
955
|
- verify ci-success for upstream-branch-alpha
|
|
955
956
|
- https://github.com/jslint-org/jslint/actions
|
|
956
|
-
- goto https://github.com/jslint-org/jslint/compare/beta...kaizhu256:jslint:branch-p2025.
|
|
957
|
+
- goto https://github.com/jslint-org/jslint/compare/beta...kaizhu256:jslint:branch-p2025.12.14
|
|
957
958
|
- click `Create pull request`
|
|
958
959
|
- input `Add your description here...` with:
|
|
959
960
|
```
|
|
@@ -973,7 +974,7 @@ This PR will additionally:
|
|
|
973
974
|
- verify ci-success for pull-request
|
|
974
975
|
- https://github.com/jslint-org/jslint/actions/workflows/on_pull_request.yml
|
|
975
976
|
- wait awhile before continuing ...
|
|
976
|
-
- click `
|
|
977
|
+
- click `Squash and merge`
|
|
977
978
|
- verify ci-success for upstream-branch-beta
|
|
978
979
|
- https://github.com/jslint-org/jslint/actions
|
|
979
980
|
- `shGitPullrequestCleanup`
|
|
@@ -987,13 +988,15 @@ This PR will additionally:
|
|
|
987
988
|
|
|
988
989
|
<br><br>
|
|
989
990
|
### branch-master commit
|
|
990
|
-
-
|
|
991
|
+
- update ci.yml to latest nodejs-lts
|
|
992
|
+
- checkpoint local-branch-beta
|
|
993
|
+
- `shGitPullrequest master beta # re-run until version propagates`
|
|
991
994
|
- verify ci-success for origin-branch-alpha
|
|
992
995
|
- https://github.com/kaizhu256/jslint/actions
|
|
993
996
|
- `git push upstream alpha -f`
|
|
994
997
|
- verify ci-success for upstream-branch-alpha
|
|
995
998
|
- https://github.com/jslint-org/jslint/actions
|
|
996
|
-
- goto https://github.com/jslint-org/jslint/compare/beta...kaizhu256:jslint:branch-v2025.
|
|
999
|
+
- goto https://github.com/jslint-org/jslint/compare/beta...kaizhu256:jslint:branch-v2025.12.28
|
|
997
1000
|
- click `Create pull request`
|
|
998
1001
|
- input `Add a title` with: `# v20yy.mm.dd`
|
|
999
1002
|
- input `Add a description` with:
|
|
@@ -1006,7 +1009,7 @@ This PR will additionally:
|
|
|
1006
1009
|
- verify ci-success for pull-request
|
|
1007
1010
|
- https://github.com/jslint-org/jslint/actions/workflows/on_pull_request.yml
|
|
1008
1011
|
- wait awhile before continuing ...
|
|
1009
|
-
- click `
|
|
1012
|
+
- click `Squash and merge`
|
|
1010
1013
|
- verify ci-success for upstream-branch-beta
|
|
1011
1014
|
- https://github.com/jslint-org/jslint/actions
|
|
1012
1015
|
- `shGitPullrequestCleanup`
|
|
@@ -1026,6 +1029,12 @@ This PR will additionally:
|
|
|
1026
1029
|
|
|
1027
1030
|
<br><br>
|
|
1028
1031
|
### branch-master publish
|
|
1032
|
+
- goto https://www.npmjs.com/package/@jslint-org/jslint/access <!--no-validate-->
|
|
1033
|
+
- click `Github Actions`
|
|
1034
|
+
- input `Organization or user*` with: `jslint-org`
|
|
1035
|
+
- input `Repository*` with: `jslint`
|
|
1036
|
+
- input `Workflow filename*` with: `publish.yml`
|
|
1037
|
+
- click `Set up connection` or `Update Package Settings`
|
|
1029
1038
|
- `git push upstream beta:master`
|
|
1030
1039
|
- verify ci-success for upstream-branch-master
|
|
1031
1040
|
- https://github.com/jslint-org/jslint/actions
|
package/jslint.mjs
CHANGED
|
@@ -163,7 +163,7 @@ let jslint_charset_ascii = (
|
|
|
163
163
|
+ "@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_"
|
|
164
164
|
+ "`abcdefghijklmnopqrstuvwxyz{|}~\u007f"
|
|
165
165
|
);
|
|
166
|
-
let jslint_edition = "v2025.
|
|
166
|
+
let jslint_edition = "v2025.12.28";
|
|
167
167
|
let jslint_export; // The jslint object to be exported.
|
|
168
168
|
let jslint_fudge = 1; // Fudge starting line and starting
|
|
169
169
|
// ... column to 1.
|
|
@@ -4674,7 +4674,13 @@ function jslint_phase3_parse(state) {
|
|
|
4674
4674
|
|
|
4675
4675
|
test_cause("free");
|
|
4676
4676
|
the_paren.free = true;
|
|
4677
|
-
if (
|
|
4677
|
+
if (
|
|
4678
|
+
the_argument.wrapped === true
|
|
4679
|
+
|
|
4680
|
+
// PR-483 - Allow parenthesis after ellipsis inside a function call.
|
|
4681
|
+
|
|
4682
|
+
&& the_argument.ellipsis !== true
|
|
4683
|
+
) {
|
|
4678
4684
|
|
|
4679
4685
|
// test_cause:
|
|
4680
4686
|
// ["aa((0))", "infix_lparen", "unexpected_a", "(", 3]
|
|
@@ -5158,6 +5164,10 @@ function jslint_phase3_parse(state) {
|
|
|
5158
5164
|
the_label.dead = false;
|
|
5159
5165
|
the_label.init = true;
|
|
5160
5166
|
the_statement = parse_statement();
|
|
5167
|
+
|
|
5168
|
+
// Issue #458 - Regression - Warn about variable usage before initialization.
|
|
5169
|
+
|
|
5170
|
+
the_label.dead = true;
|
|
5161
5171
|
functionage.statement_prv = the_statement;
|
|
5162
5172
|
the_statement.label = the_label;
|
|
5163
5173
|
the_statement.statement = true;
|
|
@@ -5204,9 +5214,13 @@ function jslint_phase3_parse(state) {
|
|
|
5204
5214
|
}
|
|
5205
5215
|
semicolon();
|
|
5206
5216
|
}
|
|
5207
|
-
|
|
5208
|
-
|
|
5209
|
-
|
|
5217
|
+
|
|
5218
|
+
// Issue #458 - Regression - Warn about variable usage before initialization.
|
|
5219
|
+
|
|
5220
|
+
// if (the_label !== undefined) {
|
|
5221
|
+
// the_label.dead = true;
|
|
5222
|
+
// }
|
|
5223
|
+
|
|
5210
5224
|
return the_statement;
|
|
5211
5225
|
}
|
|
5212
5226
|
|
|
@@ -6987,8 +7001,16 @@ function jslint_phase3_parse(state) {
|
|
|
6987
7001
|
the_variable.names.push(name);
|
|
6988
7002
|
enroll(name, "variable", mode_const);
|
|
6989
7003
|
}
|
|
6990
|
-
|
|
7004
|
+
|
|
7005
|
+
// Issue #458 - Regression - Warn about variable usage before initialization.
|
|
7006
|
+
|
|
7007
|
+
// name.dead = false;
|
|
7008
|
+
|
|
6991
7009
|
name.init = true;
|
|
7010
|
+
|
|
7011
|
+
// test_cause:
|
|
7012
|
+
// ["const {aa}=bb;\nconst bb=0;", "lookup", "out_of_scope_a", "bb", 12]
|
|
7013
|
+
|
|
6992
7014
|
if (token_nxt.id === "=") {
|
|
6993
7015
|
|
|
6994
7016
|
// test_cause:
|
|
@@ -7039,8 +7061,16 @@ function jslint_phase3_parse(state) {
|
|
|
7039
7061
|
advance();
|
|
7040
7062
|
the_variable.names.push(name);
|
|
7041
7063
|
enroll(name, "variable", mode_const);
|
|
7042
|
-
|
|
7064
|
+
|
|
7065
|
+
// Issue #458 - Regression - Warn about variable usage before initialization.
|
|
7066
|
+
|
|
7067
|
+
// name.dead = false;
|
|
7068
|
+
|
|
7043
7069
|
name.init = true;
|
|
7070
|
+
|
|
7071
|
+
// test_cause:
|
|
7072
|
+
// ["const [aa]=bb;\nconst bb=0;", "lookup", "out_of_scope_a", "bb", 12]
|
|
7073
|
+
|
|
7044
7074
|
if (ellipsis) {
|
|
7045
7075
|
name.ellipsis = true;
|
|
7046
7076
|
break;
|
|
@@ -7073,8 +7103,16 @@ function jslint_phase3_parse(state) {
|
|
|
7073
7103
|
enroll(name, "variable", mode_const);
|
|
7074
7104
|
if (token_nxt.id === "=" || mode_const) {
|
|
7075
7105
|
advance("=");
|
|
7076
|
-
|
|
7106
|
+
|
|
7107
|
+
// Issue #458 - Regression - Warn about variable usage before initialization.
|
|
7108
|
+
|
|
7109
|
+
// name.dead = false;
|
|
7110
|
+
|
|
7077
7111
|
name.init = true;
|
|
7112
|
+
|
|
7113
|
+
// test_cause:
|
|
7114
|
+
// ["const aa=bb;\nconst bb=0;", "lookup", "out_of_scope_a", "bb", 10]
|
|
7115
|
+
|
|
7078
7116
|
name.expression = parse_expression(0);
|
|
7079
7117
|
}
|
|
7080
7118
|
the_variable.names.push(name);
|
package/package.json
CHANGED