bde148f286
* wip * some extra fixes * stuff kinda works? * need to figure out mocks * need to figure out mocks * fix db listener * gqlgen fix * minor gqlgen watch adjustment * lint fixes * delete old codegen file * converting migrations to ESM * getModuleDIrectory * vitest sort of works * added back ts-vitest * resolve gql double load * fixing test timeout configs * TSC lint fix * fix automate tests * moar debugging * debugging * more debugging * codegen update * server works * yargs migrated * chore(server): getting rid of global mocks for Server ESM (#5046) * got rid of email mock * got rid of comment mocks * got rid of multi region mocks * got rid of stripe mock * admin override mock updated * removed final mock * fixing import.meta.resolve calls * another import.meta.resolve fix * added requested test * nyc ESM fix * removed unneeded deps + linting * yarn lock forgot to commit * tryna fix flakyness * email capture util fix * sendEmail fix * fix TSX check * sender transporter fix + CR comments * merge main fix * test fixx * circleci fix * gqlgen bigint fix * error formatter fix * more error formatting improvements * esmloader added to Dockerfile * more dockerfile fixes * bg jobs fix
54 lines
1.6 KiB
TypeScript
54 lines
1.6 KiB
TypeScript
/* eslint-disable no-restricted-imports */
|
|
import '../../bootstrap.js'
|
|
import path from 'path'
|
|
import yargs from 'yargs'
|
|
import { hideBin } from 'yargs/helpers'
|
|
import { cliLogger as logger } from '@/observability/logging'
|
|
import { isTestEnv } from '@/modules/shared/helpers/envHelper'
|
|
import { beforeEntireTestRun } from '@/test/hooks'
|
|
import { getModuleDirectory } from '@speckle/shared/environment/node'
|
|
|
|
const main = async () => {
|
|
await yargs(hideBin(process.argv))
|
|
.scriptName('yarn cli')
|
|
.usage('$0 <cmd> [args]')
|
|
.commandDir(path.resolve(getModuleDirectory(import.meta), './commands'), {
|
|
extensions: ['js', 'ts']
|
|
})
|
|
.option('beforeAll', {
|
|
type: 'boolean',
|
|
default: false,
|
|
describe: 'Run beforeAll hooks before running migrations, if in test mode'
|
|
})
|
|
.demandCommand()
|
|
.middleware(async (argv) => {
|
|
// If beforeAll set, run beforeAll
|
|
const isBeforeAllSet = !!argv.beforeAll
|
|
|
|
// In test env, run beforeAll hooks to properly initialize everything first
|
|
if (isBeforeAllSet && isTestEnv()) {
|
|
logger.info('Running test beforeAll hooks...')
|
|
await beforeEntireTestRun()
|
|
}
|
|
})
|
|
.fail((msg, err, yargs) => {
|
|
if (!err) {
|
|
// If validation error (no err instance) then just show help and show the message
|
|
console.log(yargs.help())
|
|
console.log('\n', msg)
|
|
} else {
|
|
// If actual app error occurred, show the msg, but don't show help info
|
|
logger.error(err)
|
|
console.log('\n', 'Specify --help for available options')
|
|
}
|
|
|
|
process.exit(1)
|
|
})
|
|
.help()
|
|
.parseAsync()
|
|
|
|
process.exit(0)
|
|
}
|
|
|
|
await main()
|