@prairielearn/error 2.0.14 → 2.0.16

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 CHANGED
@@ -1,5 +1,17 @@
1
1
  # @prairielearn/error
2
2
 
3
+ ## 2.0.16
4
+
5
+ ### Patch Changes
6
+
7
+ - 678b48a: Upgrade all JavaScript dependencies
8
+
9
+ ## 2.0.15
10
+
11
+ ### Patch Changes
12
+
13
+ - be4444e: Upgrade all JavaScript dependencies
14
+
3
15
  ## 2.0.14
4
16
 
5
17
  ### Patch Changes
@@ -1,4 +1,4 @@
1
- import { assert } from 'chai';
1
+ import { assert, describe, it } from 'vitest';
2
2
  import { addData, augmentError, make, makeWithData, makeWithInfo, newMessage } from './index.js';
3
3
  describe('make', () => {
4
4
  it('makes an error without data', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { assert } from 'chai';\n\nimport { addData, augmentError, make, makeWithData, makeWithInfo, newMessage } from './index.js';\n\ndescribe('make', () => {\n it('makes an error without data', () => {\n const err = make(404, 'Not Found');\n assert.equal(err.status, 404);\n assert.equal(err.message, 'Not Found');\n });\n\n it('makes an error with data', () => {\n const err = make(404, 'Not Found', { foo: 'bar' });\n assert.equal(err.status, 404);\n assert.equal(err.message, 'Not Found');\n assert.equal(err.data.foo, 'bar');\n });\n});\n\ndescribe('makeWithData', () => {\n it('makes an error with the expected properties', () => {\n const err = makeWithData('Not Found', { foo: 'bar' });\n assert.equal(err.message, 'Not Found');\n assert.equal(err.data.foo, 'bar');\n });\n});\n\ndescribe('makeWithInfo', () => {\n it('makes an error with the expected properties', () => {\n const err = makeWithInfo('Not Found', 'bar');\n assert.equal(err.message, 'Not Found');\n assert.equal(err.info, 'bar');\n });\n});\n\ndescribe('addData', () => {\n it('adds data to an error', () => {\n const err = new Error('Not Found');\n const newErr = addData(err, { foo: 'bar' });\n\n assert.equal(err.message, 'Not Found');\n assert.equal((err as any).data.foo, 'bar');\n assert.equal(newErr.message, 'Not Found');\n assert.equal(newErr.data.foo, 'bar');\n });\n\n it('coerces a non-error to a string', () => {\n const newErr = addData('Not Found', { foo: 'bar' });\n assert.equal(newErr.message, 'Not Found');\n assert.equal(newErr.data.foo, 'bar');\n });\n});\n\ndescribe('newMessage', () => {\n it('adds a new message to an error', () => {\n const err = new Error('Not Found');\n const newErr = newMessage(err, '404');\n\n assert.equal(err.message, '404: Not Found');\n assert.equal((err as any).data._previousMessages[0], 'Not Found');\n assert.equal(newErr.message, '404: Not Found');\n assert.equal(newErr.data._previousMessages[0], 'Not Found');\n });\n\n it('coerces a non-error to a string', () => {\n const newErr = newMessage('Not Found', '404');\n assert.equal(newErr.message, '404: Not Found');\n assert.equal(newErr.data._previousMessages[0], 'Not Found');\n });\n});\n\ndescribe('augmentError', () => {\n it('adds status, message, and data to an error', () => {\n const err = new Error('Not Found');\n const newErr = augmentError(err, { status: 404, message: 'Missing', data: { foo: 'bar' } });\n\n assert.equal(newErr.message, 'Missing: Not Found');\n assert.equal(newErr.status, 404);\n assert.equal(newErr.data.foo, 'bar');\n assert.equal(newErr.cause, err);\n assert.equal((newErr.cause as any).message, 'Not Found');\n });\n});\n"]}
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 { addData, augmentError, make, makeWithData, makeWithInfo, newMessage } from './index.js';\n\ndescribe('make', () => {\n it('makes an error without data', () => {\n const err = make(404, 'Not Found');\n assert.equal(err.status, 404);\n assert.equal(err.message, 'Not Found');\n });\n\n it('makes an error with data', () => {\n const err = make(404, 'Not Found', { foo: 'bar' });\n assert.equal(err.status, 404);\n assert.equal(err.message, 'Not Found');\n assert.equal(err.data.foo, 'bar');\n });\n});\n\ndescribe('makeWithData', () => {\n it('makes an error with the expected properties', () => {\n const err = makeWithData('Not Found', { foo: 'bar' });\n assert.equal(err.message, 'Not Found');\n assert.equal(err.data.foo, 'bar');\n });\n});\n\ndescribe('makeWithInfo', () => {\n it('makes an error with the expected properties', () => {\n const err = makeWithInfo('Not Found', 'bar');\n assert.equal(err.message, 'Not Found');\n assert.equal(err.info, 'bar');\n });\n});\n\ndescribe('addData', () => {\n it('adds data to an error', () => {\n const err = new Error('Not Found');\n const newErr = addData(err, { foo: 'bar' });\n\n assert.equal(err.message, 'Not Found');\n assert.equal((err as any).data.foo, 'bar');\n assert.equal(newErr.message, 'Not Found');\n assert.equal(newErr.data.foo, 'bar');\n });\n\n it('coerces a non-error to a string', () => {\n const newErr = addData('Not Found', { foo: 'bar' });\n assert.equal(newErr.message, 'Not Found');\n assert.equal(newErr.data.foo, 'bar');\n });\n});\n\ndescribe('newMessage', () => {\n it('adds a new message to an error', () => {\n const err = new Error('Not Found');\n const newErr = newMessage(err, '404');\n\n assert.equal(err.message, '404: Not Found');\n assert.equal((err as any).data._previousMessages[0], 'Not Found');\n assert.equal(newErr.message, '404: Not Found');\n assert.equal(newErr.data._previousMessages[0], 'Not Found');\n });\n\n it('coerces a non-error to a string', () => {\n const newErr = newMessage('Not Found', '404');\n assert.equal(newErr.message, '404: Not Found');\n assert.equal(newErr.data._previousMessages[0], 'Not Found');\n });\n});\n\ndescribe('augmentError', () => {\n it('adds status, message, and data to an error', () => {\n const err = new Error('Not Found');\n const newErr = augmentError(err, { status: 404, message: 'Missing', data: { foo: 'bar' } });\n\n assert.equal(newErr.message, 'Missing: Not Found');\n assert.equal(newErr.status, 404);\n assert.equal(newErr.data.foo, 'bar');\n assert.equal(newErr.cause, err);\n assert.equal((newErr.cause as any).message, 'Not Found');\n });\n});\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prairielearn/error",
3
- "version": "2.0.14",
3
+ "version": "2.0.16",
4
4
  "type": "module",
5
5
  "repository": {
6
6
  "type": "git",
@@ -11,31 +11,18 @@
11
11
  "scripts": {
12
12
  "build": "tsc",
13
13
  "dev": "tsc --watch --preserveWatchOutput",
14
- "test": "c8 mocha src/**/*.test.ts"
14
+ "test": "vitest run --coverage"
15
15
  },
16
16
  "dependencies": {
17
17
  "lodash": "^4.17.21"
18
18
  },
19
19
  "devDependencies": {
20
- "@prairielearn/html": "^4.0.14",
20
+ "@prairielearn/html": "^4.0.16",
21
21
  "@prairielearn/tsconfig": "^0.0.0",
22
- "@types/mocha": "^10.0.10",
23
- "@types/node": "^20.17.32",
24
- "c8": "^10.1.3",
25
- "chai": "^5.2.0",
26
- "mocha": "^11.1.0",
27
- "tsx": "^4.19.4",
28
- "typescript": "^5.8.3"
29
- },
30
- "c8": {
31
- "reporter": [
32
- "html",
33
- "text-summary",
34
- "cobertura"
35
- ],
36
- "all": true,
37
- "include": [
38
- "src/**"
39
- ]
22
+ "@types/node": "^22.15.34",
23
+ "@vitest/coverage-v8": "^3.2.4",
24
+ "tsx": "^4.20.3",
25
+ "typescript": "^5.8.3",
26
+ "vitest": "^3.2.4"
40
27
  }
41
28
  }
package/src/index.test.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { assert } from 'chai';
1
+ import { assert, describe, it } from 'vitest';
2
2
 
3
3
  import { addData, augmentError, make, makeWithData, makeWithInfo, newMessage } from './index.js';
4
4
 
package/tsconfig.json CHANGED
@@ -3,6 +3,6 @@
3
3
  "compilerOptions": {
4
4
  "outDir": "./dist",
5
5
  "rootDir": "./src",
6
- "types": ["mocha", "node"]
6
+ "types": ["node"]
7
7
  }
8
8
  }
@@ -0,0 +1,11 @@
1
+ import { defineConfig } from 'vitest/config';
2
+
3
+ export default defineConfig({
4
+ test: {
5
+ coverage: {
6
+ reporter: ['html', 'text-summary', 'cobertura'],
7
+ all: true,
8
+ include: ['src/**'],
9
+ },
10
+ },
11
+ });
package/.mocharc.cjs DELETED
@@ -1,3 +0,0 @@
1
- module.exports = {
2
- require: ['tsx'],
3
- };