novacloud22-cli 1.0.3 → 1.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.
- package/index.js +40 -4
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -13,6 +13,7 @@ const open = require('open')
|
|
|
13
13
|
const os = require('os')
|
|
14
14
|
|
|
15
15
|
const API_BASE = 'https://backend-vjzu.onrender.com'
|
|
16
|
+
const SITES_API = 'https://novacloud22-sites.onrender.com'
|
|
16
17
|
const FRONTEND_URL = 'https://novacloud22.web.app'
|
|
17
18
|
const CONFIG_DIR = path.join(os.homedir(), '.novacloud22')
|
|
18
19
|
const TOKEN_FILE = path.join(CONFIG_DIR, 'token.json')
|
|
@@ -179,7 +180,7 @@ program
|
|
|
179
180
|
const spinner = ora('Fetching your sites...').start()
|
|
180
181
|
let sites = []
|
|
181
182
|
try {
|
|
182
|
-
const res = await axios.get(`${
|
|
183
|
+
const res = await axios.get(`${SITES_API}/p/my-sites`, { headers })
|
|
183
184
|
sites = res.data.sites || []
|
|
184
185
|
spinner.stop()
|
|
185
186
|
} catch {
|
|
@@ -221,6 +222,41 @@ program
|
|
|
221
222
|
])
|
|
222
223
|
|
|
223
224
|
saveProjectConfig(answers)
|
|
225
|
+
|
|
226
|
+
// Auto-fix vite.config.js to use relative paths
|
|
227
|
+
const viteConfigs = ['vite.config.js', 'vite.config.ts']
|
|
228
|
+
let viteFixed = false
|
|
229
|
+
for (const configFile of viteConfigs) {
|
|
230
|
+
if (fs.existsSync(configFile)) {
|
|
231
|
+
const content = fs.readFileSync(configFile, 'utf8')
|
|
232
|
+
if (!content.includes("base:")) {
|
|
233
|
+
// Add base: './' to existing config
|
|
234
|
+
const updated = content.replace(
|
|
235
|
+
/defineConfig\s*\(\s*\{/,
|
|
236
|
+
`defineConfig({\n base: './',`
|
|
237
|
+
)
|
|
238
|
+
if (updated !== content) {
|
|
239
|
+
fs.writeFileSync(configFile, updated)
|
|
240
|
+
console.log(chalk.green(` ✓ Updated ${configFile} with base: './'`))
|
|
241
|
+
viteFixed = true
|
|
242
|
+
}
|
|
243
|
+
} else {
|
|
244
|
+
console.log(chalk.gray(` ✓ ${configFile} already has base config`))
|
|
245
|
+
viteFixed = true
|
|
246
|
+
}
|
|
247
|
+
break
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
// No vite config found — create one
|
|
251
|
+
if (!viteFixed && fs.existsSync('package.json')) {
|
|
252
|
+
const pkg = fs.readJsonSync('package.json')
|
|
253
|
+
const hasVite = pkg.devDependencies?.vite || pkg.dependencies?.vite
|
|
254
|
+
if (hasVite) {
|
|
255
|
+
fs.writeFileSync('vite.config.js', `import { defineConfig } from 'vite'\n\nexport default defineConfig({\n base: './',\n})\n`)
|
|
256
|
+
console.log(chalk.green(" \u2713 Created vite.config.js with base: './'"))
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
|
|
224
260
|
console.log(chalk.green(`\n ✓ Created novacloud22.json`))
|
|
225
261
|
console.log(chalk.gray(` Site: ${FRONTEND_URL}/p/${answers.slug}`))
|
|
226
262
|
console.log(chalk.gray(` Run: novacloud22 deploy\n`))
|
|
@@ -269,7 +305,7 @@ program
|
|
|
269
305
|
spinner.text = `Uploading ${relativePath}...`
|
|
270
306
|
}
|
|
271
307
|
|
|
272
|
-
const res = await axios.post(`${
|
|
308
|
+
const res = await axios.post(`${SITES_API}/p/deploy`, form, {
|
|
273
309
|
headers: { ...headers, ...form.getHeaders() },
|
|
274
310
|
maxContentLength: Infinity,
|
|
275
311
|
maxBodyLength: Infinity,
|
|
@@ -301,7 +337,7 @@ program
|
|
|
301
337
|
const headers = authHeaders()
|
|
302
338
|
const spinner = ora('Fetching your sites...').start()
|
|
303
339
|
try {
|
|
304
|
-
const res = await axios.get(`${
|
|
340
|
+
const res = await axios.get(`${SITES_API}/p/my-sites`, { headers })
|
|
305
341
|
const sites = res.data.sites || []
|
|
306
342
|
spinner.stop()
|
|
307
343
|
|
|
@@ -398,7 +434,7 @@ program
|
|
|
398
434
|
|
|
399
435
|
const spinner = ora('Fetching status...').start()
|
|
400
436
|
try {
|
|
401
|
-
const res = await axios.get(`${
|
|
437
|
+
const res = await axios.get(`${SITES_API}/p/info/${config.slug}`, { headers })
|
|
402
438
|
spinner.stop()
|
|
403
439
|
const site = res.data
|
|
404
440
|
console.log(chalk.bold(` Site: /${site.slug}`))
|