@dogsbay/format-astro 0.2.0-beta.153 → 0.2.0-beta.154

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/dist/project.d.ts CHANGED
@@ -102,6 +102,7 @@ export interface AstroProjectOptions {
102
102
  into?: string;
103
103
  mediaOnly?: boolean;
104
104
  root?: string;
105
+ skip?: string[];
105
106
  }[];
106
107
  /**
107
108
  * Per-source asset directories with the URL prefix their content refs
package/dist/project.js CHANGED
@@ -1658,10 +1658,11 @@ export async function emitAstroPages(pages, nav, outputDir, options) {
1658
1658
  const dest = mount.into
1659
1659
  ? join(outputDir, "public", mount.root ?? "_assets", mount.into)
1660
1660
  : join(outputDir, "public", mount.root ?? "_assets");
1661
+ const skipped = new Set((mount.skip ?? []).map((f) => join(mount.dir, f)));
1661
1662
  if (mount.mediaOnly)
1662
- copyMediaTree(mount.dir, dest);
1663
+ copyMediaTree(mount.dir, dest, skipped);
1663
1664
  else
1664
- cpSync(mount.dir, dest, { recursive: true });
1665
+ cpSync(mount.dir, dest, { recursive: true, filter: (src) => !skipped.has(src) });
1665
1666
  }
1666
1667
  }
1667
1668
  let generated = 0;
@@ -3592,11 +3593,13 @@ const MOUNT_MEDIA_EXTS = new Set([
3592
3593
  ".svg", ".ico", ".pdf", ".mp4", ".webm",
3593
3594
  ]);
3594
3595
  /** Recursively copy only media files, preserving relative structure. */
3595
- function copyMediaTree(srcDir, destDir) {
3596
+ function copyMediaTree(srcDir, destDir, skip) {
3596
3597
  for (const entry of readdirSync(srcDir)) {
3597
3598
  const full = join(srcDir, entry);
3599
+ if (skip?.has(full))
3600
+ continue;
3598
3601
  if (statSync(full).isDirectory()) {
3599
- copyMediaTree(full, join(destDir, entry));
3602
+ copyMediaTree(full, join(destDir, entry), skip);
3600
3603
  continue;
3601
3604
  }
3602
3605
  const dot = entry.lastIndexOf(".");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dogsbay/format-astro",
3
- "version": "0.2.0-beta.153",
3
+ "version": "0.2.0-beta.154",
4
4
  "description": "Astro format plugin for Dogsbay — export TreeNode[] to Astro component markup",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -32,13 +32,13 @@
32
32
  "license": "MIT",
33
33
  "dependencies": {
34
34
  "markdown-it": "^14.3.0",
35
- "@dogsbay/format-dogsbay-md": "0.2.0-beta.153",
36
- "@dogsbay/render-html": "0.2.0-beta.153",
37
- "@dogsbay/icons": "0.2.0-beta.153",
38
- "@dogsbay/serialize-core": "0.2.0-beta.153",
39
- "@dogsbay/site-files": "0.2.0-beta.153",
40
- "@dogsbay/types": "0.2.0-beta.153",
41
- "@dogsbay/ui": "0.2.0-beta.153"
35
+ "@dogsbay/format-dogsbay-md": "0.2.0-beta.154",
36
+ "@dogsbay/icons": "0.2.0-beta.154",
37
+ "@dogsbay/serialize-core": "0.2.0-beta.154",
38
+ "@dogsbay/render-html": "0.2.0-beta.154",
39
+ "@dogsbay/site-files": "0.2.0-beta.154",
40
+ "@dogsbay/types": "0.2.0-beta.154",
41
+ "@dogsbay/ui": "0.2.0-beta.154"
42
42
  },
43
43
  "repository": {
44
44
  "type": "git",