@vendure-platform/create 0.2.1-nightly.202605191555 → 0.2.2

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.
Files changed (143) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +11 -0
  3. package/dist/add-to-existing.d.ts +80 -0
  4. package/dist/add-to-existing.js +508 -0
  5. package/dist/add-to-existing.js.map +1 -0
  6. package/dist/assets/storefront/next.config.ts +1 -19
  7. package/dist/assets/storefront/package.json +1 -3
  8. package/dist/assets/storefront/src/components/commerce/packaging-unit-selector.tsx +6 -1
  9. package/dist/assets/storefront/src/components/commerce/product-info.tsx +4 -4
  10. package/dist/assets/storefront/src/graphql-env.d.ts +25 -22
  11. package/dist/assets/storefront/src/lib/vendure/queries.ts +6 -0
  12. package/dist/assets/storefront/src/schema.graphql +204 -111
  13. package/dist/assets/templates/README.md.hbs +5 -0
  14. package/dist/assets/templates/bunfig.toml.hbs +17 -0
  15. package/dist/assets/templates/env.hbs +5 -2
  16. package/dist/assets/templates/environment.d.ts.hbs +3 -0
  17. package/dist/assets/templates/gitignore.hbs +6 -0
  18. package/dist/assets/templates/npmrc.hbs +2 -0
  19. package/dist/assets/templates/populate.ts.hbs +1 -14
  20. package/dist/assets/templates/server-package.json.hbs +6 -6
  21. package/dist/assets/templates/vendure-config.ts.hbs +9 -3
  22. package/dist/bin/run.js +27 -0
  23. package/dist/bin/run.js.map +1 -1
  24. package/dist/cli.js +34 -1
  25. package/dist/cli.js.map +1 -1
  26. package/dist/scaffold-shared.js +15 -5
  27. package/dist/scaffold-shared.js.map +1 -1
  28. package/dist/scaffolder.js +8 -3
  29. package/dist/scaffolder.js.map +1 -1
  30. package/dist/sort-package-json.d.ts +12 -0
  31. package/dist/sort-package-json.js +26 -0
  32. package/dist/sort-package-json.js.map +1 -0
  33. package/dist/storefront-copier.d.ts +12 -0
  34. package/dist/storefront-copier.js +38 -8
  35. package/dist/storefront-copier.js.map +1 -1
  36. package/dist/template-renderer.d.ts +63 -1
  37. package/dist/template-renderer.js +81 -5
  38. package/dist/template-renderer.js.map +1 -1
  39. package/dist/types.d.ts +32 -0
  40. package/package.json +4 -4
  41. package/dist/assets/demo-data/assets/branding/logo.svg +0 -4
  42. package/dist/assets/demo-data/assets/images/absorbent-pad.webp +0 -0
  43. package/dist/assets/demo-data/assets/images/adjustable-wrench.webp +0 -0
  44. package/dist/assets/demo-data/assets/images/anchor-bolt.webp +0 -0
  45. package/dist/assets/demo-data/assets/images/angle-grinder.webp +0 -0
  46. package/dist/assets/demo-data/assets/images/barrier-tape.webp +0 -0
  47. package/dist/assets/demo-data/assets/images/bench-grinder.webp +0 -0
  48. package/dist/assets/demo-data/assets/images/bracket.webp +0 -0
  49. package/dist/assets/demo-data/assets/images/broom.webp +0 -0
  50. package/dist/assets/demo-data/assets/images/bucket.webp +0 -0
  51. package/dist/assets/demo-data/assets/images/cable-gland.webp +0 -0
  52. package/dist/assets/demo-data/assets/images/cable-tie.webp +0 -0
  53. package/dist/assets/demo-data/assets/images/cable-tray.webp +0 -0
  54. package/dist/assets/demo-data/assets/images/cable.webp +0 -0
  55. package/dist/assets/demo-data/assets/images/chimney-base-kit.webp +0 -0
  56. package/dist/assets/demo-data/assets/images/chimney-cowl-bird-guard.webp +0 -0
  57. package/dist/assets/demo-data/assets/images/chimney-cowl-open.webp +0 -0
  58. package/dist/assets/demo-data/assets/images/chimney-storm-collar.webp +0 -0
  59. package/dist/assets/demo-data/assets/images/chimney-wall-bracket.webp +0 -0
  60. package/dist/assets/demo-data/assets/images/circular-saw.webp +0 -0
  61. package/dist/assets/demo-data/assets/images/cleaning-spray.webp +0 -0
  62. package/dist/assets/demo-data/assets/images/conduit.webp +0 -0
  63. package/dist/assets/demo-data/assets/images/cordless-drill.webp +0 -0
  64. package/dist/assets/demo-data/assets/images/drill-bits.webp +0 -0
  65. package/dist/assets/demo-data/assets/images/dust-mask.webp +0 -0
  66. package/dist/assets/demo-data/assets/images/ear-defenders.webp +0 -0
  67. package/dist/assets/demo-data/assets/images/ear-plugs.webp +0 -0
  68. package/dist/assets/demo-data/assets/images/extension-lead.webp +0 -0
  69. package/dist/assets/demo-data/assets/images/eye-wash-station.webp +0 -0
  70. package/dist/assets/demo-data/assets/images/face-shield.webp +0 -0
  71. package/dist/assets/demo-data/assets/images/file-set.webp +0 -0
  72. package/dist/assets/demo-data/assets/images/first-aid-kit.webp +0 -0
  73. package/dist/assets/demo-data/assets/images/floor-sign.webp +0 -0
  74. package/dist/assets/demo-data/assets/images/flue-bend-45.webp +0 -0
  75. package/dist/assets/demo-data/assets/images/flue-bend-90.webp +0 -0
  76. package/dist/assets/demo-data/assets/images/flue-section-1000mm.webp +0 -0
  77. package/dist/assets/demo-data/assets/images/flue-section-250mm.webp +0 -0
  78. package/dist/assets/demo-data/assets/images/flue-section-500mm.webp +0 -0
  79. package/dist/assets/demo-data/assets/images/fuse.webp +0 -0
  80. package/dist/assets/demo-data/assets/images/glove-dispenser.webp +0 -0
  81. package/dist/assets/demo-data/assets/images/grinding-disc.webp +0 -0
  82. package/dist/assets/demo-data/assets/images/hacksaw.webp +0 -0
  83. package/dist/assets/demo-data/assets/images/hammer.webp +0 -0
  84. package/dist/assets/demo-data/assets/images/hand-sanitiser.webp +0 -0
  85. package/dist/assets/demo-data/assets/images/head-torch.webp +0 -0
  86. package/dist/assets/demo-data/assets/images/heat-gun.webp +0 -0
  87. package/dist/assets/demo-data/assets/images/hex-bolt.webp +0 -0
  88. package/dist/assets/demo-data/assets/images/hex-key-set.webp +0 -0
  89. package/dist/assets/demo-data/assets/images/hex-nut.webp +0 -0
  90. package/dist/assets/demo-data/assets/images/hi-vis-jacket.webp +0 -0
  91. package/dist/assets/demo-data/assets/images/hi-vis-vest.webp +0 -0
  92. package/dist/assets/demo-data/assets/images/hose-clamp.webp +0 -0
  93. package/dist/assets/demo-data/assets/images/impact-driver.webp +0 -0
  94. package/dist/assets/demo-data/assets/images/jigsaw.webp +0 -0
  95. package/dist/assets/demo-data/assets/images/junction-box.webp +0 -0
  96. package/dist/assets/demo-data/assets/images/knee-pads.webp +0 -0
  97. package/dist/assets/demo-data/assets/images/machine-screw.webp +0 -0
  98. package/dist/assets/demo-data/assets/images/made-to-order-configurable-chimney.webp +0 -0
  99. package/dist/assets/demo-data/assets/images/mallet.webp +0 -0
  100. package/dist/assets/demo-data/assets/images/mcb.webp +0 -0
  101. package/dist/assets/demo-data/assets/images/mop.webp +0 -0
  102. package/dist/assets/demo-data/assets/images/paper-towels.webp +0 -0
  103. package/dist/assets/demo-data/assets/images/pipe-wrench.webp +0 -0
  104. package/dist/assets/demo-data/assets/images/pliers-set.webp +0 -0
  105. package/dist/assets/demo-data/assets/images/pry-bar.webp +0 -0
  106. package/dist/assets/demo-data/assets/images/rcd.webp +0 -0
  107. package/dist/assets/demo-data/assets/images/reciprocating-saw.webp +0 -0
  108. package/dist/assets/demo-data/assets/images/rivet.webp +0 -0
  109. package/dist/assets/demo-data/assets/images/roof-flashing-high-pitch.webp +0 -0
  110. package/dist/assets/demo-data/assets/images/roof-flashing-low-pitch.webp +0 -0
  111. package/dist/assets/demo-data/assets/images/safety-boots.webp +0 -0
  112. package/dist/assets/demo-data/assets/images/safety-glasses.webp +0 -0
  113. package/dist/assets/demo-data/assets/images/safety-harness.webp +0 -0
  114. package/dist/assets/demo-data/assets/images/safety-helmet.webp +0 -0
  115. package/dist/assets/demo-data/assets/images/safety-sign.webp +0 -0
  116. package/dist/assets/demo-data/assets/images/sanding-disc.webp +0 -0
  117. package/dist/assets/demo-data/assets/images/saw-blade.webp +0 -0
  118. package/dist/assets/demo-data/assets/images/screwdriver-set.webp +0 -0
  119. package/dist/assets/demo-data/assets/images/screwdriver.webp +0 -0
  120. package/dist/assets/demo-data/assets/images/self-tapping-screw.webp +0 -0
  121. package/dist/assets/demo-data/assets/images/socket-set.webp +0 -0
  122. package/dist/assets/demo-data/assets/images/socket.webp +0 -0
  123. package/dist/assets/demo-data/assets/images/spanner-set.webp +0 -0
  124. package/dist/assets/demo-data/assets/images/spanner.webp +0 -0
  125. package/dist/assets/demo-data/assets/images/spill-kit.webp +0 -0
  126. package/dist/assets/demo-data/assets/images/spirit-level.webp +0 -0
  127. package/dist/assets/demo-data/assets/images/switch.webp +0 -0
  128. package/dist/assets/demo-data/assets/images/tape-measure.webp +0 -0
  129. package/dist/assets/demo-data/assets/images/terminal-block.webp +0 -0
  130. package/dist/assets/demo-data/assets/images/threaded-rod.webp +0 -0
  131. package/dist/assets/demo-data/assets/images/torque-wrench.webp +0 -0
  132. package/dist/assets/demo-data/assets/images/utility-knife.webp +0 -0
  133. package/dist/assets/demo-data/assets/images/wall-pass-sleeve.webp +0 -0
  134. package/dist/assets/demo-data/assets/images/wall-plug.webp +0 -0
  135. package/dist/assets/demo-data/assets/images/washer.webp +0 -0
  136. package/dist/assets/demo-data/assets/images/waste-bin.webp +0 -0
  137. package/dist/assets/demo-data/assets/images/wire-connector.webp +0 -0
  138. package/dist/assets/demo-data/assets/images/wire-cutters.webp +0 -0
  139. package/dist/assets/demo-data/assets/images/wood-screw.webp +0 -0
  140. package/dist/assets/demo-data/assets/images/work-gloves.webp +0 -0
  141. package/dist/assets/demo-data/assets/images/work-light.webp +0 -0
  142. package/dist/assets/demo-data/assets/initial-data.json +0 -667
  143. package/dist/assets/demo-data/assets/products.csv +0 -779
