@gravito/signal 3.1.0 → 3.1.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 (68) hide show
  1. package/dist/index.cjs +55126 -81925
  2. package/dist/index.d.ts +513 -1
  3. package/dist/index.js +61492 -0
  4. package/dist/index.mjs +55301 -82110
  5. package/package.json +12 -1
  6. package/CHANGELOG.md +0 -74
  7. package/build.ts +0 -133
  8. package/dist/index.cjs.map +0 -712
  9. package/dist/index.mjs.map +0 -710
  10. package/doc/ADVANCED_RENDERING.md +0 -71
  11. package/doc/DISTRIBUTED_MESSAGING.md +0 -79
  12. package/doc/OPTIMIZATION_PLAN.md +0 -496
  13. package/package.json.bak +0 -75
  14. package/scripts/check-coverage.ts +0 -64
  15. package/src/Mailable.ts +0 -674
  16. package/src/OrbitSignal.ts +0 -451
  17. package/src/Queueable.ts +0 -9
  18. package/src/TypedMailable.ts +0 -96
  19. package/src/dev/DevMailbox.ts +0 -146
  20. package/src/dev/DevServer.ts +0 -192
  21. package/src/dev/storage/FileMailboxStorage.ts +0 -66
  22. package/src/dev/storage/MailboxStorage.ts +0 -15
  23. package/src/dev/storage/MemoryMailboxStorage.ts +0 -36
  24. package/src/dev/ui/mailbox.ts +0 -77
  25. package/src/dev/ui/preview.ts +0 -103
  26. package/src/dev/ui/shared.ts +0 -60
  27. package/src/errors.ts +0 -69
  28. package/src/events.ts +0 -72
  29. package/src/index.ts +0 -41
  30. package/src/renderers/HtmlRenderer.ts +0 -41
  31. package/src/renderers/MjmlRenderer.ts +0 -73
  32. package/src/renderers/ReactMjmlRenderer.ts +0 -94
  33. package/src/renderers/ReactRenderer.ts +0 -66
  34. package/src/renderers/Renderer.ts +0 -67
  35. package/src/renderers/TemplateRenderer.ts +0 -84
  36. package/src/renderers/VueMjmlRenderer.ts +0 -99
  37. package/src/renderers/VueRenderer.ts +0 -71
  38. package/src/renderers/mjml-templates.ts +0 -50
  39. package/src/transports/BaseTransport.ts +0 -148
  40. package/src/transports/LogTransport.ts +0 -55
  41. package/src/transports/MemoryTransport.ts +0 -55
  42. package/src/transports/SesTransport.ts +0 -129
  43. package/src/transports/SmtpTransport.ts +0 -184
  44. package/src/transports/Transport.ts +0 -45
  45. package/src/types.ts +0 -309
  46. package/src/utils/html.ts +0 -43
  47. package/src/webhooks/SendGridWebhookDriver.ts +0 -80
  48. package/src/webhooks/SesWebhookDriver.ts +0 -44
  49. package/tests/DevMailbox.test.ts +0 -54
  50. package/tests/FileMailboxStorage.test.ts +0 -56
  51. package/tests/MjmlLayout.test.ts +0 -28
  52. package/tests/MjmlRenderer.test.ts +0 -53
  53. package/tests/OrbitSignalWebhook.test.ts +0 -56
  54. package/tests/ReactMjmlRenderer.test.ts +0 -33
  55. package/tests/SendGridWebhookDriver.test.ts +0 -69
  56. package/tests/SesWebhookDriver.test.ts +0 -46
  57. package/tests/VueMjmlRenderer.test.ts +0 -35
  58. package/tests/dev-server.test.ts +0 -66
  59. package/tests/log-transport.test.ts +0 -21
  60. package/tests/mailable-extra.test.ts +0 -68
  61. package/tests/mailable.test.ts +0 -77
  62. package/tests/orbit-signal.test.ts +0 -43
  63. package/tests/renderers.test.ts +0 -58
  64. package/tests/template-renderer.test.ts +0 -24
  65. package/tests/transports.test.ts +0 -52
  66. package/tests/ui.test.ts +0 -37
  67. package/tsconfig.build.json +0 -24
  68. package/tsconfig.json +0 -9
