@titanpl/cli 2.0.2 → 2.0.4

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 (46) hide show
  1. package/package.json +5 -5
  2. package/src/commands/init.js +23 -2
  3. package/src/engine.js +18 -1
  4. package/templates/common/Dockerfile +66 -0
  5. package/templates/common/_dockerignore +35 -0
  6. package/templates/common/_gitignore +33 -0
  7. package/templates/common/app/t.native.d.ts +2043 -0
  8. package/templates/common/app/t.native.js +39 -0
  9. package/templates/extension/README.md +69 -0
  10. package/templates/extension/index.d.ts +27 -0
  11. package/templates/extension/index.js +17 -0
  12. package/templates/extension/jsconfig.json +14 -0
  13. package/templates/extension/native/Cargo.toml +9 -0
  14. package/templates/extension/native/src/lib.rs +5 -0
  15. package/templates/extension/package-lock.json +522 -0
  16. package/templates/extension/package.json +26 -0
  17. package/templates/extension/titan.json +18 -0
  18. package/templates/js/app/actions/getuser.js +9 -0
  19. package/templates/js/app/app.js +7 -0
  20. package/templates/js/eslint.config.js +5 -0
  21. package/templates/js/jsconfig.json +27 -0
  22. package/templates/js/package.json +28 -0
  23. package/templates/rust-js/app/actions/getuser.js +9 -0
  24. package/templates/rust-js/app/actions/rust_hello.rs +14 -0
  25. package/templates/rust-js/app/app.js +9 -0
  26. package/templates/rust-js/eslint.config.js +5 -0
  27. package/templates/rust-js/jsconfig.json +27 -0
  28. package/templates/rust-js/package.json +27 -0
  29. package/templates/rust-js/titan/bundle.js +157 -0
  30. package/templates/rust-js/titan/dev.js +323 -0
  31. package/templates/rust-js/titan/titan.js +126 -0
  32. package/templates/rust-ts/app/actions/getuser.ts +9 -0
  33. package/templates/rust-ts/app/actions/rust_hello.rs +14 -0
  34. package/templates/rust-ts/app/app.ts +9 -0
  35. package/templates/rust-ts/eslint.config.js +12 -0
  36. package/templates/rust-ts/package.json +29 -0
  37. package/templates/rust-ts/titan/bundle.js +163 -0
  38. package/templates/rust-ts/titan/dev.js +435 -0
  39. package/templates/rust-ts/titan/titan.d.ts +19 -0
  40. package/templates/rust-ts/titan/titan.js +124 -0
  41. package/templates/rust-ts/tsconfig.json +28 -0
  42. package/templates/ts/app/actions/getuser.ts +9 -0
  43. package/templates/ts/app/app.ts +7 -0
  44. package/templates/ts/eslint.config.js +12 -0
  45. package/templates/ts/package.json +30 -0
  46. package/templates/ts/tsconfig.json +28 -0
