@underverse-ui/underverse 1.0.170 → 1.0.171

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@underverse-ui/underverse",
3
- "version": "1.0.170",
3
+ "version": "1.0.171",
4
4
  "private": false,
5
5
  "description": "Underverse UI – reusable React/Next.js UI components",
6
6
  "type": "module",
@@ -34,11 +34,13 @@
34
34
  "llms.txt",
35
35
  "agent-recipes.json",
36
36
  "emojis",
37
- "scripts/copy-emojis.mjs"
37
+ "scripts/copy-emojis.mjs",
38
+ "stickers",
39
+ "scripts/copy-stickers.mjs"
38
40
  ],
39
41
  "sideEffects": false,
40
42
  "scripts": {
41
- "postinstall": "node ./scripts/copy-emojis.mjs",
43
+ "postinstall": "node ./scripts/copy-emojis.mjs && node ./scripts/copy-stickers.mjs",
42
44
  "dev": "tsup --config tsup.config.ts --watch",
43
45
  "typecheck": "tsc -p tsconfig.tsup.json --noEmit --incremental false",
44
46
  "generate:api": "node ./scripts/generate-api-reference.mjs",
@@ -57,6 +59,7 @@
57
59
  "test:ueditor-ui": "node --test ./tests/ueditor.interaction.test.mjs",
58
60
  "test:public-api": "node --test ./tests/public-api-smoke.test.mjs",
59
61
  "test:components-smoke": "node --test ./tests/components-smoke.test.mjs",
62
+ "test:sticker-ui": "node --test ./tests/sticker.interaction.test.mjs",
60
63
  "test:smoke": "npm run test:public-api && npm run test:components-smoke",
61
64
  "build": "npm run typecheck && npm run check:boundaries && npm run generate:api && tsup --config tsup.config.ts",
62
65
  "clean": "rimraf dist",
@@ -0,0 +1,64 @@
1
+ import fs from 'fs';
2
+ import path from 'url';
3
+ import fileSystem from 'fs';
4
+ import pathModule from 'path';
5
+ import { fileURLToPath } from 'url';
6
+
7
+ const __filename = fileURLToPath(import.meta.url);
8
+ const __dirname = pathModule.dirname(__filename);
9
+
10
+ // Source directory for stickers in the package
11
+ const srcStickersDir = pathModule.resolve(__dirname, '../stickers');
12
+
13
+ // Possible public directory paths in the consuming application
14
+ const pathsToTry = [
15
+ pathModule.resolve(__dirname, '../../../../public'), // Standard npm install path
16
+ pathModule.resolve(__dirname, '../../../../../public'), // Monorepo install path
17
+ pathModule.resolve(__dirname, '../../../public'),
18
+ pathModule.resolve(__dirname, '../../public'), // Local dev environment path
19
+ ];
20
+
21
+ let targetPublicDir = null;
22
+ for (const p of pathsToTry) {
23
+ try {
24
+ if (fileSystem.existsSync(p) && fileSystem.statSync(p).isDirectory()) {
25
+ targetPublicDir = p;
26
+ break;
27
+ }
28
+ } catch (e) {
29
+ // Ignore error and try next path
30
+ }
31
+ }
32
+
33
+ function copyDirRecursive(src, dest) {
34
+ fileSystem.mkdirSync(dest, { recursive: true });
35
+ const entries = fileSystem.readdirSync(src, { withFileTypes: true });
36
+
37
+ let copiedCount = 0;
38
+ for (const entry of entries) {
39
+ const srcPath = pathModule.join(src, entry.name);
40
+ const destPath = pathModule.join(dest, entry.name);
41
+
42
+ if (entry.isDirectory()) {
43
+ copiedCount += copyDirRecursive(srcPath, destPath);
44
+ } else if (entry.isFile()) {
45
+ fileSystem.copyFileSync(srcPath, destPath);
46
+ copiedCount++;
47
+ }
48
+ }
49
+ return copiedCount;
50
+ }
51
+
52
+ if (targetPublicDir && fileSystem.existsSync(srcStickersDir)) {
53
+ const destStickersDir = pathModule.join(targetPublicDir, 'stickers');
54
+ console.log(`[underverse] Automatically copying sticker assets to: ${destStickersDir}`);
55
+
56
+ try {
57
+ const copiedCount = copyDirRecursive(srcStickersDir, destStickersDir);
58
+ console.log(`[underverse] Copied ${copiedCount} sticker assets successfully.`);
59
+ } catch (err) {
60
+ console.warn(`[underverse] Failed to automatically copy sticker assets: ${err.message}`);
61
+ }
62
+ } else {
63
+ console.log(`[underverse] Could not automatically locate target public/ directory. Please manually copy the 'stickers/' folder from '@underverse-ui/underverse/stickers' to your project's 'public/stickers' directory.`);
64
+ }
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file