Add rondo exportDir script
This commit is contained in:
parent
b9e043e39e
commit
92c93db822
28
packages/scripts/src/scripts/exportDir.ts
Normal file
28
packages/scripts/src/scripts/exportDir.ts
Normal file
@ -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)
|
||||||
|
}
|
||||||
@ -1,3 +1,4 @@
|
|||||||
export * from './add'
|
export * from './add'
|
||||||
export * from './build'
|
export * from './build'
|
||||||
|
export * from './exportDir'
|
||||||
export * from './intergen'
|
export * from './intergen'
|
||||||
|
|||||||
@ -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)
|
|
||||||
Loading…
x
Reference in New Issue
Block a user