hono 1.1.1 → 1.2.2

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.
Files changed (91) hide show
  1. package/README.md +126 -117
  2. package/dist/compose.d.ts +2 -2
  3. package/dist/compose.js +20 -8
  4. package/dist/compose.test.d.ts +1 -0
  5. package/dist/compose.test.js +511 -0
  6. package/dist/context.d.ts +8 -1
  7. package/dist/context.js +27 -37
  8. package/dist/context.test.d.ts +1 -0
  9. package/dist/context.test.js +127 -0
  10. package/dist/hono.d.ts +44 -21
  11. package/dist/hono.js +74 -43
  12. package/dist/hono.test.d.ts +1 -0
  13. package/dist/hono.test.js +592 -0
  14. package/dist/index.d.ts +2 -2
  15. package/dist/index.js +2 -1
  16. package/dist/middleware/basic-auth/index.js +2 -2
  17. package/dist/middleware/basic-auth/index.test.d.ts +1 -0
  18. package/dist/middleware/basic-auth/index.test.js +119 -0
  19. package/dist/middleware/body-parse/index.test.d.ts +1 -0
  20. package/dist/middleware/body-parse/index.test.js +59 -0
  21. package/dist/middleware/cookie/index.d.ts +1 -1
  22. package/dist/middleware/cookie/index.test.d.ts +1 -0
  23. package/dist/middleware/cookie/index.test.js +54 -0
  24. package/dist/middleware/cors/index.test.d.ts +1 -0
  25. package/dist/middleware/cors/index.test.js +59 -0
  26. package/dist/middleware/etag/index.test.d.ts +1 -0
  27. package/dist/middleware/etag/index.test.js +45 -0
  28. package/dist/middleware/graphql-server/index.js +1 -1
  29. package/dist/middleware/graphql-server/index.test.d.ts +1 -0
  30. package/dist/middleware/graphql-server/index.test.js +480 -0
  31. package/dist/middleware/graphql-server/parse-body.test.d.ts +1 -0
  32. package/dist/middleware/graphql-server/parse-body.test.js +57 -0
  33. package/dist/middleware/jwt/index.js +9 -11
  34. package/dist/middleware/jwt/index.test.d.ts +1 -0
  35. package/dist/middleware/jwt/index.test.js +51 -0
  36. package/dist/middleware/logger/index.test.d.ts +1 -0
  37. package/dist/middleware/logger/index.test.js +49 -0
  38. package/dist/middleware/mustache/index.test.d.ts +1 -0
  39. package/dist/middleware/mustache/index.test.js +49 -0
  40. package/dist/middleware/powered-by/index.test.d.ts +1 -0
  41. package/dist/middleware/powered-by/index.test.js +15 -0
  42. package/dist/middleware/pretty-json/index.test.d.ts +1 -0
  43. package/dist/middleware/pretty-json/index.test.js +28 -0
  44. package/dist/middleware/serve-static/index.test.d.ts +1 -0
  45. package/dist/middleware/serve-static/index.test.js +58 -0
  46. package/dist/router/reg-exp-router/index.d.ts +1 -1
  47. package/dist/router/reg-exp-router/index.js +1 -1
  48. package/dist/router/reg-exp-router/node.d.ts +3 -0
  49. package/dist/router/reg-exp-router/node.js +13 -7
  50. package/dist/router/reg-exp-router/router.d.ts +21 -2
  51. package/dist/router/reg-exp-router/router.js +301 -81
  52. package/dist/router/reg-exp-router/router.test.d.ts +1 -0
  53. package/dist/router/reg-exp-router/router.test.js +212 -0
  54. package/dist/router/reg-exp-router/trie.d.ts +7 -3
  55. package/dist/router/reg-exp-router/trie.js +3 -3
  56. package/dist/router/trie-router/index.d.ts +1 -1
  57. package/dist/router/trie-router/index.js +1 -1
  58. package/dist/router/trie-router/node.d.ts +4 -3
  59. package/dist/router/trie-router/node.js +123 -55
  60. package/dist/router/trie-router/node.test.d.ts +1 -0
  61. package/dist/router/trie-router/node.test.js +351 -0
  62. package/dist/router/trie-router/router.d.ts +2 -2
  63. package/dist/router/trie-router/router.js +1 -1
  64. package/dist/router/trie-router/router.test.d.ts +1 -0
  65. package/dist/router/trie-router/router.test.js +98 -0
  66. package/dist/router.d.ts +4 -3
  67. package/dist/router.js +5 -4
  68. package/dist/utils/body.js +2 -2
  69. package/dist/utils/body.test.d.ts +1 -0
  70. package/dist/utils/body.test.js +45 -0
  71. package/dist/utils/buffer.js +1 -1
  72. package/dist/utils/buffer.test.d.ts +1 -0
  73. package/dist/utils/buffer.test.js +36 -0
  74. package/dist/utils/cloudflare.test.d.ts +1 -0
  75. package/dist/utils/cloudflare.test.js +42 -0
  76. package/dist/utils/crypto.test.d.ts +1 -0
  77. package/dist/utils/crypto.test.js +15 -0
  78. package/dist/utils/encode.test.d.ts +1 -0
  79. package/dist/utils/encode.test.js +54 -0
  80. package/dist/utils/http-status.test.d.ts +1 -0
  81. package/dist/utils/http-status.test.js +8 -0
  82. package/dist/utils/jwt/jwt.test.d.ts +1 -0
  83. package/dist/utils/jwt/jwt.test.js +171 -0
  84. package/dist/utils/jwt/types.test.d.ts +1 -0
  85. package/dist/utils/jwt/types.test.js +12 -0
  86. package/dist/utils/mime.test.d.ts +1 -0
  87. package/dist/utils/mime.test.js +13 -0
  88. package/dist/utils/url.js +4 -4
  89. package/dist/utils/url.test.d.ts +1 -0
  90. package/dist/utils/url.test.js +87 -0
  91. package/package.json +3 -4
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const url_1 = require("./url");
4
+ describe('url', () => {
5
+ it('splitPath', () => {
6
+ let ps = (0, url_1.splitPath)('/');
7
+ expect(ps).toStrictEqual(['']);
8
+ ps = (0, url_1.splitPath)('/hello');
9
+ expect(ps).toStrictEqual(['hello']);
10
+ ps = (0, url_1.splitPath)('*');
11
+ expect(ps).toStrictEqual(['*']);
12
+ ps = (0, url_1.splitPath)('/wildcard-abc/*/wildcard-efg');
13
+ expect(ps).toStrictEqual(['wildcard-abc', '*', 'wildcard-efg']);
14
+ ps = (0, url_1.splitPath)('/map/:location/events');
15
+ expect(ps).toStrictEqual(['map', ':location', 'events']);
16
+ });
17
+ it('getPattern', () => {
18
+ let res = (0, url_1.getPattern)(':id');
19
+ expect(res).not.toBeNull();
20
+ expect(res[0]).toBe(':id');
21
+ expect(res[1]).toBe('id');
22
+ expect(res[2]).toBe(true);
23
+ res = (0, url_1.getPattern)(':id{[0-9]+}');
24
+ expect(res[0]).toBe(':id{[0-9]+}');
25
+ expect(res[1]).toBe('id');
26
+ expect(res[2]).toEqual(/^[0-9]+$/);
27
+ res = (0, url_1.getPattern)('*');
28
+ expect(res).toBe('*');
29
+ });
30
+ describe('getPathFromURL', () => {
31
+ it('getPathFromURL - no trailing slash', () => {
32
+ let path = (0, url_1.getPathFromURL)('https://example.com/');
33
+ expect(path).toBe('/');
34
+ path = (0, url_1.getPathFromURL)('https://example.com/hello');
35
+ expect(path).toBe('/hello');
36
+ path = (0, url_1.getPathFromURL)('https://example.com/hello/hey');
37
+ expect(path).toBe('/hello/hey');
38
+ path = (0, url_1.getPathFromURL)('https://example.com/hello?name=foo');
39
+ expect(path).toBe('/hello');
40
+ path = (0, url_1.getPathFromURL)('https://example.com/hello/hey?name=foo&name=bar');
41
+ expect(path).toBe('/hello/hey');
42
+ path = (0, url_1.getPathFromURL)('https://example.com/hello/hey#fragment');
43
+ expect(path).toBe('/hello/hey');
44
+ });
45
+ it('getPathFromURL - with trailing slash', () => {
46
+ let path = (0, url_1.getPathFromURL)('https://example.com/hello/');
47
+ expect(path).toBe('/hello/');
48
+ path = (0, url_1.getPathFromURL)('https://example.com/hello/hey/');
49
+ expect(path).toBe('/hello/hey/');
50
+ });
51
+ it('getPathFromURL - no strict is false', () => {
52
+ let path = (0, url_1.getPathFromURL)('https://example.com/hello/', { strict: false });
53
+ expect(path).toBe('/hello');
54
+ path = (0, url_1.getPathFromURL)('https://example.com/hello/hey/', { strict: false });
55
+ expect(path).toBe('/hello/hey');
56
+ });
57
+ });
58
+ describe('isAbsoluteURL', () => {
59
+ it('absolute url', () => {
60
+ expect((0, url_1.isAbsoluteURL)('https://example.com')).toBeTruthy();
61
+ expect((0, url_1.isAbsoluteURL)('https://example.com/xxx')).toBeTruthy();
62
+ });
63
+ it('relative url', () => {
64
+ expect((0, url_1.isAbsoluteURL)('/')).not.toBeTruthy();
65
+ expect((0, url_1.isAbsoluteURL)('/location')).not.toBeTruthy();
66
+ expect((0, url_1.isAbsoluteURL)('')).not.toBeTruthy();
67
+ });
68
+ });
69
+ describe('mergePath', () => {
70
+ it('mergePath', () => {
71
+ expect((0, url_1.mergePath)('/book', '/')).toBe('/book');
72
+ expect((0, url_1.mergePath)('/book/', '/')).toBe('/book/');
73
+ expect((0, url_1.mergePath)('/book', '/hey')).toBe('/book/hey');
74
+ expect((0, url_1.mergePath)('/book/', '/hey')).toBe('/book/hey');
75
+ expect((0, url_1.mergePath)('/book', '/hey/')).toBe('/book/hey/');
76
+ expect((0, url_1.mergePath)('/book/', '/hey/')).toBe('/book/hey/');
77
+ expect((0, url_1.mergePath)('/book', 'hey', 'say')).toBe('/book/hey/say');
78
+ expect((0, url_1.mergePath)('/book', '/hey/', '/say/')).toBe('/book/hey/say/');
79
+ expect((0, url_1.mergePath)('/book', '/hey/', '/say/', '/')).toBe('/book/hey/say/');
80
+ expect((0, url_1.mergePath)('book', '/')).toBe('/book');
81
+ expect((0, url_1.mergePath)('book/', '/')).toBe('/book/');
82
+ expect((0, url_1.mergePath)('book', '/hey')).toBe('/book/hey');
83
+ expect((0, url_1.mergePath)('book', 'hey')).toBe('/book/hey');
84
+ expect((0, url_1.mergePath)('book', 'hey/')).toBe('/book/hey/');
85
+ });
86
+ });
87
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hono",
3
- "version": "1.1.1",
3
+ "version": "1.2.2",
4
4
  "description": "Ultrafast web framework for Cloudflare Workers.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -11,8 +11,8 @@
11
11
  "test": "jest",
12
12
  "lint": "eslint --ext js,ts src .eslintrc.js",
13
13
  "lint:fix": "eslint --ext js,ts src .eslintrc.js --fix",
14
- "build": "rimraf dist && tsc --project tsconfig.build.json && tsc-alias -p tsconfig.build.json",
15
- "watch": "tsc -w --project tsconfig.build.json & tsc-alias -w -p tsconfig.build.json",
14
+ "build": "rimraf dist && tsc",
15
+ "watch": "tsc -w",
16
16
  "prepublishOnly": "yarn build"
17
17
  },
18
18
  "exports": {
@@ -131,7 +131,6 @@
131
131
  "prettier-plugin-md-nocjsp": "^1.2.0",
132
132
  "rimraf": "^3.0.2",
133
133
  "ts-jest": "^27.1.4",
134
- "tsc-alias": "^1.6.7",
135
134
  "typescript": "^4.6.3"
136
135
  },
137
136
  "engines": {