diff --git a/packages/scripts/src/scripts/exportDir.ts b/packages/scripts/src/scripts/exportDir.ts new file mode 100644 index 0000000..ffbdd4f --- /dev/null +++ b/packages/scripts/src/scripts/exportDir.ts @@ -0,0 +1,28 @@ +import * as fs from 'fs' +import {argparse, arg} from '@rondo.dev/argparse' +import {join} from 'path' + +export async function exportDir(...argv: string[]) { + const args = argparse({ + project: arg('string', {default: '.', positional: true}), + dir: arg('string', {default: 'src/migrations'}), + out: arg('string', {default: 'src/migrations/index.ts'}), + help: arg('boolean', {alias: 'h'}), + }) + .parse(argv) + + const dir = join(args.project, args.dir) + const out = join(args.project, args.out) + + const index = '// This file has been autogenerated by exportDir script\n' + + fs.readdirSync(dir) + .filter(item => item.endsWith('.ts') && !item.endsWith('index.ts')) + .map(item => item.replace(/\.ts$/, '')) + .sort() + .map(item => `export * from './${item}'\n`) + .reduce((str, item) => str += item, '') + + // tslint:disable-next-line + console.log('Writing to %s', out) + fs.writeFileSync(join(dir, 'index.ts'), index) +} diff --git a/packages/scripts/src/scripts/index.ts b/packages/scripts/src/scripts/index.ts index 1c7cb4b..8d043a8 100644 --- a/packages/scripts/src/scripts/index.ts +++ b/packages/scripts/src/scripts/index.ts @@ -1,3 +1,4 @@ export * from './add' export * from './build' +export * from './exportDir' export * from './intergen' diff --git a/scripts/pack-migrations.js b/scripts/pack-migrations.js deleted file mode 100755 index ec1c0bd..0000000 --- a/scripts/pack-migrations.js +++ /dev/null @@ -1,15 +0,0 @@ -const fs = require('fs') -const path = require('path') - -const dir = process.argv[2] - -const index = fs.readdirSync(dir) -.filter(item => item.endsWith('.ts') && !item.endsWith('index.ts')) -.map(item => item.replace(/\.ts$/, '')) -.sort() -.map(item => `export * from './${item}'\n`) -.reduce((str, item) => str += item, '') - -const out = path.join(dir, 'index.ts') -console.log('Writing to %s', out) -fs.writeFileSync(path.join(dir, 'index.ts'), index)