@jslint-org/jslint 2026.4.30 → 2026.7.30
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 +75 -5
- package/README.md +303 -221
- package/jslint.mjs +3353 -2683
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@ Douglas Crockford <douglas@crockford.com>
|
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
# Status
|
|
6
|
-
| Branch | [master<br>(v2026.
|
|
6
|
+
| Branch | [master<br>(v2026.7.30)](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) |
|
|
@@ -12,36 +12,46 @@ Douglas Crockford <douglas@crockford.com>
|
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
<br><br>
|
|
15
|
-
#
|
|
15
|
+
# Web Demo
|
|
16
|
+
- https://www.jslint.com
|
|
17
|
+
|
|
18
|
+
[](https://jslint-org.github.io/jslint/index.html)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
<br><br>
|
|
22
|
+
# Web Demo Archived
|
|
23
|
+
- [Web Demo 2020](https://www.jslint.com/branch-v2020.11.6/index.html)
|
|
24
|
+
- [Web Demo 2014 (ES5 only)](https://www.jslint.com/branch-v2014.7.8/jslint.html)
|
|
25
|
+
- [Web Demo 2013 (ES5, CSS, HTML)](https://www.jslint.com/branch-v2013.3.13/jslint.html)
|
|
16
26
|
|
|
17
|
-
1. [Web Demo](#web-demo)
|
|
18
27
|
|
|
19
|
-
|
|
28
|
+
<br><br>
|
|
29
|
+
# Table of Contents
|
|
20
30
|
|
|
21
|
-
|
|
31
|
+
1. [Quickstart Install](#quickstart-install)
|
|
22
32
|
- [To install, just download and save https://www.jslint.com/jslint.mjs to file:](#to-install-just-download-and-save-httpswwwjslintcomjslintmjs-to-file)
|
|
23
33
|
- [To run `jslint.mjs` in shell:](#to-run-jslintmjs-in-shell)
|
|
24
34
|
- [To import `jslint.mjs` in ES Module environment:](#to-import-jslintmjs-in-es-module-environment)
|
|
25
35
|
- [To import `jslint.mjs` in CommonJS environment:](#to-import-jslintmjs-in-commonjs-environment)
|
|
26
36
|
- [To JSLint entire directory in shell:](#to-jslint-entire-directory-in-shell)
|
|
27
37
|
|
|
28
|
-
|
|
38
|
+
2. [Quickstart JSLint Report](#quickstart-jslint-report)
|
|
29
39
|
- [To create a JSLint report in shell:](#to-create-a-jslint-report-in-shell)
|
|
30
40
|
- [To create a JSLint report in javascript:](#to-create-a-jslint-report-in-javascript)
|
|
31
41
|
|
|
32
|
-
|
|
42
|
+
3. [Quickstart V8 Coverage Report](#quickstart-v8-coverage-report)
|
|
33
43
|
- [To create V8 coverage report from Node.js / Npm program in shell:](#to-create-v8-coverage-report-from-nodejs--npm-program-in-shell)
|
|
34
44
|
- [To create V8 coverage report from Node.js / Npm program in javascript:](#to-create-v8-coverage-report-from-nodejs--npm-program-in-javascript)
|
|
35
45
|
|
|
36
|
-
|
|
46
|
+
4. [Quickstart JSLint in CodeMirror](#quickstart-jslint-in-codemirror)
|
|
37
47
|
|
|
38
|
-
|
|
48
|
+
5. [Quickstart JSLint in Vim](#quickstart-jslint-in-vim)
|
|
39
49
|
|
|
40
|
-
|
|
50
|
+
6. [Quickstart JSLint in VSCode](#quickstart-jslint-in-vscode)
|
|
41
51
|
|
|
42
|
-
|
|
52
|
+
7. [Documentation](#documentation)
|
|
43
53
|
- [API Doc](#api-doc)
|
|
44
|
-
- [Directive
|
|
54
|
+
- [Directive](#directive)
|
|
45
55
|
- [`/*jslint beta*/`](#jslint-beta)
|
|
46
56
|
- [`/*jslint bitwise*/`](#jslint-bitwise)
|
|
47
57
|
- [`/*jslint browser*/`](#jslint-browser)
|
|
@@ -50,7 +60,6 @@ Douglas Crockford <douglas@crockford.com>
|
|
|
50
60
|
- [`/*jslint devel*/`](#jslint-devel)
|
|
51
61
|
- [`/*jslint eval*/`](#jslint-eval)
|
|
52
62
|
- [`/*jslint fart*/`](#jslint-fart)
|
|
53
|
-
- [`/*jslint for*/`](#jslint-for)
|
|
54
63
|
- [`/*jslint getset*/`](#jslint-getset)
|
|
55
64
|
- [`/*jslint indent2*/`](#jslint-indent2)
|
|
56
65
|
- [`/*jslint long*/`](#jslint-long)
|
|
@@ -62,40 +71,27 @@ Douglas Crockford <douglas@crockford.com>
|
|
|
62
71
|
- [`/*jslint trace*/`](#jslint-trace)
|
|
63
72
|
- [`/*jslint unordered*/`](#jslint-unordered)
|
|
64
73
|
- [`/*jslint white*/`](#jslint-white)
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
74
|
+
- [`/*global*/`](#global)
|
|
75
|
+
- [`/*property*/`](#property)
|
|
76
|
+
- [`/*jslint-disable*/.../*jslint-enable*/`](#jslint-disablejslint-enable)
|
|
77
|
+
- [`//jslint-ignore-line`](#jslint-ignore-line)
|
|
78
|
+
- [`/*coverage-disable*/.../*coverage-enable*/`](#coverage-disablecoverage-enable)
|
|
79
|
+
- [`//coverage-ignore-line`](#coverage-ignore-line)
|
|
80
|
+
- [ECMAScript Feature Support](#ecmascript-feature-support)
|
|
71
81
|
|
|
72
|
-
|
|
82
|
+
8. [Package Listing](#package-listing)
|
|
73
83
|
|
|
74
|
-
|
|
84
|
+
9. [Changelog](#changelog)
|
|
75
85
|
|
|
76
|
-
|
|
86
|
+
10. [License](#license)
|
|
77
87
|
|
|
78
|
-
|
|
88
|
+
11. [Devops Instruction](#devops-instruction)
|
|
79
89
|
- [pull-request merge](#pull-request-merge)
|
|
80
90
|
- [branch-master commit](#branch-master-commit)
|
|
81
91
|
- [branch-master publish](#branch-master-publish)
|
|
82
92
|
- [vscode-jslint publish](#vscode-jslint-publish)
|
|
83
93
|
|
|
84
94
|
|
|
85
|
-
<br><br>
|
|
86
|
-
# Web Demo
|
|
87
|
-
- https://www.jslint.com
|
|
88
|
-
|
|
89
|
-
[](https://jslint-org.github.io/jslint/index.html)
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
<br><br>
|
|
93
|
-
# Web Demo Archived
|
|
94
|
-
- [Web Demo 2020](https://www.jslint.com/branch-v2020.11.6/index.html)
|
|
95
|
-
- [Web Demo 2014 (ES5 only)](https://www.jslint.com/branch-v2014.7.8/jslint.html)
|
|
96
|
-
- [Web Demo 2013 (ES5, CSS, HTML)](https://www.jslint.com/branch-v2013.3.13/jslint.html)
|
|
97
|
-
|
|
98
|
-
|
|
99
95
|
<br><br>
|
|
100
96
|
# Quickstart Install
|
|
101
97
|
|
|
@@ -533,28 +529,9 @@ window.addEventListener("load", function () {
|
|
|
533
529
|
|
|
534
530
|
<br><br>
|
|
535
531
|
# Documentation
|
|
536
|
-
|
|
537
|
-
|
|
538
532
|
- [jslint.mjs](jslint.mjs) contains the jslint function. It parses and analyzes a source file, returning an object with information about the file. It can also take an object that sets options.
|
|
539
|
-
|
|
540
533
|
- [index.html](index.html) runs the jslint.mjs function in a web page.
|
|
541
534
|
|
|
542
|
-
JSLint can be run anywhere that JavaScript (or Java) can run.
|
|
543
|
-
|
|
544
|
-
The place to express yourself in programming is in the quality of your ideas and
|
|
545
|
-
the efficiency of their execution. The role of style in programming is the same
|
|
546
|
-
as in literature: It makes for better reading. A great writer doesn't express
|
|
547
|
-
herself by putting the spaces before her commas instead of after, or by putting
|
|
548
|
-
extra spaces inside her parentheses. A great writer will slavishly conform to
|
|
549
|
-
some rules of style, and that in no way constrains her power to express herself
|
|
550
|
-
creatively. See for example William Strunk's The Elements of Style
|
|
551
|
-
[https://www.crockford.com/style.html].
|
|
552
|
-
|
|
553
|
-
This applies to programming as well. Conforming to a consistent style improves
|
|
554
|
-
readability, and frees you to express yourself in ways that matter. JSLint here
|
|
555
|
-
plays the part of a stern but benevolent editor, helping you to get the style
|
|
556
|
-
right so that you can focus your creative energy where it is most needed.
|
|
557
|
-
|
|
558
535
|
|
|
559
536
|
<br><br>
|
|
560
537
|
### API Doc
|
|
@@ -564,12 +541,11 @@ right so that you can focus your creative energy where it is most needed.
|
|
|
564
541
|
|
|
565
542
|
|
|
566
543
|
<br><br>
|
|
567
|
-
### Directive
|
|
544
|
+
### Directive
|
|
568
545
|
|
|
569
546
|
<br>
|
|
570
547
|
|
|
571
548
|
##### `/*jslint beta*/`
|
|
572
|
-
|
|
573
549
|
```js
|
|
574
550
|
/*jslint beta*/
|
|
575
551
|
// Enable experimental warnings.
|
|
@@ -584,7 +560,6 @@ right so that you can focus your creative energy where it is most needed.
|
|
|
584
560
|
<br>
|
|
585
561
|
|
|
586
562
|
##### `/*jslint bitwise*/`
|
|
587
|
-
|
|
588
563
|
```js
|
|
589
564
|
/*jslint bitwise*/
|
|
590
565
|
// Allow bitwise operator.
|
|
@@ -595,7 +570,6 @@ let foo = 0 | 1;
|
|
|
595
570
|
<br>
|
|
596
571
|
|
|
597
572
|
##### `/*jslint browser*/`
|
|
598
|
-
|
|
599
573
|
```js
|
|
600
574
|
/*jslint browser*/
|
|
601
575
|
// Assume browser environment.
|
|
@@ -606,7 +580,6 @@ localStorage.getItem("foo");
|
|
|
606
580
|
<br>
|
|
607
581
|
|
|
608
582
|
##### `/*jslint convert*/`
|
|
609
|
-
|
|
610
583
|
```js
|
|
611
584
|
/*jslint convert*/
|
|
612
585
|
// Allow conversion operator.
|
|
@@ -618,7 +591,6 @@ let bar = !!0;
|
|
|
618
591
|
<br>
|
|
619
592
|
|
|
620
593
|
##### `/*jslint couch*/`
|
|
621
|
-
|
|
622
594
|
```js
|
|
623
595
|
/*jslint couch*/
|
|
624
596
|
// Assume CouchDb environment.
|
|
@@ -629,7 +601,6 @@ registerType("text-json", "text/json");
|
|
|
629
601
|
<br>
|
|
630
602
|
|
|
631
603
|
##### `/*jslint devel*/`
|
|
632
|
-
|
|
633
604
|
```js
|
|
634
605
|
/*jslint devel*/
|
|
635
606
|
// Allow console.log() and friends.
|
|
@@ -640,7 +611,6 @@ console.log("hello");
|
|
|
640
611
|
<br>
|
|
641
612
|
|
|
642
613
|
##### `/*jslint eval*/`
|
|
643
|
-
|
|
644
614
|
```js
|
|
645
615
|
/*jslint eval*/
|
|
646
616
|
// Allow eval().
|
|
@@ -651,7 +621,6 @@ eval("1");
|
|
|
651
621
|
<br>
|
|
652
622
|
|
|
653
623
|
##### `/*jslint fart*/`
|
|
654
|
-
|
|
655
624
|
```js
|
|
656
625
|
/*jslint fart*/
|
|
657
626
|
// Allow complex fat-arrow.
|
|
@@ -663,24 +632,7 @@ let foo = async ({bar, baz}) => {
|
|
|
663
632
|
|
|
664
633
|
<br>
|
|
665
634
|
|
|
666
|
-
##### `/*jslint for*/`
|
|
667
|
-
|
|
668
|
-
```js
|
|
669
|
-
/*jslint for*/
|
|
670
|
-
// Allow for-loop.
|
|
671
|
-
|
|
672
|
-
function foo() {
|
|
673
|
-
let ii;
|
|
674
|
-
for (ii = 0; ii < 10; ii += 1) {
|
|
675
|
-
foo();
|
|
676
|
-
}
|
|
677
|
-
}
|
|
678
|
-
```
|
|
679
|
-
|
|
680
|
-
<br>
|
|
681
|
-
|
|
682
635
|
##### `/*jslint getset*/`
|
|
683
|
-
|
|
684
636
|
```js
|
|
685
637
|
/*jslint getset, this, devel*/
|
|
686
638
|
// Allow get() and set().
|
|
@@ -702,7 +654,6 @@ console.log(foo.getBar); // 1
|
|
|
702
654
|
<br>
|
|
703
655
|
|
|
704
656
|
##### `/*jslint indent2*/`
|
|
705
|
-
|
|
706
657
|
```js
|
|
707
658
|
/*jslint indent2*/
|
|
708
659
|
// Use 2-space indent.
|
|
@@ -715,7 +666,6 @@ function foo() {
|
|
|
715
666
|
<br>
|
|
716
667
|
|
|
717
668
|
##### `/*jslint long*/`
|
|
718
|
-
|
|
719
669
|
```js
|
|
720
670
|
/*jslint long*/
|
|
721
671
|
// Allow long lines.
|
|
@@ -726,7 +676,6 @@ let foo = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
|
|
726
676
|
<br>
|
|
727
677
|
|
|
728
678
|
##### `/*jslint node*/`
|
|
729
|
-
|
|
730
679
|
```js
|
|
731
680
|
/*jslint node*/
|
|
732
681
|
// Assume Node.js environment.
|
|
@@ -737,7 +686,6 @@ require("fs");
|
|
|
737
686
|
<br>
|
|
738
687
|
|
|
739
688
|
##### `/*jslint nomen*/`
|
|
740
|
-
|
|
741
689
|
```js
|
|
742
690
|
/*jslint nomen*/
|
|
743
691
|
// Allow weird property name.
|
|
@@ -749,7 +697,6 @@ foo._bar = 1;
|
|
|
749
697
|
<br>
|
|
750
698
|
|
|
751
699
|
##### `/*jslint single*/`
|
|
752
|
-
|
|
753
700
|
```js
|
|
754
701
|
/*jslint single*/
|
|
755
702
|
// Allow single-quote strings.
|
|
@@ -760,7 +707,6 @@ let foo = '';
|
|
|
760
707
|
<br>
|
|
761
708
|
|
|
762
709
|
##### `/*jslint subscript*/`
|
|
763
|
-
|
|
764
710
|
```js
|
|
765
711
|
/*jslint subscript*/
|
|
766
712
|
// Allow identifiers in subscript-notation.
|
|
@@ -772,7 +718,6 @@ foo["bar"] = 1;
|
|
|
772
718
|
<br>
|
|
773
719
|
|
|
774
720
|
##### `/*jslint this*/`
|
|
775
|
-
|
|
776
721
|
```js
|
|
777
722
|
/*jslint this*/
|
|
778
723
|
// Allow 'this'.
|
|
@@ -785,7 +730,6 @@ function foo() {
|
|
|
785
730
|
<br>
|
|
786
731
|
|
|
787
732
|
##### `/*jslint trace*/`
|
|
788
|
-
|
|
789
733
|
```js
|
|
790
734
|
/*jslint trace*/
|
|
791
735
|
// Include jslint stack-trace in warnings.
|
|
@@ -815,7 +759,6 @@ Error
|
|
|
815
759
|
<br>
|
|
816
760
|
|
|
817
761
|
##### `/*jslint unordered*/`
|
|
818
|
-
|
|
819
762
|
```js
|
|
820
763
|
/*jslint unordered*/
|
|
821
764
|
// Allow unordered cases, params, properties, variables, and exports.
|
|
@@ -838,7 +781,6 @@ export {
|
|
|
838
781
|
<br>
|
|
839
782
|
|
|
840
783
|
##### `/*jslint white*/`
|
|
841
|
-
|
|
842
784
|
```js
|
|
843
785
|
/*jslint white*/
|
|
844
786
|
// Allow messy whitespace.
|
|
@@ -846,10 +788,9 @@ export {
|
|
|
846
788
|
let foo = 1; let bar = 2;
|
|
847
789
|
```
|
|
848
790
|
|
|
791
|
+
<br>
|
|
849
792
|
|
|
850
|
-
|
|
851
|
-
### Directive `/*global*/`
|
|
852
|
-
|
|
793
|
+
##### `/*global*/`
|
|
853
794
|
```js
|
|
854
795
|
/*global foo, bar*/
|
|
855
796
|
// Declare global variables foo, bar.
|
|
@@ -858,10 +799,9 @@ foo();
|
|
|
858
799
|
bar();
|
|
859
800
|
```
|
|
860
801
|
|
|
802
|
+
<br>
|
|
861
803
|
|
|
862
|
-
|
|
863
|
-
### Directive `/*property*/`
|
|
864
|
-
|
|
804
|
+
##### `/*property*/`
|
|
865
805
|
```js
|
|
866
806
|
/*property foo, bar*/
|
|
867
807
|
// Restrict property-access to only .foo, .bar.
|
|
@@ -869,10 +809,9 @@ bar();
|
|
|
869
809
|
let aa = {bar: 1, foo: 2};
|
|
870
810
|
```
|
|
871
811
|
|
|
812
|
+
<br>
|
|
872
813
|
|
|
873
|
-
|
|
874
|
-
### Directive `/*jslint-disable*/.../*jslint-enable*/`
|
|
875
|
-
|
|
814
|
+
##### `/*jslint-disable*/.../*jslint-enable*/`
|
|
876
815
|
```js
|
|
877
816
|
/*jslint-disable*/
|
|
878
817
|
|
|
@@ -882,20 +821,18 @@ Syntax error.
|
|
|
882
821
|
/*jslint-enable*/
|
|
883
822
|
```
|
|
884
823
|
|
|
824
|
+
<br>
|
|
885
825
|
|
|
886
|
-
|
|
887
|
-
### Directive `//jslint-ignore-line`
|
|
888
|
-
|
|
826
|
+
##### `//jslint-ignore-line`
|
|
889
827
|
```js
|
|
890
828
|
// JSLint will ignore non-fatal warnings at given line.
|
|
891
829
|
|
|
892
830
|
eval("1"); //jslint-ignore-line
|
|
893
831
|
```
|
|
894
832
|
|
|
833
|
+
<br>
|
|
895
834
|
|
|
896
|
-
|
|
897
|
-
### Directive `/*coverage-disable*/.../*coverage-enable*/`
|
|
898
|
-
|
|
835
|
+
##### `/*coverage-disable*/.../*coverage-enable*/`
|
|
899
836
|
```js
|
|
900
837
|
/*coverage-disable*/
|
|
901
838
|
|
|
@@ -908,10 +845,9 @@ if (false) {
|
|
|
908
845
|
/*coverage-enable*/
|
|
909
846
|
```
|
|
910
847
|
|
|
848
|
+
<br>
|
|
911
849
|
|
|
912
|
-
|
|
913
|
-
### Directive `//coverage-ignore-line`
|
|
914
|
-
|
|
850
|
+
##### `//coverage-ignore-line`
|
|
915
851
|
```js
|
|
916
852
|
// JSLint will ignore code-coverage at given line.
|
|
917
853
|
|
|
@@ -921,6 +857,114 @@ if (false) {
|
|
|
921
857
|
```
|
|
922
858
|
|
|
923
859
|
|
|
860
|
+
<br><br>
|
|
861
|
+
### ECMAScript Feature Support
|
|
862
|
+
- https://github.com/tc39/proposals/blob/main/finished-proposals.md
|
|
863
|
+
- https://github.com/lukehoban/es6features
|
|
864
|
+
|
|
865
|
+
| #. | JSLint Support | ES Version | ES Feature |
|
|
866
|
+
|--:|:--|:--|:--|
|
|
867
|
+
| 99. | ❌ | ES2027 | [`Explicit Resource Management`](https://github.com/tc39/proposal-explicit-resource-management) |
|
|
868
|
+
| 98. | ✅ | ES2027 | [`Atomics.pause`](https://github.com/tc39/proposal-atomics-microwait) |
|
|
869
|
+
| 97. | ❌ | ES2027 | [`Joint Iteration`](https://github.com/tc39/proposal-joint-iteration) |
|
|
870
|
+
| 96. | ✅ | ES2027 | [`Temporal`](https://github.com/tc39/proposal-temporal) |
|
|
871
|
+
| 95. | ✅ | ES2026 | [`Upsert`](https://github.com/tc39/proposal-upsert) |
|
|
872
|
+
| 94. | ✅ | ES2026 | [`JSON.parse source text access`](https://github.com/tc39/proposal-json-parse-with-source) |
|
|
873
|
+
| 93. | ❌ | ES2026 | [`Iterator Sequencing`](https://github.com/tc39/proposal-iterator-sequencing) |
|
|
874
|
+
| 92. | ✅ | ES2026 | [`Uint8Array to/from Base64`](https://github.com/tc39/proposal-arraybuffer-base64) |
|
|
875
|
+
| 91. | ✅ | ES2026 | [`Math.sumPrecise`](https://github.com/tc39/proposal-math-sum) |
|
|
876
|
+
| 90. | ✅ | ES2026 | [`Error.isError`](https://github.com/tc39/proposal-is-error) |
|
|
877
|
+
| 89. | ✅ | ES2026 | [`Array.fromAsync`](https://github.com/tc39/proposal-array-from-async) |
|
|
878
|
+
| 88. | ✅ | ES2025 | [`RegExp.escape`](https://github.com/tc39/proposal-regex-escaping) |
|
|
879
|
+
| 87. | ✅ | ES2025 | [`Redeclarable global eval-introduced vars`](https://github.com/tc39/proposal-redeclarable-global-eval-vars) |
|
|
880
|
+
| 86. | ✅ | ES2025 | [`Float16 on TypedArrays, DataView, Math.f16round`](https://github.com/tc39/proposal-float16array) |
|
|
881
|
+
| 85. | ✅ | ES2025 | [`Promise.try`](https://github.com/tc39/proposal-promise-try) |
|
|
882
|
+
| 84. | ❌ | ES2025 | [`Sync Iterator helpers`](https://github.com/tc39/proposal-iterator-helpers) |
|
|
883
|
+
| 83. | ✅ | ES2025 | [`JSON Modules`](https://github.com/tc39/proposal-json-modules) |
|
|
884
|
+
| 82. | ✅ | ES2025 | [`Import Attributes`](https://github.com/tc39/proposal-import-attributes) |
|
|
885
|
+
| 81. | ✅ | ES2025 | [`RegExp Modifiers`](https://github.com/tc39/proposal-regexp-modifiers) |
|
|
886
|
+
| 80. | ✅ | ES2025 | [`New Set methods`](https://github.com/tc39/proposal-set-methods) |
|
|
887
|
+
| 79. | ✅ | ES2025 | [`Duplicate named capture groups`](https://github.com/tc39/proposal-duplicate-named-capturing-groups) |
|
|
888
|
+
| 78. | ✅ | ES2024 | [`ArrayBuffer transfer`](https://github.com/tc39/proposal-arraybuffer-transfer) |
|
|
889
|
+
| 77. | ✅ | ES2024 | [`Promise.withResolvers`](https://github.com/tc39/proposal-promise-with-resolvers) |
|
|
890
|
+
| 76. | ✅ | ES2024 | [`Array Grouping`](https://github.com/tc39/proposal-array-grouping) |
|
|
891
|
+
| 75. | ✅ | ES2024 | [`Resizable and growable ArrayBuffers`](https://github.com/tc39/proposal-resizablearraybuffer) |
|
|
892
|
+
| 74. | ⚠️ | ES2024 | [`RegExp v flag with set notation + properties of strings`](https://github.com/tc39/proposal-regexp-v-flag) |
|
|
893
|
+
| 73. | ✅ | ES2024 | [`Atomics.waitAsync`](https://github.com/tc39/proposal-atomics-wait-async) |
|
|
894
|
+
| 72. | ✅ | ES2024 | [`Well-Formed Unicode Strings`](https://github.com/tc39/proposal-is-usv-string) |
|
|
895
|
+
| 71. | ✅ | ES2023 | [`Change Array by Copy`](https://github.com/tc39/proposal-change-array-by-copy) |
|
|
896
|
+
| 70. | ✅ | ES2023 | [`Symbols as WeakMap keys`](https://github.com/tc39/proposal-symbols-as-weakmap-keys) |
|
|
897
|
+
| 69. | ✅ | ES2023 | [`Hashbang Grammar`](https://github.com/tc39/proposal-hashbang) |
|
|
898
|
+
| 68. | ✅ | ES2023 | [`Array find from last`](https://github.com/tc39/proposal-array-find-from-last) |
|
|
899
|
+
| 67. | ✅ | ES2022 | [`Error Cause`](https://github.com/tc39/proposal-error-cause) |
|
|
900
|
+
| 66. | ❌ | ES2022 | [`Class Static Block`](https://github.com/tc39/proposal-class-static-block) |
|
|
901
|
+
| 65. | ✅ | ES2022 | [`Accessible Object.prototype.hasOwnProperty`](https://github.com/tc39/proposal-accessible-object-hasownproperty) |
|
|
902
|
+
| 64. | ✅ | ES2022 | [`.at()`](https://github.com/tc39/proposal-relative-indexing-method) |
|
|
903
|
+
| 63. | ❌ | ES2022 | [`Ergonomic brand checks for Private Fields`](https://github.com/tc39/proposal-private-fields-in-in) |
|
|
904
|
+
| 62. | ✅ | ES2022 | [`Top-level await`](https://github.com/tc39/proposal-top-level-await) |
|
|
905
|
+
| 61. | ✅ | ES2022 | [`RegExp Match Indices`](https://github.com/tc39/proposal-regexp-match-indices) |
|
|
906
|
+
| 60. | ❌ | ES2022 | [`Class Public Instance Fields & Private Instance Fields`](https://github.com/tc39/proposal-class-fields) |
|
|
907
|
+
| 59. | ✅ | ES2021 | [`Numeric separators`](https://github.com/tc39/proposal-numeric-separator) |
|
|
908
|
+
| 58. | ✅ | ES2021 | [`Logical Assignment Operators`](https://github.com/tc39/proposal-logical-assignment) |
|
|
909
|
+
| 57. | ✅ | ES2021 | [`WeakRefs`](https://github.com/tc39/proposal-weakrefs) |
|
|
910
|
+
| 56. | ✅ | ES2021 | [`Promise.any`](https://github.com/tc39/proposal-promise-any) |
|
|
911
|
+
| 55. | ✅ | ES2021 | [`String.prototype.replaceAll`](https://github.com/tc39/proposal-string-replaceall) |
|
|
912
|
+
| 54. | ✅ | ES2020 | [`import.meta`](https://github.com/tc39/proposal-import-meta) |
|
|
913
|
+
| 53. | ✅ | ES2020 | [`Nullish coalescing Operator`](https://github.com/tc39/proposal-nullish-coalescing) |
|
|
914
|
+
| 52. | ✅ | ES2020 | [`Optional Chaining`](https://github.com/tc39/proposal-optional-chaining) |
|
|
915
|
+
| 51. | ✅ | ES2020 | [`for-in mechanics`](https://github.com/tc39/proposal-for-in-order) |
|
|
916
|
+
| 50. | ✅ | ES2020 | [`globalThis`](https://github.com/tc39/proposal-global) |
|
|
917
|
+
| 49. | ✅ | ES2020 | [`Promise.allSettled`](https://github.com/tc39/proposal-promise-allSettled) |
|
|
918
|
+
| 48. | ✅ | ES2020 | [`BigInt`](https://github.com/tc39/proposal-bigint) |
|
|
919
|
+
| 47. | ✅ | ES2020 | [`import()`](https://github.com/tc39/proposal-dynamic-import) |
|
|
920
|
+
| 46. | ✅ | ES2020 | [`String.prototype.matchAll`](https://github.com/tc39/proposal-string-matchall) |
|
|
921
|
+
| 45. | ✅ | ES2019 | [`Array.prototype.{flat,flatMap}`](https://github.com/tc39/proposal-flatMap) |
|
|
922
|
+
| 44. | ✅ | ES2019 | [`String.prototype.{trimStart,trimEnd}`](https://github.com/tc39/proposal-string-left-right-trim) |
|
|
923
|
+
| 43. | ✅ | ES2019 | [`Well-formed JSON.stringify`](https://github.com/tc39/proposal-well-formed-stringify) |
|
|
924
|
+
| 42. | ✅ | ES2019 | [`Object.fromEntries`](https://github.com/tc39/proposal-object-from-entries) |
|
|
925
|
+
| 41. | ✅ | ES2019 | [`Function.prototype.toString revision`](https://github.com/tc39/Function-prototype-toString-revision) |
|
|
926
|
+
| 40. | ✅ | ES2019 | [`Symbol.prototype.description`](https://github.com/tc39/proposal-Symbol-description) |
|
|
927
|
+
| 39. | ✅ | ES2019 | [`JSON superset`](https://github.com/tc39/proposal-json-superset) |
|
|
928
|
+
| 38. | ✅ | ES2019 | [`Optional catch binding`](https://github.com/tc39/proposal-optional-catch-binding) |
|
|
929
|
+
| 37. | ❌ | ES2018 | [`Asynchronous Iteration`](https://github.com/tc39/proposal-async-iteration) |
|
|
930
|
+
| 36. | ✅ | ES2018 | [`Promise.prototype.finally`](https://github.com/tc39/proposal-promise-finally) |
|
|
931
|
+
| 35. | ✅ | ES2018 | [`RegExp Unicode Property Escapes`](https://github.com/tc39/proposal-regexp-unicode-property-escapes) |
|
|
932
|
+
| 34. | ✅ | ES2018 | [`RegExp Lookbehind Assertions`](https://github.com/tc39/proposal-regexp-lookbehind) |
|
|
933
|
+
| 33. | ✅ | ES2018 | [`Rest/Spread Properties`](https://github.com/tc39/proposal-object-rest-spread) |
|
|
934
|
+
| 32. | ✅ | ES2018 | [`RegExp named capture groups`](https://github.com/tc39/proposal-regexp-named-groups) |
|
|
935
|
+
| 31. | ✅ | ES2018 | [`s (dotAll) flag for regular expressions`](https://github.com/tc39/proposal-regexp-dotall-flag) |
|
|
936
|
+
| 30. | ✅ | ES2018 | [`Lifting template literal restriction`](https://github.com/tc39/proposal-template-literal-revision) |
|
|
937
|
+
| 29. | ✅ | ES2017 | [`Shared memory and atomics`](https://github.com/tc39/proposal-ecmascript-sharedmem) |
|
|
938
|
+
| 28. | ✅ | ES2017 | [`Async functions`](https://github.com/tc39/proposal-async-await) |
|
|
939
|
+
| 27. | ⚠️ | ES2017 | [`Trailing commas in function parameter lists and calls`](https://github.com/tc39/proposal-trailing-function-commas) |
|
|
940
|
+
| 26. | ✅ | ES2017 | [`Object.getOwnPropertyDescriptors`](https://github.com/tc39/proposal-object-getownpropertydescriptors) |
|
|
941
|
+
| 25. | ✅ | ES2017 | [`String padding`](https://github.com/tc39/proposal-string-pad-start-end) |
|
|
942
|
+
| 24. | ✅ | ES2017 | [`Object.values/Object.entries`](https://github.com/tc39/proposal-object-values-entries) |
|
|
943
|
+
| 23. | ✅ | ES2016 | [`Exponentiation operator`](https://github.com/tc39/proposal-exponentiation-operator) |
|
|
944
|
+
| 22. | ✅ | ES2016 | [`Array.prototype.includes`](https://github.com/tc39/proposal-Array.prototype.includes) |
|
|
945
|
+
| 21. | ✅ | ES2015 | [`arrows`](https://github.com/lukehoban/es6features#arrows) |
|
|
946
|
+
| 20. | ❌ | ES2015 | [`classes`](https://github.com/lukehoban/es6features#classes) |
|
|
947
|
+
| 19. | ❌ | ES2015 | [`enhanced object literals`](https://github.com/lukehoban/es6features#enhanced-object-literals) |
|
|
948
|
+
| 18. | ✅ | ES2015 | [`template strings`](https://github.com/lukehoban/es6features#template-strings) |
|
|
949
|
+
| 17. | ✅ | ES2015 | [`destructuring`](https://github.com/lukehoban/es6features#destructuring) |
|
|
950
|
+
| 16. | ✅ | ES2015 | [`default + rest + spread`](https://github.com/lukehoban/es6features#default--rest--spread) |
|
|
951
|
+
| 15. | ✅ | ES2015 | [`let + const`](https://github.com/lukehoban/es6features#let--const) |
|
|
952
|
+
| 14. | ⚠️ | ES2015 | [`iterators + for..of`](https://github.com/lukehoban/es6features#iterators--forof) |
|
|
953
|
+
| 13. | ❌ | ES2015 | [`generators`](https://github.com/lukehoban/es6features#generators) |
|
|
954
|
+
| 12. | ✅ | ES2015 | [`unicode`](https://github.com/lukehoban/es6features#unicode) |
|
|
955
|
+
| 11. | ⚠️ | ES2015 | [`modules`](https://github.com/lukehoban/es6features#modules) |
|
|
956
|
+
| 10. | ✅ | ES2015 | [`module loaders`](https://github.com/lukehoban/es6features#module-loaders) |
|
|
957
|
+
| 9. | ✅ | ES2015 | [`map + set + weakmap + weakset`](https://github.com/lukehoban/es6features#map--set--weakmap--weakset) |
|
|
958
|
+
| 8. | ✅ | ES2015 | [`proxies`](https://github.com/lukehoban/es6features#proxies) |
|
|
959
|
+
| 7. | ✅ | ES2015 | [`symbols`](https://github.com/lukehoban/es6features#symbols) |
|
|
960
|
+
| 6. | ❌ | ES2015 | [`subclassable built-ins`](https://github.com/lukehoban/es6features#subclassable-built-ins) |
|
|
961
|
+
| 5. | ✅ | ES2015 | [`promises`](https://github.com/lukehoban/es6features#promises) |
|
|
962
|
+
| 4. | ✅ | ES2015 | [`math + number + string + array + object APIs`](https://github.com/lukehoban/es6features#math--number--string--array--object-apis) |
|
|
963
|
+
| 3. | ✅ | ES2015 | [`binary and octal literals`](https://github.com/lukehoban/es6features#binary-and-octal-literals) |
|
|
964
|
+
| 2. | ✅ | ES2015 | [`reflect api`](https://github.com/lukehoban/es6features#reflect-api) |
|
|
965
|
+
| 1. | ✅ | ES2015 | [`tail calls`](https://github.com/lukehoban/es6features#tail-calls) |
|
|
966
|
+
|
|
967
|
+
|
|
924
968
|
<br><br>
|
|
925
969
|
# Package Listing
|
|
926
970
|

|
|
@@ -946,129 +990,167 @@ if (false) {
|
|
|
946
990
|
|
|
947
991
|
<br><br>
|
|
948
992
|
### pull-request merge
|
|
949
|
-
|
|
950
|
-
-
|
|
951
|
-
|
|
952
|
-
- verify
|
|
953
|
-
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
-
|
|
985
|
-
-
|
|
986
|
-
-
|
|
993
|
+
1. update `.github/workflows/ci.yml` `.github/workflows/publish.yml` to:
|
|
994
|
+
- latest nodejs-lts version @ https://nodejs.org/en/about/previous-releases
|
|
995
|
+
1. update `CHANGELOG.md`
|
|
996
|
+
- verify `<CHANGELOG.md entry #1>` is most-relevant to pull-request.
|
|
997
|
+
- run
|
|
998
|
+
```shell
|
|
999
|
+
# re-run until version propagates
|
|
1000
|
+
npm run test2
|
|
1001
|
+
|
|
1002
|
+
# update 'PR-xxx' placeholder
|
|
1003
|
+
sh jslint_ci.sh shGithubPrUpdatePrxxx
|
|
1004
|
+
|
|
1005
|
+
# re-run until version propagates
|
|
1006
|
+
sh jslint_ci.sh shGithubPrCreate alpha beta # v20yy.mm.dd __pr_beta_pre
|
|
1007
|
+
|
|
1008
|
+
git push upstream alpha -f
|
|
1009
|
+
```
|
|
1010
|
+
- verify ci-success @ https://github.com/kaizhu256/jslint/actions
|
|
1011
|
+
- verify ci-success @ https://github.com/jslint-org/jslint/actions
|
|
1012
|
+
|
|
1013
|
+
1. goto https://github.com/jslint-org/jslint/compare/beta...kaizhu256:jslint:branch-p2026.7.20
|
|
1014
|
+
- click `Create pull request`
|
|
1015
|
+
- input `Add a title *` with: `<CHANGELOG.md entry #1>`
|
|
1016
|
+
- input `Add a description` with:
|
|
1017
|
+
```
|
|
1018
|
+
Fixes #xxx.
|
|
1019
|
+
|
|
1020
|
+
This PR will:
|
|
1021
|
+
<CHANGELOG.md entry #1>
|
|
1022
|
+
|
|
1023
|
+
This PR will additionally:
|
|
1024
|
+
<CHANGELOG.md entry extra>
|
|
1025
|
+
|
|
1026
|
+
<screenshot>
|
|
1027
|
+
```
|
|
1028
|
+
- click `Preview` and review
|
|
1029
|
+
- verify:
|
|
1030
|
+
- base respository: `jslint-org/jslint`
|
|
1031
|
+
- base: `beta`
|
|
1032
|
+
- click `Create pull request`
|
|
1033
|
+
- verify ci-success @ https://github.com/jslint-org/jslint/actions/workflows/on_pull_request.yml
|
|
1034
|
+
|
|
1035
|
+
1. wait awhile before continuing ...
|
|
1036
|
+
- click `Squash and merge`
|
|
1037
|
+
- verify ci-success @ https://github.com/jslint-org/jslint/actions
|
|
1038
|
+
- run
|
|
1039
|
+
```shell
|
|
1040
|
+
sh jslint_ci.sh shGithubPrCleanup
|
|
1041
|
+
|
|
1042
|
+
git push upstream alpha -f
|
|
1043
|
+
```
|
|
1044
|
+
- verify ci-success @ https://github.com/kaizhu256/jslint/actions
|
|
1045
|
+
- verify ci-success @ https://github.com/jslint-org/jslint/actions
|
|
1046
|
+
- click `Delete branch`
|
|
987
1047
|
|
|
988
1048
|
|
|
989
1049
|
<br><br>
|
|
990
1050
|
### branch-master commit
|
|
991
|
-
|
|
992
|
-
-
|
|
993
|
-
|
|
994
|
-
- verify
|
|
995
|
-
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
- click `
|
|
1013
|
-
-
|
|
1014
|
-
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
-
|
|
1020
|
-
-
|
|
1021
|
-
-
|
|
1022
|
-
- `
|
|
1023
|
-
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
-
|
|
1051
|
+
1. update `.github/workflows/ci.yml` `.github/workflows/publish.yml` to:
|
|
1052
|
+
- latest nodejs-lts version @ https://nodejs.org/en/about/previous-releases
|
|
1053
|
+
1. update `CHANGELOG.md`
|
|
1054
|
+
- verify `<CHANGELOG.md entry #1>` is most-relevant to pull-request.
|
|
1055
|
+
- run
|
|
1056
|
+
```shell
|
|
1057
|
+
# re-run until version propagates
|
|
1058
|
+
npm run test2
|
|
1059
|
+
|
|
1060
|
+
# update 'PR-xxx' placeholder
|
|
1061
|
+
sh jslint_ci.sh shGithubPrUpdatePrxxx
|
|
1062
|
+
|
|
1063
|
+
# re-run until version propagates
|
|
1064
|
+
sh jslint_ci.sh shGithubPrCreate alpha master # v20yy.mm.dd __pr_master_pre
|
|
1065
|
+
|
|
1066
|
+
git push upstream alpha -f
|
|
1067
|
+
```
|
|
1068
|
+
- verify ci-success @ https://github.com/kaizhu256/jslint/actions
|
|
1069
|
+
- verify ci-success @ https://github.com/jslint-org/jslint/actions
|
|
1070
|
+
|
|
1071
|
+
1. goto https://github.com/jslint-org/jslint/compare/beta...kaizhu256:jslint:branch-v2026.7.30
|
|
1072
|
+
- click `Create pull request`
|
|
1073
|
+
- input `Add a title *` with: `# v20yy.mm.dd`
|
|
1074
|
+
- input `Add a description` with:
|
|
1075
|
+
```
|
|
1076
|
+
<CHANGELOG.md entry #1>
|
|
1077
|
+
<CHANGELOG.md entry extra>
|
|
1078
|
+
```
|
|
1079
|
+
- click `Preview` and review
|
|
1080
|
+
- verify:
|
|
1081
|
+
- base respository: `jslint-org/jslint`
|
|
1082
|
+
- base: `beta`
|
|
1083
|
+
- click `Create pull request`
|
|
1084
|
+
- verify ci-success @ https://github.com/jslint-org/jslint/actions/workflows/on_pull_request.yml
|
|
1085
|
+
|
|
1086
|
+
1. wait awhile before continuing ...
|
|
1087
|
+
- click `Squash and merge`
|
|
1088
|
+
- verify ci-success @ https://github.com/jslint-org/jslint/actions
|
|
1089
|
+
- run
|
|
1090
|
+
```shell
|
|
1091
|
+
sh jslint_ci.sh shGithubPrCleanup
|
|
1092
|
+
|
|
1093
|
+
git push upstream alpha -f
|
|
1094
|
+
```
|
|
1095
|
+
- verify ci-success @ https://github.com/kaizhu256/jslint/actions
|
|
1096
|
+
- verify ci-success @ https://github.com/jslint-org/jslint/actions
|
|
1097
|
+
- click `Delete branch`
|
|
1098
|
+
- run
|
|
1099
|
+
```shell
|
|
1100
|
+
git push origin beta:master
|
|
1101
|
+
|
|
1102
|
+
git push upstream beta:master
|
|
1103
|
+
```
|
|
1104
|
+
- verify ci-success @ https://github.com/kaizhu256/jslint/actions
|
|
1105
|
+
- verify ci-success @ https://github.com/jslint-org/jslint/actions
|
|
1028
1106
|
|
|
1029
1107
|
|
|
1030
1108
|
<br><br>
|
|
1031
1109
|
### branch-master publish
|
|
1032
|
-
|
|
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`
|
|
1038
|
-
|
|
1039
|
-
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
-
|
|
1044
|
-
|
|
1045
|
-
-
|
|
1046
|
-
-
|
|
1047
|
-
-
|
|
1048
|
-
-
|
|
1049
|
-
|
|
1050
|
-
-
|
|
1051
|
-
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
-
|
|
1110
|
+
1. goto https://www.npmjs.com/package/@jslint-org/jslint/access <!--no-validate-->
|
|
1111
|
+
- click `Github Actions`
|
|
1112
|
+
- input `Organization or user*` with: `jslint-org`
|
|
1113
|
+
- input `Repository*` with: `jslint`
|
|
1114
|
+
- input `Workflow filename*` with: `publish.yml`
|
|
1115
|
+
- click `Set up connection` or `Update Package Settings`
|
|
1116
|
+
1.
|
|
1117
|
+
- run
|
|
1118
|
+
```shell
|
|
1119
|
+
git push upstream beta:master
|
|
1120
|
+
```
|
|
1121
|
+
- verify ci-success @ https://github.com/jslint-org/jslint/actions
|
|
1122
|
+
1. goto https://github.com/jslint-org/jslint/releases/new
|
|
1123
|
+
- input `Tag: Select tag` with: `v20yy.mm.dd`
|
|
1124
|
+
- click `Create new tag` and click `Create`
|
|
1125
|
+
- verify correct-year `v20yy.mm.dd`
|
|
1126
|
+
- select `Target: master`
|
|
1127
|
+
- input `Release title` with: `v20yy.mm.dd - <CHANGELOG.md entry #1>`
|
|
1128
|
+
- select `Previous tag: Auto`
|
|
1129
|
+
- click `Generate release notes`
|
|
1130
|
+
- input `Write` with:
|
|
1131
|
+
```
|
|
1132
|
+
<CHANGELOG.md entry #1>
|
|
1133
|
+
<CHANGELOG.md entry extra>
|
|
1134
|
+
|
|
1135
|
+
**Full Changelog**: ...
|
|
1136
|
+
```
|
|
1137
|
+
- click `Preview` and review
|
|
1138
|
+
- click `Latest`
|
|
1139
|
+
- click `Publish release`
|
|
1140
|
+
- verify ci-success @ https://github.com/jslint-org/jslint/actions
|
|
1141
|
+
- verify email-notification `Successfully published @jslint-org/jslint@20yy.mm.dd`
|
|
1060
1142
|
|
|
1061
1143
|
|
|
1062
1144
|
<br><br>
|
|
1063
1145
|
### vscode-jslint publish
|
|
1064
|
-
|
|
1065
|
-
- click `vscode-jslint-20yy.mm.dd.vsix`
|
|
1066
|
-
- click `Raw` to download
|
|
1067
|
-
|
|
1068
|
-
- right-click `Update`
|
|
1069
|
-
- upload downloaded file `vscode-jslint-20yy.mm.dd.vsix`
|
|
1070
|
-
- click 'Upload'
|
|
1071
|
-
- verify email-notification `[Succeeded] Extension publish on Visual Studio Marketplace - vscode-jslint`
|
|
1146
|
+
1. goto https://github.com/jslint-org/jslint/tree/gh-pages/branch-beta/.artifact/jslint_wrapper_vscode
|
|
1147
|
+
- click `vscode-jslint-20yy.mm.dd.vsix`
|
|
1148
|
+
- click `Raw` to download
|
|
1149
|
+
1. goto https://marketplace.visualstudio.com/manage/publishers/jslint
|
|
1150
|
+
- move mouse to version-number, right-click, and select `Update`
|
|
1151
|
+
- upload downloaded file `vscode-jslint-20yy.mm.dd.vsix`
|
|
1152
|
+
- click 'Upload'
|
|
1153
|
+
- verify email-notification `[Succeeded] Extension publish on Visual Studio Marketplace - vscode-jslint`
|
|
1072
1154
|
|
|
1073
1155
|
|
|
1074
1156
|
<!--
|