@platformatic/vite 3.0.0-alpha.5 → 3.0.0-alpha.8
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/config.d.ts +8 -5
- package/index.js +5 -5
- package/lib/{stackable.js → capability.js} +10 -8
- package/package.json +10 -11
- package/schema.json +244 -8
package/config.d.ts
CHANGED
|
@@ -114,6 +114,9 @@ export interface PlatformaticViteConfig {
|
|
|
114
114
|
runtime?: {
|
|
115
115
|
preload?: string | string[];
|
|
116
116
|
basePath?: string;
|
|
117
|
+
services?: {
|
|
118
|
+
[k: string]: unknown;
|
|
119
|
+
}[];
|
|
117
120
|
workers?: number | string;
|
|
118
121
|
logger?: {
|
|
119
122
|
level: (
|
|
@@ -201,7 +204,7 @@ export interface PlatformaticViteConfig {
|
|
|
201
204
|
restartOnError?: boolean | number;
|
|
202
205
|
gracefulShutdown?: {
|
|
203
206
|
runtime: number | string;
|
|
204
|
-
|
|
207
|
+
application: number | string;
|
|
205
208
|
};
|
|
206
209
|
health?: {
|
|
207
210
|
enabled?: boolean | string;
|
|
@@ -320,11 +323,11 @@ export interface PlatformaticViteConfig {
|
|
|
320
323
|
telemetry?: {
|
|
321
324
|
enabled?: boolean | string;
|
|
322
325
|
/**
|
|
323
|
-
* The name of the
|
|
326
|
+
* The name of the application. Defaults to the folder name if not specified.
|
|
324
327
|
*/
|
|
325
|
-
|
|
328
|
+
applicationName: string;
|
|
326
329
|
/**
|
|
327
|
-
* The version of the
|
|
330
|
+
* The version of the application (optional)
|
|
328
331
|
*/
|
|
329
332
|
version?: string;
|
|
330
333
|
/**
|
|
@@ -400,7 +403,7 @@ export interface PlatformaticViteConfig {
|
|
|
400
403
|
watchDisabled?: boolean;
|
|
401
404
|
[k: string]: unknown;
|
|
402
405
|
};
|
|
403
|
-
|
|
406
|
+
applicationTimeout?: number | string;
|
|
404
407
|
messagingTimeout?: number | string;
|
|
405
408
|
env?: {
|
|
406
409
|
[k: string]: string;
|
package/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { transform as basicTransform, resolve, validationOptions } from '@platformatic/basic'
|
|
2
2
|
import { kMetadata, loadConfiguration as utilsLoadConfiguration } from '@platformatic/foundation'
|
|
3
|
+
import { ViteCapability, ViteSSRCapability } from './lib/capability.js'
|
|
3
4
|
import { schema } from './lib/schema.js'
|
|
4
|
-
import { ViteSSRStackable, ViteStackable } from './lib/stackable.js'
|
|
5
5
|
|
|
6
6
|
/* c8 ignore next 5 */
|
|
7
7
|
export async function transform (config, schema, options) {
|
|
@@ -36,10 +36,10 @@ export async function loadConfiguration (configOrRoot, sourceOrConfig, context)
|
|
|
36
36
|
export async function create (configOrRoot, sourceOrConfig, context) {
|
|
37
37
|
const config = await loadConfiguration(configOrRoot, sourceOrConfig, context)
|
|
38
38
|
|
|
39
|
-
// When in SSR mode, we use
|
|
40
|
-
const
|
|
41
|
-
return new
|
|
39
|
+
// When in SSR mode, we use ViteSSRCapability, which is a subclass of @platformatic/node
|
|
40
|
+
const Capability = config.vite?.ssr?.enabled ? ViteSSRCapability : ViteCapability
|
|
41
|
+
return new Capability(config[kMetadata].root, config, context)
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
+
export * from './lib/capability.js'
|
|
44
45
|
export { packageJson, schema, schemaComponents, version } from './lib/schema.js'
|
|
45
|
-
export * from './lib/stackable.js'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import fastifyStatic from '@fastify/static'
|
|
2
2
|
import {
|
|
3
|
-
|
|
3
|
+
BaseCapability,
|
|
4
4
|
cleanBasePath,
|
|
5
5
|
createServerListener,
|
|
6
6
|
ensureTrailingSlash,
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
resolvePackage
|
|
11
11
|
} from '@platformatic/basic'
|
|
12
12
|
import { ensureLoggableError, features } from '@platformatic/foundation'
|
|
13
|
-
import {
|
|
13
|
+
import { NodeCapability } from '@platformatic/node'
|
|
14
14
|
import fastify from 'fastify'
|
|
15
15
|
import { existsSync } from 'node:fs'
|
|
16
16
|
import { readFile, writeFile } from 'node:fs/promises'
|
|
@@ -20,7 +20,7 @@ import { version } from './schema.js'
|
|
|
20
20
|
|
|
21
21
|
const supportedVersions = '^5.0.0'
|
|
22
22
|
|
|
23
|
-
export class
|
|
23
|
+
export class ViteCapability extends BaseCapability {
|
|
24
24
|
#vite
|
|
25
25
|
#app
|
|
26
26
|
#server
|
|
@@ -61,6 +61,8 @@ export class ViteStackable extends BaseStackable {
|
|
|
61
61
|
}
|
|
62
62
|
|
|
63
63
|
async stop () {
|
|
64
|
+
await super.stop()
|
|
65
|
+
|
|
64
66
|
if (this.childManager) {
|
|
65
67
|
return this.stopCommand()
|
|
66
68
|
}
|
|
@@ -137,7 +139,7 @@ export class ViteStackable extends BaseStackable {
|
|
|
137
139
|
getMeta () {
|
|
138
140
|
const config = this.subprocessConfig ?? this.#app?.config
|
|
139
141
|
|
|
140
|
-
const
|
|
142
|
+
const gateway = {
|
|
141
143
|
tcp: typeof this.url !== 'undefined',
|
|
142
144
|
url: this.url,
|
|
143
145
|
prefix: this.basePath ?? config?.base ?? this.#basePath,
|
|
@@ -145,7 +147,7 @@ export class ViteStackable extends BaseStackable {
|
|
|
145
147
|
needsRootTrailingSlash: true
|
|
146
148
|
}
|
|
147
149
|
|
|
148
|
-
return {
|
|
150
|
+
return { gateway }
|
|
149
151
|
}
|
|
150
152
|
|
|
151
153
|
_getVite () {
|
|
@@ -260,7 +262,7 @@ export class ViteStackable extends BaseStackable {
|
|
|
260
262
|
}
|
|
261
263
|
}
|
|
262
264
|
|
|
263
|
-
export class
|
|
265
|
+
export class ViteSSRCapability extends NodeCapability {
|
|
264
266
|
#basePath
|
|
265
267
|
|
|
266
268
|
constructor (root, config, context) {
|
|
@@ -388,7 +390,7 @@ export class ViteSSRStackable extends NodeStackable {
|
|
|
388
390
|
const config = vite?.devServer?.config ?? vite?.config.vite
|
|
389
391
|
const applicationBasePath = config?.base
|
|
390
392
|
|
|
391
|
-
const
|
|
393
|
+
const gateway = {
|
|
392
394
|
tcp: typeof this.url !== 'undefined',
|
|
393
395
|
url: this.url,
|
|
394
396
|
prefix: this.basePath ?? applicationBasePath ?? this.#basePath,
|
|
@@ -396,7 +398,7 @@ export class ViteSSRStackable extends NodeStackable {
|
|
|
396
398
|
needsRootTrailingSlash: true
|
|
397
399
|
}
|
|
398
400
|
|
|
399
|
-
return {
|
|
401
|
+
return { gateway }
|
|
400
402
|
}
|
|
401
403
|
|
|
402
404
|
_findEntrypoint () {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@platformatic/vite",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
4
|
-
"description": "Platformatic Vite
|
|
3
|
+
"version": "3.0.0-alpha.8",
|
|
4
|
+
"description": "Platformatic Vite Capability",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"repository": {
|
|
@@ -18,13 +18,13 @@
|
|
|
18
18
|
"@fastify/static": "^8.0.0",
|
|
19
19
|
"fastify": "^5.0.0",
|
|
20
20
|
"semver": "^7.6.3",
|
|
21
|
-
"@platformatic/basic": "3.0.0-alpha.
|
|
22
|
-
"@platformatic/node": "3.0.0-alpha.
|
|
23
|
-
"@platformatic/foundation": "3.0.0-alpha.
|
|
21
|
+
"@platformatic/basic": "3.0.0-alpha.8",
|
|
22
|
+
"@platformatic/node": "3.0.0-alpha.8",
|
|
23
|
+
"@platformatic/foundation": "3.0.0-alpha.8"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
26
|
"@fastify/vite": "^7.0.1",
|
|
27
|
-
"
|
|
27
|
+
"cleaner-spec-reporter": "^0.5.0",
|
|
28
28
|
"eslint": "9",
|
|
29
29
|
"json-schema-to-typescript": "^15.0.1",
|
|
30
30
|
"neostandard": "^0.12.0",
|
|
@@ -33,18 +33,17 @@
|
|
|
33
33
|
"typescript": "^5.5.4",
|
|
34
34
|
"vite": "^5.4.0",
|
|
35
35
|
"ws": "^8.18.0",
|
|
36
|
-
"@platformatic/
|
|
37
|
-
"@platformatic/
|
|
36
|
+
"@platformatic/gateway": "3.0.0-alpha.8",
|
|
37
|
+
"@platformatic/service": "3.0.0-alpha.8"
|
|
38
38
|
},
|
|
39
39
|
"engines": {
|
|
40
40
|
"node": ">=22.18.0"
|
|
41
41
|
},
|
|
42
42
|
"scripts": {
|
|
43
|
-
"test": "
|
|
44
|
-
"coverage": "npm run lint && borp -C -X test -X test/fixtures --concurrency=1 --timeout 1200000",
|
|
43
|
+
"test": "node --test --test-reporter=cleaner-spec-reporter --test-concurrency=1 --test-timeout=2000000 test/*.test.js test/**/*.test.js",
|
|
45
44
|
"gen-schema": "node lib/schema.js > schema.json",
|
|
46
45
|
"gen-types": "json2ts > config.d.ts < schema.json",
|
|
47
|
-
"build": "
|
|
46
|
+
"build": "npm run gen-schema && npm run gen-types",
|
|
48
47
|
"lint": "eslint"
|
|
49
48
|
}
|
|
50
49
|
}
|
package/schema.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$id": "https://schemas.platformatic.dev/@platformatic/vite/3.0.0-alpha.
|
|
2
|
+
"$id": "https://schemas.platformatic.dev/@platformatic/vite/3.0.0-alpha.8.json",
|
|
3
3
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
4
|
"title": "Platformatic Vite Config",
|
|
5
5
|
"type": "object",
|
|
@@ -386,6 +386,242 @@
|
|
|
386
386
|
"basePath": {
|
|
387
387
|
"type": "string"
|
|
388
388
|
},
|
|
389
|
+
"services": {
|
|
390
|
+
"type": "array",
|
|
391
|
+
"items": {
|
|
392
|
+
"type": "object",
|
|
393
|
+
"anyOf": [
|
|
394
|
+
{
|
|
395
|
+
"required": [
|
|
396
|
+
"id",
|
|
397
|
+
"path"
|
|
398
|
+
]
|
|
399
|
+
},
|
|
400
|
+
{
|
|
401
|
+
"required": [
|
|
402
|
+
"id",
|
|
403
|
+
"url"
|
|
404
|
+
]
|
|
405
|
+
}
|
|
406
|
+
],
|
|
407
|
+
"properties": {
|
|
408
|
+
"id": {
|
|
409
|
+
"type": "string"
|
|
410
|
+
},
|
|
411
|
+
"path": {
|
|
412
|
+
"type": "string",
|
|
413
|
+
"allowEmptyPaths": true,
|
|
414
|
+
"resolvePath": true
|
|
415
|
+
},
|
|
416
|
+
"config": {
|
|
417
|
+
"type": "string"
|
|
418
|
+
},
|
|
419
|
+
"url": {
|
|
420
|
+
"type": "string"
|
|
421
|
+
},
|
|
422
|
+
"gitBranch": {
|
|
423
|
+
"type": "string",
|
|
424
|
+
"default": "main"
|
|
425
|
+
},
|
|
426
|
+
"useHttp": {
|
|
427
|
+
"type": "boolean"
|
|
428
|
+
},
|
|
429
|
+
"workers": {
|
|
430
|
+
"anyOf": [
|
|
431
|
+
{
|
|
432
|
+
"type": "number",
|
|
433
|
+
"minimum": 1
|
|
434
|
+
},
|
|
435
|
+
{
|
|
436
|
+
"type": "string"
|
|
437
|
+
}
|
|
438
|
+
]
|
|
439
|
+
},
|
|
440
|
+
"health": {
|
|
441
|
+
"type": "object",
|
|
442
|
+
"default": {},
|
|
443
|
+
"properties": {
|
|
444
|
+
"enabled": {
|
|
445
|
+
"anyOf": [
|
|
446
|
+
{
|
|
447
|
+
"type": "boolean"
|
|
448
|
+
},
|
|
449
|
+
{
|
|
450
|
+
"type": "string"
|
|
451
|
+
}
|
|
452
|
+
]
|
|
453
|
+
},
|
|
454
|
+
"interval": {
|
|
455
|
+
"anyOf": [
|
|
456
|
+
{
|
|
457
|
+
"type": "number",
|
|
458
|
+
"minimum": 0
|
|
459
|
+
},
|
|
460
|
+
{
|
|
461
|
+
"type": "string"
|
|
462
|
+
}
|
|
463
|
+
]
|
|
464
|
+
},
|
|
465
|
+
"gracePeriod": {
|
|
466
|
+
"anyOf": [
|
|
467
|
+
{
|
|
468
|
+
"type": "number",
|
|
469
|
+
"minimum": 0
|
|
470
|
+
},
|
|
471
|
+
{
|
|
472
|
+
"type": "string"
|
|
473
|
+
}
|
|
474
|
+
]
|
|
475
|
+
},
|
|
476
|
+
"maxUnhealthyChecks": {
|
|
477
|
+
"anyOf": [
|
|
478
|
+
{
|
|
479
|
+
"type": "number",
|
|
480
|
+
"minimum": 1
|
|
481
|
+
},
|
|
482
|
+
{
|
|
483
|
+
"type": "string"
|
|
484
|
+
}
|
|
485
|
+
]
|
|
486
|
+
},
|
|
487
|
+
"maxELU": {
|
|
488
|
+
"anyOf": [
|
|
489
|
+
{
|
|
490
|
+
"type": "number",
|
|
491
|
+
"minimum": 0,
|
|
492
|
+
"maximum": 1
|
|
493
|
+
},
|
|
494
|
+
{
|
|
495
|
+
"type": "string"
|
|
496
|
+
}
|
|
497
|
+
]
|
|
498
|
+
},
|
|
499
|
+
"maxHeapUsed": {
|
|
500
|
+
"anyOf": [
|
|
501
|
+
{
|
|
502
|
+
"type": "number",
|
|
503
|
+
"minimum": 0,
|
|
504
|
+
"maximum": 1
|
|
505
|
+
},
|
|
506
|
+
{
|
|
507
|
+
"type": "string"
|
|
508
|
+
}
|
|
509
|
+
]
|
|
510
|
+
},
|
|
511
|
+
"maxHeapTotal": {
|
|
512
|
+
"anyOf": [
|
|
513
|
+
{
|
|
514
|
+
"type": "number",
|
|
515
|
+
"minimum": 0
|
|
516
|
+
},
|
|
517
|
+
{
|
|
518
|
+
"type": "string"
|
|
519
|
+
}
|
|
520
|
+
]
|
|
521
|
+
},
|
|
522
|
+
"maxYoungGeneration": {
|
|
523
|
+
"anyOf": [
|
|
524
|
+
{
|
|
525
|
+
"type": "number",
|
|
526
|
+
"minimum": 0
|
|
527
|
+
},
|
|
528
|
+
{
|
|
529
|
+
"type": "string"
|
|
530
|
+
}
|
|
531
|
+
]
|
|
532
|
+
}
|
|
533
|
+
},
|
|
534
|
+
"additionalProperties": false
|
|
535
|
+
},
|
|
536
|
+
"dependencies": {
|
|
537
|
+
"type": "array",
|
|
538
|
+
"items": {
|
|
539
|
+
"type": "string"
|
|
540
|
+
},
|
|
541
|
+
"default": []
|
|
542
|
+
},
|
|
543
|
+
"arguments": {
|
|
544
|
+
"type": "array",
|
|
545
|
+
"items": {
|
|
546
|
+
"type": "string"
|
|
547
|
+
}
|
|
548
|
+
},
|
|
549
|
+
"env": {
|
|
550
|
+
"type": "object",
|
|
551
|
+
"additionalProperties": {
|
|
552
|
+
"type": "string"
|
|
553
|
+
}
|
|
554
|
+
},
|
|
555
|
+
"envfile": {
|
|
556
|
+
"type": "string"
|
|
557
|
+
},
|
|
558
|
+
"sourceMaps": {
|
|
559
|
+
"type": "boolean",
|
|
560
|
+
"default": false
|
|
561
|
+
},
|
|
562
|
+
"packageManager": {
|
|
563
|
+
"type": "string",
|
|
564
|
+
"enum": [
|
|
565
|
+
"npm",
|
|
566
|
+
"pnpm",
|
|
567
|
+
"yarn"
|
|
568
|
+
]
|
|
569
|
+
},
|
|
570
|
+
"preload": {
|
|
571
|
+
"anyOf": [
|
|
572
|
+
{
|
|
573
|
+
"type": "string",
|
|
574
|
+
"resolvePath": true
|
|
575
|
+
},
|
|
576
|
+
{
|
|
577
|
+
"type": "array",
|
|
578
|
+
"items": {
|
|
579
|
+
"type": "string",
|
|
580
|
+
"resolvePath": true
|
|
581
|
+
}
|
|
582
|
+
}
|
|
583
|
+
]
|
|
584
|
+
},
|
|
585
|
+
"nodeOptions": {
|
|
586
|
+
"type": "string"
|
|
587
|
+
},
|
|
588
|
+
"telemetry": {
|
|
589
|
+
"type": "object",
|
|
590
|
+
"properties": {
|
|
591
|
+
"instrumentations": {
|
|
592
|
+
"type": "array",
|
|
593
|
+
"description": "An array of instrumentations loaded if telemetry is enabled",
|
|
594
|
+
"items": {
|
|
595
|
+
"oneOf": [
|
|
596
|
+
{
|
|
597
|
+
"type": "string"
|
|
598
|
+
},
|
|
599
|
+
{
|
|
600
|
+
"type": "object",
|
|
601
|
+
"properties": {
|
|
602
|
+
"package": {
|
|
603
|
+
"type": "string"
|
|
604
|
+
},
|
|
605
|
+
"exportName": {
|
|
606
|
+
"type": "string"
|
|
607
|
+
},
|
|
608
|
+
"options": {
|
|
609
|
+
"type": "object",
|
|
610
|
+
"additionalProperties": true
|
|
611
|
+
}
|
|
612
|
+
},
|
|
613
|
+
"required": [
|
|
614
|
+
"package"
|
|
615
|
+
]
|
|
616
|
+
}
|
|
617
|
+
]
|
|
618
|
+
}
|
|
619
|
+
}
|
|
620
|
+
}
|
|
621
|
+
}
|
|
622
|
+
}
|
|
623
|
+
}
|
|
624
|
+
},
|
|
389
625
|
"workers": {
|
|
390
626
|
"anyOf": [
|
|
391
627
|
{
|
|
@@ -700,7 +936,7 @@
|
|
|
700
936
|
],
|
|
701
937
|
"default": 10000
|
|
702
938
|
},
|
|
703
|
-
"
|
|
939
|
+
"application": {
|
|
704
940
|
"anyOf": [
|
|
705
941
|
{
|
|
706
942
|
"type": "number",
|
|
@@ -716,7 +952,7 @@
|
|
|
716
952
|
"default": {},
|
|
717
953
|
"required": [
|
|
718
954
|
"runtime",
|
|
719
|
-
"
|
|
955
|
+
"application"
|
|
720
956
|
],
|
|
721
957
|
"additionalProperties": false
|
|
722
958
|
},
|
|
@@ -1147,13 +1383,13 @@
|
|
|
1147
1383
|
}
|
|
1148
1384
|
]
|
|
1149
1385
|
},
|
|
1150
|
-
"
|
|
1386
|
+
"applicationName": {
|
|
1151
1387
|
"type": "string",
|
|
1152
|
-
"description": "The name of the
|
|
1388
|
+
"description": "The name of the application. Defaults to the folder name if not specified."
|
|
1153
1389
|
},
|
|
1154
1390
|
"version": {
|
|
1155
1391
|
"type": "string",
|
|
1156
|
-
"description": "The version of the
|
|
1392
|
+
"description": "The version of the application (optional)"
|
|
1157
1393
|
},
|
|
1158
1394
|
"skip": {
|
|
1159
1395
|
"type": "array",
|
|
@@ -1260,7 +1496,7 @@
|
|
|
1260
1496
|
}
|
|
1261
1497
|
},
|
|
1262
1498
|
"required": [
|
|
1263
|
-
"
|
|
1499
|
+
"applicationName"
|
|
1264
1500
|
],
|
|
1265
1501
|
"additionalProperties": false
|
|
1266
1502
|
},
|
|
@@ -1281,7 +1517,7 @@
|
|
|
1281
1517
|
}
|
|
1282
1518
|
}
|
|
1283
1519
|
},
|
|
1284
|
-
"
|
|
1520
|
+
"applicationTimeout": {
|
|
1285
1521
|
"anyOf": [
|
|
1286
1522
|
{
|
|
1287
1523
|
"type": "number",
|