@solana-mobile/dapp-store-publishing-tools 0.8.2 → 0.9.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.
@@ -271,6 +271,7 @@ import { Constants, mintNft } from "../CoreUtils.js";
271
271
  import * as util from "util";
272
272
  import { metaplexFileReplacer, validateRelease } from "../validate/CoreValidation.js";
273
273
  import { imageSize } from "image-size";
274
+ import getVideoDimensions from "get-video-dimensions";
274
275
  var runImgSize = util.promisify(imageSize);
275
276
  var debug = debugModule("RELEASE");
276
277
  var getFileMetadata = function() {
@@ -316,22 +317,26 @@ var getFileMetadata = function() {
316
317
  }();
317
318
  var getMediaMetadata = function() {
318
319
  var _ref = _async_to_generator(function(item) {
319
- var _item_uri, size, metadata, _size_width, _size_height;
320
+ var metadata, _item_uri, size, _size_width, _size_height, _item_uri1, size1, _size_width1, _size_height1;
320
321
  return _ts_generator(this, function(_state) {
321
322
  switch(_state.label){
322
323
  case 0:
323
324
  return [
324
325
  4,
325
- runImgSize((_item_uri = item.uri) !== null && _item_uri !== void 0 ? _item_uri : "")
326
+ getFileMetadata(item)
326
327
  ];
327
328
  case 1:
328
- size = _state.sent();
329
+ metadata = _state.sent();
330
+ if (!(item.purpose == "screenshot" || item.purpose == "icon")) return [
331
+ 3,
332
+ 3
333
+ ];
329
334
  return [
330
335
  4,
331
- getFileMetadata(item)
336
+ runImgSize((_item_uri = item.uri) !== null && _item_uri !== void 0 ? _item_uri : "")
332
337
  ];
333
338
  case 2:
334
- metadata = _state.sent();
339
+ size = _state.sent();
335
340
  return [
336
341
  2,
337
342
  _object_spread_props(_object_spread({}, metadata), {
@@ -339,6 +344,24 @@ var getMediaMetadata = function() {
339
344
  height: (_size_height = size === null || size === void 0 ? void 0 : size.height) !== null && _size_height !== void 0 ? _size_height : 0
340
345
  })
341
346
  ];
347
+ case 3:
348
+ return [
349
+ 4,
350
+ getVideoDimensions((_item_uri1 = item.uri) !== null && _item_uri1 !== void 0 ? _item_uri1 : "")
351
+ ];
352
+ case 4:
353
+ size1 = _state.sent();
354
+ return [
355
+ 2,
356
+ _object_spread_props(_object_spread({}, metadata), {
357
+ width: (_size_width1 = size1 === null || size1 === void 0 ? void 0 : size1.width) !== null && _size_width1 !== void 0 ? _size_width1 : 0,
358
+ height: (_size_height1 = size1 === null || size1 === void 0 ? void 0 : size1.height) !== null && _size_height1 !== void 0 ? _size_height1 : 0
359
+ })
360
+ ];
361
+ case 5:
362
+ return [
363
+ 2
364
+ ];
342
365
  }
343
366
  });
344
367
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@solana-mobile/dapp-store-publishing-tools",
3
- "version": "0.8.2",
3
+ "version": "0.9.1",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -27,11 +27,12 @@
27
27
  "@types/debug": "^4.1.7",
28
28
  "@types/mime": "^3.0.1",
29
29
  "@types/node-fetch": "^2.6.2",
30
+ "get-video-dimensions": "^1.0.0",
30
31
  "json-schema-to-typescript": "^11.0.2",
31
32
  "shx": "^0.3.4"
32
33
  },
33
34
  "dependencies": {
34
- "@metaplex-foundation/js": "0.18.3",
35
+ "@metaplex-foundation/js": "0.20.0",
35
36
  "@solana/web3.js": "1.68.0",
36
37
  "ajv": "^8.11.0",
37
38
  "axios": "1.1.3",
@@ -5,10 +5,11 @@ import mime from "mime";
5
5
  import debugModule from "debug";
6
6
  import type { MetaplexFile } from "@metaplex-foundation/js";
7
7
  import { toMetaplexFile } from "@metaplex-foundation/js";
8
- import { Constants, mintNft, truncateAddress } from "../CoreUtils.js";
8
+ import { Constants, mintNft } from "../CoreUtils.js";
9
9
  import * as util from "util";
10
10
  import { metaplexFileReplacer, validateRelease } from "../validate/CoreValidation.js";
11
11
  import { imageSize } from "image-size";
12
+ import getVideoDimensions from "get-video-dimensions";
12
13
 
13
14
  import type { Keypair, PublicKey } from "@solana/web3.js";
14
15
  import type {
@@ -18,7 +19,6 @@ import type {
18
19
  Publisher,
19
20
  Release,
20
21
  } from "../types.js";
21
- import { str } from "ajv";
22
22
 
23
23
  const runImgSize = util.promisify(imageSize);
24
24
  const debug = debugModule("RELEASE");
@@ -47,14 +47,25 @@ const getFileMetadata = async (item: Media | File) => {
47
47
  };
48
48
 
49
49
  const getMediaMetadata = async (item: Media) => {
50
- const size = await runImgSize(item.uri ?? "");
51
50
  const metadata = await getFileMetadata(item);
52
51
 
53
- return {
54
- ...metadata,
55
- width: size?.width ?? 0,
56
- height: size?.height ?? 0,
57
- };
52
+ if (item.purpose == "screenshot" || item.purpose == "icon") {
53
+ const size = await runImgSize(item.uri ?? "");
54
+
55
+ return {
56
+ ...metadata,
57
+ width: size?.width ?? 0,
58
+ height: size?.height ?? 0,
59
+ };
60
+ } else {
61
+ const size = await getVideoDimensions(item.uri ?? "");
62
+
63
+ return {
64
+ ...metadata,
65
+ width: size?.width ?? 0,
66
+ height: size?.height ?? 0,
67
+ };
68
+ }
58
69
  };
59
70
 
60
71
  export const createReleaseJson = async (
@@ -1,11 +1,9 @@
1
- import fs from "fs";
2
1
  import Ajv from "ajv";
3
2
 
4
3
  import type {
5
4
  AppMetadata,
6
5
  MetaplexFileReleaseJsonMetadata,
7
6
  PublisherMetadata,
8
- ReleaseJsonMetadata
9
7
  } from "../types.js";
10
8
 
11
9
  // eslint-disable-next-line require-extensions/require-extensions