diff --git a/.github/workflows/release-npm.yml b/.github/workflows/release-npm.yml new file mode 100644 index 0000000..15e1d2b --- /dev/null +++ b/.github/workflows/release-npm.yml @@ -0,0 +1,35 @@ +name: Publish Package to NPM + +on: + push: + tags: + - 'v*.*.*' + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup pnpm + uses: pnpm/action-setup@v4 + + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version: lts/* + registry-url: 'https://registry.npmjs.org' + cache: 'pnpm' + + - name: Install dependencies + run: pnpm install + + - name: Build package + run: pnpm run build + + - name: Publish to npm + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + run: pnpm publish --access public --no-git-checks \ No newline at end of file diff --git a/src/server.ts b/src/server.ts index 5a72de7..cdab3b1 100644 --- a/src/server.ts +++ b/src/server.ts @@ -37,10 +37,12 @@ export async function createServer( logger.info(colors.cyan(`\n waiting for electron to exit...`)) ps.removeAllListeners() + ps.on('exit', () => { + logger.info(colors.green(`\napp has been shut down...`)) + ps = startElectron(inlineConfig.root) + logger.info(colors.green(`\nrestart electron app...`)) + }) ps.kill() - ps = startElectron(inlineConfig.root) - - logger.info(colors.green(`\nrestart electron app...`)) } }