diff --git a/.releaserc b/.releaserc index 5461ec9..cb28cda 100644 --- a/.releaserc +++ b/.releaserc @@ -17,7 +17,7 @@ "successComment": false, "failComment": false, "assets": [ - { "path": "dist/**/*", "label": "Transpiled source files for distribution" }, + { "path": "dist/**/*" }, ] } ] diff --git a/packages/cli/package.json b/packages/cli/package.json index 16305f9..fea243f 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -27,8 +27,10 @@ }, "scripts": { "build": "tsc", + "postbuild": "node ./scripts/post-install.js", "dev": "tsc && ENV=dev node dist/src/index.js", - "test": "vitest" + "test": "vitest", + "postinstall": "node ./scripts/post-install.js" }, "bugs": { "url": "https://github.com/isneezy/pdf-generator-service/issues" diff --git a/packages/cli/scripts/post-install.js b/packages/cli/scripts/post-install.js new file mode 100644 index 0000000..3972383 --- /dev/null +++ b/packages/cli/scripts/post-install.js @@ -0,0 +1,12 @@ +/* eslint-disable @typescript-eslint/no-var-requires */ +const { existsSync, readFileSync, writeFileSync } = require('fs') +const path = require('path') + +const SHEBANG = '#!/usr/bin/env node' +const binFile = path.resolve(__dirname, '../dist/src/index.js') + +if (existsSync(binFile)) { + const content = readFileSync(binFile, 'utf-8').trim() + if (content.startsWith(SHEBANG)) return + writeFileSync(binFile, `${SHEBANG}\n\n${content}`) +} diff --git a/packages/cli/src/index.ts b/packages/cli/src/index.ts index b58f1f8..5899594 100644 --- a/packages/cli/src/index.ts +++ b/packages/cli/src/index.ts @@ -1,5 +1,3 @@ -#!/usr/bin/env node - import { resolve } from 'path' import { writeFileSync, existsSync, readFileSync } from 'fs' import pkg from '../package.json' diff --git a/packages/service/package.json b/packages/service/package.json index 2e3dfe8..ff1c00c 100644 --- a/packages/service/package.json +++ b/packages/service/package.json @@ -15,7 +15,7 @@ "generator" ], "author": "Ivan Vilanculo ", - "homepage": "https://github.com/isneezy/pdf-generator-service/tree/main/packages/pdf-generator-service#readme", + "homepage": "https://github.com/isneezy/pdf-generator-service/blob/master/README.md", "license": "MIT", "bin": { "pdf-generator-service": "./dist/src/pdf-generator-service.js" @@ -31,8 +31,10 @@ }, "scripts": { "build": "tsc", + "postbuild": "node ./scripts/post-install.js", "dev": "nodemon", - "test": "vitest" + "test": "vitest", + "postinstall": "node ./scripts/post-install.js" }, "bugs": { "url": "https://github.com/isneezy/pdf-generator-service/issues" diff --git a/packages/service/scripts/post-install.js b/packages/service/scripts/post-install.js new file mode 100644 index 0000000..ca70fa9 --- /dev/null +++ b/packages/service/scripts/post-install.js @@ -0,0 +1,12 @@ +/* eslint-disable @typescript-eslint/no-var-requires */ +const { existsSync, readFileSync, writeFileSync } = require('fs') +const path = require('path') + +const SHEBANG = '#!/usr/bin/env node' +const binFile = path.resolve(__dirname, '../dist/src/pdf-generator-service.js') + +if (existsSync(binFile)) { + const content = readFileSync(binFile, 'utf-8').trim() + if (content.startsWith(SHEBANG)) return + writeFileSync(binFile, `${SHEBANG}\n\n${content}`) +} diff --git a/packages/service/src/pdf-generator-service.ts b/packages/service/src/pdf-generator-service.ts index 9aba578..5a7b7f0 100644 --- a/packages/service/src/pdf-generator-service.ts +++ b/packages/service/src/pdf-generator-service.ts @@ -1,5 +1,3 @@ -#!/usr/bin/env node - import { program } from 'commander' import pkg from '../package.json' import { createApp } from './app'