Skip to content

Commit

Permalink
fix(cli 🐛): fix cli init version detection (#616)
Browse files Browse the repository at this point in the history
* fix(cli 🐛): fix cli init version detection

* fix(cli 🐛): delete fixture files
  • Loading branch information
phenomnomnominal authored Mar 20, 2021
1 parent f9c634b commit 08ea258
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 9 deletions.
4 changes: 2 additions & 2 deletions .betterer.results
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ exports[`no hack comments`] = {
"packages/cli/src/cli.ts:1074837834": [
[13, 0, 7, "RegExp match", "645651780"]
],
"packages/cli/src/init/update-package-json.ts:887451963": [
[34, 4, 7, "RegExp match", "645651780"]
"packages/cli/src/init/update-package-json.ts:1581318834": [
[7, 0, 7, "RegExp match", "645651780"]
]
}`
};
11 changes: 6 additions & 5 deletions packages/cli/src/init/update-package-json.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,12 @@ import { promises as fs } from 'fs';

import { BettererPackageJSON } from '../types';

// HACK:
// It's easier to use require than to try to get `await import`
// to work right for the package.json...
/* eslint-disable @typescript-eslint/no-var-requires */
const { version } = require('../../package.json') as BettererPackageJSON;

export async function run(logger: BettererLogger, cwd: string, ts: boolean): Promise<void> {
await logger.progress('adding "betterer" to package.json file...');

Expand Down Expand Up @@ -32,11 +38,6 @@ export async function run(logger: BettererLogger, cwd: string, ts: boolean): Pro
if (packageJSON.devDependencies['@betterer/cli']) {
await logger.warn('"@betterer/cli" dependency already exists, moving on...');
} else {
// HACK:
// It's easier to use require than to try to get `await import`
// to work right for the package.json...
/* eslint-disable @typescript-eslint/no-var-requires */
const { version } = require(packageJSONPath) as BettererPackageJSON;
packageJSON.devDependencies['@betterer/cli'] = `^${version}`;
await logger.info('added "@betterer/cli" dependency to package.json file');
}
Expand Down
6 changes: 4 additions & 2 deletions test/cli/betterer-init.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ import { createFixture } from '../fixture';

const ARGV = ['node', './bin/betterer', 'init'];

import { version } from '../../packages/cli/package.json';

describe('betterer cli', () => {
it('should initialise betterer in a repo', async () => {
const { cleanup, logs, paths, readFile, resolve } = await createFixture(
Expand All @@ -30,7 +32,7 @@ describe('betterer cli', () => {
const packageJSON = JSON.parse(await readFile(packageJSONPath)) as BettererPackageJSON;

expect(packageJSON.scripts.betterer).toEqual('betterer');
expect(packageJSON.devDependencies['@betterer/cli']).toBeDefined();
expect(packageJSON.devDependencies['@betterer/cli']).toEqual(`^${version}`);
expect(packageJSON.devDependencies['typescript']).toBeDefined();

const config = await readFile(configPath);
Expand Down Expand Up @@ -99,7 +101,7 @@ describe('betterer cli', () => {
const packageJSON = JSON.parse(await readFile(packageJSONPath)) as BettererPackageJSON;

expect(packageJSON.scripts.betterer).toEqual('betterer');
expect(packageJSON.devDependencies['@betterer/cli']).toBeDefined();
expect(packageJSON.devDependencies['@betterer/cli']).toEqual(`^${version}`);
expect(packageJSON.devDependencies['typescript']).not.toBeDefined();

const config = await readFile(configPath);
Expand Down

0 comments on commit 08ea258

Please sign in to comment.