@kmlckj/licos-ai-cli 1.1.29 → 1.1.31
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/lib/__templates__/agent/pyproject.toml +2 -2
- package/lib/__templates__/agent/requirements.txt +1 -1
- package/lib/__templates__/expo/pnpm-lock.yaml +5 -5
- package/lib/__templates__/expo/server/package.json +1 -1
- package/lib/__templates__/nextjs/package.json +1 -1
- package/lib/__templates__/nextjs/pnpm-lock.yaml +5 -5
- package/lib/__templates__/nuxt-vue/nuxt.config.ts +176 -176
- package/lib/__templates__/nuxt-vue/package.json +1 -1
- package/lib/__templates__/nuxt-vue/pnpm-lock.yaml +5 -5
- package/lib/__templates__/taro/pnpm-lock.yaml +5 -5
- package/lib/__templates__/taro/server/package.json +1 -1
- package/lib/__templates__/vite/package.json +1 -1
- package/lib/__templates__/vite/pnpm-lock.yaml +5 -5
- package/lib/__templates__/vite/vite.config.ts +61 -61
- package/lib/__templates__/workflow/pyproject.toml +2 -2
- package/lib/__templates__/workflow/requirements.txt +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
licos-agent-runtime>=0.2.
|
|
1
|
+
licos-agent-runtime>=0.2.29
|
|
@@ -266,8 +266,8 @@ importers:
|
|
|
266
266
|
server:
|
|
267
267
|
dependencies:
|
|
268
268
|
'@kmlckj/licos-dev-sdk':
|
|
269
|
-
specifier: 0.2.
|
|
270
|
-
version: 0.2.
|
|
269
|
+
specifier: 0.2.16
|
|
270
|
+
version: 0.2.16
|
|
271
271
|
'@kmlckj/licos-platform-sdk':
|
|
272
272
|
specifier: 0.10.3
|
|
273
273
|
version: 0.10.3
|
|
@@ -1324,8 +1324,8 @@ packages:
|
|
|
1324
1324
|
'@jridgewell/trace-mapping@0.3.31':
|
|
1325
1325
|
resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
|
|
1326
1326
|
|
|
1327
|
-
'@kmlckj/licos-dev-sdk@0.2.
|
|
1328
|
-
resolution: {integrity: sha512-
|
|
1327
|
+
'@kmlckj/licos-dev-sdk@0.2.16':
|
|
1328
|
+
resolution: {integrity: sha512-F2nJH0ODLaNCyujaDflFm5iBL4YxJxnnWKC6Rvy6MXF8Z01yhvq1q0EUveF1LYzeaQH3yl6j1W50Gp8nBdSoRQ==}
|
|
1329
1329
|
engines: {node: '>=18'}
|
|
1330
1330
|
|
|
1331
1331
|
'@kmlckj/licos-platform-sdk@0.10.3':
|
|
@@ -7493,7 +7493,7 @@ snapshots:
|
|
|
7493
7493
|
'@jridgewell/resolve-uri': 3.1.2
|
|
7494
7494
|
'@jridgewell/sourcemap-codec': 1.5.5
|
|
7495
7495
|
|
|
7496
|
-
'@kmlckj/licos-dev-sdk@0.2.
|
|
7496
|
+
'@kmlckj/licos-dev-sdk@0.2.16': {}
|
|
7497
7497
|
|
|
7498
7498
|
'@kmlckj/licos-platform-sdk@0.10.3':
|
|
7499
7499
|
dependencies:
|
|
@@ -18,8 +18,8 @@ importers:
|
|
|
18
18
|
specifier: ^5.2.2
|
|
19
19
|
version: 5.4.0(react-hook-form@7.77.0(react@19.2.3))
|
|
20
20
|
'@kmlckj/licos-dev-sdk':
|
|
21
|
-
specifier: 0.2.
|
|
22
|
-
version: 0.2.
|
|
21
|
+
specifier: 0.2.16
|
|
22
|
+
version: 0.2.16
|
|
23
23
|
'@kmlckj/licos-platform-sdk':
|
|
24
24
|
specifier: 0.10.3
|
|
25
25
|
version: 0.10.3
|
|
@@ -1380,8 +1380,8 @@ packages:
|
|
|
1380
1380
|
'@jridgewell/trace-mapping@0.3.31':
|
|
1381
1381
|
resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
|
|
1382
1382
|
|
|
1383
|
-
'@kmlckj/licos-dev-sdk@0.2.
|
|
1384
|
-
resolution: {integrity: sha512-
|
|
1383
|
+
'@kmlckj/licos-dev-sdk@0.2.16':
|
|
1384
|
+
resolution: {integrity: sha512-F2nJH0ODLaNCyujaDflFm5iBL4YxJxnnWKC6Rvy6MXF8Z01yhvq1q0EUveF1LYzeaQH3yl6j1W50Gp8nBdSoRQ==}
|
|
1385
1385
|
engines: {node: '>=18'}
|
|
1386
1386
|
|
|
1387
1387
|
'@kmlckj/licos-platform-sdk@0.10.3':
|
|
@@ -6707,7 +6707,7 @@ snapshots:
|
|
|
6707
6707
|
'@jridgewell/resolve-uri': 3.1.2
|
|
6708
6708
|
'@jridgewell/sourcemap-codec': 1.5.5
|
|
6709
6709
|
|
|
6710
|
-
'@kmlckj/licos-dev-sdk@0.2.
|
|
6710
|
+
'@kmlckj/licos-dev-sdk@0.2.16': {}
|
|
6711
6711
|
|
|
6712
6712
|
'@kmlckj/licos-platform-sdk@0.10.3':
|
|
6713
6713
|
dependencies:
|
|
@@ -1,181 +1,181 @@
|
|
|
1
|
-
// https://nuxt.com/docs/api/configuration/nuxt-config
|
|
2
|
-
import { fileURLToPath } from 'url';
|
|
3
|
-
import { dirname, resolve } from 'path';
|
|
4
|
-
|
|
5
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
6
|
-
const __dirname = dirname(__filename);
|
|
7
|
-
|
|
8
|
-
function normalizeBaseURL(value?: string): string {
|
|
9
|
-
const trimmed = value?.trim();
|
|
10
|
-
if (!trimmed || trimmed === '/') return '/';
|
|
11
|
-
return `/${trimmed.replace(/^\/+|\/+$/g, '')}/`;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
function parsePort(value?: string): number | undefined {
|
|
15
|
-
const port = Number.parseInt(value || '', 10);
|
|
16
|
-
return Number.isInteger(port) && port > 0 ? port : undefined;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
function createPreviewHmrConfig() {
|
|
20
|
-
if (!process.env.LICOS_PREVIEW_BASE_PATH) {
|
|
21
|
-
return undefined;
|
|
22
|
-
}
|
|
23
|
-
const hmr: Record<string, unknown> = {
|
|
24
|
-
overlay: true,
|
|
25
|
-
path: process.env.LICOS_PREVIEW_HMR_PATH || '/hot/vite-hmr',
|
|
26
|
-
timeout: 30000,
|
|
27
|
-
};
|
|
28
|
-
if (process.env.LICOS_PREVIEW_HMR_HOST) {
|
|
29
|
-
hmr.host = process.env.LICOS_PREVIEW_HMR_HOST;
|
|
30
|
-
}
|
|
31
|
-
if (process.env.LICOS_PREVIEW_HMR_PROTOCOL) {
|
|
32
|
-
hmr.protocol = process.env.LICOS_PREVIEW_HMR_PROTOCOL;
|
|
33
|
-
}
|
|
34
|
-
const clientPort = parsePort(process.env.LICOS_PREVIEW_HMR_CLIENT_PORT);
|
|
35
|
-
if (clientPort) {
|
|
36
|
-
hmr.clientPort = clientPort;
|
|
37
|
-
}
|
|
38
|
-
return hmr;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
function isProdProjectEnv(value?: string): boolean {
|
|
42
|
-
const normalized = value?.trim().toLowerCase();
|
|
43
|
-
return normalized === 'prod' || normalized === 'production' || normalized === 'release';
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
const isProd = isProdProjectEnv(process.env.LICOS_PROJECT_ENV);
|
|
47
|
-
const deployBaseURL = process.env.NUXT_PUBLIC_BASE_URL || process.env.BASE_PATH;
|
|
48
|
-
const shouldUseBaseURL = Boolean(deployBaseURL) || isProd;
|
|
49
|
-
|
|
50
|
-
const publicBaseURL = shouldUseBaseURL ? normalizeBaseURL(deployBaseURL) : '/';
|
|
51
|
-
const publicAssetCdnURL = publicBaseURL === '/' ? '' : publicBaseURL.replace(/\/$/, '');
|
|
52
|
-
const previewHmrConfig = createPreviewHmrConfig();
|
|
53
|
-
|
|
54
|
-
export default defineNuxtConfig({
|
|
55
|
-
compatibilityDate: '2025-07-15',
|
|
56
|
-
// Disable devtools in CI/test environments (prevents hanging in headless mode)
|
|
57
|
-
devtools: {
|
|
58
|
-
enabled: process.env.CI !== 'true' && !isProd,
|
|
59
|
-
},
|
|
60
|
-
telemetry: false,
|
|
61
|
-
|
|
62
|
-
// App head configuration
|
|
63
|
-
app: {
|
|
64
|
-
// The cluster ingress rewrites /p/{projectId}/... to backend /...
|
|
65
|
-
// Keep Nuxt's server asset route at /_nuxt and prefix browser URLs via cdnURL.
|
|
66
|
-
baseURL: '/',
|
|
67
|
-
buildAssetsDir: '/_nuxt/',
|
|
68
|
-
cdnURL: publicAssetCdnURL,
|
|
69
|
-
head: {
|
|
70
|
-
title: '新应用 | LICOS AI',
|
|
71
|
-
titleTemplate: '%s | LICOS AI',
|
|
72
|
-
meta: [
|
|
73
|
-
{ charset: 'utf-8' },
|
|
74
|
-
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
|
|
75
|
-
{
|
|
76
|
-
name: 'description',
|
|
77
|
-
content:
|
|
78
|
-
'LICOS AI是一款一站式云端 Vibe Coding 开发平台。通过对话轻松构建智能体、工作流和网站,实现从创意到上线的无缝衔接。',
|
|
79
|
-
},
|
|
80
|
-
{
|
|
81
|
-
name: 'keywords',
|
|
82
|
-
content:
|
|
83
|
-
'LICOS AI,LICOS AI,Vibe Coding,AI 编程,智能体搭建,工作流搭建,网站搭建,网站部署,全栈开发,AI 工程师',
|
|
84
|
-
},
|
|
85
|
-
{ name: 'author', content: 'LICOS Team' },
|
|
86
|
-
{ name: 'generator', content: 'LICOS AI' },
|
|
87
|
-
// Open Graph
|
|
88
|
-
{ property: 'og:title', content: 'LICOS AI | 你的 AI 工程师已就位' },
|
|
89
|
-
{
|
|
90
|
-
property: 'og:description',
|
|
91
|
-
content:
|
|
92
|
-
'我正在使用LICOS AI Vibe Coding,让创意瞬间上线。告别拖拽,拥抱心流。',
|
|
93
|
-
},
|
|
94
|
-
{ property: 'og:url', content: 'https://licos.ai' },
|
|
95
|
-
{ property: 'og:site_name', content: 'LICOS AI' },
|
|
96
|
-
{ property: 'og:locale', content: 'zh_CN' },
|
|
97
|
-
{ property: 'og:type', content: 'website' },
|
|
98
|
-
// Robots
|
|
99
|
-
{ name: 'robots', content: 'index, follow' },
|
|
100
|
-
],
|
|
101
|
-
link: [{ rel: 'canonical', href: 'https://licos.ai' }],
|
|
102
|
-
htmlAttrs: {
|
|
103
|
-
lang: 'zh-CN',
|
|
104
|
-
},
|
|
105
|
-
},
|
|
106
|
-
},
|
|
107
|
-
|
|
108
|
-
// Nuxt modules
|
|
109
|
-
modules: ['@nuxt/image', '@nuxtjs/tailwindcss'],
|
|
110
|
-
|
|
111
|
-
// Global CSS
|
|
112
|
-
css: [resolve(__dirname, 'assets/css/main.css')],
|
|
113
|
-
|
|
114
|
-
runtimeConfig: {
|
|
115
|
-
public: {
|
|
116
|
-
baseURL: publicBaseURL,
|
|
117
|
-
},
|
|
118
|
-
},
|
|
119
|
-
|
|
120
|
-
// Development server configuration
|
|
121
|
-
devServer: {
|
|
122
|
-
port: parseInt(process.env.PORT || '<%= port %>', 10),
|
|
123
|
-
host: process.env.HOST || '0.0.0.0',
|
|
124
|
-
},
|
|
125
|
-
|
|
126
|
-
// TypeScript configuration
|
|
127
|
-
typescript: {
|
|
128
|
-
strict: false,
|
|
129
|
-
typeCheck: false,
|
|
130
|
-
},
|
|
131
|
-
|
|
132
|
-
// Vite configuration (similar to Next.js allowedDevOrigins)
|
|
1
|
+
// https://nuxt.com/docs/api/configuration/nuxt-config
|
|
2
|
+
import { fileURLToPath } from 'url';
|
|
3
|
+
import { dirname, resolve } from 'path';
|
|
4
|
+
|
|
5
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
6
|
+
const __dirname = dirname(__filename);
|
|
7
|
+
|
|
8
|
+
function normalizeBaseURL(value?: string): string {
|
|
9
|
+
const trimmed = value?.trim();
|
|
10
|
+
if (!trimmed || trimmed === '/') return '/';
|
|
11
|
+
return `/${trimmed.replace(/^\/+|\/+$/g, '')}/`;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
function parsePort(value?: string): number | undefined {
|
|
15
|
+
const port = Number.parseInt(value || '', 10);
|
|
16
|
+
return Number.isInteger(port) && port > 0 ? port : undefined;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function createPreviewHmrConfig() {
|
|
20
|
+
if (!process.env.LICOS_PREVIEW_BASE_PATH) {
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
23
|
+
const hmr: Record<string, unknown> = {
|
|
24
|
+
overlay: true,
|
|
25
|
+
path: process.env.LICOS_PREVIEW_HMR_PATH || '/hot/vite-hmr',
|
|
26
|
+
timeout: 30000,
|
|
27
|
+
};
|
|
28
|
+
if (process.env.LICOS_PREVIEW_HMR_HOST) {
|
|
29
|
+
hmr.host = process.env.LICOS_PREVIEW_HMR_HOST;
|
|
30
|
+
}
|
|
31
|
+
if (process.env.LICOS_PREVIEW_HMR_PROTOCOL) {
|
|
32
|
+
hmr.protocol = process.env.LICOS_PREVIEW_HMR_PROTOCOL;
|
|
33
|
+
}
|
|
34
|
+
const clientPort = parsePort(process.env.LICOS_PREVIEW_HMR_CLIENT_PORT);
|
|
35
|
+
if (clientPort) {
|
|
36
|
+
hmr.clientPort = clientPort;
|
|
37
|
+
}
|
|
38
|
+
return hmr;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
function isProdProjectEnv(value?: string): boolean {
|
|
42
|
+
const normalized = value?.trim().toLowerCase();
|
|
43
|
+
return normalized === 'prod' || normalized === 'production' || normalized === 'release';
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const isProd = isProdProjectEnv(process.env.LICOS_PROJECT_ENV);
|
|
47
|
+
const deployBaseURL = process.env.NUXT_PUBLIC_BASE_URL || process.env.BASE_PATH;
|
|
48
|
+
const shouldUseBaseURL = Boolean(deployBaseURL) || isProd;
|
|
49
|
+
|
|
50
|
+
const publicBaseURL = shouldUseBaseURL ? normalizeBaseURL(deployBaseURL) : '/';
|
|
51
|
+
const publicAssetCdnURL = publicBaseURL === '/' ? '' : publicBaseURL.replace(/\/$/, '');
|
|
52
|
+
const previewHmrConfig = createPreviewHmrConfig();
|
|
53
|
+
|
|
54
|
+
export default defineNuxtConfig({
|
|
55
|
+
compatibilityDate: '2025-07-15',
|
|
56
|
+
// Disable devtools in CI/test environments (prevents hanging in headless mode)
|
|
57
|
+
devtools: {
|
|
58
|
+
enabled: process.env.CI !== 'true' && !isProd,
|
|
59
|
+
},
|
|
60
|
+
telemetry: false,
|
|
61
|
+
|
|
62
|
+
// App head configuration
|
|
63
|
+
app: {
|
|
64
|
+
// The cluster ingress rewrites /p/{projectId}/... to backend /...
|
|
65
|
+
// Keep Nuxt's server asset route at /_nuxt and prefix browser URLs via cdnURL.
|
|
66
|
+
baseURL: '/',
|
|
67
|
+
buildAssetsDir: '/_nuxt/',
|
|
68
|
+
cdnURL: publicAssetCdnURL,
|
|
69
|
+
head: {
|
|
70
|
+
title: '新应用 | LICOS AI',
|
|
71
|
+
titleTemplate: '%s | LICOS AI',
|
|
72
|
+
meta: [
|
|
73
|
+
{ charset: 'utf-8' },
|
|
74
|
+
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
|
|
75
|
+
{
|
|
76
|
+
name: 'description',
|
|
77
|
+
content:
|
|
78
|
+
'LICOS AI是一款一站式云端 Vibe Coding 开发平台。通过对话轻松构建智能体、工作流和网站,实现从创意到上线的无缝衔接。',
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
name: 'keywords',
|
|
82
|
+
content:
|
|
83
|
+
'LICOS AI,LICOS AI,Vibe Coding,AI 编程,智能体搭建,工作流搭建,网站搭建,网站部署,全栈开发,AI 工程师',
|
|
84
|
+
},
|
|
85
|
+
{ name: 'author', content: 'LICOS Team' },
|
|
86
|
+
{ name: 'generator', content: 'LICOS AI' },
|
|
87
|
+
// Open Graph
|
|
88
|
+
{ property: 'og:title', content: 'LICOS AI | 你的 AI 工程师已就位' },
|
|
89
|
+
{
|
|
90
|
+
property: 'og:description',
|
|
91
|
+
content:
|
|
92
|
+
'我正在使用LICOS AI Vibe Coding,让创意瞬间上线。告别拖拽,拥抱心流。',
|
|
93
|
+
},
|
|
94
|
+
{ property: 'og:url', content: 'https://licos.ai' },
|
|
95
|
+
{ property: 'og:site_name', content: 'LICOS AI' },
|
|
96
|
+
{ property: 'og:locale', content: 'zh_CN' },
|
|
97
|
+
{ property: 'og:type', content: 'website' },
|
|
98
|
+
// Robots
|
|
99
|
+
{ name: 'robots', content: 'index, follow' },
|
|
100
|
+
],
|
|
101
|
+
link: [{ rel: 'canonical', href: 'https://licos.ai' }],
|
|
102
|
+
htmlAttrs: {
|
|
103
|
+
lang: 'zh-CN',
|
|
104
|
+
},
|
|
105
|
+
},
|
|
106
|
+
},
|
|
107
|
+
|
|
108
|
+
// Nuxt modules
|
|
109
|
+
modules: ['@nuxt/image', '@nuxtjs/tailwindcss'],
|
|
110
|
+
|
|
111
|
+
// Global CSS
|
|
112
|
+
css: [resolve(__dirname, 'assets/css/main.css')],
|
|
113
|
+
|
|
114
|
+
runtimeConfig: {
|
|
115
|
+
public: {
|
|
116
|
+
baseURL: publicBaseURL,
|
|
117
|
+
},
|
|
118
|
+
},
|
|
119
|
+
|
|
120
|
+
// Development server configuration
|
|
121
|
+
devServer: {
|
|
122
|
+
port: parseInt(process.env.PORT || '<%= port %>', 10),
|
|
123
|
+
host: process.env.HOST || '0.0.0.0',
|
|
124
|
+
},
|
|
125
|
+
|
|
126
|
+
// TypeScript configuration
|
|
127
|
+
typescript: {
|
|
128
|
+
strict: false,
|
|
129
|
+
typeCheck: false,
|
|
130
|
+
},
|
|
131
|
+
|
|
132
|
+
// Vite configuration (similar to Next.js allowedDevOrigins)
|
|
133
133
|
vite: {
|
|
134
134
|
server: {
|
|
135
135
|
host: '0.0.0.0',
|
|
136
136
|
strictPort: true,
|
|
137
137
|
cors: {
|
|
138
|
-
origin: ['*.dev.licos.local'],
|
|
139
|
-
credentials: true,
|
|
140
|
-
},
|
|
141
|
-
hmr: previewHmrConfig || {
|
|
142
|
-
overlay: true,
|
|
143
|
-
path: '/hot/vite-hmr',
|
|
144
|
-
port: parseInt(process.env.HMR_PORT || '<%= hmrPort %>', 10),
|
|
145
|
-
clientPort: 443,
|
|
146
|
-
timeout: 30000,
|
|
147
|
-
},
|
|
148
|
-
// Fix EMFILE: too many open files error
|
|
149
|
-
// Exclude large directories from file watching to avoid exceeding system limits
|
|
150
|
-
watch: {
|
|
151
|
-
ignored: [
|
|
152
|
-
'**/node_modules/**',
|
|
153
|
-
'**/.nuxt/**',
|
|
154
|
-
'**/.output/**',
|
|
155
|
-
'**/dist/**',
|
|
156
|
-
'**/.git/**',
|
|
157
|
-
'**/coverage/**',
|
|
158
|
-
'**/.cache/**',
|
|
159
|
-
],
|
|
160
|
-
},
|
|
161
|
-
},
|
|
162
|
-
},
|
|
163
|
-
|
|
164
|
-
// Security headers (Content Security Policy)
|
|
165
|
-
nitro: {
|
|
166
|
-
publicAssets: [
|
|
167
|
-
{
|
|
168
|
-
baseURL: '/assets',
|
|
169
|
-
dir: resolve(__dirname, 'assets'),
|
|
170
|
-
},
|
|
171
|
-
],
|
|
172
|
-
routeRules: {
|
|
173
|
-
'/**': {
|
|
174
|
-
headers: {
|
|
175
|
-
'Content-Security-Policy':
|
|
176
|
-
"img-src 'self' data:;",
|
|
177
|
-
},
|
|
178
|
-
},
|
|
179
|
-
},
|
|
180
|
-
},
|
|
181
|
-
});
|
|
138
|
+
origin: ['*.dev.licos.local'],
|
|
139
|
+
credentials: true,
|
|
140
|
+
},
|
|
141
|
+
hmr: previewHmrConfig || {
|
|
142
|
+
overlay: true,
|
|
143
|
+
path: '/hot/vite-hmr',
|
|
144
|
+
port: parseInt(process.env.HMR_PORT || '<%= hmrPort %>', 10),
|
|
145
|
+
clientPort: 443,
|
|
146
|
+
timeout: 30000,
|
|
147
|
+
},
|
|
148
|
+
// Fix EMFILE: too many open files error
|
|
149
|
+
// Exclude large directories from file watching to avoid exceeding system limits
|
|
150
|
+
watch: {
|
|
151
|
+
ignored: [
|
|
152
|
+
'**/node_modules/**',
|
|
153
|
+
'**/.nuxt/**',
|
|
154
|
+
'**/.output/**',
|
|
155
|
+
'**/dist/**',
|
|
156
|
+
'**/.git/**',
|
|
157
|
+
'**/coverage/**',
|
|
158
|
+
'**/.cache/**',
|
|
159
|
+
],
|
|
160
|
+
},
|
|
161
|
+
},
|
|
162
|
+
},
|
|
163
|
+
|
|
164
|
+
// Security headers (Content Security Policy)
|
|
165
|
+
nitro: {
|
|
166
|
+
publicAssets: [
|
|
167
|
+
{
|
|
168
|
+
baseURL: '/assets',
|
|
169
|
+
dir: resolve(__dirname, 'assets'),
|
|
170
|
+
},
|
|
171
|
+
],
|
|
172
|
+
routeRules: {
|
|
173
|
+
'/**': {
|
|
174
|
+
headers: {
|
|
175
|
+
'Content-Security-Policy':
|
|
176
|
+
"img-src 'self' data:;",
|
|
177
|
+
},
|
|
178
|
+
},
|
|
179
|
+
},
|
|
180
|
+
},
|
|
181
|
+
});
|
|
@@ -13,8 +13,8 @@ importers:
|
|
|
13
13
|
.:
|
|
14
14
|
dependencies:
|
|
15
15
|
'@kmlckj/licos-dev-sdk':
|
|
16
|
-
specifier: 0.2.
|
|
17
|
-
version: 0.2.
|
|
16
|
+
specifier: 0.2.16
|
|
17
|
+
version: 0.2.16
|
|
18
18
|
'@kmlckj/licos-platform-sdk':
|
|
19
19
|
specifier: 0.10.3
|
|
20
20
|
version: 0.10.3
|
|
@@ -731,8 +731,8 @@ packages:
|
|
|
731
731
|
'@jridgewell/trace-mapping@0.3.31':
|
|
732
732
|
resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
|
|
733
733
|
|
|
734
|
-
'@kmlckj/licos-dev-sdk@0.2.
|
|
735
|
-
resolution: {integrity: sha512-
|
|
734
|
+
'@kmlckj/licos-dev-sdk@0.2.16':
|
|
735
|
+
resolution: {integrity: sha512-F2nJH0ODLaNCyujaDflFm5iBL4YxJxnnWKC6Rvy6MXF8Z01yhvq1q0EUveF1LYzeaQH3yl6j1W50Gp8nBdSoRQ==}
|
|
736
736
|
engines: {node: '>=18'}
|
|
737
737
|
|
|
738
738
|
'@kmlckj/licos-platform-sdk@0.10.3':
|
|
@@ -4741,7 +4741,7 @@ snapshots:
|
|
|
4741
4741
|
'@jridgewell/resolve-uri': 3.1.2
|
|
4742
4742
|
'@jridgewell/sourcemap-codec': 1.5.5
|
|
4743
4743
|
|
|
4744
|
-
'@kmlckj/licos-dev-sdk@0.2.
|
|
4744
|
+
'@kmlckj/licos-dev-sdk@0.2.16': {}
|
|
4745
4745
|
|
|
4746
4746
|
'@kmlckj/licos-platform-sdk@0.10.3':
|
|
4747
4747
|
dependencies:
|
|
@@ -186,8 +186,8 @@ importers:
|
|
|
186
186
|
server:
|
|
187
187
|
dependencies:
|
|
188
188
|
'@kmlckj/licos-dev-sdk':
|
|
189
|
-
specifier: 0.2.
|
|
190
|
-
version: 0.2.
|
|
189
|
+
specifier: 0.2.16
|
|
190
|
+
version: 0.2.16
|
|
191
191
|
'@kmlckj/licos-platform-sdk':
|
|
192
192
|
specifier: 0.10.3
|
|
193
193
|
version: 0.10.3
|
|
@@ -2595,8 +2595,8 @@ packages:
|
|
|
2595
2595
|
'@keyv/serialize@1.1.1':
|
|
2596
2596
|
resolution: {integrity: sha512-dXn3FZhPv0US+7dtJsIi2R+c7qWYiReoEh5zUntWCf4oSpMNib8FDhSoed6m3QyZdx5hK7iLFkYk3rNxwt8vTA==}
|
|
2597
2597
|
|
|
2598
|
-
'@kmlckj/licos-dev-sdk@0.2.
|
|
2599
|
-
resolution: {integrity: sha512-
|
|
2598
|
+
'@kmlckj/licos-dev-sdk@0.2.16':
|
|
2599
|
+
resolution: {integrity: sha512-F2nJH0ODLaNCyujaDflFm5iBL4YxJxnnWKC6Rvy6MXF8Z01yhvq1q0EUveF1LYzeaQH3yl6j1W50Gp8nBdSoRQ==}
|
|
2600
2600
|
engines: {node: '>=18'}
|
|
2601
2601
|
|
|
2602
2602
|
'@kmlckj/licos-platform-sdk@0.10.3':
|
|
@@ -12400,7 +12400,7 @@ snapshots:
|
|
|
12400
12400
|
|
|
12401
12401
|
'@keyv/serialize@1.1.1': {}
|
|
12402
12402
|
|
|
12403
|
-
'@kmlckj/licos-dev-sdk@0.2.
|
|
12403
|
+
'@kmlckj/licos-dev-sdk@0.2.16': {}
|
|
12404
12404
|
|
|
12405
12405
|
'@kmlckj/licos-platform-sdk@0.10.3':
|
|
12406
12406
|
dependencies:
|
|
@@ -13,8 +13,8 @@ importers:
|
|
|
13
13
|
.:
|
|
14
14
|
dependencies:
|
|
15
15
|
'@kmlckj/licos-dev-sdk':
|
|
16
|
-
specifier: 0.2.
|
|
17
|
-
version: 0.2.
|
|
16
|
+
specifier: 0.2.16
|
|
17
|
+
version: 0.2.16
|
|
18
18
|
'@kmlckj/licos-platform-sdk':
|
|
19
19
|
specifier: 0.10.3
|
|
20
20
|
version: 0.10.3
|
|
@@ -291,8 +291,8 @@ packages:
|
|
|
291
291
|
'@jridgewell/trace-mapping@0.3.31':
|
|
292
292
|
resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
|
|
293
293
|
|
|
294
|
-
'@kmlckj/licos-dev-sdk@0.2.
|
|
295
|
-
resolution: {integrity: sha512-
|
|
294
|
+
'@kmlckj/licos-dev-sdk@0.2.16':
|
|
295
|
+
resolution: {integrity: sha512-F2nJH0ODLaNCyujaDflFm5iBL4YxJxnnWKC6Rvy6MXF8Z01yhvq1q0EUveF1LYzeaQH3yl6j1W50Gp8nBdSoRQ==}
|
|
296
296
|
engines: {node: '>=18'}
|
|
297
297
|
|
|
298
298
|
'@kmlckj/licos-platform-sdk@0.10.3':
|
|
@@ -1723,7 +1723,7 @@ snapshots:
|
|
|
1723
1723
|
'@jridgewell/resolve-uri': 3.1.2
|
|
1724
1724
|
'@jridgewell/sourcemap-codec': 1.5.5
|
|
1725
1725
|
|
|
1726
|
-
'@kmlckj/licos-dev-sdk@0.2.
|
|
1726
|
+
'@kmlckj/licos-dev-sdk@0.2.16': {}
|
|
1727
1727
|
|
|
1728
1728
|
'@kmlckj/licos-platform-sdk@0.10.3':
|
|
1729
1729
|
dependencies:
|
|
@@ -1,65 +1,65 @@
|
|
|
1
|
-
import { defineConfig } from 'vite';
|
|
2
|
-
|
|
3
|
-
function normalizeBasePath(value?: string): string {
|
|
4
|
-
const trimmed = value?.trim();
|
|
5
|
-
if (!trimmed || trimmed === '/') return '/';
|
|
6
|
-
return `/${trimmed.replace(/^\/+|\/+$/g, '')}/`;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
function isProdProjectEnv(value?: string): boolean {
|
|
10
|
-
const normalized = value?.trim().toLowerCase();
|
|
11
|
-
return normalized === 'prod' || normalized === 'production' || normalized === 'release';
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
const deployBasePath = process.env.VITE_BASE_PATH || process.env.BASE_PATH;
|
|
15
|
-
const shouldUseBasePath = Boolean(deployBasePath) || isProdProjectEnv(process.env.LICOS_PROJECT_ENV);
|
|
16
|
-
|
|
17
|
-
function parsePort(value?: string): number | undefined {
|
|
18
|
-
const port = Number.parseInt(value || '', 10);
|
|
19
|
-
return Number.isInteger(port) && port > 0 ? port : undefined;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
function createPreviewHmrConfig() {
|
|
23
|
-
if (!process.env.LICOS_PREVIEW_BASE_PATH) {
|
|
24
|
-
return undefined;
|
|
25
|
-
}
|
|
26
|
-
const hmr: Record<string, unknown> = {
|
|
27
|
-
overlay: true,
|
|
28
|
-
path: process.env.LICOS_PREVIEW_HMR_PATH || '/hot/vite-hmr',
|
|
29
|
-
timeout: 30000,
|
|
30
|
-
};
|
|
31
|
-
if (process.env.LICOS_PREVIEW_HMR_HOST) {
|
|
32
|
-
hmr.host = process.env.LICOS_PREVIEW_HMR_HOST;
|
|
33
|
-
}
|
|
34
|
-
if (process.env.LICOS_PREVIEW_HMR_PROTOCOL) {
|
|
35
|
-
hmr.protocol = process.env.LICOS_PREVIEW_HMR_PROTOCOL;
|
|
36
|
-
}
|
|
37
|
-
const clientPort = parsePort(process.env.LICOS_PREVIEW_HMR_CLIENT_PORT);
|
|
38
|
-
if (clientPort) {
|
|
39
|
-
hmr.clientPort = clientPort;
|
|
40
|
-
}
|
|
41
|
-
return hmr;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
const previewHmrConfig = createPreviewHmrConfig();
|
|
45
|
-
|
|
46
|
-
export default defineConfig({
|
|
47
|
-
base: shouldUseBasePath ? normalizeBasePath(deployBasePath) : '/',
|
|
1
|
+
import { defineConfig } from 'vite';
|
|
2
|
+
|
|
3
|
+
function normalizeBasePath(value?: string): string {
|
|
4
|
+
const trimmed = value?.trim();
|
|
5
|
+
if (!trimmed || trimmed === '/') return '/';
|
|
6
|
+
return `/${trimmed.replace(/^\/+|\/+$/g, '')}/`;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
function isProdProjectEnv(value?: string): boolean {
|
|
10
|
+
const normalized = value?.trim().toLowerCase();
|
|
11
|
+
return normalized === 'prod' || normalized === 'production' || normalized === 'release';
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
const deployBasePath = process.env.VITE_BASE_PATH || process.env.BASE_PATH;
|
|
15
|
+
const shouldUseBasePath = Boolean(deployBasePath) || isProdProjectEnv(process.env.LICOS_PROJECT_ENV);
|
|
16
|
+
|
|
17
|
+
function parsePort(value?: string): number | undefined {
|
|
18
|
+
const port = Number.parseInt(value || '', 10);
|
|
19
|
+
return Number.isInteger(port) && port > 0 ? port : undefined;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function createPreviewHmrConfig() {
|
|
23
|
+
if (!process.env.LICOS_PREVIEW_BASE_PATH) {
|
|
24
|
+
return undefined;
|
|
25
|
+
}
|
|
26
|
+
const hmr: Record<string, unknown> = {
|
|
27
|
+
overlay: true,
|
|
28
|
+
path: process.env.LICOS_PREVIEW_HMR_PATH || '/hot/vite-hmr',
|
|
29
|
+
timeout: 30000,
|
|
30
|
+
};
|
|
31
|
+
if (process.env.LICOS_PREVIEW_HMR_HOST) {
|
|
32
|
+
hmr.host = process.env.LICOS_PREVIEW_HMR_HOST;
|
|
33
|
+
}
|
|
34
|
+
if (process.env.LICOS_PREVIEW_HMR_PROTOCOL) {
|
|
35
|
+
hmr.protocol = process.env.LICOS_PREVIEW_HMR_PROTOCOL;
|
|
36
|
+
}
|
|
37
|
+
const clientPort = parsePort(process.env.LICOS_PREVIEW_HMR_CLIENT_PORT);
|
|
38
|
+
if (clientPort) {
|
|
39
|
+
hmr.clientPort = clientPort;
|
|
40
|
+
}
|
|
41
|
+
return hmr;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
const previewHmrConfig = createPreviewHmrConfig();
|
|
45
|
+
|
|
46
|
+
export default defineConfig({
|
|
47
|
+
base: shouldUseBasePath ? normalizeBasePath(deployBasePath) : '/',
|
|
48
48
|
server: {
|
|
49
49
|
port: parsePort(process.env.LICOS_RUN_PORT) || parsePort(process.env.PORT) || <%= port %>,
|
|
50
50
|
strictPort: true,
|
|
51
51
|
host: '0.0.0.0',
|
|
52
|
-
allowedHosts: true,
|
|
53
|
-
hmr: previewHmrConfig || {
|
|
54
|
-
overlay: true,
|
|
55
|
-
path: '/hot/vite-hmr',
|
|
56
|
-
port: <%= hmrPort %>,
|
|
57
|
-
clientPort: 443,
|
|
58
|
-
timeout: 30000,
|
|
59
|
-
},
|
|
60
|
-
watch: {
|
|
61
|
-
usePolling: true,
|
|
62
|
-
interval: 100,
|
|
63
|
-
}
|
|
64
|
-
},
|
|
65
|
-
});
|
|
52
|
+
allowedHosts: true,
|
|
53
|
+
hmr: previewHmrConfig || {
|
|
54
|
+
overlay: true,
|
|
55
|
+
path: '/hot/vite-hmr',
|
|
56
|
+
port: <%= hmrPort %>,
|
|
57
|
+
clientPort: 443,
|
|
58
|
+
timeout: 30000,
|
|
59
|
+
},
|
|
60
|
+
watch: {
|
|
61
|
+
usePolling: true,
|
|
62
|
+
interval: 100,
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
licos-agent-runtime>=0.2.
|
|
1
|
+
licos-agent-runtime>=0.2.29
|