Skip to content

Commit 32dd2d3

Browse files
author
Yuri Gii
committed
Merge branch 'main' of https://github.com/rmrk-team/rmrk-js
2 parents c4fa644 + 679bc1f commit 32dd2d3

28 files changed

+437
-224
lines changed

.changeset/long-tips-whisper.md

-6
This file was deleted.

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ This project uses [Biome.js](https://biomejs.dev) for code formatting (instead o
3737

3838
Build all packages and generate a new changeset
3939

40-
When submitting a PR with a change that requires a new version, please run `pnpm changesets` and select appropriate type of version bump (major, minor or patch if none is selected). When PR is merged, the new version will be automatically published to npm
40+
When submitting a PR with a change that requires a new version, please run `pnpm changeset` and select appropriate type of version bump (major, minor or patch if none is selected). When PR is merged, the new version will be automatically published to npm
4141

4242

4343
## Credits:

apps/composable-nft-renderer-app/package.json

+5-5
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,19 @@
1212
"dependencies": {
1313
"@ark-ui/anatomy": "^1.2.0",
1414
"@ark-ui/react": "^1.2.1",
15-
"@rainbow-me/rainbowkit": "^2.0.0-beta.1",
15+
"@rainbow-me/rainbowkit": "^2.0.5",
1616
"@rmrk-team/nft-renderer": "workspace:*",
1717
"@rmrk-team/rmrk-2d-renderer": "workspace:*",
1818
"@rmrk-team/rmrk-evm-utils": "workspace:*",
1919
"@rmrk-team/rmrk-hooks": "workspace:*",
20-
"@tanstack/react-query": "^5.17.12",
20+
"@tanstack/react-query": "^5.29.2",
2121
"canvas": "^2.11.2",
2222
"lucide-react": "^0.303.0",
2323
"next": "13.4.1",
2424
"react": "18.2.0",
2525
"react-dom": "18.2.0",
26-
"viem": "^2.5.0",
27-
"wagmi": "^2.5.1"
26+
"viem": "^2.9.23",
27+
"wagmi": "^2.5.20"
2828
},
2929
"devDependencies": {
3030
"@pandacss/dev": "^0.27.0",
@@ -35,7 +35,7 @@
3535
"@typescript-eslint/eslint-plugin": "5.58.0",
3636
"@typescript-eslint/parser": "5.58.0",
3737
"@zag-js/select": "^0.32.0",
38-
"abitype": "^0.10.3",
38+
"abitype": "^1.0.2",
3939
"eslint": "8.53.0",
4040
"eslint-config-next": "14.0.1",
4141
"eslint-config-prettier": "8.10.0",

packages/ipfs-utils/CHANGELOG.md

+15
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,20 @@
11
# @rmrk-team/ipfs-utils
22

3+
## 0.1.2
4+
5+
### Patch Changes
6+
7+
- [`f52a1a5`](https://github.com/rmrk-team/rmrk-js/commit/f52a1a5376fa7e5b4c04773042e7da49fd9ad012) Thanks [@Yuripetusko](https://github.com/Yuripetusko)! - Don't sanitize blob: uris in ipfs utils
8+
9+
## 0.1.1
10+
11+
### Patch Changes
12+
13+
- [`a1cfe3b`](https://github.com/rmrk-team/rmrk-js/commit/a1cfe3b5d7b19ba5eac03c1be3a475753053b425) Thanks [@Yuripetusko](https://github.com/Yuripetusko)! - Improve esm export and update all deps
14+
15+
- Updated dependencies [[`a1cfe3b`](https://github.com/rmrk-team/rmrk-js/commit/a1cfe3b5d7b19ba5eac03c1be3a475753053b425)]:
16+
- @rmrk-team/types@0.1.1
17+
318
## 0.1.0
419

520
### Minor Changes

packages/ipfs-utils/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"description": "IPFS utils for RMRK NFTs",
44
"bugs": "https://github.com/rmrk-team/rmrk-js/issues",
55
"homepage": "https://github.com/rmrk-team/rmrk-js",
6-
"version": "0.1.0",
6+
"version": "0.1.2",
77
"private": false,
88
"access": "public",
99
"repository": {

packages/ipfs-utils/src/lib/fetch-ipfs-metadata.ts

+18-7
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,21 @@ import {
88
} from './ipfs.js';
99
import { isBase64Metadata } from './is-base-64-metadata.js';
1010

11+
type Options = {
12+
shouldSanitizeIpfsUrls?: boolean;
13+
ipfsGatewayUrl?: string;
14+
};
15+
1116
export const fetchIpfsMetadata = async (
1217
metadataUri?: string | null,
13-
ipfsGatewayUrl = DEFAULT_IPFS_GATEWAY_URLS[
14-
DEFAULT_IPFS_GATEWAY_KEYS.cloudflare
15-
],
18+
options?: Options,
1619
): Promise<Metadata | null> => {
20+
const {
21+
shouldSanitizeIpfsUrls = true,
22+
ipfsGatewayUrl = DEFAULT_IPFS_GATEWAY_URLS[
23+
DEFAULT_IPFS_GATEWAY_KEYS.pinata
24+
],
25+
} = options || {};
1726
if (metadataUri && isBase64Metadata(metadataUri)) {
1827
return JSON.parse(getBase64Value(metadataUri)); // TODO: validation
1928
}
@@ -25,16 +34,18 @@ export const fetchIpfsMetadata = async (
2534

2635
const { animation_url, image, external_url, ...restMetadata } =
2736
metadata || {};
28-
const primaryMedia =
29-
animation_url || (metadata as Metadata)?.mediaUri || image;
3037
const thumbnail =
3138
(metadata as Metadata)?.thumbnailUri || (animation_url ? image : '');
3239

3340
if (provider) {
3441
return {
3542
...restMetadata,
36-
mediaUri: sanitizeIpfsUrl(primaryMedia || '', provider),
37-
thumbnailUri: sanitizeIpfsUrl(thumbnail || '', provider),
43+
mediaUri: shouldSanitizeIpfsUrls
44+
? sanitizeIpfsUrl((metadata as Metadata)?.mediaUri || '', provider)
45+
: (metadata as Metadata)?.mediaUri,
46+
thumbnailUri: shouldSanitizeIpfsUrls
47+
? sanitizeIpfsUrl(thumbnail || '', provider)
48+
: thumbnail,
3849
externalUri: (metadata as Metadata).externalUri || external_url,
3950
};
4051
}

packages/ipfs-utils/src/lib/ipfs.ts

+4
Original file line numberDiff line numberDiff line change
@@ -108,5 +108,9 @@ export const sanitizeIpfsUrl = (
108108
);
109109
}
110110

111+
if (ipfsUrl.startsWith('blob:')) {
112+
return ipfsUrl;
113+
}
114+
111115
return '';
112116
};

packages/nft-renderer/CHANGELOG.md

+62
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,67 @@
11
# @rmrk-team/nft-renderer
22

3+
## 0.2.5
4+
5+
### Patch Changes
6+
7+
- Updated dependencies [[`ca64edc`](https://github.com/rmrk-team/rmrk-js/commit/ca64edc69e805f0ea9f83b4df654bc5cf2579535)]:
8+
- @rmrk-team/rmrk-2d-renderer@0.1.5
9+
- @rmrk-team/rmrk-hooks@0.2.5
10+
11+
## 0.2.4
12+
13+
### Patch Changes
14+
15+
- [`e69102a`](https://github.com/rmrk-team/rmrk-js/commit/e69102aaad38c0bd720639dbb4cb022e796d152a) Thanks [@Yuripetusko](https://github.com/Yuripetusko)! - fix: clear extractImageTimeout timeout on unmount
16+
17+
- Updated dependencies [[`e69102a`](https://github.com/rmrk-team/rmrk-js/commit/e69102aaad38c0bd720639dbb4cb022e796d152a)]:
18+
- @rmrk-team/rmrk-2d-renderer@0.1.4
19+
- @rmrk-team/rmrk-hooks@0.2.4
20+
21+
## 0.2.3
22+
23+
### Patch Changes
24+
25+
- [`f52a1a5`](https://github.com/rmrk-team/rmrk-js/commit/f52a1a5376fa7e5b4c04773042e7da49fd9ad012) Thanks [@Yuripetusko](https://github.com/Yuripetusko)! - Don't sanitize blob: uris in ipfs utils
26+
27+
- Updated dependencies [[`f52a1a5`](https://github.com/rmrk-team/rmrk-js/commit/f52a1a5376fa7e5b4c04773042e7da49fd9ad012)]:
28+
- @rmrk-team/ipfs-utils@0.1.2
29+
- @rmrk-team/rmrk-2d-renderer@0.1.3
30+
- @rmrk-team/rmrk-hooks@0.2.3
31+
32+
## 0.2.2
33+
34+
### Patch Changes
35+
36+
- [`a1cfe3b`](https://github.com/rmrk-team/rmrk-js/commit/a1cfe3b5d7b19ba5eac03c1be3a475753053b425) Thanks [@Yuripetusko](https://github.com/Yuripetusko)! - Improve esm export and update all deps
37+
38+
- Updated dependencies [[`a1cfe3b`](https://github.com/rmrk-team/rmrk-js/commit/a1cfe3b5d7b19ba5eac03c1be3a475753053b425)]:
39+
- @rmrk-team/ipfs-utils@0.1.1
40+
- @rmrk-team/rmrk-2d-renderer@0.1.2
41+
- @rmrk-team/rmrk-evm-utils@0.1.2
42+
- @rmrk-team/rmrk-hooks@0.2.2
43+
44+
## 0.2.1
45+
46+
### Patch Changes
47+
48+
- [`682e065`](https://github.com/rmrk-team/rmrk-js/commit/682e06570c345fe6ae26ad46000371b47421aa9a) Thanks [@Yuripetusko](https://github.com/Yuripetusko)! - Use use-resize-observer package instead of a custom hook
49+
50+
- Updated dependencies [[`682e065`](https://github.com/rmrk-team/rmrk-js/commit/682e06570c345fe6ae26ad46000371b47421aa9a)]:
51+
- @rmrk-team/rmrk-2d-renderer@0.1.1
52+
- @rmrk-team/rmrk-hooks@0.2.1
53+
54+
## 0.2.0
55+
56+
### Minor Changes
57+
58+
- [`325e6e2`](https://github.com/rmrk-team/rmrk-js/commit/325e6e2bec733177cbe86e966ffc821603653bb2) Thanks [@YuriGii](https://github.com/YuriGii)! - fix nft-renderer config and add equipped item details to useGetComposedState
59+
60+
### Patch Changes
61+
62+
- Updated dependencies [[`325e6e2`](https://github.com/rmrk-team/rmrk-js/commit/325e6e2bec733177cbe86e966ffc821603653bb2)]:
63+
- @rmrk-team/rmrk-hooks@0.2.0
64+
365
## 0.1.2
466

567
### Patch Changes

packages/nft-renderer/package.json

+9-9
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "@rmrk-team/nft-renderer",
33
"description": "React NFT renderer for multi layered composable NFTs built on RMRK standards",
44
"bugs": "https://github.com/rmrk-team/rmrk-js/issues",
5-
"version": "0.1.2",
5+
"version": "0.2.5",
66
"private": false,
77
"access": "public",
88
"repository": {
@@ -16,7 +16,7 @@
1616
"build:misc": "pnpm copy:styled-system && tsc-alias -p tsconfig.build.json",
1717
"build:postcss": "postcss -o dist/esm/styles/index.css src/styles/index.css",
1818
"build:panda": "panda cssgen --outfile dist/styles.css",
19-
"copy:styled-system": "copyfiles ./styled-system/**/*.mjs ./styled-system/*.mjs dist/esm",
19+
"copy:styled-system": "copyfiles --up 1 ./src/styled-system/**/*.js ./src/styled-system/*.js dist/esm",
2020
"prepare": "panda codegen",
2121
"dev": "pnpm --workspace-concurrency=1 run build:esm+types --watch && pnpm run build:misc --watch && pnpm run build:panda --watch",
2222
"clean": "rm -rf dist tsconfig.tsbuildinfo actions chains connectors query",
@@ -62,26 +62,26 @@
6262
"@types/react": "18.2.33",
6363
"@types/react-dom": "18.2.14",
6464
"@vitejs/plugin-react": "^4.1.0",
65-
"@wagmi/core": "^2.6.0",
65+
"@wagmi/core": "^2.6.17",
6666
"copyfiles": "^2.4.1",
6767
"postcss": "^8.4.33",
6868
"postcss-cli": "^11.0.0",
6969
"react": "18.2.0",
7070
"react-dom": "18.2.0",
7171
"tsc-alias": "^1.8.8",
7272
"typescript": "^5.4.2",
73-
"viem": "^2.5.0",
73+
"viem": "^2.9.23",
7474
"vite": "^4.4.9",
75-
"wagmi": "^2.5.1"
75+
"wagmi": "^2.5.20"
7676
},
7777
"peerDependencies": {
78-
"@tanstack/react-query": ">=5.17.12",
78+
"@tanstack/react-query": ">=5.29.2",
7979
"react": "^18.2.0",
8080
"react-dom": "^18.2.0",
8181
"typescript": ">=5.4.2",
82-
"viem": ">=2.5.0",
83-
"wagmi": ">=2.5.1",
84-
"@wagmi/core": "^2.6.0"
82+
"viem": ">=2.9.23",
83+
"wagmi": ">=2.5.20",
84+
"@wagmi/core": "^2.6.17"
8585
},
8686
"license": "MIT",
8787
"authors": [

packages/nft-renderer/panda.config.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,9 @@ export default defineConfig({
1515
theme: {
1616
extend: {},
1717
},
18+
outExtension: 'js',
1819

1920
// The output directory for your css system
20-
outdir: 'styled-system',
21+
outdir: 'src/styled-system',
2122
jsxFramework: 'react',
2223
});

packages/nft-renderer/src/components/nft-renderer.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@ import {
99
useRMRKConfig,
1010
} from '@rmrk-team/rmrk-hooks';
1111
import React, { useEffect, useRef, useState } from 'react';
12-
import { css } from 'styled-system/css';
1312
import { isAddress } from 'viem';
1413
import type { Address } from 'viem';
1514
import { usePublicClient, useReadContract } from 'wagmi';
1615
import type { Chain } from 'wagmi/chains';
16+
import { css } from '../styled-system/css/css.js';
1717
import type { RenderPart } from '../types/types.js';
1818

1919
const useIsAddressAContract = ({

packages/nft-renderer/tsconfig.build.json

+1-4
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,7 @@
1111
"composite": true,
1212
"outDir": "./dist/esm",
1313
"rootDir": "src",
14-
"declarationDir": "./dist/types",
15-
"paths": {
16-
"styled-system/css": ["./styled-system/css"],
17-
}
14+
"declarationDir": "./dist/types"
1815
},
1916
"references": [
2017
{

packages/nft-renderer/tsconfig.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@
44
"jsx": "react-jsx"
55
},
66
"include": ["src/**/*.ts", "src/**/*.tsx", "test/**/*.ts"],
7-
"exclude": []
7+
"exclude": [],
88
}

packages/rmrk-2d-renderer/CHANGELOG.md

+36
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,41 @@
11
# @rmrk-team/rmrk-2d-renderer
22

3+
## 0.1.5
4+
5+
### Patch Changes
6+
7+
- [`ca64edc`](https://github.com/rmrk-team/rmrk-js/commit/ca64edc69e805f0ea9f83b4df654bc5cf2579535) Thanks [@Yuripetusko](https://github.com/Yuripetusko)! - All urls should come pre-sanitized to 2d renderer
8+
9+
## 0.1.4
10+
11+
### Patch Changes
12+
13+
- [`e69102a`](https://github.com/rmrk-team/rmrk-js/commit/e69102aaad38c0bd720639dbb4cb022e796d152a) Thanks [@Yuripetusko](https://github.com/Yuripetusko)! - fix: clear extractImageTimeout timeout on unmount
14+
15+
## 0.1.3
16+
17+
### Patch Changes
18+
19+
- [`f52a1a5`](https://github.com/rmrk-team/rmrk-js/commit/f52a1a5376fa7e5b4c04773042e7da49fd9ad012) Thanks [@Yuripetusko](https://github.com/Yuripetusko)! - Don't sanitize blob: uris in ipfs utils
20+
21+
- Updated dependencies [[`f52a1a5`](https://github.com/rmrk-team/rmrk-js/commit/f52a1a5376fa7e5b4c04773042e7da49fd9ad012)]:
22+
- @rmrk-team/ipfs-utils@0.1.2
23+
24+
## 0.1.2
25+
26+
### Patch Changes
27+
28+
- [`a1cfe3b`](https://github.com/rmrk-team/rmrk-js/commit/a1cfe3b5d7b19ba5eac03c1be3a475753053b425) Thanks [@Yuripetusko](https://github.com/Yuripetusko)! - Improve esm export and update all deps
29+
30+
- Updated dependencies [[`a1cfe3b`](https://github.com/rmrk-team/rmrk-js/commit/a1cfe3b5d7b19ba5eac03c1be3a475753053b425)]:
31+
- @rmrk-team/ipfs-utils@0.1.1
32+
33+
## 0.1.1
34+
35+
### Patch Changes
36+
37+
- [`682e065`](https://github.com/rmrk-team/rmrk-js/commit/682e06570c345fe6ae26ad46000371b47421aa9a) Thanks [@Yuripetusko](https://github.com/Yuripetusko)! - Use use-resize-observer package instead of a custom hook
38+
339
## 0.1.0
440

541
### Minor Changes

packages/rmrk-2d-renderer/package.json

+5-4
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"description": "React Pixi (Canvas) renderer for multi layered composable NFTs built on RMRK standards",
44
"bugs": "https://github.com/rmrk-team/rmrk-js/issues",
55
"homepage": "https://github.com/rmrk-team/rmrk-js",
6-
"version": "0.1.0",
6+
"version": "0.1.5",
77
"private": false,
88
"access": "public",
99
"repository": {
@@ -13,10 +13,10 @@
1313
},
1414
"scripts": {
1515
"build": "pnpm run clean && pnpm prepare && pnpm run build:esm+types",
16-
"build:esm+types": "pnpm build:postcss && tsc -b tsconfig.build.json --declaration --declarationMap && pnpm copy:styled-system && tsc-alias -p tsconfig.build.json && pnpm build:panda",
16+
"build:esm+types": "pnpm build:postcss && tsc -b tsconfig.build.json --declaration --declarationMap && pnpm copy:styled-system && pnpm build:panda",
1717
"build:postcss": "postcss -o dist/esm/styles/index.css src/styles/index.css",
1818
"build:panda": "panda cssgen --outfile dist/styles.css",
19-
"copy:styled-system": "copyfiles ./styled-system/**/*.mjs ./styled-system/*.mjs dist/esm",
19+
"copy:styled-system": "copyfiles --up 1 ./src/styled-system/**/*.js ./src/styled-system/*.js dist/esm",
2020
"prepare": "panda codegen",
2121
"dev": "pnpm run build:esm+types --watch",
2222
"clean": "rm -rf dist tsconfig.tsbuildinfo actions chains connectors query",
@@ -54,7 +54,8 @@
5454
"isomorphic-dompurify": "^2.2.0",
5555
"lucide-react": "^0.303.0",
5656
"pixi.js": "^7.2.4",
57-
"use-image": "^1.1.1"
57+
"use-image": "^1.1.1",
58+
"use-resize-observer": "^9.1.0"
5859
},
5960
"devDependencies": {
6061
"@changesets/changelog-github": "^0.5.0",

packages/rmrk-2d-renderer/panda.config.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ export default defineConfig({
88
// Where to look for your css declarations
99
include: ['./src/**/*.{js,jsx,ts,tsx}'],
1010

11+
outExtension: 'js',
12+
1113
// Files to exclude
1214
exclude: [],
1315

@@ -17,6 +19,6 @@ export default defineConfig({
1719
},
1820

1921
// The output directory for your css system
20-
outdir: 'styled-system',
22+
outdir: 'src/styled-system',
2123
jsxFramework: 'react',
2224
});

0 commit comments

Comments
 (0)