jizy-packer 2.1.46 → 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.
@@ -1,4 +1,3 @@
1
- /*! %MODULE_NAME% v@VERSION | MIT | @DATE | [@BUNDLE] */
2
1
  (function (global) {
3
2
  "use strict";
4
3
 
package/lib/Build.js CHANGED
@@ -90,7 +90,7 @@ export default async function jPackBuild({
90
90
  }
91
91
  }
92
92
 
93
- jPackConfig.setPackageVersion();
93
+ jPackConfig.setPackageMeta();
94
94
  jPackConfig.validate();
95
95
 
96
96
  try {
package/lib/Config.js CHANGED
@@ -22,19 +22,20 @@ const jPackConfig = {
22
22
  },
23
23
 
24
24
  /**
25
- * Loads the version from package.json and sets it in the config under 'version'.
25
+ * Loads version and license from package.json and sets them in the config.
26
26
  */
27
- setPackageVersion: function () {
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
- if (json.version) {
35
- this.set('version', json.version);
36
- return;
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 = wrapped.replace(/@VERSION/g, jPackConfig.get('version'));
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.46",
3
+ "version": "2.1.47",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "_example",