@tdk-landscape/tdk-cli-core 1.3.87 → 1.3.89
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/README.md +4 -4
- package/cli/dist/backend-frameworks/elysia.js +39 -0
- package/cli/dist/backend-frameworks/express.js +50 -0
- package/cli/dist/backend-frameworks/fastify.js +44 -0
- package/cli/dist/backend-frameworks/registry.js +45 -0
- package/cli/dist/backend-frameworks/types.js +2 -0
- package/cli/dist/backend-languages/go.js +98 -0
- package/cli/dist/backend-languages/registry.js +2 -0
- package/cli/dist/commands/resource.js +35 -8
- package/cli/dist/frontend-frameworks/lit.js +65 -0
- package/cli/dist/frontend-frameworks/preact.js +63 -0
- package/cli/dist/frontend-frameworks/qwik.js +62 -0
- package/cli/dist/frontend-frameworks/registry.js +16 -3
- package/cli/dist/frontend-frameworks/solid.js +63 -0
- package/cli/dist/frontend-frameworks/svelte.js +68 -0
- package/cli/dist/frontend-frameworks/vanilla.js +60 -0
- package/cli/dist/utils/service-manifest.js +1 -0
- package/cli/package.json +2 -2
- package/engine/schemas/service-schema.json +30 -7
- package/engine/topologies/platform/docker/compose/compose.star +9 -1
- package/engine/topologies/platform/docker/dockerfile/language_dockerfile.star +34 -3
- package/engine/topologies/platform/docker/index.star +2 -0
- package/engine/topologies/tilt/generators/typescript/frontend_tsconfig.star +10 -1
- package/engine/topologies/tilt/generators/validators.star +4 -3
- package/engine/topologies/tilt/generators/vite/frameworks/lit.star +90 -0
- package/engine/topologies/tilt/generators/vite/frameworks/preact.star +92 -0
- package/engine/topologies/tilt/generators/vite/frameworks/qwik.star +92 -0
- package/engine/topologies/tilt/generators/vite/frameworks/solid.star +92 -0
- package/engine/topologies/tilt/generators/vite/frameworks/svelte.star +92 -0
- package/engine/topologies/tilt/generators/vite/frameworks/vanilla.star +90 -0
- package/engine/topologies/tilt/generators/vite/frontend.star +30 -0
- package/engine/topologies/tilt/resources/orchestrator/apply_compose_resource_registration.star +7 -0
- package/engine/topologies/tilt/resources/orchestrator/generators/manifest_resource.star +2 -2
- package/package.json +2 -2
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# Qwik-specific Vite templates for frontend resources.
|
|
2
|
+
|
|
3
|
+
QWIK_VITE_FRONTEND = """{header}
|
|
4
|
+
import {{ resolve }} from 'node:path';
|
|
5
|
+
import {{ qwikVite }} from '@builder.io/qwik/optimizer';
|
|
6
|
+
import {{ defineConfig }} from 'vite';
|
|
7
|
+
|
|
8
|
+
export default defineConfig({{
|
|
9
|
+
base: '{base_path}',
|
|
10
|
+
build: {{
|
|
11
|
+
cssCodeSplit: false,
|
|
12
|
+
minify: false,
|
|
13
|
+
modulePreload: false,
|
|
14
|
+
rollupOptions: {{
|
|
15
|
+
output: {{
|
|
16
|
+
entryFileNames: '[name].js',
|
|
17
|
+
format: 'esm',
|
|
18
|
+
}},
|
|
19
|
+
}},
|
|
20
|
+
target: 'esnext',
|
|
21
|
+
}},
|
|
22
|
+
define: {{
|
|
23
|
+
global: 'globalThis',
|
|
24
|
+
}},
|
|
25
|
+
optimizeDeps: {{
|
|
26
|
+
include: [{optimize_deps_include}],
|
|
27
|
+
}},
|
|
28
|
+
plugins: [qwikVite({{ csr: true }})],
|
|
29
|
+
preview: {{
|
|
30
|
+
host: '0.0.0.0',
|
|
31
|
+
port: {port},
|
|
32
|
+
}},
|
|
33
|
+
resolve: {{
|
|
34
|
+
alias: {{
|
|
35
|
+
'@/autogenerated': resolve(__dirname),
|
|
36
|
+
'@': resolve(__dirname, '../src'),
|
|
37
|
+
'set-cookie-parser': resolve(__dirname, '../src/utils/empty-module.js'),
|
|
38
|
+
{internal_aliases}
|
|
39
|
+
}},
|
|
40
|
+
}},
|
|
41
|
+
server: {{
|
|
42
|
+
host: '0.0.0.0',
|
|
43
|
+
port: {port},
|
|
44
|
+
hmr: {{
|
|
45
|
+
port: {hmr_port},
|
|
46
|
+
}},
|
|
47
|
+
{proxy_config}
|
|
48
|
+
}},
|
|
49
|
+
}});
|
|
50
|
+
"""
|
|
51
|
+
|
|
52
|
+
QWIK_VITE_FRONTEND_BUILD = """{header}
|
|
53
|
+
import {{ resolve }} from 'node:path';
|
|
54
|
+
import {{ qwikVite }} from '@builder.io/qwik/optimizer';
|
|
55
|
+
import {{ defineConfig }} from 'vite';
|
|
56
|
+
|
|
57
|
+
export default defineConfig({{
|
|
58
|
+
mode: 'production',
|
|
59
|
+
base: '{base_path}',
|
|
60
|
+
build: {{
|
|
61
|
+
cssCodeSplit: false,
|
|
62
|
+
minify: true,
|
|
63
|
+
modulePreload: false,
|
|
64
|
+
rollupOptions: {{
|
|
65
|
+
output: {{
|
|
66
|
+
entryFileNames: '[name].js',
|
|
67
|
+
format: 'esm',
|
|
68
|
+
manualChunks: undefined,
|
|
69
|
+
}},
|
|
70
|
+
}},
|
|
71
|
+
target: 'esnext',
|
|
72
|
+
}},
|
|
73
|
+
define: {{
|
|
74
|
+
global: 'globalThis',
|
|
75
|
+
__DEV__: 'false',
|
|
76
|
+
'process.env.NODE_ENV': '"production"',
|
|
77
|
+
}},
|
|
78
|
+
optimizeDeps: {{
|
|
79
|
+
include: [{optimize_deps_include}],
|
|
80
|
+
}},
|
|
81
|
+
plugins: [qwikVite({{ csr: true }})],
|
|
82
|
+
resolve: {{
|
|
83
|
+
alias: {{
|
|
84
|
+
'@/autogenerated': resolve(__dirname),
|
|
85
|
+
'@': resolve(__dirname, '../src'),
|
|
86
|
+
'set-cookie-parser': resolve(__dirname, '../src/utils/empty-module.js'),
|
|
87
|
+
}},
|
|
88
|
+
conditions: ['browser', 'import', 'module', 'es2020', 'default'],
|
|
89
|
+
mainFields: ['browser', 'module', 'jsnext:main', 'jsnext', 'main'],
|
|
90
|
+
}},
|
|
91
|
+
}});
|
|
92
|
+
"""
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# Solid-specific Vite templates for frontend resources.
|
|
2
|
+
|
|
3
|
+
SOLID_VITE_FRONTEND = """{header}
|
|
4
|
+
import {{ resolve }} from 'node:path';
|
|
5
|
+
import solid from 'vite-plugin-solid';
|
|
6
|
+
import {{ defineConfig }} from 'vite';
|
|
7
|
+
|
|
8
|
+
export default defineConfig({{
|
|
9
|
+
base: '{base_path}',
|
|
10
|
+
build: {{
|
|
11
|
+
cssCodeSplit: false,
|
|
12
|
+
minify: false,
|
|
13
|
+
modulePreload: false,
|
|
14
|
+
rollupOptions: {{
|
|
15
|
+
output: {{
|
|
16
|
+
entryFileNames: '[name].js',
|
|
17
|
+
format: 'esm',
|
|
18
|
+
}},
|
|
19
|
+
}},
|
|
20
|
+
target: 'esnext',
|
|
21
|
+
}},
|
|
22
|
+
define: {{
|
|
23
|
+
global: 'globalThis',
|
|
24
|
+
}},
|
|
25
|
+
optimizeDeps: {{
|
|
26
|
+
include: [{optimize_deps_include}],
|
|
27
|
+
}},
|
|
28
|
+
plugins: [solid()],
|
|
29
|
+
preview: {{
|
|
30
|
+
host: '0.0.0.0',
|
|
31
|
+
port: {port},
|
|
32
|
+
}},
|
|
33
|
+
resolve: {{
|
|
34
|
+
alias: {{
|
|
35
|
+
'@/autogenerated': resolve(__dirname),
|
|
36
|
+
'@': resolve(__dirname, '../src'),
|
|
37
|
+
'set-cookie-parser': resolve(__dirname, '../src/utils/empty-module.js'),
|
|
38
|
+
{internal_aliases}
|
|
39
|
+
}},
|
|
40
|
+
}},
|
|
41
|
+
server: {{
|
|
42
|
+
host: '0.0.0.0',
|
|
43
|
+
port: {port},
|
|
44
|
+
hmr: {{
|
|
45
|
+
port: {hmr_port},
|
|
46
|
+
}},
|
|
47
|
+
{proxy_config}
|
|
48
|
+
}},
|
|
49
|
+
}});
|
|
50
|
+
"""
|
|
51
|
+
|
|
52
|
+
SOLID_VITE_FRONTEND_BUILD = """{header}
|
|
53
|
+
import {{ resolve }} from 'node:path';
|
|
54
|
+
import solid from 'vite-plugin-solid';
|
|
55
|
+
import {{ defineConfig }} from 'vite';
|
|
56
|
+
|
|
57
|
+
export default defineConfig({{
|
|
58
|
+
mode: 'production',
|
|
59
|
+
base: '{base_path}',
|
|
60
|
+
build: {{
|
|
61
|
+
cssCodeSplit: false,
|
|
62
|
+
minify: true,
|
|
63
|
+
modulePreload: false,
|
|
64
|
+
rollupOptions: {{
|
|
65
|
+
output: {{
|
|
66
|
+
entryFileNames: '[name].js',
|
|
67
|
+
format: 'esm',
|
|
68
|
+
manualChunks: undefined,
|
|
69
|
+
}},
|
|
70
|
+
}},
|
|
71
|
+
target: 'esnext',
|
|
72
|
+
}},
|
|
73
|
+
define: {{
|
|
74
|
+
global: 'globalThis',
|
|
75
|
+
__DEV__: 'false',
|
|
76
|
+
'process.env.NODE_ENV': '"production"',
|
|
77
|
+
}},
|
|
78
|
+
optimizeDeps: {{
|
|
79
|
+
include: [{optimize_deps_include}],
|
|
80
|
+
}},
|
|
81
|
+
plugins: [solid()],
|
|
82
|
+
resolve: {{
|
|
83
|
+
alias: {{
|
|
84
|
+
'@/autogenerated': resolve(__dirname),
|
|
85
|
+
'@': resolve(__dirname, '../src'),
|
|
86
|
+
'set-cookie-parser': resolve(__dirname, '../src/utils/empty-module.js'),
|
|
87
|
+
}},
|
|
88
|
+
conditions: ['browser', 'import', 'module', 'es2020', 'default'],
|
|
89
|
+
mainFields: ['browser', 'module', 'jsnext:main', 'jsnext', 'main'],
|
|
90
|
+
}},
|
|
91
|
+
}});
|
|
92
|
+
"""
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# Svelte-specific Vite templates for frontend resources.
|
|
2
|
+
|
|
3
|
+
SVELTE_VITE_FRONTEND = """{header}
|
|
4
|
+
import {{ resolve }} from 'node:path';
|
|
5
|
+
import {{ svelte }} from '@sveltejs/vite-plugin-svelte';
|
|
6
|
+
import {{ defineConfig }} from 'vite';
|
|
7
|
+
|
|
8
|
+
export default defineConfig({{
|
|
9
|
+
base: '{base_path}',
|
|
10
|
+
build: {{
|
|
11
|
+
cssCodeSplit: false,
|
|
12
|
+
minify: false,
|
|
13
|
+
modulePreload: false,
|
|
14
|
+
rollupOptions: {{
|
|
15
|
+
output: {{
|
|
16
|
+
entryFileNames: '[name].js',
|
|
17
|
+
format: 'esm',
|
|
18
|
+
}},
|
|
19
|
+
}},
|
|
20
|
+
target: 'esnext',
|
|
21
|
+
}},
|
|
22
|
+
define: {{
|
|
23
|
+
global: 'globalThis',
|
|
24
|
+
}},
|
|
25
|
+
optimizeDeps: {{
|
|
26
|
+
include: [{optimize_deps_include}],
|
|
27
|
+
}},
|
|
28
|
+
plugins: [svelte()],
|
|
29
|
+
preview: {{
|
|
30
|
+
host: '0.0.0.0',
|
|
31
|
+
port: {port},
|
|
32
|
+
}},
|
|
33
|
+
resolve: {{
|
|
34
|
+
alias: {{
|
|
35
|
+
'@/autogenerated': resolve(__dirname),
|
|
36
|
+
'@': resolve(__dirname, '../src'),
|
|
37
|
+
'set-cookie-parser': resolve(__dirname, '../src/utils/empty-module.js'),
|
|
38
|
+
{internal_aliases}
|
|
39
|
+
}},
|
|
40
|
+
}},
|
|
41
|
+
server: {{
|
|
42
|
+
host: '0.0.0.0',
|
|
43
|
+
port: {port},
|
|
44
|
+
hmr: {{
|
|
45
|
+
port: {hmr_port},
|
|
46
|
+
}},
|
|
47
|
+
{proxy_config}
|
|
48
|
+
}},
|
|
49
|
+
}});
|
|
50
|
+
"""
|
|
51
|
+
|
|
52
|
+
SVELTE_VITE_FRONTEND_BUILD = """{header}
|
|
53
|
+
import {{ resolve }} from 'node:path';
|
|
54
|
+
import {{ svelte }} from '@sveltejs/vite-plugin-svelte';
|
|
55
|
+
import {{ defineConfig }} from 'vite';
|
|
56
|
+
|
|
57
|
+
export default defineConfig({{
|
|
58
|
+
mode: 'production',
|
|
59
|
+
base: '{base_path}',
|
|
60
|
+
build: {{
|
|
61
|
+
cssCodeSplit: false,
|
|
62
|
+
minify: true,
|
|
63
|
+
modulePreload: false,
|
|
64
|
+
rollupOptions: {{
|
|
65
|
+
output: {{
|
|
66
|
+
entryFileNames: '[name].js',
|
|
67
|
+
format: 'esm',
|
|
68
|
+
manualChunks: undefined,
|
|
69
|
+
}},
|
|
70
|
+
}},
|
|
71
|
+
target: 'esnext',
|
|
72
|
+
}},
|
|
73
|
+
define: {{
|
|
74
|
+
global: 'globalThis',
|
|
75
|
+
__DEV__: 'false',
|
|
76
|
+
'process.env.NODE_ENV': '"production"',
|
|
77
|
+
}},
|
|
78
|
+
optimizeDeps: {{
|
|
79
|
+
include: [{optimize_deps_include}],
|
|
80
|
+
}},
|
|
81
|
+
plugins: [svelte()],
|
|
82
|
+
resolve: {{
|
|
83
|
+
alias: {{
|
|
84
|
+
'@/autogenerated': resolve(__dirname),
|
|
85
|
+
'@': resolve(__dirname, '../src'),
|
|
86
|
+
'set-cookie-parser': resolve(__dirname, '../src/utils/empty-module.js'),
|
|
87
|
+
}},
|
|
88
|
+
conditions: ['browser', 'import', 'module', 'es2020', 'default'],
|
|
89
|
+
mainFields: ['browser', 'module', 'jsnext:main', 'jsnext', 'main'],
|
|
90
|
+
}},
|
|
91
|
+
}});
|
|
92
|
+
"""
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# Vanilla TypeScript-specific Vite templates for frontend resources.
|
|
2
|
+
|
|
3
|
+
VANILLA_VITE_FRONTEND = """{header}
|
|
4
|
+
import {{ resolve }} from 'node:path';
|
|
5
|
+
import {{ defineConfig }} from 'vite';
|
|
6
|
+
|
|
7
|
+
export default defineConfig({{
|
|
8
|
+
base: '{base_path}',
|
|
9
|
+
build: {{
|
|
10
|
+
cssCodeSplit: false,
|
|
11
|
+
minify: false,
|
|
12
|
+
modulePreload: false,
|
|
13
|
+
rollupOptions: {{
|
|
14
|
+
output: {{
|
|
15
|
+
entryFileNames: '[name].js',
|
|
16
|
+
format: 'esm',
|
|
17
|
+
}},
|
|
18
|
+
}},
|
|
19
|
+
target: 'esnext',
|
|
20
|
+
}},
|
|
21
|
+
define: {{
|
|
22
|
+
global: 'globalThis',
|
|
23
|
+
}},
|
|
24
|
+
optimizeDeps: {{
|
|
25
|
+
include: [{optimize_deps_include}],
|
|
26
|
+
}},
|
|
27
|
+
plugins: [],
|
|
28
|
+
preview: {{
|
|
29
|
+
host: '0.0.0.0',
|
|
30
|
+
port: {port},
|
|
31
|
+
}},
|
|
32
|
+
resolve: {{
|
|
33
|
+
alias: {{
|
|
34
|
+
'@/autogenerated': resolve(__dirname),
|
|
35
|
+
'@': resolve(__dirname, '../src'),
|
|
36
|
+
'set-cookie-parser': resolve(__dirname, '../src/utils/empty-module.js'),
|
|
37
|
+
{internal_aliases}
|
|
38
|
+
}},
|
|
39
|
+
}},
|
|
40
|
+
server: {{
|
|
41
|
+
host: '0.0.0.0',
|
|
42
|
+
port: {port},
|
|
43
|
+
hmr: {{
|
|
44
|
+
port: {hmr_port},
|
|
45
|
+
}},
|
|
46
|
+
{proxy_config}
|
|
47
|
+
}},
|
|
48
|
+
}});
|
|
49
|
+
"""
|
|
50
|
+
|
|
51
|
+
VANILLA_VITE_FRONTEND_BUILD = """{header}
|
|
52
|
+
import {{ resolve }} from 'node:path';
|
|
53
|
+
import {{ defineConfig }} from 'vite';
|
|
54
|
+
|
|
55
|
+
export default defineConfig({{
|
|
56
|
+
mode: 'production',
|
|
57
|
+
base: '{base_path}',
|
|
58
|
+
build: {{
|
|
59
|
+
cssCodeSplit: false,
|
|
60
|
+
minify: true,
|
|
61
|
+
modulePreload: false,
|
|
62
|
+
rollupOptions: {{
|
|
63
|
+
output: {{
|
|
64
|
+
entryFileNames: '[name].js',
|
|
65
|
+
format: 'esm',
|
|
66
|
+
manualChunks: undefined,
|
|
67
|
+
}},
|
|
68
|
+
}},
|
|
69
|
+
target: 'esnext',
|
|
70
|
+
}},
|
|
71
|
+
define: {{
|
|
72
|
+
global: 'globalThis',
|
|
73
|
+
__DEV__: 'false',
|
|
74
|
+
'process.env.NODE_ENV': '"production"',
|
|
75
|
+
}},
|
|
76
|
+
optimizeDeps: {{
|
|
77
|
+
include: [{optimize_deps_include}],
|
|
78
|
+
}},
|
|
79
|
+
plugins: [],
|
|
80
|
+
resolve: {{
|
|
81
|
+
alias: {{
|
|
82
|
+
'@/autogenerated': resolve(__dirname),
|
|
83
|
+
'@': resolve(__dirname, '../src'),
|
|
84
|
+
'set-cookie-parser': resolve(__dirname, '../src/utils/empty-module.js'),
|
|
85
|
+
}},
|
|
86
|
+
conditions: ['browser', 'import', 'module', 'es2020', 'default'],
|
|
87
|
+
mainFields: ['browser', 'module', 'jsnext:main', 'jsnext', 'main'],
|
|
88
|
+
}},
|
|
89
|
+
}});
|
|
90
|
+
"""
|
|
@@ -17,6 +17,12 @@ load('../../../../topologies/tilt/manifest/constants.star', 'GENERATED_CONFIG_FI
|
|
|
17
17
|
|
|
18
18
|
load('./frameworks/react.star', 'REACT_VITE_FRONTEND', 'REACT_VITE_FRONTEND_BUILD')
|
|
19
19
|
load('./frameworks/vue.star', 'VUE_VITE_FRONTEND', 'VUE_VITE_FRONTEND_BUILD')
|
|
20
|
+
load('./frameworks/svelte.star', 'SVELTE_VITE_FRONTEND', 'SVELTE_VITE_FRONTEND_BUILD')
|
|
21
|
+
load('./frameworks/preact.star', 'PREACT_VITE_FRONTEND', 'PREACT_VITE_FRONTEND_BUILD')
|
|
22
|
+
load('./frameworks/lit.star', 'LIT_VITE_FRONTEND', 'LIT_VITE_FRONTEND_BUILD')
|
|
23
|
+
load('./frameworks/solid.star', 'SOLID_VITE_FRONTEND', 'SOLID_VITE_FRONTEND_BUILD')
|
|
24
|
+
load('./frameworks/qwik.star', 'QWIK_VITE_FRONTEND', 'QWIK_VITE_FRONTEND_BUILD')
|
|
25
|
+
load('./frameworks/vanilla.star', 'VANILLA_VITE_FRONTEND', 'VANILLA_VITE_FRONTEND_BUILD')
|
|
20
26
|
load('../../../platform/docker/networking/api_path_constants.star', 'get_frontend_base_path')
|
|
21
27
|
load('./helpers.star',
|
|
22
28
|
'build_header',
|
|
@@ -38,6 +44,30 @@ _FRAMEWORK_TEMPLATES = {
|
|
|
38
44
|
'dev': VUE_VITE_FRONTEND,
|
|
39
45
|
'build': VUE_VITE_FRONTEND_BUILD,
|
|
40
46
|
},
|
|
47
|
+
'svelte': {
|
|
48
|
+
'dev': SVELTE_VITE_FRONTEND,
|
|
49
|
+
'build': SVELTE_VITE_FRONTEND_BUILD,
|
|
50
|
+
},
|
|
51
|
+
'preact': {
|
|
52
|
+
'dev': PREACT_VITE_FRONTEND,
|
|
53
|
+
'build': PREACT_VITE_FRONTEND_BUILD,
|
|
54
|
+
},
|
|
55
|
+
'lit': {
|
|
56
|
+
'dev': LIT_VITE_FRONTEND,
|
|
57
|
+
'build': LIT_VITE_FRONTEND_BUILD,
|
|
58
|
+
},
|
|
59
|
+
'solid': {
|
|
60
|
+
'dev': SOLID_VITE_FRONTEND,
|
|
61
|
+
'build': SOLID_VITE_FRONTEND_BUILD,
|
|
62
|
+
},
|
|
63
|
+
'qwik': {
|
|
64
|
+
'dev': QWIK_VITE_FRONTEND,
|
|
65
|
+
'build': QWIK_VITE_FRONTEND_BUILD,
|
|
66
|
+
},
|
|
67
|
+
'vanilla': {
|
|
68
|
+
'dev': VANILLA_VITE_FRONTEND,
|
|
69
|
+
'build': VANILLA_VITE_FRONTEND_BUILD,
|
|
70
|
+
},
|
|
41
71
|
}
|
|
42
72
|
|
|
43
73
|
def _normalize_vite_base_path(base_path):
|
package/engine/topologies/tilt/resources/orchestrator/apply_compose_resource_registration.star
CHANGED
|
@@ -220,7 +220,14 @@ def _build_live_update_rules(res_path, full_res_path, syncs, project_root='', la
|
|
|
220
220
|
|
|
221
221
|
Python backends reload their own process after a sync (uvicorn --reload), so they have
|
|
222
222
|
no Bun install step. A changed pyproject.toml is not synced, so Tilt rebuilds the image instead.
|
|
223
|
+
Go backends have no live update at all (see the early return).
|
|
223
224
|
"""
|
|
225
|
+
# Go is compiled into the image and has no reload process, so syncing sources would leave the old
|
|
226
|
+
# binary running. Return before any sync() step is built (Tilt rejects sync steps that are created
|
|
227
|
+
# but never used): no live-update rules means Tilt rebuilds the image when a watched file changes.
|
|
228
|
+
if language == 'go':
|
|
229
|
+
return []
|
|
230
|
+
|
|
224
231
|
live_update_rules = []
|
|
225
232
|
for sync_path in syncs:
|
|
226
233
|
# Python images never read the npm/Bun registry config, and the engine does not
|
|
@@ -310,7 +310,7 @@ def _generate_all_configs_for_resource(
|
|
|
310
310
|
|
|
311
311
|
app_type = manifest.get('appType', 'backend')
|
|
312
312
|
is_frontend = resource_config.get('frontend', False) or app_type == 'frontend'
|
|
313
|
-
#
|
|
313
|
+
# Provider-owned backends (Python, Go) own their runtime files (package/pyproject, Dockerfile,
|
|
314
314
|
# reload command). Bun-only configs below (Vite, tsconfig, Prisma, bunfig) are skipped.
|
|
315
315
|
provider_owned = Docker.is_provider_owned_language(manifest)
|
|
316
316
|
if provider_owned:
|
|
@@ -318,7 +318,7 @@ def _generate_all_configs_for_resource(
|
|
|
318
318
|
# COPY error halfway through the image build.
|
|
319
319
|
root = ctx.get('project_root', '')
|
|
320
320
|
prefix = (root.rstrip('/') + '/' if root else '') + resource_path + '/'
|
|
321
|
-
for required in
|
|
321
|
+
for required in Docker.language_required_files.get(manifest.get('language'), []):
|
|
322
322
|
if not os.path.exists(prefix + required):
|
|
323
323
|
fail("{}: language '{}' requires {} but {}{} does not exist".format(
|
|
324
324
|
resource_name, manifest.get('language'), required, resource_path + '/', required))
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tdk-landscape/tdk-cli-core",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.89",
|
|
4
4
|
"description": "TDK CLI — start services on your laptop.",
|
|
5
5
|
"homepage": "https://tdk-landscape.github.io/tdk-website",
|
|
6
6
|
"repository": {
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
],
|
|
68
68
|
"license": "MIT",
|
|
69
69
|
"dependencies": {
|
|
70
|
-
"chalk": "^
|
|
70
|
+
"chalk": "^6.0.1",
|
|
71
71
|
"commander": "^15.0.0",
|
|
72
72
|
"handlebars": "^4.7.8",
|
|
73
73
|
"ink": "^7.1.1",
|