Skip to content

Commit 3b93d6b

Browse files
committed
Require Node.js 18 and move to ESM
1 parent 25def7b commit 3b93d6b

File tree

10 files changed

+179
-202
lines changed

10 files changed

+179
-202
lines changed

.github/funding.yml

Lines changed: 0 additions & 4 deletions
This file was deleted.

.github/workflows/main.yml

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,11 @@ jobs:
1010
fail-fast: false
1111
matrix:
1212
node-version:
13-
- 14
14-
- 12
15-
- 10
16-
- 8
13+
- 20
14+
- 18
1715
steps:
18-
- uses: actions/checkout@v2
19-
- uses: actions/setup-node@v1
16+
- uses: actions/checkout@v4
17+
- uses: actions/setup-node@v4
2018
with:
2119
node-version: ${{ matrix.node-version }}
2220
- run: npm install

index.d.ts

Lines changed: 152 additions & 124 deletions
Original file line numberDiff line numberDiff line change
@@ -1,136 +1,164 @@
1-
declare namespace htmlTags {
2-
export type htmlTags =
3-
| 'a'
4-
| 'abbr'
5-
| 'address'
6-
| 'area'
7-
| 'article'
8-
| 'aside'
9-
| 'audio'
10-
| 'b'
11-
| 'base'
12-
| 'bdi'
13-
| 'bdo'
14-
| 'blockquote'
15-
| 'body'
16-
| 'br'
17-
| 'button'
18-
| 'canvas'
19-
| 'caption'
20-
| 'cite'
21-
| 'code'
22-
| 'col'
23-
| 'colgroup'
24-
| 'data'
25-
| 'datalist'
26-
| 'dd'
27-
| 'del'
28-
| 'details'
29-
| 'dfn'
30-
| 'dialog'
31-
| 'div'
32-
| 'dl'
33-
| 'dt'
34-
| 'em'
35-
| 'embed'
36-
| 'fieldset'
37-
| 'figcaption'
38-
| 'figure'
39-
| 'footer'
40-
| 'form'
41-
| 'h1'
42-
| 'h2'
43-
| 'h3'
44-
| 'h4'
45-
| 'h5'
46-
| 'h6'
47-
| 'head'
48-
| 'header'
49-
| 'hgroup'
50-
| 'hr'
51-
| 'html'
52-
| 'i'
53-
| 'iframe'
54-
| 'img'
55-
| 'input'
56-
| 'ins'
57-
| 'kbd'
58-
| 'label'
59-
| 'legend'
60-
| 'li'
61-
| 'link'
62-
| 'main'
63-
| 'map'
64-
| 'mark'
65-
| 'math'
66-
| 'menu'
67-
| 'menuitem'
68-
| 'meta'
69-
| 'meter'
70-
| 'nav'
71-
| 'noscript'
72-
| 'object'
73-
| 'ol'
74-
| 'optgroup'
75-
| 'option'
76-
| 'output'
77-
| 'p'
78-
| 'param'
79-
| 'picture'
80-
| 'pre'
81-
| 'progress'
82-
| 'q'
83-
| 'rb'
84-
| 'rp'
85-
| 'rt'
86-
| 'rtc'
87-
| 'ruby'
88-
| 's'
89-
| 'samp'
90-
| 'script'
91-
| 'search'
92-
| 'section'
93-
| 'select'
94-
| 'slot'
95-
| 'small'
96-
| 'source'
97-
| 'span'
98-
| 'strong'
99-
| 'style'
100-
| 'sub'
101-
| 'summary'
102-
| 'sup'
103-
| 'svg'
104-
| 'table'
105-
| 'tbody'
106-
| 'td'
107-
| 'template'
108-
| 'textarea'
109-
| 'tfoot'
110-
| 'th'
111-
| 'thead'
112-
| 'time'
113-
| 'title'
114-
| 'tr'
115-
| 'track'
116-
| 'u'
117-
| 'ul'
118-
| 'var'
119-
| 'video'
120-
| 'wbr'
121-
}
1+
export type HtmlTags =
2+
| 'a'
3+
| 'abbr'
4+
| 'address'
5+
| 'area'
6+
| 'article'
7+
| 'aside'
8+
| 'audio'
9+
| 'b'
10+
| 'base'
11+
| 'bdi'
12+
| 'bdo'
13+
| 'blockquote'
14+
| 'body'
15+
| 'br'
16+
| 'button'
17+
| 'canvas'
18+
| 'caption'
19+
| 'cite'
20+
| 'code'
21+
| 'col'
22+
| 'colgroup'
23+
| 'data'
24+
| 'datalist'
25+
| 'dd'
26+
| 'del'
27+
| 'details'
28+
| 'dfn'
29+
| 'dialog'
30+
| 'div'
31+
| 'dl'
32+
| 'dt'
33+
| 'em'
34+
| 'embed'
35+
| 'fieldset'
36+
| 'figcaption'
37+
| 'figure'
38+
| 'footer'
39+
| 'form'
40+
| 'h1'
41+
| 'h2'
42+
| 'h3'
43+
| 'h4'
44+
| 'h5'
45+
| 'h6'
46+
| 'head'
47+
| 'header'
48+
| 'hgroup'
49+
| 'hr'
50+
| 'html'
51+
| 'i'
52+
| 'iframe'
53+
| 'img'
54+
| 'input'
55+
| 'ins'
56+
| 'kbd'
57+
| 'label'
58+
| 'legend'
59+
| 'li'
60+
| 'link'
61+
| 'main'
62+
| 'map'
63+
| 'mark'
64+
| 'math'
65+
| 'menu'
66+
| 'menuitem'
67+
| 'meta'
68+
| 'meter'
69+
| 'nav'
70+
| 'noscript'
71+
| 'object'
72+
| 'ol'
73+
| 'optgroup'
74+
| 'option'
75+
| 'output'
76+
| 'p'
77+
| 'param'
78+
| 'picture'
79+
| 'pre'
80+
| 'progress'
81+
| 'q'
82+
| 'rb'
83+
| 'rp'
84+
| 'rt'
85+
| 'rtc'
86+
| 'ruby'
87+
| 's'
88+
| 'samp'
89+
| 'script'
90+
| 'search'
91+
| 'section'
92+
| 'select'
93+
| 'slot'
94+
| 'small'
95+
| 'source'
96+
| 'span'
97+
| 'strong'
98+
| 'style'
99+
| 'sub'
100+
| 'summary'
101+
| 'sup'
102+
| 'svg'
103+
| 'table'
104+
| 'tbody'
105+
| 'td'
106+
| 'template'
107+
| 'textarea'
108+
| 'tfoot'
109+
| 'th'
110+
| 'thead'
111+
| 'time'
112+
| 'title'
113+
| 'tr'
114+
| 'track'
115+
| 'u'
116+
| 'ul'
117+
| 'var'
118+
| 'video'
119+
| 'wbr';
120+
121+
export type VoidHtmlTags =
122+
| 'area'
123+
| 'base'
124+
| 'br'
125+
| 'col'
126+
| 'embed'
127+
| 'hr'
128+
| 'img'
129+
| 'input'
130+
| 'link'
131+
| 'menuitem'
132+
| 'meta'
133+
| 'param'
134+
| 'source'
135+
| 'track'
136+
| 'wbr';
122137

