From ff9f24e52b2a2f531137c394060bb9ad2a214928 Mon Sep 17 00:00:00 2001 From: Preston Neal Date: Sat, 20 May 2023 10:17:38 -0700 Subject: [PATCH 1/2] read version from package.json again --- package-lock.json | 4 ++-- package.json | 3 ++- src/index.ts | 2 +- tests/index.spec.ts | 14 +++----------- 4 files changed, 8 insertions(+), 15 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3ceb3df..b5183fe 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "smodg", - "version": "1.1.2", + "version": "1.2.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "smodg", - "version": "1.1.2", + "version": "1.2.0", "license": "ISC", "dependencies": { "minimist": "^1.2.8", diff --git a/package.json b/package.json index 02f2111..9b1f2fc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "smodg", - "version": "1.2.0", + "version": "1.3.0", "description": "Generate basic Sequelize models from TypeScript declaration files", "main": "index.js", "bin": { @@ -8,6 +8,7 @@ }, "scripts": { "test": "jest", + "test:watch": "jest --watch", "dev": "node ./dist/index.js", "build": "rimraf ./dist && npx tsc && copyfiles package.json README.md LICENSE dist/" }, diff --git a/src/index.ts b/src/index.ts index 35a3381..c76590b 100644 --- a/src/index.ts +++ b/src/index.ts @@ -6,7 +6,7 @@ import { generateModelInputs } from './parser'; import { modelTemplate, migrationTemplate } from './templates'; import { kebabCase } from './formatters'; -const version = "1.1.2" +const version = require('../package.json').version export const main = (args: minimist.ParsedArgs) => { diff --git a/tests/index.spec.ts b/tests/index.spec.ts index 7333e3c..9a75a69 100644 --- a/tests/index.spec.ts +++ b/tests/index.spec.ts @@ -3,24 +3,16 @@ const fs = require('node:fs') jest.mock('node:fs') jest.mock('../package.json', () => ({ - version: '1.2.3' + version: '99.99.99' }), {virtual: true}) import { - printVersion, printHelp, writeModelToFile, main } from '../src/index' describe('cli', () => { - describe('printVersion', () => { - test('should print the current app version', () => { - console.log = jest.fn() - printVersion() - expect(console.log).toHaveBeenCalledWith('smodg v1.1.2') - }) - }) describe('printHelp', () => { test('should print help text', () => { console.log = jest.fn() @@ -109,14 +101,14 @@ describe('cli', () => { // smodg -v args = {_: [], v: true} main(args) - expect(console.log).toHaveBeenCalledWith('smodg v1.1.2') + expect(console.log).toHaveBeenCalledWith('smodg v99.99.99') jest.resetAllMocks() // smodg --version args = {_: [], version: true} main(args) - expect(console.log).toHaveBeenCalledWith('smodg v1.1.2') + expect(console.log).toHaveBeenCalledWith('smodg v99.99.99') }) From e9714e721d8651f40e30986650952b47fa7b6e35 Mon Sep 17 00:00:00 2001 From: Preston Neal Date: Sat, 20 May 2023 11:05:57 -0700 Subject: [PATCH 2/2] fix version tests --- package.json | 3 +++ src/index.ts | 11 ++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 9b1f2fc..a46c928 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,9 @@ "bin": { "smodg": "./index.js" }, + "exports": { + "./package.json": "./package.json" + }, "scripts": { "test": "jest", "test:watch": "jest --watch", diff --git a/src/index.ts b/src/index.ts index c76590b..00c30cb 100644 --- a/src/index.ts +++ b/src/index.ts @@ -2,11 +2,20 @@ import fs from 'node:fs' import minimist from 'minimist'; +import path from 'path'; import { generateModelInputs } from './parser'; import { modelTemplate, migrationTemplate } from './templates'; import { kebabCase } from './formatters'; -const version = require('../package.json').version +let packageJsonPath: string; + +if (process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'test') { + packageJsonPath = path.resolve(__dirname, '..', 'package.json'); +} else { + packageJsonPath = path.resolve(__dirname, 'package.json'); +} + +const version = require(packageJsonPath).version export const main = (args: minimist.ParsedArgs) => {