@newlogic-digital/core 0.9.12 → 0.9.15
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/modules/Emails.js +14 -1
- package/modules/Templates.js +25 -15
- package/package.json +19 -19
package/modules/Emails.js
CHANGED
@@ -35,10 +35,23 @@ export class Emails {
|
|
35
35
|
hbsFiles = hbsFiles.replace("hbs", "{hbs,latte,tpl}")
|
36
36
|
}
|
37
37
|
|
38
|
+
let outputDir = "/" + Config.paths.output.root;
|
39
|
+
|
40
|
+
if (Config.paths.output.root === Config.paths.output.assets) {
|
41
|
+
outputDir = ""
|
42
|
+
}
|
43
|
+
|
38
44
|
const build = lazypipe().pipe(() => gulpif(twigFiles, twig({
|
39
45
|
functions: new Templates().functions,
|
40
46
|
filters: new Templates().filters,
|
41
|
-
extensions: new Templates().tags
|
47
|
+
extensions: new Templates().tags,
|
48
|
+
context: {
|
49
|
+
config: Config,
|
50
|
+
lang: Config.lang,
|
51
|
+
outputPath: "/" + Config.paths.output.root,
|
52
|
+
inputPath: "/" + Config.paths.input.root,
|
53
|
+
resolvePath: Config.serve.mode === "dev" ? "" : outputDir,
|
54
|
+
}
|
42
55
|
})))
|
43
56
|
.pipe(() => gulpif(hbsFiles, Modules.hbs.module(`${root + Config.paths.input.emails}/**/*.hbs`, Modules.hbs.helpers(Object.assign(new Templates().filters, new Templates().functions)))))
|
44
57
|
.pipe(() => gulpif("*.{hbs,twig}", rename({ extname: ".html" })))
|
package/modules/Templates.js
CHANGED
@@ -13,6 +13,8 @@ import loadLanguages from 'prismjs/components/index.js'
|
|
13
13
|
import NormalizeWhitespace from 'prismjs/plugins/normalize-whitespace/prism-normalize-whitespace.js'
|
14
14
|
import {Config, Exists, Functions, Modules, root} from "./Core.js";
|
15
15
|
|
16
|
+
loadLanguages(['markup', 'css', 'javascript'])
|
17
|
+
|
16
18
|
export class Templates {
|
17
19
|
get functions() {
|
18
20
|
return Object.assign(Config.templates.functions, {
|
@@ -239,8 +241,6 @@ export class Templates {
|
|
239
241
|
type = type.replace(":mirror", "")
|
240
242
|
}
|
241
243
|
|
242
|
-
loadLanguages(['markup', 'css', 'javascript'])
|
243
|
-
|
244
244
|
const Normalize = new NormalizeWhitespace({
|
245
245
|
'remove-trailing': true,
|
246
246
|
'remove-indent': true,
|
@@ -300,11 +300,11 @@ export class Templates {
|
|
300
300
|
(Twig) => {
|
301
301
|
Twig.exports.extendTag({
|
302
302
|
type: "json",
|
303
|
-
regex: /^json\s+(.+)$/,
|
303
|
+
regex: /^json\s+(.+)$|^json$/,
|
304
304
|
next: ["endjson"],
|
305
305
|
open: true,
|
306
306
|
compile: function (token) {
|
307
|
-
const expression = token.match[1]
|
307
|
+
const expression = token.match[1] ?? `'_null'`;
|
308
308
|
|
309
309
|
token.stack = Reflect.apply(Twig.expression.compile, this, [{
|
310
310
|
type: Twig.expression.type.expression,
|
@@ -318,17 +318,26 @@ export class Templates {
|
|
318
318
|
let name = Reflect.apply(Twig.expression.parse, this, [token.stack, context]);
|
319
319
|
let output = this.parse(token.output, context);
|
320
320
|
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
321
|
+
const minify = minifier.minify(output, {
|
322
|
+
collapseWhitespace: true,
|
323
|
+
collapseInlineTagWhitespace: false,
|
324
|
+
minifyCSS: true,
|
325
|
+
minifyJS: true
|
326
|
+
})
|
327
|
+
|
328
|
+
if (name === '_null') {
|
329
|
+
return {
|
330
|
+
chain: chain,
|
331
|
+
output: JSON.stringify(minify)
|
332
|
+
};
|
333
|
+
} else {
|
334
|
+
return {
|
335
|
+
chain: chain,
|
336
|
+
output: JSON.stringify({
|
337
|
+
[name]: minify
|
329
338
|
})
|
330
|
-
}
|
331
|
-
}
|
339
|
+
};
|
340
|
+
}
|
332
341
|
}
|
333
342
|
});
|
334
343
|
Twig.exports.extendTag({
|
@@ -374,7 +383,8 @@ export class Templates {
|
|
374
383
|
layout: {template: Config.templates.layout}
|
375
384
|
}),
|
376
385
|
namespaces: {
|
377
|
-
'src': Config.paths.input.root
|
386
|
+
'src': Config.paths.input.root,
|
387
|
+
'templates': Config.paths.input.templates
|
378
388
|
},
|
379
389
|
globals: root + Config.paths.input.main
|
380
390
|
}
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "@newlogic-digital/core",
|
3
3
|
"type": "module",
|
4
|
-
"version": "0.9.
|
4
|
+
"version": "0.9.15",
|
5
5
|
"main": "index.js",
|
6
6
|
"author": "New Logic Studio s.r.o.",
|
7
7
|
"description": "Set of tools that can be used to create modern web applications",
|
@@ -13,15 +13,15 @@
|
|
13
13
|
"tailwind": "rollup modules/tailwind/index.js --file modules/tailwind/index.cjs --format cjs"
|
14
14
|
},
|
15
15
|
"dependencies": {
|
16
|
-
"@babel/core": "^7.
|
17
|
-
"@babel/preset-env": "^7.
|
18
|
-
"@rollup/plugin-babel": "^5.3.
|
19
|
-
"@rollup/plugin-commonjs": "^
|
20
|
-
"@rollup/plugin-node-resolve": "^13.
|
21
|
-
"@rollup/plugin-replace": "^
|
16
|
+
"@babel/core": "^7.17.12",
|
17
|
+
"@babel/preset-env": "^7.17.12",
|
18
|
+
"@rollup/plugin-babel": "^5.3.1",
|
19
|
+
"@rollup/plugin-commonjs": "^22.0.0",
|
20
|
+
"@rollup/plugin-node-resolve": "^13.3.0",
|
21
|
+
"@rollup/plugin-replace": "^4.0.0",
|
22
22
|
"adm-zip": "^0.5.9",
|
23
|
-
"clean-css": "^5.
|
24
|
-
"fs-extra": "^10.
|
23
|
+
"clean-css": "^5.3.0",
|
24
|
+
"fs-extra": "^10.1.0",
|
25
25
|
"plugin-error": "^1.0.1",
|
26
26
|
"through2": "^4.0.2",
|
27
27
|
"twig": "^1.15.4",
|
@@ -40,23 +40,23 @@
|
|
40
40
|
"lazypipe": "^1.0.2",
|
41
41
|
"lodash": "^4.17.21",
|
42
42
|
"postcss-custom-media": "^8.0.0",
|
43
|
-
"postcss-custom-properties": "^12.1.
|
43
|
+
"postcss-custom-properties": "^12.1.7",
|
44
44
|
"postcss-custom-selectors": "^6.0.0",
|
45
|
-
"postcss-import": "^14.0
|
46
|
-
"postcss-nesting": "^10.1.
|
47
|
-
"rollup": "^2.
|
45
|
+
"postcss-import": "^14.1.0",
|
46
|
+
"postcss-nesting": "^10.1.6",
|
47
|
+
"rollup": "^2.73.0",
|
48
48
|
"rollup-plugin-import-map": "^2.2.2",
|
49
49
|
"rollup-plugin-terser": "^7.0.2",
|
50
|
-
"vite": "~2.
|
51
|
-
"prismjs": "^1.
|
50
|
+
"vite": "~2.9.9",
|
51
|
+
"prismjs": "^1.28.0"
|
52
52
|
},
|
53
53
|
"peerDependencies": {
|
54
|
-
"autoprefixer": "^10.4.
|
55
|
-
"postcss": "^8.4.
|
56
|
-
"tailwindcss": "^3.0.
|
54
|
+
"autoprefixer": "^10.4.7",
|
55
|
+
"postcss": "^8.4.13",
|
56
|
+
"tailwindcss": "^3.0.24"
|
57
57
|
},
|
58
58
|
"devDependencies": {
|
59
|
-
"vitepress": "^0.
|
59
|
+
"vitepress": "^0.22.4"
|
60
60
|
},
|
61
61
|
"files": [
|
62
62
|
"index.js",
|