create-ts-index
Version:
Automatic create index.ts file
72 lines • 6.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const chalk = tslib_1.__importStar(require("chalk"));
const fs = tslib_1.__importStar(require("fs"));
const glob_1 = tslib_1.__importDefault(require("glob"));
const path = tslib_1.__importStar(require("path"));
const util = tslib_1.__importStar(require("util"));
class CommandModule {
static targetFileFilter({ filenames, option, logger, }) {
const targetExts = option.targetExts.map((ext) => (ext.startsWith('.') ? ext : `.${ext}`));
try {
const filteredFiles = filenames
.filter((filename) => targetExts.indexOf(path.extname(filename)) >= 0)
.filter((filename) => {
return !option.excludes.reduce((result, exclude) => {
return result || path.dirname(filename).indexOf(exclude) >= 0;
}, false);
})
.filter((filename) => !filename.endsWith('.d.ts'))
.filter((filename) => {
return !option.fileExcludePatterns.reduce((result, excludePattern) => {
return result || filename.indexOf(excludePattern) >= 0;
}, false);
})
.filter((filename) => {
return !option.targetExts
.map((ext) => `index.${ext}`)
.reduce((result, indexFile) => {
return result || filename.indexOf(indexFile) >= 0;
}, false);
})
.filter((filename) => {
return filename !== '.';
});
return filteredFiles;
}
catch (err) {
logger.error(chalk.default.redBright('Error occured: ', err));
return [];
}
}
static getDefaultOption(cwd) {
return {
addNewline: true,
excludes: ['@types', 'typings', '__test__', '__tests__', 'node_modules'],
fileExcludePatterns: [],
fileFirst: false,
globOptions: {
cwd: cwd || process.cwd(),
dot: true,
nonull: true,
},
includeCWD: true,
quote: "'",
targetExts: ['ts', 'tsx'],
useSemicolon: true,
useTimestamp: false,
verbose: false,
withoutComment: false,
};
}
}
CommandModule.promisify = {
glob: util.promisify(glob_1.default),
readDir: util.promisify(fs.readdir),
stat: util.promisify(fs.stat),
unlink: util.promisify(fs.unlink),
writeFile: util.promisify(fs.writeFile),
};
exports.CommandModule = CommandModule;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tbWFuZE1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kcy9Db21tYW5kTW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQUErQjtBQUMvQiwrQ0FBeUI7QUFDekIsd0RBQXdCO0FBQ3hCLG1EQUE2QjtBQUM3QixtREFBNkI7QUFJN0IsTUFBYSxhQUFhO0lBU2pCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUM3QixTQUFTLEVBQ1QsTUFBTSxFQUNOLE1BQU0sR0FLUDtRQUNDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFM0YsSUFBSTtZQUNGLE1BQU0sYUFBYSxHQUFHLFNBQVM7aUJBRTVCLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUdyRSxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDbkIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFVLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxFQUFFO29CQUMxRCxPQUFPLE1BQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2hFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNaLENBQUMsQ0FBQztpQkFHRCxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFB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