coralite 0.28.1 → 0.28.3

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/bin/coralite.js CHANGED
@@ -24,6 +24,7 @@ program
24
24
  .option('-s, --skip-render-attribute <key...>', 'Parse elements but exclude them from final render output', [])
25
25
  .option('-d, --dry-run', 'Run in dry-run mode')
26
26
  .option('--standalone <path>', 'Output directory for standalone client-side web components')
27
+ .option('-a, --assets <mapping...>', 'Static assets to copy. Format: pkg:path:dest (or pkg:path)')
27
28
 
28
29
  program.parse(process.argv)
29
30
  program.on('error', (err) => {
@@ -46,6 +47,25 @@ const options = program.opts()
46
47
  const pages = options.pages
47
48
  const output = options.output
48
49
  const ignoreByAttribute = []
50
+ let assets
51
+
52
+ if (options.assets) {
53
+ assets = []
54
+ for (const assetStr of options.assets) {
55
+ const parts = assetStr.split(':')
56
+ if (parts.length < 2) {
57
+ console.error('Failed to parse asset:', assetStr)
58
+ console.error('Invalid format. Expected pkg:path:dest or pkg:path')
59
+ process.exit(1)
60
+ }
61
+ const [pkg, path, dest] = parts
62
+ assets.push({
63
+ pkg,
64
+ path,
65
+ dest: dest || path
66
+ })
67
+ }
68
+ }
49
69
 
50
70
  const coraliteOptions = {
51
71
  components: options.components,
@@ -54,6 +74,8 @@ const coraliteOptions = {
54
74
  skipRenderByAttribute: options.skipRenderAttribute,
55
75
  mode: options.mode,
56
76
  standaloneOutput: options.standalone,
77
+ output,
78
+ assets,
57
79
  plugins: []
58
80
  }
59
81
 
@@ -101,5 +123,5 @@ if (options.dryRun) {
101
123
  }
102
124
  } else {
103
125
  // save the generated documents to output directory
104
- await coralite.save(output)
126
+ await coralite.save()
105
127
  }
@@ -26,9 +26,11 @@
26
26
  * @param {CoralitePluginInstance[]} [options.plugins=[]]
27
27
  * @param {string} options.pages - The path to the directory containing pages that will be rendered using the provided components.
28
28
  * @param {string} [options.mode='production'] - Build mode: "development" or "production"
29
+ * @param {import('../types/core.js').CoraliteStaticAsset[]} [options.assets] - Static assets to copy during build
29
30
  * @param {Array<string | Attribute>} [options.ignoreByAttribute] - Elements to ignore with attribute name value pair
30
31
  * @param {Array<string | Attribute>} [options.skipRenderByAttribute] - Element attributes to parse but exclude from final render output
31
32
  * @param {string} [options.standaloneOutput] - Output directory for standalone client-side web components
33
+ * @param {string} [options.output] - Output directory for build artifacts
32
34
  * @example
33
35
  * const coralite = new Coralite({
34
36
  * components: './path/to/components',
@@ -39,14 +41,16 @@
39
41
  * skipRenderByAttribute: ['data-skip-render']
40
42
  * });
41
43
  */
42
- export function Coralite({ components, pages, plugins, ignoreByAttribute, skipRenderByAttribute, mode, standaloneOutput }: {
44
+ export function Coralite({ components, pages, plugins, assets, ignoreByAttribute, skipRenderByAttribute, mode, standaloneOutput, output }: {
43
45
  components: string;
44
46
  plugins?: CoralitePluginInstance[];
45
47
  pages: string;
46
48
  mode?: string;
49
+ assets?: import("../types/core.js").CoraliteStaticAsset[];
47
50
  ignoreByAttribute?: Array<string | Attribute>;
48
51
  skipRenderByAttribute?: Array<string | Attribute>;
49
52
  standaloneOutput?: string;
53
+ output?: string;
50
54
  }): void;
51
55
  export class Coralite {
52
56
  /**
@@ -77,9 +81,11 @@ export class Coralite {
77
81
  * @param {CoralitePluginInstance[]} [options.plugins=[]]
78
82
  * @param {string} options.pages - The path to the directory containing pages that will be rendered using the provided components.
79
83
  * @param {string} [options.mode='production'] - Build mode: "development" or "production"
84
+ * @param {import('../types/core.js').CoraliteStaticAsset[]} [options.assets] - Static assets to copy during build
80
85
  * @param {Array<string | Attribute>} [options.ignoreByAttribute] - Elements to ignore with attribute name value pair
81
86
  * @param {Array<string | Attribute>} [options.skipRenderByAttribute] - Element attributes to parse but exclude from final render output
82
87
  * @param {string} [options.standaloneOutput] - Output directory for standalone client-side web components
88
+ * @param {string} [options.output] - Output directory for build artifacts
83
89
  * @example
84
90
  * const coralite = new Coralite({
85
91
  * components: './path/to/components',
@@ -90,19 +96,22 @@ export class Coralite {
90
96
  * skipRenderByAttribute: ['data-skip-render']
91
97
  * });
92
98
  */
93
- constructor({ components, pages, plugins, ignoreByAttribute, skipRenderByAttribute, mode, standaloneOutput }: {
99
+ constructor({ components, pages, plugins, assets, ignoreByAttribute, skipRenderByAttribute, mode, standaloneOutput, output }: {
94
100
  components: string;
95
101
  plugins?: CoralitePluginInstance[];
96
102
  pages: string;
97
103
  mode?: string;
104
+ assets?: import("../types/core.js").CoraliteStaticAsset[];
98
105
  ignoreByAttribute?: Array<string | Attribute>;
99
106
  skipRenderByAttribute?: Array<string | Attribute>;
100
107
  standaloneOutput?: string;
108
+ output?: string;
101
109
  });
102
110
  options: {
103
111
  components: string;
104
112
  pages: string;
105
113
  plugins: CoralitePluginInstance[];
114
+ assets: import("../types/core.js").CoraliteStaticAsset[];
106
115
  ignoreByAttribute: (string | import("../types/document.js").Attribute)[];
107
116
  skipRenderByAttribute: (string | import("../types/document.js").Attribute)[];
108
117
  mode: string;
@@ -111,6 +120,7 @@ export class Coralite {
111
120
  components: string;
112
121
  pages: string;
113
122
  };
123
+ output: string;
114
124
  };
115
125
  /** @type {Map<string, CoraliteCollectionItem[]>} */
116
126
  _renderQueues: Map<string, CoraliteCollectionItem[]>;
@@ -426,7 +436,6 @@ export class Coralite {
426
436
  /**
427
437
  * Compiles and saves pages to disk
428
438
  *
429
- * @param {string} output - Output directory path
430
439
  * @param {string | string[]} [path] - Optional page path(s) to build
431
440
  * @param {Object} [options] - Build configuration
432
441
  * @param {number} [options.maxConcurrent=10] - Max concurrent file writes (min 1, max 100)
@@ -434,12 +443,12 @@ export class Coralite {
434
443
  * @returns {Promise<{ path: string, duration: number }[]>} Array of saved file paths
435
444
  * @example
436
445
  * // Build entire site with default concurrency (10 files)
437
- * await coralite.build('./dist')
446
+ * await coralite.save()
438
447
  *
439
448
  * // Build specific pages with custom concurrency
440
- * await coralite.build('./dist', ['blog/*'], { maxConcurrent: 5 })
449
+ * await coralite.save(['blog/*'], { maxConcurrent: 5 })
441
450
  */
442
- save(output: string, path?: string | string[], options?: {
451
+ save(path?: string | string[], options?: {
443
452
  maxConcurrent?: number;
444
453
  signal?: AbortSignal;
445
454
  }): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"coralite.d.ts","sourceRoot":"","sources":["../../lib/coralite.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coralite.d.ts","sourceRoot":"","sources":["../../lib/coralite.js"],"names":[],"mappings":"AAoBA;;;;;;;;;;;;;;;;;GAiBG;AAEH;;GAEG;AAEH;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,2IAnBG;IAAwB,UAAU,EAA1B,MAAM;IAC6B,OAAO,GAA1C,sBAAsB,EAAE;IACR,KAAK,EAArB,MAAM;IACW,IAAI,GAArB,MAAM;IACqD,MAAM,GAAjE,OAAO,kBAAkB,EAAE,mBAAmB,EAAE;IACZ,iBAAiB,GAArD,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;IACW,qBAAqB,GAAzD,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;IACR,gBAAgB,GAAjC,MAAM;IACW,MAAM,GAAvB,MAAM;CACd,QAyLF;;IA5ND;;;;;;;;;;;;;;;;;OAiBG;IAEH;;OAEG;IAEH;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,8HAnBG;QAAwB,UAAU,EAA1B,MAAM;QAC6B,OAAO,GAA1C,sBAAsB,EAAE;QACR,KAAK,EAArB,MAAM;QACW,IAAI,GAArB,MAAM;QACqD,MAAM,GAAjE,OAAO,kBAAkB,EAAE,mBAAmB,EAAE;QACZ,iBAAiB,GAArD,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;QACW,qBAAqB,GAAzD,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;QACR,gBAAgB,GAAjC,MAAM;QACW,MAAM,GAAvB,MAAM;KACd,EAyLF;IAjJC;;;;;;;;;;;;;;MAWC;IAED,oDAAoD;IACpD,eADW,GAAG,CAAC,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAClB;IAG9B;;;;;;;;;;;;;;MAcC;IAGD,8BAAyC;IAGzC;;;;;;;;8BA68BS,oBAAoB,GAAG,eAAe,GAAG,eAAe,EAAE,YAC1D,oBAAoB,KAClB,MAAM;;;;;;;;;;;;MA97BhB;IA6FH;;;OAGG;IACH,cAFa,OAAO,CAAC,IAAI,CAAC,CA0PzB;IAvPC,+BAyCE;IAaF;;OAEG;IACH;;MAA6C;IAC7C;;OAEG;IACH;;MAA+C;IA4K/C,0BAKE;IAWJ;;;;;OAKG;IACH,+BAHW,MAAM,OAsBhB;IAED;;;;;OAKG;IACH,iCAFY,cAAc,CAAC,cAAc,CAAC,CAuDzC;IAED;;;;;;;;;;OAUG;IACH,sBAJW,MAAM,GAAG,MAAM,EAAE,iBAEhB,cAAc,CAAC,cAAc,CAAC,CAkPzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAYE,aACQ,MAAM,GAAG,MAAM,EAAE,GACf,OAAO,CAAC,cAAc,EAAE,CAAC,CAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAA,gBACQ,gBAAgB,GACd,OAAO,CAAC,cAAc,EAAE,CAAC,CAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAA,aACQ,MAAM,GAAG,MAAM,EAAE,YAEzB;QAAyB,aAAa,GAA9B,MAAM;QACgB,MAAM,GAA5B,WAAW;QACM,SAAS;KAClC,GAAU,OAAO,CAAC,cAAc,EAAE,CAAC,CAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAA,aACQ,MAAM,GAAG,MAAM,EAAE,YACjB,gBAAgB,GACd,OAAO,CAAC,GAAG,EAAE,CAAC,CAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAA,aACQ,MAAM,GAAG,MAAM,EAAE,YAEzB;QAAyB,aAAa,GAA9B,MAAM;QACgB,MAAM,GAA5B,WAAW;KACnB,YAAQ,gBAAgB,GACd,OAAO,CAAC,GAAG,EAAE,CAAC,CAExB;IA2JH;;;;;;;;;;;;;;OAcG;IACH,YAZW,MAAM,GAAG,MAAM,EAAE,YAEzB;QAAyB,aAAa,GAA9B,MAAM;QACgB,MAAM,GAA5B,WAAW;KACnB,GAAU,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CA8DzD;IAED;;;;;;OAMG;IACH,gBAJW,oBAAoB,GAAG,eAAe,GAAG,eAAe,EAAE,YAC1D,oBAAoB,GAClB,MAAM,CAQlB;IAED;;;;OAIG;IACH,sBAHW,MAAM,GAAC,sBAAsB,WAC7B,MAAM,iBA2BhB;IAED;;;;;OAKG;IACH,qCAHW,MAAM,GACJ,MAAM,EAAE,CA0BpB;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,oFA9BG;QAAwB,EAAE,EAAlB,MAAM;QACyB,MAAM,GAArC,oBAAoB;QACM,OAAO,GAAjC,eAAe;QACW,QAAQ,EAAlC,gBAAgB;QACC,SAAS,GAA1B,MAAM;QACW,KAAK,GAAtB,MAAM;QACW,aAAa;KACtC,SAAQ,OAAO,GACL,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CA2Y3C;IAED;;OAEG;IACH,oBAFW,OAAO,kBAAkB,EAAE,gBAAgB,kBAWtC,WAJH,MAIY,EAAE,mBAHd,OAAO,SAAS,EAAE,MAGa,EAAE,OAFjC;QAAE,UAAU,EAAE,gBAAgB,CAAA;KAEQ,4CAqElD;IAED;;;;;;;;;;;;OAYG;IACH,sFATG;QAA6B,MAAM,EAA3B,cAAc;QACa,MAAM,EAAjC,oBAAoB;QACE,OAAO,EAA7B,eAAe;QACQ,QAAQ,EAA/B,gBAAgB;QACH,SAAS,EAAtB,MAAM;QACO,aAAa;KAElC,GAAU,OAAO,CAAC,oBAAoB,CAAC,CA4EzC;IAED;;;;;;;;;;;;;OAaG;IACH,qFATG;QAA6B,MAAM,EAA3B,cAAc;QACa,MAAM,EAAjC,oBAAoB;QACE,OAAO,EAA7B,eAAe;QACQ,QAAQ,EAA/B,gBAAgB;QACH,SAAS,EAAtB,MAAM;QACO,aAAa;KAElC,GAAU,OAAO,CAAC,oBAAoB,CAAC,CAiHzC;IAED;;;;;;;;;;;;;OAaG;IACH,yBAFa,OAAO,CAAC,oBAAoB,CAAC,CAOzC;IAED;;;;;;;;;;OAUG;IACH,mBAVsB,CAAC,wBAMZ,WAAW,GAAC,cAAc,GAAC,cAAc,GAAC,gBAAgB,GAAC,mBAAmB,GAAC,mBAAmB,GAAC,oBAAoB,GAAC,mBAAmB,GAAC,eAAe,GAAC,cAAc,QAC1K,CAAC,GACA,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAc5B;IAED;;;;;;;OAOG;IACH,qBAHW,WAAW,GAAC,cAAc,GAAC,cAAc,GAAC,gBAAgB,GAAC,mBAAmB,GAAC,mBAAmB,GAAC,oBAAoB,GAAC,mBAAmB,GAAC,eAAe,GAAC,cAAc,4BAapL;;;wCAxlCU,cAAc,KACZ,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG;4CApyBY,oBAAoB;+BAFrC,mBAAmB;4CAAnB,mBAAmB;8BA9Bf,qBAAqB;0BAFmB,YAAY;4BAAZ,YAAY;6BADxC,WAAW;4BAAX,WAAW;8BACiB,YAAY;+BAAZ,YAAY;0CAgCxD,mBAAmB;qCAAnB,mBAAmB;0CAMN,gBAAgB;+BAxBxB,iBAAiB;oCAkBtB,mBAAmB;0CAAnB,mBAAmB;qCAAnB,mBAAmB;sCAAnB,mBAAmB;oCAAnB,mBAAmB"}