jizy-packer 2.1.45 → 2.1.47
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/_package/.gitignore.skel +2 -1
- package/_package/config/jpack.wrapper.js.skel +0 -1
- package/lib/Build.js +1 -1
- package/lib/Config.js +6 -5
- package/lib/Rollup.js +18 -8
- package/lib/utils.js +16 -0
- package/package.json +3 -2
package/_package/.gitignore.skel
CHANGED
package/lib/Build.js
CHANGED
package/lib/Config.js
CHANGED
|
@@ -22,19 +22,20 @@ const jPackConfig = {
|
|
|
22
22
|
},
|
|
23
23
|
|
|
24
24
|
/**
|
|
25
|
-
* Loads
|
|
25
|
+
* Loads version and license from package.json and sets them in the config.
|
|
26
26
|
*/
|
|
27
|
-
|
|
27
|
+
setPackageMeta: function () {
|
|
28
28
|
const pkgPath = path.join(jPackConfig.get('basePath'), 'package.json');
|
|
29
29
|
|
|
30
30
|
if (fs.existsSync(pkgPath)) {
|
|
31
31
|
const data = fs.readFileSync(pkgPath, 'utf8');
|
|
32
32
|
const json = JSON.parse(data);
|
|
33
33
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
34
|
+
this.set('version', json.version || '0.0.1');
|
|
35
|
+
if (json.license) {
|
|
36
|
+
this.set('license', json.license);
|
|
37
37
|
}
|
|
38
|
+
return;
|
|
38
39
|
}
|
|
39
40
|
|
|
40
41
|
this.set('version', '0.0.1');
|
package/lib/Rollup.js
CHANGED
|
@@ -10,15 +10,18 @@ import { fileURLToPath } from "url";
|
|
|
10
10
|
|
|
11
11
|
import jPackConfig from "./Config.js";
|
|
12
12
|
import LogMe from "./LogMe.js";
|
|
13
|
-
import { emptyTargetPath, moveFolderFiles, mirrorExampleFiles } from './utils.js';
|
|
13
|
+
import { emptyTargetPath, moveFolderFiles, mirrorExampleFiles, generateBanner } from './utils.js';
|
|
14
14
|
|
|
15
15
|
export default function jPackRollup() {
|
|
16
|
+
let banner = null;
|
|
17
|
+
|
|
16
18
|
return [
|
|
17
19
|
{
|
|
18
20
|
name: 'beforeBuild',
|
|
19
21
|
buildStart() {
|
|
20
22
|
LogMe.log('Prepare build folder');
|
|
21
23
|
emptyTargetPath(jPackConfig.get('targetPath'));
|
|
24
|
+
banner = generateBanner();
|
|
22
25
|
},
|
|
23
26
|
},
|
|
24
27
|
|
|
@@ -36,6 +39,17 @@ export default function jPackRollup() {
|
|
|
36
39
|
extensions: ['.less'], // Process LESS files
|
|
37
40
|
}),
|
|
38
41
|
|
|
42
|
+
{
|
|
43
|
+
name: 'cssBanner',
|
|
44
|
+
generateBundle(_, bundle) {
|
|
45
|
+
for (const [fileName, asset] of Object.entries(bundle)) {
|
|
46
|
+
if (asset.type === 'asset' && fileName.endsWith('.css')) {
|
|
47
|
+
asset.source = banner + '\n' + asset.source;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
|
|
39
53
|
url({
|
|
40
54
|
include: ['**/*.woff', '**/*.woff2'],
|
|
41
55
|
limit: 0,
|
|
@@ -59,7 +73,7 @@ export default function jPackRollup() {
|
|
|
59
73
|
{
|
|
60
74
|
name: 'wrap',
|
|
61
75
|
renderChunk(code) {
|
|
62
|
-
return generateWrappedJs(code);
|
|
76
|
+
return generateWrappedJs(code, banner);
|
|
63
77
|
},
|
|
64
78
|
},
|
|
65
79
|
|
|
@@ -107,10 +121,9 @@ function generateBuildJs() {
|
|
|
107
121
|
}
|
|
108
122
|
}
|
|
109
123
|
|
|
110
|
-
function generateWrappedJs(code) {
|
|
124
|
+
function generateWrappedJs(code, banner) {
|
|
111
125
|
LogMe.log('Generate wrapper.js');
|
|
112
126
|
|
|
113
|
-
const date = new Date();
|
|
114
127
|
const wrapper = fs.readFileSync(jPackConfig.get('wrapperPath'), 'utf8');
|
|
115
128
|
|
|
116
129
|
const marker = '// @CODE';
|
|
@@ -127,11 +140,8 @@ function generateWrappedJs(code) {
|
|
|
127
140
|
let insertPos = lineEnd !== -1 ? lineEnd + 1 : markerEnd;
|
|
128
141
|
|
|
129
142
|
let wrapped = wrapper.slice(0, insertPos) + code + '\n' + wrapper.slice(insertPos);
|
|
130
|
-
|
|
131
143
|
wrapped = wrapped.replace(marker, '');
|
|
132
|
-
wrapped =
|
|
133
|
-
wrapped = wrapped.replace(/@BUNDLE/g, jPackConfig.get('buildName'));
|
|
134
|
-
wrapped = wrapped.replace(/@DATE/g, date.toISOString().replace(/:\d+\.\d+Z$/, "Z"));
|
|
144
|
+
wrapped = banner + '\n' + wrapped;
|
|
135
145
|
|
|
136
146
|
const onGenerateWrappedJs = jPackConfig.get('onGenerateWrappedJs');
|
|
137
147
|
if (typeof onGenerateWrappedJs === 'function') {
|
package/lib/utils.js
CHANGED
|
@@ -1,8 +1,24 @@
|
|
|
1
1
|
import fs from 'fs';
|
|
2
2
|
import path from 'path';
|
|
3
3
|
import LogMe from './LogMe.js';
|
|
4
|
+
import jPackConfig from './Config.js';
|
|
4
5
|
import { fileURLToPath } from 'url';
|
|
5
6
|
|
|
7
|
+
export function generateBanner() {
|
|
8
|
+
const name = jPackConfig.get('name');
|
|
9
|
+
const version = jPackConfig.get('version');
|
|
10
|
+
const license = jPackConfig.get('license');
|
|
11
|
+
const buildName = jPackConfig.get('buildName');
|
|
12
|
+
const date = new Date().toISOString().replace(/:\d+\.\d+Z$/, 'Z');
|
|
13
|
+
|
|
14
|
+
const parts = [`${name} v${version}`];
|
|
15
|
+
if (license) parts.push(license);
|
|
16
|
+
parts.push(date);
|
|
17
|
+
parts.push(`[${buildName}]`);
|
|
18
|
+
|
|
19
|
+
return `/*! ${parts.join(' | ')} */`;
|
|
20
|
+
}
|
|
21
|
+
|
|
6
22
|
export function emptyTargetPath(targetPath, removeEmpty = false) {
|
|
7
23
|
if (!fs.existsSync(targetPath)) {
|
|
8
24
|
if (removeEmpty) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jizy-packer",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.47",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"files": [
|
|
6
6
|
"_example",
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
"author": "Joffrey Demetz <joffrey.demetz@gmail.com> (https://joffreydemetz.com/)",
|
|
26
26
|
"license": "MIT",
|
|
27
27
|
"description": "CLI app to generate optimized builds.",
|
|
28
|
+
"homepage": "https://jizy.joffreydemetz.com/packer",
|
|
28
29
|
"dependencies": {
|
|
29
30
|
"@rollup/plugin-commonjs": "^28.0.3",
|
|
30
31
|
"@rollup/plugin-json": "^6.1.0",
|
|
@@ -40,4 +41,4 @@
|
|
|
40
41
|
"svgo": "2.8.2",
|
|
41
42
|
"yaml@1": "1.10.3"
|
|
42
43
|
}
|
|
43
|
-
}
|
|
44
|
+
}
|