diff --git a/bin/cli.mjs b/bin/cli.mjs index f8ef9f6..872313e 100755 --- a/bin/cli.mjs +++ b/bin/cli.mjs @@ -1,7 +1,8 @@ #!/usr/bin/env node import { readFileSync, writeFileSync } from 'node:fs'; -import { resolve } from 'node:path'; +import { dirname, join, resolve } from 'node:path'; +import { fileURLToPath } from 'node:url'; import { program } from 'commander'; import Typograf from 'typograf'; @@ -9,6 +10,7 @@ import Typograf from 'typograf'; import utils from './utils.mjs'; import printError from './printError.mjs'; +const __dirname = dirname(fileURLToPath(import.meta.url)); const locales = Typograf.getLocales(); const types = ['digit', 'name', 'default']; @@ -17,7 +19,7 @@ function splitByCommas(str) { } program - .version(JSON.parse(readFileSync('./package.json', 'utf8')).version) + .version(JSON.parse(readFileSync(join(__dirname, '../package.json'), 'utf8')).version) .usage('[options] ') .option('-l, --locale ', `set the locale for rules (separated by commas). Available locales: "${locales.join('", "')}". Default: ru`, splitByCommas) .option('-d, --disable-rule ', 'disable rules (separated by commas)', splitByCommas) diff --git a/bin/utils.mjs b/bin/utils.mjs index 81673d6..0e4b20d 100644 --- a/bin/utils.mjs +++ b/bin/utils.mjs @@ -1,5 +1,6 @@ import { readFileSync, existsSync, statSync } from 'node:fs'; -import { extname } from 'node:path'; +import { dirname, extname, join } from 'node:path'; +import { fileURLToPath } from 'node:url'; import { program } from 'commander'; @@ -7,7 +8,8 @@ import lint from './lint.mjs'; import printError from './printError.mjs'; import Typograf from 'typograf'; -const defaultConfig = JSON.parse(readFileSync('./typograf.json', 'utf8')); +const __dirname = dirname(fileURLToPath(import.meta.url)); +const defaultConfig = JSON.parse(readFileSync(join(__dirname, '../typograf.json'), 'utf8')); const DEFAULT_USER_CONFIG = '.typograf.json';