@newlogic-digital/core 1.0.7 → 1.0.9
Sign up to get free protection for your applications and to get access to all the features.
- package/index.js +24 -1
- package/package.json +2 -2
package/index.js
CHANGED
@@ -5,6 +5,7 @@ import latte from '@vituum/latte'
|
|
5
5
|
import lodash from 'lodash'
|
6
6
|
import minifier from 'html-minifier-terser'
|
7
7
|
import fs from 'fs'
|
8
|
+
import fse from 'fs-extra'
|
8
9
|
import { dirname, resolve } from 'path'
|
9
10
|
import postHtml from 'posthtml'
|
10
11
|
import highlight from './prism.js'
|
@@ -15,6 +16,8 @@ import postcssNesting from 'postcss-nesting'
|
|
15
16
|
import postcssCustomMedia from 'postcss-custom-media'
|
16
17
|
import postcssCustomSelectors from 'postcss-custom-selectors'
|
17
18
|
import autoprefixer from 'autoprefixer'
|
19
|
+
import chalk from 'chalk'
|
20
|
+
import FastGlob from 'fast-glob'
|
18
21
|
|
19
22
|
const posthtmlPrism = {
|
20
23
|
name: '@vituum/vite-plugin-posthtml-prism',
|
@@ -82,6 +85,10 @@ const parseMinifyHtml = async (input, name) => {
|
|
82
85
|
|
83
86
|
const defaultConfig = {
|
84
87
|
format: 'twig',
|
88
|
+
emails: {
|
89
|
+
outputDir: resolve(process.cwd(), 'public/emails'),
|
90
|
+
prodDir: resolve(process.cwd(), 'app/Templates/Emails')
|
91
|
+
},
|
85
92
|
posthtml: {},
|
86
93
|
juice: {},
|
87
94
|
tailwind: {},
|
@@ -256,7 +263,23 @@ const integration = (userConfig = {}) => {
|
|
256
263
|
|
257
264
|
return {
|
258
265
|
config: {
|
259
|
-
integrations: [posthtml(userConfig.posthtml), juice(userConfig.juice), twig(userConfig.twig), latte(userConfig.latte)
|
266
|
+
integrations: [posthtml(userConfig.posthtml), juice(userConfig.juice), twig(userConfig.twig), latte(userConfig.latte), {
|
267
|
+
task: {
|
268
|
+
name: 'emails',
|
269
|
+
action: async () => {
|
270
|
+
const emails = FastGlob.sync(`${resolve(process.cwd(), userConfig.emails.outputDir)}/**`).filter(entry => entry.endsWith('prod.html'))
|
271
|
+
const emailsProd = emails.map(path => {
|
272
|
+
return path.replace(resolve(process.cwd(), userConfig.emails.outputDir), resolve(process.cwd(), userConfig.emails.prodDir)).replace('.prod.html', '.latte')
|
273
|
+
})
|
274
|
+
|
275
|
+
await Promise.all(emails.map((file, i) =>
|
276
|
+
fse.move(file, emailsProd[i], { overwrite: true })
|
277
|
+
))
|
278
|
+
|
279
|
+
console.info(`${chalk.cyan(`newlogic-core`)} ${chalk.green('all email files moved')}`)
|
280
|
+
}
|
281
|
+
}
|
282
|
+
}],
|
260
283
|
plugins: [posthtmlPrism],
|
261
284
|
server: {
|
262
285
|
open: true,
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "@newlogic-digital/core",
|
3
3
|
"type": "module",
|
4
|
-
"version": "1.0.
|
4
|
+
"version": "1.0.9",
|
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",
|
@@ -19,7 +19,7 @@
|
|
19
19
|
"prismjs": "^1.29.0",
|
20
20
|
"html-minifier-terser": "^7.0.0",
|
21
21
|
"lodash": "^4.17.21",
|
22
|
-
"vituum": "^0.0.
|
22
|
+
"vituum": "^0.0.32"
|
23
23
|
},
|
24
24
|
"files": [
|
25
25
|
"latte",
|