123138
/**
124139
List of standard HTML tags.
125140
126141
@example
127142
```
128-
import htmlTags = require('html-tags');
143+
import htmlTags from 'html-tags';
129144
130145
console.log(htmlTags);
131146
//=> ['a', 'abbr', 'acronym', …]
132147
```
133148
*/
134-
declare const htmlTags: readonly htmlTags.htmlTags[];
149+
declare const htmlTags: readonly HtmlTags[];
150+
151+
export default htmlTags;
135152

136-
export = htmlTags;
153+
/**
154+
List of standard, self-closing HTML tags.
155+
156+
@example
157+
```
158+
import {voidHtmlTags} from 'html-tags';
159+
160+
console.log(voidHtmlTags);
161+
//=> ['area', 'base', 'br', …]
162+
```
163+
*/
164+
export const voidHtmlTags: readonly VoidHtmlTags[];

index.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,5 @@
1-
'use strict';
2-
module.exports = require('./html-tags.json');
1+
import htmlTags from './html-tags.json' with {type: 'json'};
2+
import voidHtmlTags from './html-tags-void.json' with {type: 'json'};
3+
4+
export default htmlTags;
5+
export {voidHtmlTags};

index.test-d.ts

Lines changed: 0 additions & 11 deletions
This file was deleted.

package.json

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,22 @@
1010
"email": "sindresorhus@gmail.com",
1111
"url": "https://sindresorhus.com"
1212
},
13+
"type": "module",
14+
"exports": {
15+
"types": "./index.d.ts",
16+
"default": "./index.js"
17+
},
18+
"sideEffects": false,
1319
"engines": {
14-
"node": ">=8"
20+
"node": ">=18.20"
1521
},
1622
"scripts": {
17-
"test": "xo && ava && tsd"
23+
"//test": "xo && ava",
24+
"test": "ava"
1825
},
1926
"files": [
2027
"index.js",
2128
"index.d.ts",
22-
"void.js",
23-
"void.d.ts",
2429
"html-tags.json",
2530
"html-tags-void.json"
2631
],
@@ -36,13 +41,7 @@
3641
"self-closing"
3742
],
3843
"devDependencies": {
39-
"ava": "^1.4.1",
40-
"tsd": "^0.7.2",
41-
"xo": "^0.24.0"
42-
},
43-
"xo": {
44-
"rules": {
45-
"import/extensions": "off"
46-
}
44+
"ava": "^6.1.2",
45+
"xo": "^0.58.0"
4746
}
4847
}

0 commit comments

Comments
 (0)