diff --git a/args.js b/args.js index e877f675..478226d8 100644 --- a/args.js +++ b/args.js @@ -52,7 +52,8 @@ const CLI_OPTIONS = { 'include-hooks': { type: 'boolean' }, 'trust-proxy-enabled': { type: 'boolean' }, help: { type: 'boolean', short: 'h' }, - 'debug-port': { type: 'string', short: 'I' } + 'debug-port': { type: 'string', short: 'I' }, + yaml: { type: 'boolean' } } module.exports = function parseCliArgs (args) { diff --git a/cli.js b/cli.js index 0312bb1d..7a606301 100755 --- a/cli.js +++ b/cli.js @@ -5,7 +5,9 @@ const path = require('node:path') const commist = require('commist')() const { parseArgs } = require('node:util') -const argv = parseArgs({ args: process.argv.slice(2), strict: false, allowPositionals: true }).values +const parsed = parseArgs({ args: process.argv.slice(2), strict: false, allowPositionals: true }) +const argv = parsed.values +const positionals = parsed.positionals const help = require('help-me')({ // the default dir: path.join(path.dirname(require.main.filename), 'help') @@ -32,7 +34,7 @@ commist.register('print-routes', printRoutes.cli) commist.register('print-plugins', printPlugins.cli) if (argv.help) { - const command = argv._.splice(2)[0] + const command = positionals[0] help.toStdout(command) } else { diff --git a/generate-plugin.js b/generate-plugin.js index 8a8c88e4..0c71a68f 100755 --- a/generate-plugin.js +++ b/generate-plugin.js @@ -6,7 +6,7 @@ const { } = require('node:fs').promises const { existsSync } = require('node:fs') const path = require('node:path') -const chalk = require('chalk') +const chalk = require('chalk').default const generify = require('generify') const parseArgs = require('./lib/parse-args') const cliPkg = require('./package') @@ -69,7 +69,9 @@ async function generate (dir, template) { pkg.scripts = Object.assign(pkg.scripts || {}, template.scripts) pkg.dependencies = Object.assign(pkg.dependencies || {}, template.dependencies) pkg.devDependencies = Object.assign(pkg.devDependencies || {}, template.devDependencies) - pkg.tstyche = Object.assign(pkg.tstyche || {}, template.tstyche) + if (template.tstyche) { + pkg.tstyche = Object.assign(pkg.tstyche || {}, template.tstyche) + } log('debug', 'edited package.json, saving') diff --git a/generate.js b/generate.js index 407ccef8..ddc5b6f2 100755 --- a/generate.js +++ b/generate.js @@ -6,7 +6,7 @@ const { existsSync } = require('node:fs') const path = require('node:path') -const chalk = require('chalk') +const chalk = require('chalk').default const generify = require('generify') const parseArgs = require('./lib/parse-args') const cliPkg = require('./package') diff --git a/lib/watch/fork.js b/lib/watch/fork.js index d4ee7922..9f800430 100644 --- a/lib/watch/fork.js +++ b/lib/watch/fork.js @@ -1,6 +1,6 @@ 'use strict' -const chalk = require('chalk') +const chalk = require('chalk').default const { stop, runFastify } = require('../../start') const { diff --git a/lib/watch/index.js b/lib/watch/index.js index b4f53859..d8c736b1 100644 --- a/lib/watch/index.js +++ b/lib/watch/index.js @@ -2,7 +2,7 @@ const path = require('node:path') const cp = require('node:child_process') -const chalk = require('chalk') +const chalk = require('chalk').default const { arrayToRegExp, logWatchVerbose } = require('./utils') const { GRACEFUL_SHUT } = require('./constants.js') diff --git a/lib/watch/utils.js b/lib/watch/utils.js index dae37507..6f49c3c6 100644 --- a/lib/watch/utils.js +++ b/lib/watch/utils.js @@ -1,6 +1,6 @@ 'use strict' -const chalk = require('chalk') +const chalk = require('chalk').default const path = require('node:path') const arrayToRegExp = (arr) => { diff --git a/log.js b/log.js index 84987b9a..ffeeb3c1 100644 --- a/log.js +++ b/log.js @@ -1,6 +1,6 @@ 'use strict' -const chalk = require('chalk') +const chalk = require('chalk').default const levels = { debug: 0, diff --git a/start.js b/start.js index ef0d614c..ed61cd34 100755 --- a/start.js +++ b/start.js @@ -4,7 +4,7 @@ const { loadEnvQuitely } = require('./env-loader') loadEnvQuitely() -const isDocker = require('is-docker') +const isDocker = require('is-docker').default const closeWithGrace = require('close-with-grace') const deepmerge = require('@fastify/deepmerge')({ diff --git a/suite-runner.js b/suite-runner.js index 8a1408c5..71f6f410 100644 --- a/suite-runner.js +++ b/suite-runner.js @@ -3,15 +3,12 @@ const { spec } = require('node:test/reporters') const path = require('node:path') const { glob } = require('glob') -const pattern = process.argv[process.argv.length - 1] +async function main () { + const pattern = process.argv[process.argv.length - 1] -console.info(`Running tests matching ${pattern}`) -const timeout = 10 * 60 * 1000 // 10 minutes -glob(pattern, (err, matches) => { - if (err) { - console.error(err) - process.exit(1) - } + console.info(`Running tests matching ${pattern}`) + const timeout = 10 * 60 * 1000 // 10 minutes + const matches = await glob(pattern) const resolved = matches.map(file => path.resolve(file)) const testRs = run({ files: resolved, timeout }) .on('test:fail', () => { @@ -19,4 +16,9 @@ glob(pattern, (err, matches) => { }) .compose(spec) testRs.pipe(process.stdout) +} + +main().catch(err => { + console.error(err) + process.exit(1) }) diff --git a/test/configs/ts-cjs.tsconfig.json b/test/configs/ts-cjs.tsconfig.json index 5e0e7973..2edc6e4b 100644 --- a/test/configs/ts-cjs.tsconfig.json +++ b/test/configs/ts-cjs.tsconfig.json @@ -2,7 +2,8 @@ "extends": "../../node_modules/fastify-tsconfig/tsconfig.json", "compilerOptions": { "outDir": "dist", - "sourceMap": true + "sourceMap": true, + "types": ["node"] }, "include": ["src/**/*.ts"] } diff --git a/test/configs/ts-esm.tsconfig.json b/test/configs/ts-esm.tsconfig.json index b52b3ee8..f8d13235 100644 --- a/test/configs/ts-esm.tsconfig.json +++ b/test/configs/ts-esm.tsconfig.json @@ -6,7 +6,8 @@ "moduleResolution": "NodeNext", "module": "NodeNext", "target": "ES2022", - "esModuleInterop": true + "esModuleInterop": true, + "types": ["node"] }, "include": ["src/**/*.ts"] } diff --git a/util.js b/util.js index 7a0bb9d2..2e58fe32 100644 --- a/util.js +++ b/util.js @@ -4,7 +4,7 @@ const fs = require('node:fs') const path = require('node:path') const url = require('node:url') const semver = require('semver') -const pkgUp = require('pkg-up') +const { pkgUp } = require('pkg-up') const resolveFrom = require('resolve-from') const moduleSupport = semver.satisfies(process.version, '>= 14 || >= 12.17.0 < 13.0.0')