@podlite/publisher 0.0.40 → 0.0.42

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.podlite CHANGED
@@ -2,6 +2,14 @@
2
2
 
3
3
  =head1 Upcoming
4
4
 
5
+ =head1 0.0.42
6
+
7
+ =item write the page records one per line, with a light index next to them that names every field but the parsed tree and says where each record sits in the file
8
+
9
+ =head1 0.0.41
10
+
11
+ =item C<stateVersionPlugin> accepts optional C<indexFilePath>; C<globalStyles>, favicon and image files contribute to C<stateVersion>
12
+
5
13
  =head1 0.0.39
6
14
 
7
15
  =item shape the heading name into a url fragment when building an index anchor
@@ -1,12 +1,31 @@
1
1
  import { BUILT_PATH } from './constants';
2
- import { streamWriteArray } from '.';
2
+ import * as fs from 'fs';
3
+ import { streamWriteLines } from '.';
3
4
  const plugin = ({ built_path = BUILT_PATH }) => {
4
5
  let allRecords = [];
5
6
  const outCtx = {};
6
7
  const onExit = ctx => {
7
8
  if (!ctx.testing) {
8
- streamWriteArray(allRecords, `${built_path}/pages.json`)
9
- .then(() => console.log('All pages written successfully'))
9
+ // records go out one per line, and the light index next to them carries where
10
+ // each line starts: a reader needs the whole index but only one record
11
+ streamWriteLines(allRecords, `${built_path}/pages.jsonl`)
12
+ .then(places => {
13
+ // named fields only: leaving out the heavy ones by name lets the next heavy
14
+ // field slip in unnoticed, and one of them held 99 per cent of the weight
15
+ const index = allRecords.map((r, i) => ({
16
+ publishUrl: r.publishUrl,
17
+ title: r.title,
18
+ subtitle: r.subtitle,
19
+ type: r.type,
20
+ file: r.file,
21
+ sources: r.sources,
22
+ pubdate: r.pubdate,
23
+ template_file: r.template_file,
24
+ ...places[i],
25
+ }));
26
+ fs.writeFileSync(`${built_path}/pages-index.json`, JSON.stringify(index));
27
+ console.log(`All pages written successfully: ${index.length}`);
28
+ })
10
29
  .catch(err => console.error('Error writing file:', err));
11
30
  }
12
31
  return { ...ctx, ...outCtx };
@@ -1 +1 @@
1
- {"version":3,"file":"dump-pages-plugin.js","sourceRoot":"","sources":["../src/dump-pages-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAA4D,gBAAgB,EAAE,MAAM,GAAG,CAAA;AAK9F,MAAM,MAAM,GAAG,CAAC,EAAE,UAAU,GAAG,UAAU,EAA6B,EAAoB,EAAE;IAC1F,IAAI,UAAU,GAAoB,EAAE,CAAA;IAEpC,MAAM,MAAM,GAA4B,EAAE,CAAA;IAC1C,MAAM,MAAM,GAAG,GAAG,CAAC,EAAE;QACnB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACjB,gBAAgB,CAAC,UAAU,EAAE,GAAG,UAAU,aAAa,CAAC;iBACrD,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;iBACzD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC,CAAA;QAC5D,CAAC;QACD,OAAO,EAAE,GAAG,GAAG,EAAE,GAAG,MAAM,EAAE,CAAA;IAC9B,CAAC,CAAA;IACD,MAAM,SAAS,GAAG,CAAC,IAAqB,EAAE,EAAE;QAC1C,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;QACxB,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;IAClB,CAAC,CAAA;IAED,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;AAC5B,CAAC,CAAA;AAED,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"dump-pages-plugin.js","sourceRoot":"","sources":["../src/dump-pages-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,EAA4D,gBAAgB,EAAE,MAAM,GAAG,CAAA;AAK9F,MAAM,MAAM,GAAG,CAAC,EAAE,UAAU,GAAG,UAAU,EAA6B,EAAoB,EAAE;IAC1F,IAAI,UAAU,GAAoB,EAAE,CAAA;IAEpC,MAAM,MAAM,GAA4B,EAAE,CAAA;IAC1C,MAAM,MAAM,GAAG,GAAG,CAAC,EAAE;QACnB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACjB,8EAA8E;YAC9E,uEAAuE;YACvE,gBAAgB,CAAC,UAAU,EAAE,GAAG,UAAU,cAAc,CAAC;iBACtD,IAAI,CAAC,MAAM,CAAC,EAAE;gBACb,4EAA4E;gBAC5E,0EAA0E;gBAC1E,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC3C,UAAU,EAAE,CAAC,CAAC,UAAU;oBACxB,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,aAAa,EAAE,CAAC,CAAC,aAAa;oBAC9B,GAAG,MAAM,CAAC,CAAC,CAAC;iBACb,CAAC,CAAC,CAAA;gBACH,EAAE,CAAC,aAAa,CAAC,GAAG,UAAU,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;gBACzE,OAAO,CAAC,GAAG,CAAC,mCAAmC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;YAChE,CAAC,CAAC;iBACD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC,CAAA;QAC5D,CAAC;QACD,OAAO,EAAE,GAAG,GAAG,EAAE,GAAG,MAAM,EAAE,CAAA;IAC9B,CAAC,CAAA;IACD,MAAM,SAAS,GAAG,CAAC,IAAqB,EAAE,EAAE;QAC1C,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;QACxB,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;IAClB,CAAC,CAAA;IAED,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;AAC5B,CAAC,CAAA;AAED,eAAe,MAAM,CAAA"}
@@ -46,5 +46,9 @@ export declare function getPublishAttributes(node: PodNode): {
46
46
  };
47
47
  export declare function processFile(f: string, content?: string, mime?: MimeTypes): publishRecord;
48
48
  export declare function parseSources(path: string): publishRecord[];
49
+ export declare function streamWriteLines(array: any[], outputPath: any): Promise<Array<{
50
+ offset: number;
51
+ length: number;
52
+ }>>;
49
53
  export declare function streamWriteArray(array: any[], outputPath: any): Promise<unknown>;
50
54
  export {};
package/esm/node-utils.js CHANGED
@@ -348,6 +348,34 @@ export function parseSources(path) {
348
348
  .filter(Boolean);
349
349
  return allFiles;
350
350
  }
351
+ // Writes one record per line and returns where each landed, so a reader can take
352
+ // a single record without holding the whole file as one string.
353
+ export function streamWriteLines(array, outputPath) {
354
+ return new Promise((resolve, reject) => {
355
+ const writeStream = fs.createWriteStream(outputPath);
356
+ const places = [];
357
+ let offset = 0;
358
+ const writeItem = index => {
359
+ if (index >= array.length) {
360
+ writeStream.end();
361
+ resolve(places);
362
+ return;
363
+ }
364
+ const line = JSON.stringify(array[index]) + '\n';
365
+ const length = Buffer.byteLength(line);
366
+ places.push({ offset, length });
367
+ offset += length;
368
+ if (writeStream.write(line)) {
369
+ setImmediate(() => writeItem(index + 1));
370
+ }
371
+ else {
372
+ writeStream.once('drain', () => writeItem(index + 1));
373
+ }
374
+ };
375
+ writeStream.on('error', reject);
376
+ writeItem(0);
377
+ });
378
+ }
351
379
  export function streamWriteArray(array, outputPath) {
352
380
  return new Promise((resolve, reject) => {
353
381
  const writeStream = fs.createWriteStream(outputPath);
@@ -1 +1 @@
1
- {"version":3,"file":"node-utils.js","sourceRoot":"","sources":["../src/node-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node-utils.js","sourceRoot":"","sources":["../src/node-utils.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import { PodliteWebPlugin } from '.';
2
- declare const plugin: (appVersion?: string) => PodliteWebPlugin;
2
+ declare const plugin: (appVersion?: string, indexFilePath?: string) => PodliteWebPlugin;
3
3
  export default plugin;
@@ -1,11 +1,15 @@
1
1
  import * as CRC32 from 'crc-32';
2
- import { getTextContentFromNode } from '@podlite/schema';
2
+ import * as fs from 'fs';
3
+ import pathFs from 'path';
4
+ import { getFromTree, getTextContentFromNode, makeAttrs } from '@podlite/schema';
3
5
  import { version } from './version';
4
- const plugin = (appVersion) => {
6
+ const plugin = (appVersion, indexFilePath) => {
5
7
  const outCtx = {};
6
8
  let crc_sum = '';
9
+ const records = [];
7
10
  const onExit = ctx => {
8
- outCtx.stateVersion = CRC32.str(crc_sum) + '+v' + version + (appVersion ? '+app' + appVersion : '');
11
+ outCtx.stateVersion =
12
+ CRC32.str(crc_sum + getAssetsVersion(ctx)) + '+v' + version + (appVersion ? '+app' + appVersion : '');
9
13
  return { ...ctx, ...outCtx };
10
14
  };
11
15
  const getStateVersion = (allREcords) => {
@@ -13,8 +17,31 @@ const plugin = (appVersion) => {
13
17
  return prev + CRC32.str(getTextContentFromNode(current.node));
14
18
  }, '');
15
19
  };
20
+ const getAssetPaths = (ctx) => {
21
+ const paths = Object.keys(ctx.imagesMap || {});
22
+ const indexPage = indexFilePath ? records.find(item => item.file === indexFilePath) : undefined;
23
+ if (indexPage) {
24
+ const [pod] = getFromTree(indexPage.node, 'pod');
25
+ const attr = makeAttrs(pod, {});
26
+ const indexDir = pathFs.dirname(indexFilePath);
27
+ for (const name of ['globalStyles', 'favicon']) {
28
+ const value = attr.getFirstValue(name);
29
+ if (value) {
30
+ paths.push(pathFs.join(indexDir, value));
31
+ }
32
+ }
33
+ }
34
+ return paths;
35
+ };
36
+ const getAssetsVersion = (ctx) => {
37
+ return getAssetPaths(ctx).reduce((prev, path) => {
38
+ // a missing file contributes its path, so adding the file later moves the sum
39
+ return prev + (fs.existsSync(path) ? CRC32.buf(new Uint8Array(fs.readFileSync(path))) : CRC32.str(path));
40
+ }, '');
41
+ };
16
42
  const onProcess = (recs) => {
17
43
  crc_sum += getStateVersion(recs);
44
+ records.push(...recs);
18
45
  return recs;
19
46
  };
20
47
  return [onProcess, onExit];
@@ -1 +1 @@
1
- {"version":3,"file":"state-version-plugin.js","sourceRoot":"","sources":["../src/state-version-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,MAAM,MAAM,GAAG,CAAC,UAAmB,EAAoB,EAAE;IACvD,MAAM,MAAM,GAA4B,EAAE,CAAA;IAC1C,IAAI,OAAO,GAAG,EAAE,CAAA;IAChB,MAAM,MAAM,GAAG,GAAG,CAAC,EAAE;QACnB,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,OAAO,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QACnG,OAAO,EAAE,GAAG,GAAG,EAAE,GAAG,MAAM,EAAE,CAAA;IAC9B,CAAC,CAAA;IACD,MAAM,eAAe,GAAG,CAAC,UAAU,EAAU,EAAE;QAC7C,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;YACzC,OAAO,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;QAC/D,CAAC,EAAE,EAAE,CAAC,CAAA;IACR,CAAC,CAAA;IACD,MAAM,SAAS,GAAG,CAAC,IAAqB,EAAE,EAAE;QAC1C,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,CAAA;QAChC,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;IAED,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;AAC5B,CAAC,CAAA;AAED,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"state-version-plugin.js","sourceRoot":"","sources":["../src/state-version-plugin.ts"],"names":[],"mappings":"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"}
package/esm/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const version = "0.0.40";
1
+ export declare const version = "0.0.42";
package/esm/version.js CHANGED
@@ -1,3 +1,3 @@
1
1
  // generated by scripts/inject-version.mjs — do not edit by hand
2
- export const version = '0.0.40';
2
+ export const version = '0.0.42';
3
3
  //# sourceMappingURL=version.js.map
@@ -1,14 +1,66 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  const constants_1 = require("./constants");
37
+ const fs = __importStar(require("fs"));
4
38
  const _1 = require(".");
5
39
  const plugin = ({ built_path = constants_1.BUILT_PATH }) => {
6
40
  let allRecords = [];
7
41
  const outCtx = {};
8
42
  const onExit = ctx => {
9
43
  if (!ctx.testing) {
10
- (0, _1.streamWriteArray)(allRecords, `${built_path}/pages.json`)
11
- .then(() => console.log('All pages written successfully'))
44
+ // records go out one per line, and the light index next to them carries where
45
+ // each line starts: a reader needs the whole index but only one record
46
+ (0, _1.streamWriteLines)(allRecords, `${built_path}/pages.jsonl`)
47
+ .then(places => {
48
+ // named fields only: leaving out the heavy ones by name lets the next heavy
49
+ // field slip in unnoticed, and one of them held 99 per cent of the weight
50
+ const index = allRecords.map((r, i) => ({
51
+ publishUrl: r.publishUrl,
52
+ title: r.title,
53
+ subtitle: r.subtitle,
54
+ type: r.type,
55
+ file: r.file,
56
+ sources: r.sources,
57
+ pubdate: r.pubdate,
58
+ template_file: r.template_file,
59
+ ...places[i],
60
+ }));
61
+ fs.writeFileSync(`${built_path}/pages-index.json`, JSON.stringify(index));
62
+ console.log(`All pages written successfully: ${index.length}`);
63
+ })
12
64
  .catch(err => console.error('Error writing file:', err));
13
65
  }
14
66
  return { ...ctx, ...outCtx };
@@ -46,5 +46,9 @@ export declare function getPublishAttributes(node: PodNode): {
46
46
  };
47
47
  export declare function processFile(f: string, content?: string, mime?: MimeTypes): publishRecord;
48
48
  export declare function parseSources(path: string): publishRecord[];
49
+ export declare function streamWriteLines(array: any[], outputPath: any): Promise<Array<{
50
+ offset: number;
51
+ length: number;
52
+ }>>;
49
53
  export declare function streamWriteArray(array: any[], outputPath: any): Promise<unknown>;
50
54
  export {};
package/lib/node-utils.js CHANGED
@@ -44,6 +44,7 @@ exports.getDocumentAttributes = getDocumentAttributes;
44
44
  exports.getPublishAttributes = getPublishAttributes;
45
45
  exports.processFile = processFile;
46
46
  exports.parseSources = parseSources;
47
+ exports.streamWriteLines = streamWriteLines;
47
48
  exports.streamWriteArray = streamWriteArray;
48
49
  const schema_1 = require("@podlite/schema");
49
50
  const fs = __importStar(require("fs"));
@@ -398,6 +399,34 @@ function parseSources(path) {
398
399
  .filter(Boolean);
399
400
  return allFiles;
400
401
  }
402
+ // Writes one record per line and returns where each landed, so a reader can take
403
+ // a single record without holding the whole file as one string.
404
+ function streamWriteLines(array, outputPath) {
405
+ return new Promise((resolve, reject) => {
406
+ const writeStream = fs.createWriteStream(outputPath);
407
+ const places = [];
408
+ let offset = 0;
409
+ const writeItem = index => {
410
+ if (index >= array.length) {
411
+ writeStream.end();
412
+ resolve(places);
413
+ return;
414
+ }
415
+ const line = JSON.stringify(array[index]) + '\n';
416
+ const length = Buffer.byteLength(line);
417
+ places.push({ offset, length });
418
+ offset += length;
419
+ if (writeStream.write(line)) {
420
+ setImmediate(() => writeItem(index + 1));
421
+ }
422
+ else {
423
+ writeStream.once('drain', () => writeItem(index + 1));
424
+ }
425
+ };
426
+ writeStream.on('error', reject);
427
+ writeItem(0);
428
+ });
429
+ }
401
430
  function streamWriteArray(array, outputPath) {
402
431
  return new Promise((resolve, reject) => {
403
432
  const writeStream = fs.createWriteStream(outputPath);
@@ -1,3 +1,3 @@
1
1
  import { PodliteWebPlugin } from '.';
2
- declare const plugin: (appVersion?: string) => PodliteWebPlugin;
2
+ declare const plugin: (appVersion?: string, indexFilePath?: string) => PodliteWebPlugin;
3
3
  export default plugin;
@@ -32,15 +32,22 @@ var __importStar = (this && this.__importStar) || (function () {
32
32
  return result;
33
33
  };
34
34
  })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
35
38
  Object.defineProperty(exports, "__esModule", { value: true });
36
39
  const CRC32 = __importStar(require("crc-32"));
40
+ const fs = __importStar(require("fs"));
41
+ const path_1 = __importDefault(require("path"));
37
42
  const schema_1 = require("@podlite/schema");
38
43
  const version_1 = require("./version");
39
- const plugin = (appVersion) => {
44
+ const plugin = (appVersion, indexFilePath) => {
40
45
  const outCtx = {};
41
46
  let crc_sum = '';
47
+ const records = [];
42
48
  const onExit = ctx => {
43
- outCtx.stateVersion = CRC32.str(crc_sum) + '+v' + version_1.version + (appVersion ? '+app' + appVersion : '');
49
+ outCtx.stateVersion =
50
+ CRC32.str(crc_sum + getAssetsVersion(ctx)) + '+v' + version_1.version + (appVersion ? '+app' + appVersion : '');
44
51
  return { ...ctx, ...outCtx };
45
52
  };
46
53
  const getStateVersion = (allREcords) => {
@@ -48,8 +55,31 @@ const plugin = (appVersion) => {
48
55
  return prev + CRC32.str((0, schema_1.getTextContentFromNode)(current.node));
49
56
  }, '');
50
57
  };
58
+ const getAssetPaths = (ctx) => {
59
+ const paths = Object.keys(ctx.imagesMap || {});
60
+ const indexPage = indexFilePath ? records.find(item => item.file === indexFilePath) : undefined;
61
+ if (indexPage) {
62
+ const [pod] = (0, schema_1.getFromTree)(indexPage.node, 'pod');
63
+ const attr = (0, schema_1.makeAttrs)(pod, {});
64
+ const indexDir = path_1.default.dirname(indexFilePath);
65
+ for (const name of ['globalStyles', 'favicon']) {
66
+ const value = attr.getFirstValue(name);
67
+ if (value) {
68
+ paths.push(path_1.default.join(indexDir, value));
69
+ }
70
+ }
71
+ }
72
+ return paths;
73
+ };
74
+ const getAssetsVersion = (ctx) => {
75
+ return getAssetPaths(ctx).reduce((prev, path) => {
76
+ // a missing file contributes its path, so adding the file later moves the sum
77
+ return prev + (fs.existsSync(path) ? CRC32.buf(new Uint8Array(fs.readFileSync(path))) : CRC32.str(path));
78
+ }, '');
79
+ };
51
80
  const onProcess = (recs) => {
52
81
  crc_sum += getStateVersion(recs);
82
+ records.push(...recs);
53
83
  return recs;
54
84
  };
55
85
  return [onProcess, onExit];
package/lib/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const version = "0.0.40";
1
+ export declare const version = "0.0.42";
package/lib/version.js CHANGED
@@ -2,5 +2,5 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.version = void 0;
4
4
  // generated by scripts/inject-version.mjs — do not edit by hand
5
- exports.version = '0.0.40';
5
+ exports.version = '0.0.42';
6
6
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@podlite/publisher",
3
- "version": "0.0.40",
3
+ "version": "0.0.42",
4
4
  "description": "Publishing toolkit for Podlite — transform documents to HTML, generate sites",
5
5
  "main": "./lib/index.js",
6
6
  "sideEffects": false,
@@ -66,13 +66,13 @@
66
66
  "transform"
67
67
  ],
68
68
  "dependencies": {
69
- "@podlite/markdown": "0.0.52",
70
- "@podlite/schema": "0.0.59",
69
+ "@podlite/markdown": "0.0.54",
70
+ "@podlite/schema": "0.0.61",
71
71
  "crc-32": "^1.2.2",
72
72
  "gray-matter": "^4.0.3",
73
73
  "iso_9": "^1.0.4",
74
74
  "newbase60": "^1.3.1",
75
- "podlite": "0.0.72"
75
+ "podlite": "0.0.74"
76
76
  },
77
77
  "devDependencies": {
78
78
  "@types/node": "^17.0.7",