Comparing version 1.0.0 to 1.1.0
@@ -5,2 +5,11 @@ # Change Log | ||
<a name="1.1.0"></a> | ||
# [1.1.0](/compare/v1.0.0...v1.1.0) (2018-12-28) | ||
### Features | ||
- add --require option 6379b68 | ||
- allow `module.exports = () => string` constructions 0c93643 | ||
<a name="1.0.0"></a> | ||
@@ -7,0 +16,0 @@ |
@@ -24,8 +24,12 @@ #!/usr/bin/env node | ||
Options | ||
--outDir where to output files to, defaults to [folder] | ||
--ext resulting extension, required | ||
--outDir where to output files to, defaults to [folder] | ||
--ext resulting extension, required | ||
--require require file before execution | ||
Examples | ||
$ js2file templates/ --outDir dist --ext html | ||
typescript | ||
$ js2file templates/ --outDir dist --ext html --require ts-node/register | ||
ttypescript | ||
$ TS_NODE_COMPILER=ttsc js2file templates/ --outDir dist --ext html --require ts-node/register | ||
`); | ||
@@ -32,0 +36,0 @@ if (cli.input.length !== 1) { |
export interface Options { | ||
outDir?: string; | ||
require?: string; | ||
ext: string; | ||
@@ -4,0 +5,0 @@ } |
@@ -18,8 +18,9 @@ "use strict"; | ||
const glob_1 = __importDefault(require("glob")); | ||
const utils_1 = require("./utils"); | ||
const glob = util_1.promisify(glob_1.default); | ||
function runAndSave(file, outDir, ext) { | ||
return __awaiter(this, void 0, void 0, function* () { | ||
const outFile = path_1.resolve(outDir, path_1.basename(file).replace(/\.js$/, `.${ext}`)); | ||
// TODO check for module.exports = () => string construction | ||
const { default: func } = require(file); | ||
const outFile = utils_1.getResultFile(file, outDir, ext); | ||
const content = require(file); | ||
const func = typeof content === "function" ? content : content.default; | ||
// TODO check func is a function | ||
@@ -36,3 +37,6 @@ const result = func(); | ||
const outDir = options.outDir || base; | ||
const files = yield glob(path_1.resolve(base, "**/*.js")); | ||
if (options.require) { | ||
require(options.require); | ||
} | ||
const files = yield glob(path_1.resolve(base, "**/*")); | ||
yield fs_extra_1.ensureDir(outDir); | ||
@@ -39,0 +43,0 @@ for (const file of files) { |
{ | ||
"name": "js-to-file", | ||
"version": "1.0.0", | ||
"version": "1.1.0", | ||
"description": "Evaluate js and output result to file", | ||
"keywords": [ | ||
"compile", | ||
"file", | ||
"output", | ||
"run", | ||
"typescript" | ||
@@ -7,0 +11,0 @@ ], |
@@ -32,6 +32,10 @@ # js-to-file | ||
--ext resulting extension, required | ||
--require require file before execution | ||
Examples | ||
$ js2file templates/ --outDir dist --ext html | ||
typescript | ||
$ js2file templates/ --outDir dist --ext html --require ts-node/register | ||
ttypescript | ||
$ TS_NODE_COMPILER=ttsc js2file templates/ --outDir dist --ext html --require ts-node/register | ||
``` | ||
@@ -38,0 +42,0 @@ |
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
9223
12
125
53
4