package/package.json CHANGED
@@ -1,11 +1,18 @@
1
1
  {
2
2
  "name": "@gravito/signal",
3
3
  "sideEffects": false,
4
- "version": "3.1.0",
4
+ "version": "3.1.2",
5
5
  "description": "Powerful email framework for Gravito applications with Dev UI and multi-renderer support.",
6
6
  "main": "dist/index.js",
7
7
  "module": "dist/index.mjs",
8
8
  "types": "dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "import": "./dist/index.mjs",
13
+ "require": "./dist/index.cjs"
14
+ }
15
+ },
9
16
  "scripts": {
10
17
  "build": "bun run build.ts",
11
18
  "build:dts": "bun run build.ts --dts-only",
@@ -16,6 +23,10 @@
16
23
  "test:unit": "bun test tests/ --timeout=10000",
17
24
  "test:integration": "test $(find tests -name '*.integration.test.ts' 2>/dev/null | wc -l) -gt 0 && find tests -name '*.integration.test.ts' -print0 | xargs -0 bun test --timeout=10000 || echo 'No integration tests found'"
18
25
  },
26
+ "files": [
27
+ "dist",
28
+ "README.md"
29
+ ],
19
30
  "keywords": [
20
31
  "gravito",
21
32
  "mail",
package/CHANGELOG.md DELETED
@@ -1,74 +0,0 @@
1
- # @gravito/signal
2
-
3
- ## 3.0.4
4
-
5
- ### Patch Changes
6
-
7
- - Convert all workspace:\* dependencies to version numbers for npm publishing
8
-
9
- - Fixed 144 workspace:\* dependencies across 58 packages
10
- - Ensures all packages work properly when installed from npm
11
- - Resolves issues with bunx and npm installation of CLI tools
12
- - All internal dependencies now use explicit version constraints
13
-
14
- - Updated dependencies
15
- - @gravito/core@1.6.1
16
- - @gravito/prism@3.1.1
17
- - @gravito/stream@2.0.2
18
-
19
- ## 3.0.3
20
-
21
- ### Patch Changes
22
-
23
- - Updated dependencies [6234dab]
24
- - @gravito/prism@3.0.2
25
-
26
- ## 3.0.2
27
-
28
- ### Patch Changes
29
-
30
- - Updated dependencies [905588f]
31
- - @gravito/stream@2.0.1
32
-
33
- ## 3.0.1
34
-
35
- ### Patch Changes
36
-
37
- - Updated dependencies
38
- - @gravito/core@1.2.1
39
- - @gravito/stream@1.0.3
40
- - @gravito/prism@3.0.1
41
-
42
- ## 3.0.0
43
-
44
- ### Patch Changes
45
-
46
- - Updated dependencies
47
- - @gravito/core@1.2.0
48
- - @gravito/prism@3.0.0
49
- - @gravito/stream@1.0.2
50
-
51
- ## 2.0.0
52
-
53
- ### Patch Changes
54
-
55
- - Updated dependencies
56
- - Updated dependencies
57
- - @gravito/core@1.1.0
58
- - @gravito/prism@2.0.0
59
- - @gravito/stream@1.0.1
60
-
61
- ## 1.0.1
62
-
63
- ### Patch Changes
64
-
65
- - Refactored all scaffold generators (Enterprise MVC, Clean Architecture, Action Domain, DDD) to adopt the Service Provider pattern and a modern 4-step bootstrap lifecycle. Fixed a missing mock in @gravito/signal tests.
66
-
67
- ## 1.0.0
68
-
69
- ### Patch Changes
70
-
71
- - Updated dependencies
72
- - @gravito/core@1.0.0
73
- - @gravito/stream@1.0.0
74
- - @gravito/prism@1.0.0
package/build.ts DELETED
@@ -1,133 +0,0 @@
1
- import { cp, type Dirent, mkdir, readdir, rm } from 'node:fs/promises'
2
- import { basename } from 'node:path'
3
- import { build } from 'bun'
4
-
5
- const isDtsOnly = process.argv.includes('--dts-only')
6
- const pkgName = basename(import.meta.dirname) // "signal"
7
-
8
- console.log(
9
- isDtsOnly ? 'Building @gravito/signal DTS...' : 'Building @gravito/signal in parallel...'
10
- )
11
-
12
- // Clean dist
13
- await rm('dist', { recursive: true, force: true })
14
-
15
- // External dependencies(peer deps + framework 包)
16
- const externalDeps = [
17
- '@gravito/core',
18
- '@gravito/stream',
19
- '@gravito/prism',
20
- 'react',
21
- 'react-dom',
22
- 'vue',
23
- '@vue/server-renderer',
24
- 'nodemailer',
25
- '@aws-sdk/client-ses',
26
- ]
27
-
28
- async function buildInParallel() {
29
- const tasks: Promise<number>[] = []
30
- const tempDir = isDtsOnly ? 'dist' : '.tsc-temp'
31
-
32
- if (!isDtsOnly) {
33
- await rm(tempDir, { recursive: true, force: true })
34
-
35
- // Task 1: bun build ESM
36
- const esmPromise = (async () => {
37
- const buildResult = await build({
38
- entrypoints: ['src/index.ts'],
39
- outdir: 'dist',
40
- format: 'esm',
41
- target: 'node',
42
- splitting: false,
43
- sourcemap: 'external',
44
- external: externalDeps,
45
- naming: '[dir]/[name].mjs',
46
- })
47
-
48
- if (!buildResult.success) {
49
- console.error('❌ ESM build failed:', buildResult.logs)
50
- return 1
51
- }
52
- return 0
53
- })()
54
- tasks.push(esmPromise)
55
-
56
- // Task 2: bun build CJS
57
- const cjsPromise = (async () => {
58
- const cjsResult = await build({
59
- entrypoints: ['src/index.ts'],
60
- outdir: 'dist',
61
- format: 'cjs',
62
- target: 'node',
63
- splitting: false,
64
- sourcemap: 'external',
65
- naming: '[dir]/[name].cjs',
66
- external: externalDeps,
67
- })
68
-
69
- if (!cjsResult.success) {
70
- console.error('❌ CJS build failed:', cjsResult.logs)
71
- return 1
72
- }
73
- return 0
74
- })()
75
- tasks.push(cjsPromise)
76
- }
77
-
78
- // Task 3: tsc 生成型別宣告(使用 tsconfig.build.json + noCheck)
79
- const tscPromise = (async () => {
80
- const tsc = Bun.spawn(['bunx', 'tsc', '-p', 'tsconfig.build.json', '--outDir', tempDir], {
81
- stdout: 'inherit',
82
- stderr: 'inherit',
83
- cwd: import.meta.dirname,
84
- })
85
- return await tsc.exited
86
- })()
87
- tasks.push(tscPromise)
88
-
89
- const results = await Promise.all(tasks)
90
- for (const result of results) {
91
- if (result !== 0) {
92
- process.exit(1)
93
- }
94
- }
95
- }
96
-
97
- // 遞迴複製 .d.ts 檔案
98
- async function copyDtsFiles(src: string, dest: string) {
99
- let entries: Dirent[]
100
- try {
101
- entries = await readdir(src, { withFileTypes: true })
102
- } catch (_e) {
103
- return
104
- }
105
-
106
- for (const entry of entries) {
107
- const srcPath = `${src}/${entry.name}`
108
- const destPath = `${dest}/${entry.name}`
109
-
110
- if (entry.isDirectory()) {
111
- await mkdir(destPath, { recursive: true }).catch(() => {})
112
- await copyDtsFiles(srcPath, destPath)
113
- } else if (entry.isFile() && entry.name.endsWith('.d.ts')) {
114
- await cp(srcPath, destPath)
115
- }
116
- }
117
- }
118
-
119
- await buildInParallel()
120
-
121
- // 後處理:tsc 輸出到 .tsc-temp/{pkgName}/src/,需要移到 dist/
122
- const tempDir = isDtsOnly ? 'dist' : '.tsc-temp'
123
- if (!isDtsOnly) {
124
- try {
125
- const dtsSourceDir = `${tempDir}/${pkgName}/src`
126
- await copyDtsFiles(dtsSourceDir, 'dist')
127
- await rm(tempDir, { recursive: true, force: true })
128
- } catch (e) {
129
- console.warn('⚠️ Warning: Failed to copy type declarations:', e)
130
- }
131
- }
132
-
133
- console.log('✅ @gravito/signal build completed')