@prairielearn/html 4.0.13 → 4.0.15
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 +12 -0
- package/dist/index.test.js +1 -1
- package/dist/index.test.js.map +1 -1
- package/package.json +8 -20
- package/src/index.test.ts +1 -1
- package/tsconfig.json +1 -2
- package/vitest.config.ts +11 -0
package/CHANGELOG.md
CHANGED
package/dist/index.test.js
CHANGED
package/dist/index.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { assert, describe, it } from 'vitest';\n\nimport { escapeHtml, html } from './index.js';\n\ndescribe('html', () => {\n it('escapes string value', () => {\n assert.equal(html`<p>${'<script>'}</p>`.toString(), '<p><script></p>');\n });\n\n it('interpolates multiple values', () => {\n assert.equal(html`<p>${'cats'} and ${'dogs'}</p>`.toString(), '<p>cats and dogs</p>');\n });\n\n it('interpolates a number', () => {\n assert.equal(html`<p>${123}</p>`.toString(), '<p>123</p>');\n });\n\n it('interpolates a bigint', () => {\n assert.equal(html`<p>${123n}</p>`.toString(), '<p>123</p>');\n });\n\n it('interpolates a boolean', () => {\n assert.equal(html`<p>${true}</p>`.toString(), '<p>true</p>');\n assert.equal(html`<p>${false}</p>`.toString(), '<p>false</p>');\n });\n\n it('escapes values when rendering array', () => {\n const arr = ['cats>', '<dogs'];\n assert.equal(\n // prettier-ignore\n html`<ul>${arr}</ul>`.toString(),\n '<ul>cats><dogs</ul>',\n );\n });\n\n it('does not double-escape values when rendering array', () => {\n const arr = ['cats', 'dogs'];\n assert.equal(\n // prettier-ignore\n html`<ul>${arr.map((e) => html`<li>${e}</li>`)}</ul>`.toString(),\n '<ul><li>cats</li><li>dogs</li></ul>',\n );\n });\n\n it('errors when interpolating object', () => {\n assert.throws(\n // @ts-expect-error -- Testing runtime behavior of bad input.\n () => html`<p>${{ foo: 'bar' }}</p>`.toString(),\n 'Cannot interpolate object in template',\n );\n });\n\n it('omits nullish values from template', () => {\n assert.equal(html`<p>${null}${undefined}</p>`.toString(), '<p></p>');\n });\n});\n\ndescribe('escapeHtml', () => {\n it('escapes rendered HTML', () => {\n assert.equal(escapeHtml(html`<p>Hello</p>`).toString(), '<p>Hello</p>');\n });\n\n it('works when nested inside html tag', () => {\n assert.equal(html`a${escapeHtml(html`<p></p>`)}b`.toString(), 'a<p></p>b');\n });\n});\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prairielearn/html",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.15",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -11,27 +11,15 @@
|
|
|
11
11
|
"scripts": {
|
|
12
12
|
"build": "tsc",
|
|
13
13
|
"dev": "tsc --watch --preserveWatchOutput",
|
|
14
|
-
"test": "
|
|
14
|
+
"test": "vitest run --coverage"
|
|
15
15
|
},
|
|
16
16
|
"devDependencies": {
|
|
17
17
|
"@prairielearn/tsconfig": "^0.0.0",
|
|
18
|
-
"@types/node": "^20.17.
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"typescript": "^5.8.3"
|
|
18
|
+
"@types/node": "^20.17.57",
|
|
19
|
+
"@vitest/coverage-v8": "^3.1.4",
|
|
20
|
+
"tsx": "^4.19.4",
|
|
21
|
+
"typescript": "^5.8.3",
|
|
22
|
+
"vitest": "^3.1.4"
|
|
24
23
|
},
|
|
25
|
-
"sideEffects": false
|
|
26
|
-
"c8": {
|
|
27
|
-
"reporter": [
|
|
28
|
-
"html",
|
|
29
|
-
"text-summary",
|
|
30
|
-
"cobertura"
|
|
31
|
-
],
|
|
32
|
-
"all": true,
|
|
33
|
-
"include": [
|
|
34
|
-
"src/**"
|
|
35
|
-
]
|
|
36
|
-
}
|
|
24
|
+
"sideEffects": false
|
|
37
25
|
}
|
package/src/index.test.ts
CHANGED
package/tsconfig.json
CHANGED