@masatomakino/gulptask-ejs 0.3.3 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/bin/CLI.js +4 -6
- package/bin/index.d.ts +3 -2
- package/bin/index.d.ts.map +1 -1
- package/bin/index.js +14 -16
- package/package.json +30 -16
package/README.md
CHANGED
|
@@ -2,3 +2,5 @@
|
|
|
2
2
|
|
|
3
3
|
[](LICENSE)
|
|
4
4
|
[](https://badge.fury.io/js/@masatomakino%2Fgulptask-ejs)
|
|
5
|
+
[](https://codeclimate.com/github/MasatoMakino/gulptask-ejs/test_coverage)
|
|
6
|
+
[](https://codeclimate.com/github/MasatoMakino/gulptask-ejs/maintainability)
|
package/bin/CLI.js
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
const index_1 = require("./index");
|
|
6
|
-
const program = new commander_1.Command();
|
|
2
|
+
import { Command } from "commander";
|
|
3
|
+
import { generateTasks } from "./index.js";
|
|
4
|
+
const program = new Command();
|
|
7
5
|
program
|
|
8
6
|
.option("-W --watch", "watch mode. default : false")
|
|
9
7
|
.option("--srcDir <path>", "Source directory for ejs files ex. './src/ejs'")
|
|
@@ -12,7 +10,7 @@ program
|
|
|
12
10
|
.parse(process.argv);
|
|
13
11
|
const args = program.opts();
|
|
14
12
|
(async () => {
|
|
15
|
-
const task =
|
|
13
|
+
const task = generateTasks(args.srcDir, args.distDir, args.componentPatterns);
|
|
16
14
|
if (args.watch) {
|
|
17
15
|
task.watchEJS();
|
|
18
16
|
}
|
package/bin/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { FSWatcher } from "chokidar";
|
|
1
2
|
/**
|
|
2
3
|
* ejs変換タスクを取得する。
|
|
3
4
|
* @param srcDir - 入力ディレクトリ ex) "./src/"
|
|
@@ -6,7 +7,7 @@
|
|
|
6
7
|
* @return gulpタスク
|
|
7
8
|
*/
|
|
8
9
|
export declare function generateTasks(srcDir: string, distDir: string, componentPatterns?: string | string[]): {
|
|
9
|
-
buildEJS:
|
|
10
|
-
watchEJS:
|
|
10
|
+
buildEJS: () => Promise<void>;
|
|
11
|
+
watchEJS: () => FSWatcher;
|
|
11
12
|
};
|
|
12
13
|
//# sourceMappingURL=index.d.ts.map
|
package/bin/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAiB,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG/C;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GACpC;IACD,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,QAAQ,EAAE,MAAM,SAAS,CAAC;CAC3B,CA2BA"}
|
package/bin/index.js
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const chokidar = require("chokidar");
|
|
8
|
-
const promises_1 = require("fs/promises");
|
|
2
|
+
import ejs from "ejs";
|
|
3
|
+
import path from "path";
|
|
4
|
+
import { glob } from "glob";
|
|
5
|
+
import chokidar from "chokidar";
|
|
6
|
+
import { mkdir, writeFile } from "fs/promises";
|
|
9
7
|
/**
|
|
10
8
|
* ejs変換タスクを取得する。
|
|
11
9
|
* @param srcDir - 入力ディレクトリ ex) "./src/"
|
|
@@ -13,7 +11,7 @@ const promises_1 = require("fs/promises");
|
|
|
13
11
|
* @param componentPatterns - コンポーネントファイルのglob、出力対象にはならないが、watchの対象にはなる。
|
|
14
12
|
* @return gulpタスク
|
|
15
13
|
*/
|
|
16
|
-
function generateTasks(srcDir, distDir, componentPatterns) {
|
|
14
|
+
export function generateTasks(srcDir, distDir, componentPatterns) {
|
|
17
15
|
distDir = path.resolve(process.cwd(), distDir);
|
|
18
16
|
const buildEJS = async () => {
|
|
19
17
|
const srcFiles = await existsTarget(srcDir, componentPatterns);
|
|
@@ -22,19 +20,19 @@ function generateTasks(srcDir, distDir, componentPatterns) {
|
|
|
22
20
|
}
|
|
23
21
|
};
|
|
24
22
|
const watchEJS = () => {
|
|
25
|
-
chokidar
|
|
23
|
+
return chokidar
|
|
26
24
|
.watch(path.resolve(srcDir, "**/*.ejs"))
|
|
27
|
-
.on("all", (type, filePath) => {
|
|
25
|
+
.on("all", async (type, filePath) => {
|
|
28
26
|
console.log(`gulptask-ejs : [${type}] ${path.relative(srcDir, filePath)}`);
|
|
29
|
-
buildEJS();
|
|
27
|
+
await tasks.buildEJS();
|
|
30
28
|
});
|
|
31
29
|
};
|
|
32
|
-
|
|
30
|
+
const tasks = {
|
|
33
31
|
buildEJS,
|
|
34
32
|
watchEJS,
|
|
35
33
|
};
|
|
34
|
+
return tasks;
|
|
36
35
|
}
|
|
37
|
-
exports.generateTasks = generateTasks;
|
|
38
36
|
/**
|
|
39
37
|
* 1つのejsファイルをrenderingして、ファイルに保存する
|
|
40
38
|
* @param srcFile ファイルパス srcDirからの相対パス
|
|
@@ -44,11 +42,11 @@ exports.generateTasks = generateTasks;
|
|
|
44
42
|
const build = async (srcFile, srcDir, distDir) => {
|
|
45
43
|
const result = await ejs.renderFile(path.resolve(srcDir, srcFile));
|
|
46
44
|
const distPath = path.parse(path.resolve(distDir, srcFile));
|
|
47
|
-
await
|
|
48
|
-
await
|
|
45
|
+
await mkdir(distPath.dir, { recursive: true });
|
|
46
|
+
await writeFile(path.resolve(distPath.dir, distPath.name + ".html"), result);
|
|
49
47
|
};
|
|
50
48
|
const existsTarget = async (dir, ignorePattern) => {
|
|
51
|
-
const targets =
|
|
49
|
+
const targets = glob.sync("**/*.ejs", {
|
|
52
50
|
cwd: dir,
|
|
53
51
|
ignore: ignorePattern,
|
|
54
52
|
});
|
package/package.json
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@masatomakino/gulptask-ejs",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"description": "ejs compiler task for gulp.js",
|
|
5
|
-
"
|
|
5
|
+
"type": "module",
|
|
6
|
+
"exports": {
|
|
7
|
+
".": {
|
|
8
|
+
"types": "./bin/index.d.ts",
|
|
9
|
+
"default": "./bin/index.js"
|
|
10
|
+
}
|
|
11
|
+
},
|
|
6
12
|
"types": "./bin/index.d.ts",
|
|
7
13
|
"repository": {
|
|
8
14
|
"type": "git",
|
|
@@ -17,30 +23,38 @@
|
|
|
17
23
|
"gulptask-ejs": "bin/CLI.js"
|
|
18
24
|
},
|
|
19
25
|
"dependencies": {
|
|
20
|
-
"chokidar": "^3.
|
|
21
|
-
"commander": "^
|
|
22
|
-
"ejs": "^3.1.
|
|
23
|
-
"glob": "^
|
|
26
|
+
"chokidar": "^3.6.0",
|
|
27
|
+
"commander": "^11.1.0",
|
|
28
|
+
"ejs": "^3.1.9",
|
|
29
|
+
"glob": "^10.3.10"
|
|
24
30
|
},
|
|
25
31
|
"devDependencies": {
|
|
26
|
-
"@types/ejs": "^3.1.
|
|
27
|
-
"@types/
|
|
28
|
-
"@
|
|
29
|
-
"husky": "^
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"typescript": "^
|
|
32
|
+
"@types/ejs": "^3.1.3",
|
|
33
|
+
"@types/node": "^20.11.17",
|
|
34
|
+
"@vitest/coverage-istanbul": "^1.0.4",
|
|
35
|
+
"husky": "^9.0.11",
|
|
36
|
+
"lint-staged": "^15.0.0",
|
|
37
|
+
"prettier": "^3.0.3",
|
|
38
|
+
"typescript": "^5.2.2",
|
|
39
|
+
"vitest": "^1.0.4"
|
|
33
40
|
},
|
|
34
41
|
"scripts": {
|
|
35
42
|
"build": "tsc",
|
|
36
43
|
"dev": "tsc -w",
|
|
37
|
-
"
|
|
44
|
+
"test": "vitest",
|
|
45
|
+
"coverage": "vitest --run --coverage",
|
|
38
46
|
"testRun": "node bin/CLI.js --srcDir ./testEjs --distDir ./dist --componentPatterns '**/_*.ejs'",
|
|
39
47
|
"buildEJS": "npx @masatomakino/gulptask-ejs --srcDir ./testEjs --distDir ./dist --componentPatterns '**/_*.ejs'",
|
|
40
|
-
"watchEJS": "npm run buildEJS -- -W"
|
|
48
|
+
"watchEJS": "npm run buildEJS -- -W",
|
|
49
|
+
"preversion": "git checkout main && git pull && npm ci && npx vitest --run",
|
|
50
|
+
"postversion": "git add package.json package-lock.json && git checkout -b version/$(git describe --tags --abbrev=0)",
|
|
51
|
+
"prepare": "husky"
|
|
41
52
|
},
|
|
42
53
|
"bugs": {
|
|
43
54
|
"url": "https://github.com/MasatoMakino/gulptask-ejs/issues"
|
|
44
55
|
},
|
|
45
|
-
"homepage": "https://github.com/MasatoMakino/gulptask-ejs#readme"
|
|
56
|
+
"homepage": "https://github.com/MasatoMakino/gulptask-ejs#readme",
|
|
57
|
+
"lint-staged": {
|
|
58
|
+
"*.{js,ts,css,md}": "prettier --write"
|
|
59
|
+
}
|
|
46
60
|
}
|