| | |
| | | import { promises, readFileSync } from "fs" |
| | | import { promises } from "fs" |
| | | import path from "path" |
| | | import esbuild from "esbuild" |
| | | import chalk from "chalk" |
| | |
| | | ) |
| | | await fs.promises.writeFile(configFilePath, configContent) |
| | | |
| | | // setup remote |
| | | execSync( |
| | | `git remote show upstream || git remote add upstream https://github.com/jackyzha0/quartz.git`, |
| | | ) |
| | | |
| | | outro(`You're all set! Not sure what to do next? Try: |
| | | • Customizing Quartz a bit more by editing \`quartz.config.ts\` |
| | | • Running \`npx quartz build --serve\` to preview your Quartz locally |
| | |
| | | return serve() |
| | | }) |
| | | server.listen(argv.port) |
| | | const wss = new WebSocketServer({ port: 3001 }) |
| | | const wss = new WebSocketServer({ port: argv.wsPort }) |
| | | wss.on("connection", (ws) => connections.push(ws)) |
| | | console.log( |
| | | chalk.cyan( |
| | |
| | | console.log( |
| | | "Pulling updates... you may need to resolve some `git` conflicts if you've made changes to components or plugins.", |
| | | ) |
| | | gitPull(UPSTREAM_NAME, QUARTZ_SOURCE_BRANCH) |
| | | |
| | | try { |
| | | gitPull(UPSTREAM_NAME, QUARTZ_SOURCE_BRANCH) |
| | | } catch { |
| | | console.log(chalk.red("An error occured above while pulling updates.")) |
| | | await popContentFolder(contentFolder) |
| | | return |
| | | } |
| | | |
| | | await popContentFolder(contentFolder) |
| | | console.log("Ensuring dependencies are up to date") |
| | | spawnSync("npm", ["i"], { stdio: "inherit" }) |
| | | console.log(chalk.green("Done!")) |
| | | const res = spawnSync("npm", ["i"], { stdio: "inherit" }) |
| | | if (res.status === 0) { |
| | | console.log(chalk.green("Done!")) |
| | | } else { |
| | | console.log(chalk.red("An error occurred above while installing dependencies.")) |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | dateStyle: "medium", |
| | | timeStyle: "short", |
| | | }) |
| | | const commitMessage = argv.message ?? `Quartz sync: ${currentTimestamp}` |
| | | spawnSync("git", ["add", "."], { stdio: "inherit" }) |
| | | spawnSync("git", ["commit", "-m", `Quartz sync: ${currentTimestamp}`], { stdio: "inherit" }) |
| | | spawnSync("git", ["commit", "-m", commitMessage], { stdio: "inherit" }) |
| | | |
| | | if (contentStat.isSymbolicLink()) { |
| | | // put symlink back |
| | |
| | | console.log( |
| | | "Pulling updates from your repository. You may need to resolve some `git` conflicts if you've made changes to components or plugins.", |
| | | ) |
| | | gitPull(ORIGIN_NAME, QUARTZ_SOURCE_BRANCH) |
| | | try { |
| | | gitPull(ORIGIN_NAME, QUARTZ_SOURCE_BRANCH) |
| | | } catch { |
| | | console.log(chalk.red("An error occured above while pulling updates.")) |
| | | await popContentFolder(contentFolder) |
| | | return |
| | | } |
| | | } |
| | | |
| | | await popContentFolder(contentFolder) |
| | | if (argv.push) { |
| | | console.log("Pushing your changes") |
| | | spawnSync("git", ["push", "-f", ORIGIN_NAME, QUARTZ_SOURCE_BRANCH], { stdio: "inherit" }) |
| | | const res = spawnSync("git", ["push", "-f", ORIGIN_NAME, QUARTZ_SOURCE_BRANCH], { |
| | | stdio: "inherit", |
| | | }) |
| | | if (res.status !== 0) { |
| | | console.log(chalk.red(`An error occurred above while pushing to remote ${ORIGIN_NAME}.`)) |
| | | return |
| | | } |
| | | } |
| | | |
| | | console.log(chalk.green("Done!")) |