diff --git a/packages/medusa/src/commands/develop.js b/packages/medusa/src/commands/develop.js index 034c4caab2..6b173a0003 100644 --- a/packages/medusa/src/commands/develop.js +++ b/packages/medusa/src/commands/develop.js @@ -1,16 +1,44 @@ +import { EOL } from "os" +import boxen from "boxen" import path from "path" import { execSync } from "child_process" import spawn from "cross-spawn" import chokidar from "chokidar" +import Store from "medusa-telemetry/dist/store" import Logger from "../loaders/logger" +const defaultConfig = { + padding: 5, + borderColor: `blue`, + borderStyle: `double`, +} + export default async function ({ port, directory }) { const args = process.argv args.shift() args.shift() args.shift() + process.on("SIGINT", () => { + const configStore = new Store() + const hasPrompted = configStore.getConfig("star.prompted") ?? false + if (!hasPrompted) { + const defaultMessage = + `✨ Thanks for using Medusa. ✨${EOL}${EOL}` + + `If you liked it, please consider starring us on GitHub${EOL}` + + `https://medusajs.com/star${EOL}` + + `${EOL}` + + `Note: you will not see this message again.` + + console.log() + console.log(boxen(defaultMessage, defaultConfig)) + + configStore.setConfig("star.prompted", true) + } + process.exit(0) + }) + const babelPath = path.join(directory, "node_modules", ".bin", "babel") execSync(`"${babelPath}" src -d dist`, {