ghtml 2.1.0 → 2.1.2

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/.eslintrc.json CHANGED
@@ -2,8 +2,6 @@
2
2
  "root": true,
3
3
  "extends": ["plugin:grules/all"],
4
4
  "rules": {
5
- "no-await-in-loop": "off",
6
- "prefer-template": "off",
7
- "require-unicode-regexp": "off"
5
+ "prefer-template": "off"
8
6
  }
9
7
  }
package/bin/src/utils.js CHANGED
@@ -1,10 +1,7 @@
1
1
  import { createHash } from "node:crypto";
2
2
  import { readFile, writeFile } from "node:fs/promises";
3
3
  import { win32, posix } from "node:path";
4
- import { cpus } from "node:os";
5
4
  import { Glob } from "glob";
6
- import { promise as fastq } from "fastq";
7
- const fastqConcurrency = Math.max(1, cpus().length - 1);
8
5
 
9
6
  const generateFileHash = async (filePath) => {
10
7
  try {
@@ -91,10 +88,8 @@ const generateHashesAndReplace = async ({
91
88
  rootPath += "/";
92
89
  }
93
90
 
94
- const queue = fastq(generateFileHash, fastqConcurrency);
95
- const queuePromises = [];
91
+ const queue = [];
96
92
  const files = [];
97
-
98
93
  const filesIterable = new Glob("**/**", {
99
94
  nodir: true,
100
95
  follow: true,
@@ -104,13 +99,13 @@ const generateHashesAndReplace = async ({
104
99
  ignore: skipPatterns,
105
100
  });
106
101
 
107
- for await (let file of filesIterable) {
108
- file = file.split(win32.sep).join(posix.sep);
109
- files.push(file);
110
- queuePromises.push(queue.push(file));
102
+ for await (let filePath of filesIterable) {
103
+ filePath = filePath.split(win32.sep).join(posix.sep);
104
+ queue.push(generateFileHash(filePath));
105
+ files.push(filePath);
111
106
  }
112
107
 
113
- const hashes = await Promise.all(queuePromises);
108
+ const hashes = await Promise.all(queue);
114
109
 
115
110
  for (let i = 0; i < files.length; i++) {
116
111
  const fileRelativePath = posix.relative(rootPath, files[i]);
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "Replace your template engine with fast JavaScript by leveraging the power of tagged templates.",
4
4
  "author": "Gürgün Dayıoğlu",
5
5
  "license": "MIT",
6
- "version": "2.1.0",
6
+ "version": "2.1.2",
7
7
  "type": "module",
8
8
  "bin": "./bin/src/index.js",
9
9
  "main": "./src/index.js",
@@ -21,7 +21,6 @@
21
21
  "lint:fix": "eslint --fix . && prettier --write ."
22
22
  },
23
23
  "dependencies": {
24
- "fastq": "^1.17.1",
25
24
  "glob": "^10.4.2"
26
25
  },
27
26
  "devDependencies": {
package/src/html.js CHANGED
@@ -1,11 +1,11 @@
1
1
  const escapeRegExp = /["&'<>`]/;
2
+
2
3
  const escapeFunction = (string) => {
3
4
  const stringLength = string.length;
4
5
  let start = 0;
5
- let end = 0;
6
6
  let escaped = "";
7
7
 
8
- for (; end !== stringLength; ++end) {
8
+ for (let end = 0; end !== stringLength; ++end) {
9
9
  switch (string.charCodeAt(end)) {
10
10
  case 34: // "
11
11
  escaped += string.slice(start, end) + "&#34;";
@@ -34,7 +34,7 @@ const escapeFunction = (string) => {
34
34
  }
35
35
  }
36
36
 
37
- escaped += string.slice(start, end);
37
+ escaped += string.slice(start, stringLength);
38
38
 
39
39
  return escaped;
40
40
  };
@@ -46,10 +46,9 @@ const escapeFunction = (string) => {
46
46
  */
47
47
  const html = ({ raw: literals }, ...expressions) => {
48
48
  const expressionsLength = expressions.length;
49
- let index = 0;
50
49
  let accumulator = "";
51
50
 
52
- for (; index !== expressionsLength; ++index) {
51
+ for (let index = 0; index !== expressionsLength; ++index) {
53
52
  const expression = expressions[index];
54
53
  let literal = literals[index];
55
54
  let string =
@@ -70,7 +69,7 @@ const html = ({ raw: literals }, ...expressions) => {
70
69
  accumulator += literal + string;
71
70
  }
72
71
 
73
- accumulator += literals[index];
72
+ accumulator += literals[expressionsLength];
74
73
 
75
74
  return accumulator;
76
75
  };
@@ -82,9 +81,8 @@ const html = ({ raw: literals }, ...expressions) => {
82
81
  */
83
82
  const htmlGenerator = function* ({ raw: literals }, ...expressions) {
84
83
  const expressionsLength = expressions.length;
85
- let index = 0;
86
84
 
87
- for (; index !== expressionsLength; ++index) {
85
+ for (let index = 0; index !== expressionsLength; ++index) {
88
86
  let expression = expressions[index];
89
87
  let literal = literals[index];
90
88
  let string;
@@ -167,8 +165,8 @@ const htmlGenerator = function* ({ raw: literals }, ...expressions) {
167
165
  }
168
166
  }
169
167
 
170
- if (literals[index]) {
171
- yield literals[index];
168
+ if (literals[expressionsLength]) {
169
+ yield literals[expressionsLength];
172
170
  }
173
171
  };
174
172
 
@@ -179,9 +177,8 @@ const htmlGenerator = function* ({ raw: literals }, ...expressions) {
179
177
  */
180
178
  const htmlAsyncGenerator = async function* ({ raw: literals }, ...expressions) {
181
179
  const expressionsLength = expressions.length;
182
- let index = 0;
183
180
 
184
- for (; index !== expressionsLength; ++index) {
181
+ for (let index = 0; index !== expressionsLength; ++index) {
185
182
  let expression = await expressions[index];
186
183
  let literal = literals[index];
187
184
  let string;
@@ -267,8 +264,8 @@ const htmlAsyncGenerator = async function* ({ raw: literals }, ...expressions) {
267
264
  }
268
265
  }
269
266
 
270
- if (literals[index]) {
271
- yield literals[index];
267
+ if (literals[expressionsLength]) {
268
+ yield literals[expressionsLength];
272
269
  }
273
270
  };
274
271