@luzzle/core 0.0.45 → 0.0.46

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.
@@ -10,4 +10,4 @@ declare function detectStreamFileType(stream: Readable, maxBytes?: number): Prom
10
10
  }>;
11
11
  declare function makePieceAttachment(file: string, field: PieceFrontmatterSchemaField, stream: Readable | ReadStream | Request, storage: LuzzleStorage): Promise<string>;
12
12
  declare function makePieceValue(field: PieceFrontmatterSchemaField, value: PieceFrontMatterValue | Readable): Promise<PieceFrontMatterValue | Readable>;
13
- export { calculateHashFromFile, makePieceAttachment, makePieceValue, detectStreamFileType, };
13
+ export { calculateHashFromFile, makePieceAttachment, makePieceValue, detectStreamFileType };
@@ -1,5 +1,5 @@
1
1
  import { stat } from 'fs/promises';
2
- import { createHash, randomBytes } from 'crypto';
2
+ import { createHash } from 'crypto';
3
3
  import { Readable } from 'stream';
4
4
  import { createReadStream } from 'fs';
5
5
  import { pipeline } from 'stream/promises';
@@ -13,11 +13,11 @@ async function downloadToStream(fileOrUrl) {
13
13
  const download = got.stream(fileOrUrl, {
14
14
  throwHttpErrors: false,
15
15
  headers: {
16
- 'user-agent': 'luzzle/core (https://github.com/eleith/luzzle)'
16
+ 'user-agent': 'luzzle/core (https://github.com/eleith/luzzle)',
17
17
  },
18
18
  retry: {
19
19
  limit: 3,
20
- methods: ['GET']
20
+ methods: ['GET'],
21
21
  },
22
22
  timeout: {
23
23
  request: 10000,
@@ -100,29 +100,35 @@ async function detectStreamFileType(stream, maxBytes = 4100) {
100
100
  }
101
101
  async function makePieceAttachment(file, field, stream, storage) {
102
102
  const format = field.type === 'array' ? field.items.format : field.format;
103
- const fileDir = path.dirname(file);
104
- const random = randomBytes(4).toString('hex');
105
- const baseName = path.basename(file).replace(/\.[^.]+$/, '');
106
- const parts = [baseName, random];
107
- const fieldName = field.name;
108
- const attachDir = path.join(ASSETS_DIRECTORY, fileDir, fieldName);
109
- const exists = await storage.exists(attachDir);
110
103
  /* c8 ignore next 3 */
111
104
  if (format !== 'asset') {
112
105
  throw new Error(`${field} is not an attachable field for ${file}`);
113
106
  }
107
+ const pieceDir = file.replace(/\.[^.]+$/, '');
108
+ const attachDir = path.join(ASSETS_DIRECTORY, pieceDir);
109
+ const exists = await storage.exists(attachDir);
110
+ const pathName = stream.requestUrl?.pathname;
111
+ const pathStream = stream.path?.toString();
112
+ const sourceInfo = pathName || pathStream;
114
113
  if (!exists) {
115
114
  await storage.makeDirectory(attachDir);
116
115
  }
117
- const pathName = stream.requestUrl?.pathname;
118
- const pathStream = stream.path?.toString();
119
- const pathWithType = pathName || pathStream;
120
116
  const { type: detectedType, stream: finalStream } = await detectStreamFileType(stream);
121
- const type = detectedType?.ext.replace(/^/, '.') || path.extname(pathWithType || '') || path.extname(file);
122
- const filename = `${parts.filter((x) => x).join('-')}${type}`;
123
- const relPath = path.join(ASSETS_DIRECTORY, fileDir, fieldName, filename);
124
- const writeStream = storage.createWriteStream(relPath);
125
- await pipeline(finalStream, writeStream);
117
+ const sourceBasename = sourceInfo
118
+ ? path.basename(sourceInfo, path.extname(sourceInfo))
119
+ : field.name;
120
+ const sourceExt = detectedType
121
+ ? '.' + detectedType.ext
122
+ : sourceInfo
123
+ ? path.extname(sourceInfo)
124
+ : '';
125
+ let relPath = path.join(attachDir, sourceBasename + sourceExt);
126
+ let counter = 2;
127
+ while (await storage.exists(relPath)) {
128
+ relPath = path.join(attachDir, sourceBasename + '-' + counter + sourceExt);
129
+ counter++;
130
+ }
131
+ await pipeline(finalStream, storage.createWriteStream(relPath));
126
132
  return relPath;
127
133
  }
128
134
  async function makePieceValue(field, value) {
@@ -151,5 +157,5 @@ async function makePieceValue(field, value) {
151
157
  }
152
158
  return value;
153
159
  }
154
- export { calculateHashFromFile, makePieceAttachment, makePieceValue, detectStreamFileType, };
160
+ export { calculateHashFromFile, makePieceAttachment, makePieceValue, detectStreamFileType };
155
161
  //# sourceMappingURL=piece.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"piece.js","sourceRoot":"","sources":["../../../../src/pieces/utils/piece.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"piece.js","sourceRoot":"","sources":["../../../../src/pieces/utils/piece.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { createReadStream, existsSync } from 'fs';
2
2
  import { copyFile, stat } from 'fs/promises'; // Direct import matching source
3
3
  import { describe, expect, test, vi, afterEach, beforeAll } from 'vitest';
4
- import { createHash, randomBytes } from 'crypto';
4
+ import { createHash } from 'crypto';
5
5
  import { PassThrough, Readable } from 'stream';
6
6
  import got from 'got';
7
7
  import path from 'path';
@@ -19,7 +19,6 @@ const mocks = {
19
19
  existsSync: vi.mocked(existsSync),
20
20
  createReadStream: vi.mocked(createReadStream),
21
21
  createHash: vi.mocked(createHash),
22
- randomBytes: vi.mocked(randomBytes),
23
22
  gotStream: vi.mocked(got.stream),
24
23
  };
25
24
  const spies = {};
@@ -228,106 +227,87 @@ describe('pieces/utils/piece.ts', () => {
228
227
  const making = makePieceValue(field, 55);
229
228
  await expect(making).rejects.toThrowError();
230
229
  });
231
- test('makePieceAttachment should create an asset from a stream (PNG)', async () => {
232
- const field = {
233
- name: 'cover',
234
- type: 'string',
235
- format: 'asset',
236
- };
230
+ test('makePieceAttachment should create an asset from a stream (PNG via magic bytes)', async () => {
231
+ const field = { name: 'cover', type: 'string', format: 'asset' };
237
232
  const storage = makeStorage('root');
238
- const random = 'randomhex';
239
- const fieldName = 'cover';
240
- const fileName = 'samplePath';
241
- const markdown = makeMarkdownSample(fileName, 'books', '', { [fieldName]: 'cover.jpg' });
242
- const expectedFilename = `${fileName}-${random}.png`;
233
+ const markdown = makeMarkdownSample('samplePath', 'books', '', { cover: 'cover.jpg' });
243
234
  const mocksWriteStream = new PassThrough();
235
+ // URL stream: magic bytes say PNG, source URL says .jpg — magic bytes win for ext
244
236
  const mockStream = Readable.from([fullPngBuffer]);
245
- mockStream.requestUrl = { pathname: 'file.jpg' };
246
- mocks.randomBytes.mockImplementation(() => ({ toString: () => random }));
247
- spies.createWriteStream = vi
248
- .spyOn(storage, 'createWriteStream')
249
- .mockReturnValue(mocksWriteStream);
237
+ mockStream.requestUrl = { pathname: '/images/photo.jpg' };
238
+ spies.createWriteStream = vi.spyOn(storage, 'createWriteStream').mockReturnValue(mocksWriteStream);
250
239
  spies.exists = vi.spyOn(storage, 'exists').mockResolvedValue(false);
251
240
  spies.makeDir = vi.spyOn(storage, 'makeDirectory').mockResolvedValue(undefined);
252
241
  const asset = await makePieceAttachment(markdown.filePath, field, mockStream, storage);
253
- expect(asset).toBe(path.join(ASSETS_DIRECTORY, path.dirname(markdown.filePath), fieldName, `${expectedFilename}`));
242
+ const pieceDir = markdown.filePath.replace(/\.[^.]+$/, '');
243
+ expect(asset).toBe(path.join(ASSETS_DIRECTORY, pieceDir, 'photo.png'));
254
244
  });
255
245
  test('makePieceAttachment should work with field arrays (PNG)', async () => {
256
246
  const field = {
257
247
  name: 'cover',
258
248
  type: 'array',
259
- items: {
260
- format: 'asset',
261
- },
249
+ items: { format: 'asset' },
262
250
  };
263
251
  const storage = makeStorage('root');
264
- const random = 'randomhex';
265
- const fieldName = 'cover';
266
- const fileName = 'samplePath';
267
- const markdown = makeMarkdownSample(fileName, 'books', '', { [fieldName]: 'cover.jpg' });
268
- const expectedFilename = `${fileName}-${random}.png`;
252
+ const markdown = makeMarkdownSample('samplePath', 'books', '', { cover: 'cover.jpg' });
269
253
  const mocksWriteStream = new PassThrough();
270
254
  const mockStream = Readable.from([fullPngBuffer]);
271
- mockStream.requestUrl = { pathname: 'file.jpg' };
272
- mocks.randomBytes.mockImplementation(() => ({ toString: () => random }));
273
- spies.createWriteStream = vi
274
- .spyOn(storage, 'createWriteStream')
275
- .mockReturnValue(mocksWriteStream);
255
+ mockStream.requestUrl = { pathname: '/images/photo.jpg' };
256
+ spies.createWriteStream = vi.spyOn(storage, 'createWriteStream').mockReturnValue(mocksWriteStream);
276
257
  spies.exists = vi.spyOn(storage, 'exists').mockResolvedValue(false);
277
258
  spies.makeDir = vi.spyOn(storage, 'makeDirectory').mockResolvedValue(undefined);
278
259
  const asset = await makePieceAttachment(markdown.filePath, field, mockStream, storage);
279
- expect(asset).toBe(path.join(ASSETS_DIRECTORY, path.dirname(markdown.filePath), fieldName, `${expectedFilename}`));
260
+ const pieceDir = markdown.filePath.replace(/\.[^.]+$/, '');
261
+ expect(asset).toBe(path.join(ASSETS_DIRECTORY, pieceDir, 'photo.png'));
280
262
  });
281
- test('makePieceAttachment should use path and path stream for file type (fallback)', async () => {
282
- const field = {
283
- name: 'cover',
284
- type: 'string',
285
- format: 'asset',
286
- };
263
+ test('makePieceAttachment should use ReadStream path for name and ext (text file fallback)', async () => {
264
+ const field = { name: 'script', type: 'string', format: 'asset' };
287
265
  const storage = makeStorage('root');
288
- const random = 'randomhex';
289
- const fieldName = 'cover';
290
- const fileName = 'samplePath';
291
- const markdown = makeMarkdownSample(fileName, 'books', '', { [fieldName]: 'cover.jpg' });
292
- const expectedFilename = `${fileName}-${random}.jpg`;
266
+ const markdown = makeMarkdownSample('samplePath', 'books', '', { script: 'deploy.bash' });
293
267
  const mocksWriteStream = new PassThrough();
294
- // Use Readable.from
295
- const mockStream = Readable.from([Buffer.from('some data')]);
296
- mockStream.path = Buffer.from('file.jpg');
297
- mocks.randomBytes.mockImplementation(() => ({ toString: () => random }));
298
- spies.createWriteStream = vi
299
- .spyOn(storage, 'createWriteStream')
300
- .mockReturnValue(mocksWriteStream);
268
+ // No magic bytes for a text file — falls back to source path extension
269
+ const mockStream = Readable.from([Buffer.from('#!/bin/bash\necho hi')]);
270
+ mockStream.path = Buffer.from('/local/path/deploy.bash');
271
+ spies.createWriteStream = vi.spyOn(storage, 'createWriteStream').mockReturnValue(mocksWriteStream);
301
272
  spies.exists = vi.spyOn(storage, 'exists').mockResolvedValue(false);
302
273
  spies.makeDir = vi.spyOn(storage, 'makeDirectory').mockResolvedValue(undefined);
303
274
  const asset = await makePieceAttachment(markdown.filePath, field, mockStream, storage);
304
- expect(asset).toBe(path.join(ASSETS_DIRECTORY, path.dirname(markdown.filePath), fieldName, `${expectedFilename}`));
275
+ const pieceDir = markdown.filePath.replace(/\.[^.]+$/, '');
276
+ expect(asset).toBe(path.join(ASSETS_DIRECTORY, pieceDir, 'deploy.bash'));
305
277
  });
306
- test('makePieceAttachment should use a generic readable stream with no path or url info (fallback)', async () => {
307
- const field = {
308
- name: 'cover',
309
- type: 'string',
310
- format: 'asset',
311
- };
278
+ test('makePieceAttachment should fall back to field name with no ext for bare Readable', async () => {
279
+ const field = { name: 'cover', type: 'string', format: 'asset' };
312
280
  const storage = makeStorage('root');
313
- const random = 'randomhex';
314
- const fieldName = 'cover';
315
- const fileName = 'samplePath.md'; // Must have extension for fallback to work
316
- const markdown = makeMarkdownSample(fileName, 'books', '', { [fieldName]: 'cover.bin' });
317
- const expectedFilename = `${fileName.replace('.md', '')}-${random}.md`; // Fallback to markdown.filePath ext .md
281
+ const markdown = makeMarkdownSample('samplePath.md', 'books', '', { cover: 'cover.bin' });
318
282
  const mocksWriteStream = new PassThrough();
319
- // Use Readable.from
320
- const mockGenericReadable = Readable.from([
321
- Buffer.from('some binary data'),
322
- ]);
323
- mocks.randomBytes.mockImplementation(() => ({ toString: () => random }));
324
- spies.createWriteStream = vi
325
- .spyOn(storage, 'createWriteStream')
326
- .mockReturnValue(mocksWriteStream);
283
+ // Generic Readable: no path info, no magic bytes detectable
284
+ const mockGenericReadable = Readable.from([Buffer.from('some binary data')]);
285
+ spies.createWriteStream = vi.spyOn(storage, 'createWriteStream').mockReturnValue(mocksWriteStream);
327
286
  spies.exists = vi.spyOn(storage, 'exists').mockResolvedValue(false);
328
287
  spies.makeDir = vi.spyOn(storage, 'makeDirectory').mockResolvedValue(undefined);
329
288
  const asset = await makePieceAttachment(markdown.filePath, field, mockGenericReadable, storage);
330
- expect(asset).toBe(path.join(ASSETS_DIRECTORY, path.dirname(markdown.filePath), fieldName, `${expectedFilename}`));
289
+ const pieceDir = markdown.filePath.replace(/\.[^.]+$/, '');
290
+ // Falls back to field name, no extension (not .md)
291
+ expect(asset).toBe(path.join(ASSETS_DIRECTORY, pieceDir, 'cover'));
292
+ });
293
+ test('makePieceAttachment should increment counter on filename collision', async () => {
294
+ const field = { name: 'cover', type: 'string', format: 'asset' };
295
+ const storage = makeStorage('root');
296
+ const markdown = makeMarkdownSample('samplePath', 'books', '', { cover: 'cover.jpg' });
297
+ const mocksWriteStream = new PassThrough();
298
+ const mockStream = Readable.from([fullPngBuffer]);
299
+ mockStream.requestUrl = { pathname: '/images/photo.jpg' };
300
+ spies.createWriteStream = vi.spyOn(storage, 'createWriteStream').mockReturnValue(mocksWriteStream);
301
+ spies.makeDir = vi.spyOn(storage, 'makeDirectory').mockResolvedValue(undefined);
302
+ // First call: attachDir doesn't exist, target file doesn't exist
303
+ spies.exists = vi
304
+ .spyOn(storage, 'exists')
305
+ .mockResolvedValueOnce(false) // attachDir check
306
+ .mockResolvedValueOnce(true) // photo.png exists → collision
307
+ .mockResolvedValueOnce(false); // photo-2.png free
308
+ const asset = await makePieceAttachment(markdown.filePath, field, mockStream, storage);
309
+ const pieceDir = markdown.filePath.replace(/\.[^.]+$/, '');
310
+ expect(asset).toBe(path.join(ASSETS_DIRECTORY, pieceDir, 'photo-2.png'));
331
311
  });
332
312
  test('makePieceAttachment throws for non-asset field', async () => {
333
313
  const field = { name: 'title', type: 'string' };
@@ -1 +1 @@
1
- {"version":3,"file":"piece.test.js","sourceRoot":"","sources":["../../../../src/pieces/utils/piece.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"piece.test.js","sourceRoot":"","sources":["../../../../src/pieces/utils/piece.test.ts"],"names":[],"mappings":"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"}