@@ -0,0 +1,522 @@
1
+ {
2
+ "name": "{{name}}",
3
+ "version": "1.0.0",
4
+ "lockfileVersion": 3,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "{{name}}",
9
+ "version": "1.0.0",
10
+ "license": "ISC",
11
+ "dependencies": {
12
+ "@titanpl/core": "^1.0.1",
13
+ "chokidar": "^5.0.0",
14
+ "esbuild": "^0.27.2",
15
+ "titanpl-sdk": "latest"
16
+ }
17
+ },
18
+ "node_modules/@esbuild/aix-ppc64": {
19
+ "version": "0.27.2",
20
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.2.tgz",
21
+ "integrity": "sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==",
22
+ "cpu": [
23
+ "ppc64"
24
+ ],
25
+ "license": "MIT",
26
+ "optional": true,
27
+ "os": [
28
+ "aix"
29
+ ],
30
+ "engines": {
31
+ "node": ">=18"
32
+ }
33
+ },
34
+ "node_modules/@esbuild/android-arm": {
35
+ "version": "0.27.2",
36
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.2.tgz",
37
+ "integrity": "sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==",
38
+ "cpu": [
39
+ "arm"
40
+ ],
41
+ "license": "MIT",
42
+ "optional": true,
43
+ "os": [
44
+ "android"
45
+ ],
46
+ "engines": {
47
+ "node": ">=18"
48
+ }
49
+ },
50
+ "node_modules/@esbuild/android-arm64": {
51
+ "version": "0.27.2",
52
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.2.tgz",
53
+ "integrity": "sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==",
54
+ "cpu": [
55
+ "arm64"
56
+ ],
57
+ "license": "MIT",
58
+ "optional": true,
59
+ "os": [
60
+ "android"
61
+ ],
62
+ "engines": {
63
+ "node": ">=18"
64
+ }
65
+ },
66
+ "node_modules/@esbuild/android-x64": {
67
+ "version": "0.27.2",
68
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.2.tgz",
69
+ "integrity": "sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==",
70
+ "cpu": [
71
+ "x64"
72
+ ],
73
+ "license": "MIT",
74
+ "optional": true,
75
+ "os": [
76
+ "android"
77
+ ],
78
+ "engines": {
79
+ "node": ">=18"
80
+ }
81
+ },
82
+ "node_modules/@esbuild/darwin-arm64": {
83
+ "version": "0.27.2",
84
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.2.tgz",
85
+ "integrity": "sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==",
86
+ "cpu": [
87
+ "arm64"
88
+ ],
89
+ "license": "MIT",
90
+ "optional": true,
91
+ "os": [
92
+ "darwin"
93
+ ],
94
+ "engines": {
95
+ "node": ">=18"
96
+ }
97
+ },
98
+ "node_modules/@esbuild/darwin-x64": {
99
+ "version": "0.27.2",
100
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.2.tgz",
101
+ "integrity": "sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==",
102
+ "cpu": [
103
+ "x64"
104
+ ],
105
+ "license": "MIT",
106
+ "optional": true,
107
+ "os": [
108
+ "darwin"
109
+ ],
110
+ "engines": {
111
+ "node": ">=18"
112
+ }
113
+ },
114
+ "node_modules/@esbuild/freebsd-arm64": {
115
+ "version": "0.27.2",
116
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.2.tgz",
117
+ "integrity": "sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==",
118
+ "cpu": [
119
+ "arm64"
120
+ ],
121
+ "license": "MIT",
122
+ "optional": true,
123
+ "os": [
124
+ "freebsd"
125
+ ],
126
+ "engines": {
127
+ "node": ">=18"
128
+ }
129
+ },
130
+ "node_modules/@esbuild/freebsd-x64": {
131
+ "version": "0.27.2",
132
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.2.tgz",
133
+ "integrity": "sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==",
134
+ "cpu": [
135
+ "x64"
136
+ ],
137
+ "license": "MIT",
138
+ "optional": true,
139
+ "os": [
140
+ "freebsd"
141
+ ],
142
+ "engines": {
143
+ "node": ">=18"
144
+ }
145
+ },
146
+ "node_modules/@esbuild/linux-arm": {
147
+ "version": "0.27.2",
148
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.2.tgz",
149
+ "integrity": "sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==",
150
+ "cpu": [
151
+ "arm"
152
+ ],
153
+ "license": "MIT",
154
+ "optional": true,
155
+ "os": [
156
+ "linux"
157
+ ],
158
+ "engines": {
159
+ "node": ">=18"
160
+ }
161
+ },
162
+ "node_modules/@esbuild/linux-arm64": {
163
+ "version": "0.27.2",
164
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.2.tgz",
165
+ "integrity": "sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==",
166
+ "cpu": [
167
+ "arm64"
168
+ ],
169
+ "license": "MIT",
170
+ "optional": true,
171
+ "os": [
172
+ "linux"
173
+ ],
174
+ "engines": {
175
+ "node": ">=18"
176
+ }
177
+ },
178
+ "node_modules/@esbuild/linux-ia32": {
179
+ "version": "0.27.2",
180
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.2.tgz",
181
+ "integrity": "sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==",
182
+ "cpu": [
183
+ "ia32"
184
+ ],
185
+ "license": "MIT",
186
+ "optional": true,
187
+ "os": [
188
+ "linux"
189
+ ],
190
+ "engines": {
191
+ "node": ">=18"
192
+ }
193
+ },
194
+ "node_modules/@esbuild/linux-loong64": {
195
+ "version": "0.27.2",
196
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.2.tgz",
197
+ "integrity": "sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==",
198
+ "cpu": [
199
+ "loong64"
200
+ ],
201
+ "license": "MIT",
202
+ "optional": true,
203
+ "os": [
204
+ "linux"
205
+ ],
206
+ "engines": {
207
+ "node": ">=18"
208
+ }
209
+ },
210
+ "node_modules/@esbuild/linux-mips64el": {
211
+ "version": "0.27.2",
212
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.2.tgz",
213
+ "integrity": "sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==",
214
+ "cpu": [
215
+ "mips64el"
216
+ ],
217
+ "license": "MIT",
218
+ "optional": true,
219
+ "os": [
220
+ "linux"
221
+ ],
222
+ "engines": {
223
+ "node": ">=18"
224
+ }
225
+ },
226
+ "node_modules/@esbuild/linux-ppc64": {
227
+ "version": "0.27.2",
228
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.2.tgz",
229
+ "integrity": "sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==",
230
+ "cpu": [
231
+ "ppc64"
232
+ ],
233
+ "license": "MIT",
234
+ "optional": true,
235
+ "os": [
236
+ "linux"
237
+ ],
238
+ "engines": {
239
+ "node": ">=18"
240
+ }
241
+ },
242
+ "node_modules/@esbuild/linux-riscv64": {
243
+ "version": "0.27.2",
244
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.2.tgz",
245
+ "integrity": "sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==",
246
+ "cpu": [
247
+ "riscv64"
248
+ ],
249
+ "license": "MIT",
250
+ "optional": true,
251
+ "os": [
252
+ "linux"
253
+ ],
254
+ "engines": {
255
+ "node": ">=18"
256
+ }
257
+ },
258
+ "node_modules/@esbuild/linux-s390x": {
259
+ "version": "0.27.2",
260
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.2.tgz",
261
+ "integrity": "sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==",
262
+ "cpu": [
263
+ "s390x"
264
+ ],
265
+ "license": "MIT",
266
+ "optional": true,
267
+ "os": [
268
+ "linux"
269
+ ],
270
+ "engines": {
271
+ "node": ">=18"
272
+ }
273
+ },
274
+ "node_modules/@esbuild/linux-x64": {
275
+ "version": "0.27.2",
276
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.2.tgz",
277
+ "integrity": "sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==",
278
+ "cpu": [
279
+ "x64"
280
+ ],
281
+ "license": "MIT",
282
+ "optional": true,
283
+ "os": [
284
+ "linux"
285
+ ],
286
+ "engines": {
287
+ "node": ">=18"
288
+ }
289
+ },
290
+ "node_modules/@esbuild/netbsd-arm64": {
291
+ "version": "0.27.2",
292
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.2.tgz",
293
+ "integrity": "sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==",
294
+ "cpu": [
295
+ "arm64"
296
+ ],
297
+ "license": "MIT",
298
+ "optional": true,
299
+ "os": [
300
+ "netbsd"
301
+ ],
302
+ "engines": {
303
+ "node": ">=18"
304
+ }
305
+ },
306
+ "node_modules/@esbuild/netbsd-x64": {
307
+ "version": "0.27.2",
308
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.2.tgz",
309
+ "integrity": "sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==",
310
+ "cpu": [
311
+ "x64"
312
+ ],
313
+ "license": "MIT",
314
+ "optional": true,
315
+ "os": [
316
+ "netbsd"
317
+ ],
318
+ "engines": {
319
+ "node": ">=18"
320
+ }
321
+ },
322
+ "node_modules/@esbuild/openbsd-arm64": {
323
+ "version": "0.27.2",
324
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.2.tgz",
325
+ "integrity": "sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==",
326
+ "cpu": [
327
+ "arm64"
328
+ ],
329
+ "license": "MIT",
330
+ "optional": true,
331
+ "os": [
332
+ "openbsd"
333
+ ],
334
+ "engines": {
335
+ "node": ">=18"
336
+ }
337
+ },
338
+ "node_modules/@esbuild/openbsd-x64": {
339
+ "version": "0.27.2",
340
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.2.tgz",
341
+ "integrity": "sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==",
342
+ "cpu": [
343
+ "x64"
344
+ ],
345
+ "license": "MIT",
346
+ "optional": true,
347
+ "os": [
348
+ "openbsd"
349
+ ],
350
+ "engines": {
351
+ "node": ">=18"
352
+ }
353
+ },
354
+ "node_modules/@esbuild/openharmony-arm64": {
355
+ "version": "0.27.2",
356
+ "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.2.tgz",
357
+ "integrity": "sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==",
358
+ "cpu": [
359
+ "arm64"
360
+ ],
361
+ "license": "MIT",
362
+ "optional": true,
363
+ "os": [
364
+ "openharmony"
365
+ ],
366
+ "engines": {
367
+ "node": ">=18"
368
+ }
369
+ },
370
+ "node_modules/@esbuild/sunos-x64": {
371
+ "version": "0.27.2",
372
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.2.tgz",
373
+ "integrity": "sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==",
374
+ "cpu": [
375
+ "x64"
376
+ ],
377
+ "license": "MIT",
378
+ "optional": true,
379
+ "os": [
380
+ "sunos"
381
+ ],
382
+ "engines": {
383
+ "node": ">=18"
384
+ }
385
+ },
386
+ "node_modules/@esbuild/win32-arm64": {
387
+ "version": "0.27.2",
388
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.2.tgz",
389
+ "integrity": "sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==",
390
+ "cpu": [
391
+ "arm64"
392
+ ],
393
+ "license": "MIT",
394
+ "optional": true,
395
+ "os": [
396
+ "win32"
397
+ ],
398
+ "engines": {
399
+ "node": ">=18"
400
+ }
401
+ },
402
+ "node_modules/@esbuild/win32-ia32": {
403
+ "version": "0.27.2",
404
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.2.tgz",
405
+ "integrity": "sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==",
406
+ "cpu": [
407
+ "ia32"
408
+ ],
409
+ "license": "MIT",
410
+ "optional": true,
411
+ "os": [
412
+ "win32"
413
+ ],
414
+ "engines": {
415
+ "node": ">=18"
416
+ }
417
+ },
418
+ "node_modules/@esbuild/win32-x64": {
419
+ "version": "0.27.2",
420
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.2.tgz",
421
+ "integrity": "sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==",
422
+ "cpu": [
423
+ "x64"
424
+ ],
425
+ "license": "MIT",
426
+ "optional": true,
427
+ "os": [
428
+ "win32"
429
+ ],
430
+ "engines": {
431
+ "node": ">=18"
432
+ }
433
+ },
434
+ "node_modules/@titanpl/core": {
435
+ "version": "1.0.1",
436
+ "resolved": "https://registry.npmjs.org/@titanpl/core/-/core-1.0.1.tgz",
437
+ "integrity": "sha512-5zcDMNnf+oghKkQMiPBFuhLlRy2IASyWMAAMgfqa4AzoXxiw2BzzfN0B2EA76Dy9AhCeK2mY84Zm+FSE7ANVFg==",
438
+ "license": "ISC",
439
+ "engines": {
440
+ "node": ">=18.0.0"
441
+ }
442
+ },
443
+ "node_modules/chokidar": {
444
+ "version": "5.0.0",
445
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz",
446
+ "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==",
447
+ "license": "MIT",
448
+ "dependencies": {
449
+ "readdirp": "^5.0.0"
450
+ },
451
+ "engines": {
452
+ "node": ">= 20.19.0"
453
+ },
454
+ "funding": {
455
+ "url": "https://paulmillr.com/funding/"
456
+ }
457
+ },
458
+ "node_modules/esbuild": {
459
+ "version": "0.27.2",
460
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.2.tgz",
461
+ "integrity": "sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==",
462
+ "hasInstallScript": true,
463
+ "license": "MIT",
464
+ "bin": {
465
+ "esbuild": "bin/esbuild"
466
+ },
467
+ "engines": {
468
+ "node": ">=18"
469
+ },
470
+ "optionalDependencies": {
471
+ "@esbuild/aix-ppc64": "0.27.2",
472
+ "@esbuild/android-arm": "0.27.2",
473
+ "@esbuild/android-arm64": "0.27.2",
474
+ "@esbuild/android-x64": "0.27.2",
475
+ "@esbuild/darwin-arm64": "0.27.2",
476
+ "@esbuild/darwin-x64": "0.27.2",
477
+ "@esbuild/freebsd-arm64": "0.27.2",
478
+ "@esbuild/freebsd-x64": "0.27.2",
479
+ "@esbuild/linux-arm": "0.27.2",
480
+ "@esbuild/linux-arm64": "0.27.2",
481
+ "@esbuild/linux-ia32": "0.27.2",
482
+ "@esbuild/linux-loong64": "0.27.2",
483
+ "@esbuild/linux-mips64el": "0.27.2",
484
+ "@esbuild/linux-ppc64": "0.27.2",
485
+ "@esbuild/linux-riscv64": "0.27.2",
486
+ "@esbuild/linux-s390x": "0.27.2",
487
+ "@esbuild/linux-x64": "0.27.2",
488
+ "@esbuild/netbsd-arm64": "0.27.2",
489
+ "@esbuild/netbsd-x64": "0.27.2",
490
+ "@esbuild/openbsd-arm64": "0.27.2",
491
+ "@esbuild/openbsd-x64": "0.27.2",
492
+ "@esbuild/openharmony-arm64": "0.27.2",
493
+ "@esbuild/sunos-x64": "0.27.2",
494
+ "@esbuild/win32-arm64": "0.27.2",
495
+ "@esbuild/win32-ia32": "0.27.2",
496
+ "@esbuild/win32-x64": "0.27.2"
497
+ }
498
+ },
499
+ "node_modules/readdirp": {
500
+ "version": "5.0.0",
501
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz",
502
+ "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==",
503
+ "license": "MIT",
504
+ "engines": {
505
+ "node": ">= 20.19.0"
506
+ },
507
+ "funding": {
508
+ "type": "individual",
509
+ "url": "https://paulmillr.com/funding/"
510
+ }
511
+ },
512
+ "node_modules/titanpl-sdk": {
513
+ "version": "0.1.7",
514
+ "resolved": "https://registry.npmjs.org/titanpl-sdk/-/titanpl-sdk-0.1.7.tgz",
515
+ "integrity": "sha512-GPHhJtUdAN/TYCtORNpN0JmFTWC6ZHm7GmFoqJLrifCENXhfQjghbcI2+TIVxrb9Cuo5P7B1zE2nKw2ycV+BBw==",
516
+ "license": "ISC",
517
+ "bin": {
518
+ "titanpl-sdk": "bin/run.js"
519
+ }
520
+ }
521
+ }
522
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "name": "{{name}}",
3
+ "version": "2.0.4",
4
+ "description": "A Titan Planet extension",
5
+ "main": "index.js",
6
+ "types": "index.d.ts",
7
+ "type": "commonjs",
8
+ "scripts": {
9
+ "test": "microgravity test"
10
+ },
11
+ "keywords": [
12
+ "titan planet",
13
+ "extension"
14
+ ],
15
+ "author": "",
16
+ "license": "ISC",
17
+ "dependencies": {
18
+ "@titanpl/core": "latest",
19
+ "chokidar": "^5.0.0",
20
+ "esbuild": "^0.27.2",
21
+ "titanpl-sdk": "2.0.4"
22
+ },
23
+ "devDependencies": {
24
+ "@tgrv/microgravity": "latest"
25
+ }
26
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "name": "{{name}}",
3
+ "main": "index.js",
4
+ "description": "A Titan extension",
5
+ "native": {
6
+ "path": "native/target/release/{{native_name}}_native.dll",
7
+ "functions": {
8
+ "add": {
9
+ "symbol": "add",
10
+ "parameters": [
11
+ "f64",
12
+ "f64"
13
+ ],
14
+ "result": "f64"
15
+ }
16
+ }
17
+ }
18
+ }
@@ -0,0 +1,9 @@
1
+ import { log } from "@titanpl/native";
2
+
3
+ export function getuser(req) {
4
+ log("Handling user request...");
5
+ return {
6
+ message: "Hello from JavaScript action!",
7
+ user_id: req.params.id
8
+ };
9
+ }
@@ -0,0 +1,7 @@
1
+ import t from "@titanpl/route";
2
+
3
+ t.get("/user/:id<number>").action("getuser") // user/123
4
+
5
+ t.get("/").reply("Ready to land on Titan Planet 🚀");
6
+
7
+ t.start(5100, "Titan Running!");
@@ -0,0 +1,5 @@
1
+ import { titanpl } from 'eslint-plugin-titanpl';
2
+
3
+ export default [
4
+ titanpl
5
+ ];
@@ -0,0 +1,27 @@
1
+ {
2
+ "compilerOptions": {
3
+ "module": "esnext",
4
+ "target": "esnext",
5
+ "checkJs": false,
6
+ "noImplicitAny": false,
7
+ "allowJs": true,
8
+ "moduleResolution": "node",
9
+ "baseUrl": ".",
10
+ "paths": {
11
+ "@titanpl/native": [
12
+ "app/t.native"
13
+ ],
14
+ "@titanpl/route": [
15
+ "./titan/titan"
16
+ ],
17
+ "*": [
18
+ "./app/*"
19
+ ]
20
+ }
21
+ },
22
+ "include": [
23
+ "app/**/*",
24
+ "titan/**/*",
25
+ "node_modules/**/titan-ext.d.ts"
26
+ ]
27
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "name": "{{name}}",
3
+ "description": "A Titan Planet server",
4
+ "type": "module",
5
+ "titan": {
6
+ "template": "js"
7
+ },
8
+ "dependencies": {
9
+ "@titanpl/cli": "2.0.4",
10
+ "@titanpl/route": "2.0.4",
11
+ "@titanpl/native": "2.0.4",
12
+ "@titanpl/core": "latest",
13
+ "@titanpl/node": "latest",
14
+ "@titanpl/packet": "2.0.4"
15
+ },
16
+ "scripts": {
17
+ "build": "titan build",
18
+ "dev": "titan dev",
19
+ "start": "titan start",
20
+ "lint": "eslint .",
21
+ "lint:fix": "eslint . --fix"
22
+ },
23
+ "devDependencies": {
24
+ "eslint": "^9.39.2",
25
+ "eslint-plugin-titanpl": "latest"
26
+ },
27
+ "version": "2.0.4"
28
+ }
@@ -0,0 +1,9 @@
1
+ import { log } from "@titanpl/native";
2
+
3
+ export function getuser(req) {
4
+ log("Handling user request...");
5
+ return {
6
+ message: "Hello from JavaScript action!",
7
+ user_id: req.params.id
8
+ };
9
+ }
@@ -0,0 +1,14 @@
1
+ use axum::{response::{IntoResponse, Json}, http::Request, body::Body};
2
+ use serde_json::json;
3
+
4
+ pub async fn run(_req: Request<Body>) -> impl IntoResponse {
5
+ // let _token = t.jwt.sign(json!({"id": 1}), "secret", Some(json!({"expiresIn": "1h"}))).unwrap_or_default();
6
+ // let decoded = t.jwt.verify(&_token, "secret").unwrap_or_default();
7
+
8
+ Json(json!({
9
+ "message": "Hello from Rust Action! 🦀",
10
+ "status": "blazing fast test",
11
+ // "token": _token,
12
+ // "decoded": decoded
13
+ }))
14
+ }