@changke/staticnext-build 0.2.4 → 0.3.0

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/CHANGELOG.md CHANGED
@@ -4,27 +4,32 @@ All notable changes to this project will be documented in this file.
4
4
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5
5
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
- ### 0.2.4
7
+ ## 0.3.0
8
+ 2023-07-09
9
+ ### Added
10
+ - Support additional "source/target" pairs in `copy` task
11
+
12
+ ## 0.2.4
8
13
  2023-07-01
9
14
  ### Changed
10
15
  - Updated `esbuild` to v0.18.11
11
16
 
12
- ### 0.2.3
17
+ ## 0.2.3
13
18
  2023-06-30
14
19
  ### Changed
15
20
  - Code refactoring; Typedefs in external file
16
21
 
17
- ### 0.2.2
22
+ ## 0.2.2
18
23
  2023-06-28
19
24
  ### Changed
20
25
  - Updated `esbuild` to v0.18.10
21
26
 
22
- ### 0.2.1
27
+ ## 0.2.1
23
28
  2023-06-25
24
29
  ### Changed
25
30
  - Updated `esbuild` to v0.18.9
26
31
 
27
- ### 0.2.0
32
+ ## 0.2.0
28
33
  2023-06-24
29
34
  ### Changed
30
35
  - Better merging object supports nested object values
package/lib/config.mjs CHANGED
@@ -78,6 +78,24 @@ class Config {
78
78
  });
79
79
  return [mainEntryPath].concat(moduleEntryFiles);
80
80
  };
81
+
82
+ /**
83
+ * Build (additional) copy pairs
84
+ *
85
+ * @param {STPair[]} copyPairs
86
+ * @param {string} sourceRoot
87
+ * @param {string} targetRoot
88
+ * @param {boolean} appendSourcePath
89
+ */
90
+ getCopyPairs = (copyPairs, sourceRoot, targetRoot, appendSourcePath = false) => {
91
+ return copyPairs.map(pr => {
92
+ if (appendSourcePath) {
93
+ pr.sources = `${appendSourcePath}${pr.sources}`;
94
+ }
95
+ pr.target = `${targetRoot}${pr.target}`;
96
+ return pr;
97
+ });
98
+ };
81
99
  }
82
100
 
83
101
  const config = new Config();
@@ -1,11 +1,5 @@
1
1
  import cpy from 'cpy';
2
2
 
3
- /**
4
- * @typedef {Object} STPair
5
- * @property {(string|string[])} sources
6
- * @property {string} target
7
- */
8
-
9
3
  /**
10
4
  * Copy (different) assets
11
5
  *
@@ -14,7 +8,7 @@ import cpy from 'cpy';
14
8
  */
15
9
  const copy = (sourceTargetPairs) => {
16
10
  console.log('=> copy');
17
- return Promise.all(sourceTargetPairs.map(pair => cpy(pair.sources, pair.target)));
11
+ return Promise.all(sourceTargetPairs.map(pair => cpy(pair.sources, pair.target, pair.opts)));
18
12
  };
19
13
 
20
14
  export {copy};
package/lib/typedefs.mjs CHANGED
@@ -14,6 +14,15 @@
14
14
  * @property {string=} markdown Path for markdown files
15
15
  */
16
16
 
17
+ /**
18
+ * Source/Target pairs for "copy" task
19
+ *
20
+ * @typedef {Object} STPair
21
+ * @property {(string|string[])} sources
22
+ * @property {string} target
23
+ * @property {Object=} opts
24
+ */
25
+
17
26
  /**
18
27
  * Helper to create an array with input source TS files for esbuild
19
28
  *
@@ -48,6 +57,7 @@
48
57
  * @property {string} assetsUrlPath Path of assets used in URL for resource loading etc.
49
58
  * @property {boolean} markdownEnabled Enable markdown feature or not
50
59
  * @property {Object} njkGlobals Global variables assigned to Nunjucks compiler
60
+ * @property {STPair[]=} copyPairs Additional pairs for copy task
51
61
  */
52
62
 
53
63
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@changke/staticnext-build",
3
- "version": "0.2.4",
3
+ "version": "0.3.0",
4
4
  "description": "Build scripts extracted from StaticNext seed project",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -26,9 +26,9 @@
26
26
  "cpy": "^10.1.0",
27
27
  "del": "^7.0.0",
28
28
  "esbuild": "^0.18.11",
29
- "globby": "^13.2.0",
29
+ "globby": "^13.2.2",
30
30
  "highlight.js": "^11.8.0",
31
- "marked": "^5.1.0",
31
+ "marked": "^5.1.1",
32
32
  "marked-highlight": "^2.0.1",
33
33
  "marked-xhtml": "^1.0.1",
34
34
  "nunjucks": "^3.2.4"