utm-scroll-scene 0.1.0 → 0.1.1

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/README.md CHANGED
@@ -30,7 +30,7 @@ export default function Page() {
30
30
  }
31
31
  ```
32
32
 
33
- **Assets:** Copy the `public/3d-models` folder from this package into your app's public directory so URLs like `/3d-models/assets/drone/scene.gltf` resolve.
33
+ **Assets:** 3D models are included in the package. On install, the postinstall script copies them to your `public/3d-models` folder so the library works without manual setup.
34
34
 
35
35
  ## Development (this repo)
36
36
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "utm-scroll-scene",
3
3
  "description": "Zipline-style scroll-driven drone delivery landing page component",
4
- "version": "0.1.0",
4
+ "version": "0.1.1",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
7
7
  "module": "./dist/index.js",
@@ -17,7 +17,8 @@
17
17
  "files": [
18
18
  "dist",
19
19
  "styles",
20
- "public"
20
+ "public",
21
+ "scripts"
21
22
  ],
22
23
  "sideEffects": [
23
24
  "**/*.css"
@@ -34,7 +35,8 @@
34
35
  "build": "next build",
35
36
  "start": "next start",
36
37
  "lint": "eslint",
37
- "build:lib": "tsup"
38
+ "build:lib": "tsup",
39
+ "postinstall": "node scripts/copy-assets.cjs"
38
40
  },
39
41
  "dependencies": {
40
42
  "gsap": ">=3.12.0",
@@ -0,0 +1,11 @@
1
+ const fs = require("fs");
2
+ const path = require("path");
3
+
4
+ const root = path.join(__dirname, "..");
5
+ const src = path.join(root, "public", "3d-models");
6
+ const dest = path.join(root, "dist", "assets", "3d-models");
7
+
8
+ if (!fs.existsSync(src)) return;
9
+
10
+ fs.mkdirSync(path.dirname(dest), { recursive: true });
11
+ fs.cpSync(src, dest, { recursive: true, force: true });
@@ -0,0 +1,19 @@
1
+ const fs = require("fs");
2
+ const path = require("path");
3
+
4
+ const pkgRoot = path.join(__dirname, "..");
5
+ const src = path.join(pkgRoot, "public", "3d-models");
6
+ const dest = path.join(process.cwd(), "public", "3d-models");
7
+
8
+ if (!fs.existsSync(src)) return;
9
+
10
+ try {
11
+ fs.mkdirSync(path.dirname(dest), { recursive: true });
12
+ fs.cpSync(src, dest, { recursive: true, force: true });
13
+ } catch (err) {
14
+ const pkgName = require(path.join(pkgRoot, "package.json")).name;
15
+ console.warn(
16
+ `[${pkgName}] Could not copy 3d-models to public. ` +
17
+ `Copy public/3d-models from node_modules/${pkgName} to your public folder.`
18
+ );
19
+ }