@@ -36,6 +36,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
36
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.resolvePluginVersionSpec = resolvePluginVersionSpec;
39
40
  exports.buildTemplateContext = buildTemplateContext;
40
41
  exports.renderTemplate = renderTemplate;
41
42
  exports.getTemplatePath = getTemplatePath;
@@ -44,7 +45,40 @@ const fs = __importStar(require("fs"));
44
45
  const path = __importStar(require("path"));
45
46
  const plugin_registry_1 = require("./plugin-registry");
46
47
  const registry_1 = require("./registry");
47
- function createHandlebarsInstance(resolvedPluginKeys, disabledPluginKeys) {
48
+ const sort_package_json_1 = require("./sort-package-json");
49
+ /**
50
+ * Resolve the dependency spec to emit for every `@vendure-platform/*`
51
+ * dependency in the scaffolded `server/package.json`.
52
+ *
53
+ * Nx Release runs in `projectsRelationship: fixed` mode, so every published
54
+ * `libs/*` package shares one version. We read this CLI's own version from
55
+ * `libs/create/package.json` (relative to this file's compiled location —
56
+ * both `src/` and `dist/` are one level above the package root) and use it
57
+ * as the canonical version anchor:
58
+ *
59
+ * - Stable release (`0.2.0`) → emit `^0.2.0` so customers track
60
+ * minor/patch updates automatically.
61
+ * - Prerelease (`0.2.1-nightly.X`) → emit the `nightly` dist-tag.
62
+ * Pinning to the exact prerelease version is brittle because the
63
+ * nightly publish workflow stamps a new timestamped patch every run,
64
+ * and a customer scaffolded last Tuesday cannot resolve today's
65
+ * timestamp from npm even though both are tagged `nightly`.
66
+ *
67
+ * The override is for tests that need to exercise both shapes without
68
+ * mutating the on-disk `package.json`.
69
+ */
70
+ function resolvePluginVersionSpec(versionOverride) {
71
+ const version = versionOverride !== null && versionOverride !== void 0 ? versionOverride : readOwnPackageVersion();
72
+ return version.includes('-') ? 'nightly' : `^${version}`;
73
+ }
74
+ function readOwnPackageVersion() {
75
+ // __dirname is `<package>/src` during tests and `<package>/dist` at runtime —
76
+ // both one level above `<package>/package.json`.
77
+ const pkgPath = path.join(__dirname, '..', 'package.json');
78
+ const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8'));
79
+ return pkg.version;
80
+ }
81
+ function createHandlebarsInstance(resolvedPluginKeys, disabledPluginKeys, pluginVersionSpec) {
48
82
  const hbs = handlebars_1.default.create();
49
83
  const resolvedSet = new Set(resolvedPluginKeys);
50
84
  hbs.registerHelper('ifPlugin', function (pluginKey, options) {
@@ -54,12 +88,38 @@ function createHandlebarsInstance(resolvedPluginKeys, disabledPluginKeys) {
54
88
  return options.inverse(this);
55
89
  });
56
90
  hbs.registerHelper('pluginDependencies', function () {
57
- const lines = resolvedPluginKeys.map((key) => ` "${(0, plugin_registry_1.getPlugin)(key).packageName}": "nightly"`);
91
+ const lines = resolvedPluginKeys.map((key) => ` "${(0, plugin_registry_1.getPlugin)(key).packageName}": "${pluginVersionSpec}"`);
58
92
  if (lines.length === 0) {
59
93
  return new hbs.SafeString('');
60
94
  }
61
95
  return new hbs.SafeString(',\n' + lines.join(',\n'));
62
96
  });
97
+ hbs.registerHelper('platformPackageExcludes', function () {
98
+ // The full set of `@vendure-platform/*` packages the scaffolded
99
+ // project may pull in (directly or transitively). Required for the
100
+ // scaffolded `bunfig.toml` to bypass Bun's `minimumReleaseAge`
101
+ // quarantine — without these excludes, any customer who scaffolds
102
+ // a project within 7 days of a Vendure Platform release will get
103
+ // "blocked by minimum-release-age" errors from `bun install`.
104
+ //
105
+ // Sourced from `pluginRegistry` (auto-tracks new plugins) plus the
106
+ // small static list of infra packages the scaffolded project
107
+ // depends on. `create` and `plugin-meta` are intentionally absent:
108
+ // the scaffolded project never installs them — `create` is invoked
109
+ // via `npx` (which uses npm, not bun) and `plugin-meta` is only a
110
+ // dep of `create`.
111
+ const infraPackages = [
112
+ '@vendure-platform/data-populator',
113
+ '@vendure-platform/integration',
114
+ '@vendure-platform/platform',
115
+ '@vendure-platform/scenario-default',
116
+ '@vendure-platform/storefront-client',
117
+ ];
118
+ const pluginPackages = plugin_registry_1.pluginRegistry.map((p) => p.packageName);
119
+ const all = Array.from(new Set([...infraPackages, ...pluginPackages])).sort();
120
+ const lines = all.map((name) => ` "${name}",`);
121
+ return new hbs.SafeString(lines.join('\n'));
122
+ });
63
123
  hbs.registerHelper('platformPluginImports', function () {
64
124
  const lines = [`import { VendurePlatform } from '@vendure-platform/platform';`];
65
125
  for (const key of resolvedPluginKeys) {
@@ -93,13 +153,15 @@ function createHandlebarsInstance(resolvedPluginKeys, disabledPluginKeys) {
93
153
  });
94
154
  return hbs;
95
155
  }
96
- function buildTemplateContext(projectName, companyName, selectedPluginKeys, includeStorefront) {
156
+ function buildTemplateContext(projectName, companyName, selectedPluginKeys, includeStorefront, options = {}) {
157
+ var _a, _b;
97
158
  const resolvedPluginKeys = (0, plugin_registry_1.resolveActivePluginKeys)(selectedPluginKeys);
98
159
  const resolvedPlugins = resolvedPluginKeys.map((key) => (0, plugin_registry_1.getPlugin)(key));
99
160
  const resolvedSet = new Set(resolvedPluginKeys);
100
161
  const disabledPluginKeys = plugin_registry_1.pluginRegistry
101
162
  .filter((p) => p.tier === 'optional' && !resolvedSet.has(p.key))
102
163
  .map((p) => p.key);
164
+ const pluginVersionSpec = resolvePluginVersionSpec(options.versionOverride);
103
165
  return {
104
166
  context: {
105
167
  projectName,
@@ -109,17 +171,31 @@ function buildTemplateContext(projectName, companyName, selectedPluginKeys, incl
109
171
  disabledPluginKeys,
110
172
  includeStorefront,
111
173
  registryUrl: (0, registry_1.getRegistryUrl)(),
174
+ registryHost: (0, registry_1.getRegistryHostname)(),
175
+ pluginVersionSpec,
176
+ registryToken: (_a = options.registryToken) !== null && _a !== void 0 ? _a : '',
177
+ licenseToken: (_b = options.licenseToken) !== null && _b !== void 0 ? _b : '',
112
178
  },
113
- hbs: createHandlebarsInstance(resolvedPluginKeys, disabledPluginKeys),
179
+ hbs: createHandlebarsInstance(resolvedPluginKeys, disabledPluginKeys, pluginVersionSpec),
114
180
  };
115
181
  }
116
182
  /**
117
183
  * Render a Handlebars template file with the given context.
184
+ *
185
+ * For `*package.json.hbs` templates the dependency blocks are re-sorted
186
+ * lexicographically before returning — the `pluginDependencies` helper
187
+ * emits entries in `PLUGIN_ORDER` (meaningful at runtime, noisy in
188
+ * `package.json`), so sorting at the render boundary keeps the
189
+ * generated file tidy and stable.
118
190
  */
119
191
  function renderTemplate(templatePath, context, hbs) {
120
192
  const source = fs.readFileSync(templatePath, 'utf8');
121
193
  const template = hbs.compile(source, { noEscape: true });
122
- return template(context);
194
+ const rendered = template(context);
195
+ if (path.basename(templatePath).endsWith('package.json.hbs')) {
196
+ return (0, sort_package_json_1.sortPackageJson)(rendered);
197
+ }
198
+ return rendered;
123
199
  }
124
200
  /**
125
201
  * Get the path to a bundled template file.
@@ -1 +1 @@
1
- {"version":3,"file":"template-renderer.js","sourceRoot":"","sources":["../src/template-renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template-renderer.js","sourceRoot":"","sources":["../src/template-renderer.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -14,6 +14,34 @@ export interface ScaffoldOptions {
14
14
  skipInstall?: boolean;
15
15
  skipGit?: boolean;
16
16
  dryRun?: boolean;
17
+ /**
18
+ * Vendure private-registry npm auth token. Sourced from the Enterprise
19
+ * Portal. If provided, baked into the project-level `.npmrc` as the
20
+ * `_authToken` line for `registry.platform.vendure.io`. `.npmrc` is
21
+ * gitignored so the token never gets committed.
22
+ *
23
+ * If omitted, `${pm} install` will 401 on private `@vendure-platform/*`
24
+ * packages until the user either re-runs the scaffolder with the
25
+ * token, pastes it into `.npmrc` manually, or sets up `~/.npmrc`.
26
+ *
27
+ * **Distinct from `licenseToken`** — different value, different purpose.
28
+ * The registry token controls package downloads; the license token is
29
+ * checked at server boot.
30
+ */
31
+ registryToken?: string;
32
+ /**
33
+ * Vendure Platform server-side license token. Sourced from the Enterprise
34
+ * Portal. If provided, written into `.env` as
35
+ * `VENDURE_PLATFORM_LICENSE_TOKEN` and read by the License Guard plugin
36
+ * at server boot.
37
+ *
38
+ * If omitted, the scaffolded project still boots in local development
39
+ * thanks to the `VENDURE_PLATFORM_LICENSE_GUARD_LOCAL_DEV=1` soft-mode
40
+ * flag emitted into `.env` by default.
41
+ *
42
+ * **Distinct from `registryToken`** — different value, different purpose.
43
+ */
44
+ licenseToken?: string;
17
45
  }
18
46
  export type PackageManager = 'bun' | 'npm' | 'pnpm';
19
47
  export interface StorefrontOnlyOptions {
@@ -40,6 +68,10 @@ export interface CliFlags {
40
68
  apiUrl?: string;
41
69
  scenario?: string;
42
70
  pm?: PackageManager;
71
+ /** Private-registry npm auth token (see `ScaffoldOptions.registryToken`). */
72
+ registryToken?: string;
73
+ /** Server-side license token (see `ScaffoldOptions.licenseToken`). */
74
+ licenseToken?: string;
43
75
  }
44
76
  /**
45
77
  * Scaffolder-specific data for a plugin — env vars, options-block template
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@vendure-platform/create",
3
- "version": "0.2.1-nightly.202605191555",
3
+ "version": "0.2.2",
4
4
  "description": "CLI tool to scaffold a Vendure demo project with Vendure Platform plugins",
5
- "license": "UNLICENSED",
5
+ "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "https://github.com/vendurehq/vendure-platform.git",
@@ -33,11 +33,11 @@
33
33
  "node": ">=22"
34
34
  },
35
35
  "publishConfig": {
36
- "access": "restricted"
36
+ "access": "public"
37
37
  },
38
38
  "dependencies": {
39
39
  "@clack/prompts": "^0.10.0",
40
- "@vendure-platform/plugin-meta": "0.2.1-nightly.202605191555",
40
+ "@vendure-platform/plugin-meta": "0.2.2",
41
41
  "commander": "^13.1.0",
42
42
  "fs-extra": "^11.3.0",
43
43
  "handlebars": "^4.7.8",
@@ -1,4 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 40 27">
2
- <path fill="#17C1FF" d="M10.746 12.008v9.263c0 .166.093.323.237.404l8.407 4.763c.302.17.671.17.973 0l8.407-4.762a.466.466 0 0 0 .237-.405v-9.263a.476.476 0 0 0-.714-.405l-7.93 4.491a.996.996 0 0 1-.973 0l-7.93-4.49a.476.476 0 0 0-.714.404Z"/>
3
- <path fill="#17C1FF" d="M8.893.072.486 4.832A.948.948 0 0 0 0 5.657v9.522c0 .166.092.323.237.405l8.176 4.633a.476.476 0 0 0 .714-.405V10.83c0-.341.185-.655.487-.824l7.93-4.491a.463.463 0 0 0 0-.81L9.366.072a.48.48 0 0 0-.477 0h.003ZM30.86.063l8.407 4.76c.301.17.486.486.486.825v9.522a.469.469 0 0 1-.237.405l-8.176 4.633a.476.476 0 0 1-.714-.405v-8.982a.945.945 0 0 0-.486-.824l-7.93-4.491a.463.463 0 0 1 0-.81L30.386.063a.48.48 0 0 1 .477 0h-.003Z"/>
4
- </svg>