@shopify/shop-minis-cli 0.0.188 → 0.0.190
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/build/commands/create/examples/default/AGENTS.md +275 -0
- package/build/commands/create/examples/default/CLAUDE.md +1 -0
- package/build/commands/create/examples/default/src/App.tsx +0 -1
- package/build/commands/create/examples/default/src/manifest.json +1 -0
- package/build/commands/dev/types.d.ts +1 -0
- package/build/commands/dev/utils/android.js +45 -10
- package/build/commands/dev/utils/android.js.map +1 -1
- package/build/commands/dev/utils/deeplink.js +1 -0
- package/build/commands/dev/utils/deeplink.js.map +1 -1
- package/build/commands/dev/utils/interactive-terminal.d.ts +1 -0
- package/build/commands/dev/utils/interactive-terminal.js +2 -0
- package/build/commands/dev/utils/interactive-terminal.js.map +1 -1
- package/build/commands/dev/utils/prompt-binary-upgrade.d.ts +2 -1
- package/build/commands/dev/utils/prompt-binary-upgrade.js +11 -2
- package/build/commands/dev/utils/prompt-binary-upgrade.js.map +1 -1
- package/build/commands/dev/utils/start-app/start-app-with-options.d.ts +1 -1
- package/build/commands/dev/utils/start-app/start-app-with-options.js +2 -2
- package/build/commands/dev/utils/start-app/start-app-with-options.js.map +1 -1
- package/build/commands/submit/index.js +3 -1
- package/build/commands/submit/index.js.map +1 -1
- package/build/commands/submit/submit.d.ts +1 -1
- package/build/commands/submit/submit.js +2 -3
- package/build/commands/submit/submit.js.map +1 -1
- package/build/schemas/manifest.schema.json +28 -1
- package/package.json +1 -1
- package/build/commands/create/examples/default/.cursorrules +0 -25
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
# AGENTS.md
|
|
2
|
+
|
|
3
|
+
## About This Project
|
|
4
|
+
|
|
5
|
+
This is a **Shop Mini** - a mobile-only React application that runs exclusively within the Shopify Shop App's WebView on iOS and Android devices. Shop Minis provide immersive, full-screen shopping experiences for millions of Shop app users.
|
|
6
|
+
|
|
7
|
+
### Core Characteristics
|
|
8
|
+
|
|
9
|
+
- **Mobile-only**: No desktop support - optimize exclusively for touch interfaces
|
|
10
|
+
- **React Native WebView**: Runs inside Shop app, not as a standalone web or native app
|
|
11
|
+
- **SDK-first development**: Always use @shopify/shop-minis-react components before custom solutions
|
|
12
|
+
- **E-commerce focused**: Built for shopping experiences with product discovery and checkout
|
|
13
|
+
|
|
14
|
+
## Development Workflow
|
|
15
|
+
|
|
16
|
+
### Initial Setup
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npm install # Install dependencies
|
|
20
|
+
npx shop-minis dev # Start development server (runs shop-minis dev)
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### Testing on Devices
|
|
24
|
+
|
|
25
|
+
When dev server is running, press:
|
|
26
|
+
|
|
27
|
+
- `i` - Open in iOS Simulator
|
|
28
|
+
- `a` - Open in Android Emulator
|
|
29
|
+
- `q` - Show QR code for physical device testing
|
|
30
|
+
|
|
31
|
+
**Important**: Always test on actual mobile simulators/devices, not just browser DevTools.
|
|
32
|
+
|
|
33
|
+
## Critical Development Rules
|
|
34
|
+
|
|
35
|
+
### 1. SDK-First Component Selection
|
|
36
|
+
|
|
37
|
+
```typescript
|
|
38
|
+
// ✅ ALWAYS check @shopify/shop-minis-react first
|
|
39
|
+
import { Button, ProductCard, List } from '@shopify/shop-minis-react'
|
|
40
|
+
|
|
41
|
+
// ❌ NEVER create custom components if SDK has equivalent
|
|
42
|
+
const CustomButton = () => {...} // Wrong if SDK Button exists
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
**Component hierarchy**:
|
|
46
|
+
|
|
47
|
+
1. First choice: @shopify/shop-minis-react components
|
|
48
|
+
2. Fallback: Radix UI or shadcn/ui (only if not in SDK)
|
|
49
|
+
3. Last resort: Custom implementation
|
|
50
|
+
|
|
51
|
+
### 2. Mobile-Only Design Requirements
|
|
52
|
+
|
|
53
|
+
- **Touch targets**: Minimum 48px height for all interactive elements
|
|
54
|
+
- **Full-width buttons**: Use `className="w-full"` for primary actions
|
|
55
|
+
- **List virtualization**: Use `<List>` component for >50 items
|
|
56
|
+
- **Safe areas**: Respect device notches and system UI
|
|
57
|
+
- **No hover states**: Design for touch, not mouse interaction
|
|
58
|
+
|
|
59
|
+
### 3. Performance Constraints
|
|
60
|
+
|
|
61
|
+
- **Bundle size**: Maximum 5MB total
|
|
62
|
+
- **Load time**: Must load within 3 seconds on 5G
|
|
63
|
+
- **Images**: Always lazy load with SDK's `<Image>` component
|
|
64
|
+
- **Lists**: Always virtualize long lists with `<List>`
|
|
65
|
+
|
|
66
|
+
### 4. Storage Rules
|
|
67
|
+
|
|
68
|
+
```typescript
|
|
69
|
+
// ✅ Correct - Use SDK storage hooks
|
|
70
|
+
import {useAsyncStorage, useSecureStorage} from '@shopify/shop-minis-react'
|
|
71
|
+
|
|
72
|
+
// ❌ Wrong - Never use Web APIs
|
|
73
|
+
localStorage.setItem() // Will not work
|
|
74
|
+
sessionStorage.setItem() // Will not work
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### 5. Navigation Patterns
|
|
78
|
+
|
|
79
|
+
#### Between pages in your mini (React Router inside MinisRouter)
|
|
80
|
+
|
|
81
|
+
```tsx
|
|
82
|
+
import {MinisRouter, useNavigateWithTransition} from '@shopify/shop-minis-react'
|
|
83
|
+
import {Routes, Route} from 'react-router'
|
|
84
|
+
|
|
85
|
+
function App() {
|
|
86
|
+
return (
|
|
87
|
+
<MinisRouter /* viewTransitions optional */>
|
|
88
|
+
<Routes>
|
|
89
|
+
<Route path="/" element={<HomePage />} />
|
|
90
|
+
<Route path="/products" element={<ProductsPage />} />
|
|
91
|
+
</Routes>
|
|
92
|
+
</MinisRouter>
|
|
93
|
+
)
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
function SomeComponent() {
|
|
97
|
+
const navigate = useNavigateWithTransition() // wraps react-router navigate with view transitions
|
|
98
|
+
return <button onClick={() => navigate('/products')}>Go</button>
|
|
99
|
+
}
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Notes:
|
|
103
|
+
|
|
104
|
+
- Do not pass a `routes` prop to `MinisRouter`. Provide routes as children using `<Routes>` and `<Route>`.
|
|
105
|
+
- Any hook that uses `react-router` (e.g., `useNavigateWithTransition`) must be used within `<MinisRouter>`.
|
|
106
|
+
|
|
107
|
+
#### To Shop app screens (outside your mini)
|
|
108
|
+
|
|
109
|
+
```tsx
|
|
110
|
+
import {useShopNavigation} from '@shopify/shop-minis-react'
|
|
111
|
+
|
|
112
|
+
const {navigateToProduct, navigateToCart} = useShopNavigation()
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## Project Structure
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
src/
|
|
119
|
+
├── App.tsx # Main component (required)
|
|
120
|
+
├── main.tsx # Entry point
|
|
121
|
+
├── manifest.json # Mini configuration
|
|
122
|
+
├── index.css # Must import SDK styles
|
|
123
|
+
├── components/ # Custom components (SDK-first!)
|
|
124
|
+
├── hooks/ # Custom hooks
|
|
125
|
+
└── pages/ # Page components for routing
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### Key Files
|
|
129
|
+
|
|
130
|
+
**src/manifest.json** (required):
|
|
131
|
+
|
|
132
|
+
```json
|
|
133
|
+
{
|
|
134
|
+
"name": "your-mini-name",
|
|
135
|
+
"permissions": [],
|
|
136
|
+
"privacy_policy_url": "https://example.com/privacy",
|
|
137
|
+
"terms_url": "https://example.com/terms",
|
|
138
|
+
"trusted_domains": ["api.example.com"] // Optional, for external APIs
|
|
139
|
+
}
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
**src/index.css** (required):
|
|
143
|
+
|
|
144
|
+
```css
|
|
145
|
+
@import '@shopify/shop-minis-react/styles';
|
|
146
|
+
/* Your custom styles here */
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
## Code Style Guidelines
|
|
150
|
+
|
|
151
|
+
### TypeScript Required
|
|
152
|
+
|
|
153
|
+
- **All files must be .ts or .tsx**
|
|
154
|
+
- No JavaScript (.js/.jsx) files
|
|
155
|
+
- Use proper typing from @shopify/shop-minis-react
|
|
156
|
+
|
|
157
|
+
### Tailwind CSS v4
|
|
158
|
+
|
|
159
|
+
- Use Tailwind classes for all styling
|
|
160
|
+
- No inline styles unless absolutely necessary
|
|
161
|
+
- Mobile-first responsive design (though only mobile matters here)
|
|
162
|
+
|
|
163
|
+
### Component Patterns
|
|
164
|
+
|
|
165
|
+
```typescript
|
|
166
|
+
// Good: Using SDK components with proper mobile optimization
|
|
167
|
+
import {Button, ProductCard} from '@shopify/shop-minis-react'
|
|
168
|
+
|
|
169
|
+
function ProductList({products}) {
|
|
170
|
+
return (
|
|
171
|
+
<div className="grid grid-cols-2 gap-4 p-4">
|
|
172
|
+
{products.map(product => (
|
|
173
|
+
<ProductCard key={product.id} product={product} />
|
|
174
|
+
))}
|
|
175
|
+
</div>
|
|
176
|
+
)
|
|
177
|
+
}
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
## Testing Instructions
|
|
181
|
+
|
|
182
|
+
### Running Tests
|
|
183
|
+
|
|
184
|
+
## Common SDK Imports
|
|
185
|
+
|
|
186
|
+
```typescript
|
|
187
|
+
import {
|
|
188
|
+
// Essential hooks
|
|
189
|
+
useCurrentUser,
|
|
190
|
+
useProductSearch,
|
|
191
|
+
usePopularProducts,
|
|
192
|
+
useShopCartActions,
|
|
193
|
+
useShopNavigation,
|
|
194
|
+
useAsyncStorage,
|
|
195
|
+
useSecureStorage,
|
|
196
|
+
|
|
197
|
+
// Core components
|
|
198
|
+
Button,
|
|
199
|
+
ProductCard,
|
|
200
|
+
MerchantCard,
|
|
201
|
+
List,
|
|
202
|
+
Image,
|
|
203
|
+
|
|
204
|
+
// UI components
|
|
205
|
+
Alert,
|
|
206
|
+
Badge,
|
|
207
|
+
Card,
|
|
208
|
+
Input,
|
|
209
|
+
Skeleton,
|
|
210
|
+
|
|
211
|
+
// Navigation
|
|
212
|
+
MinisRouter,
|
|
213
|
+
} from '@shopify/shop-minis-react'
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
## Security & Network
|
|
217
|
+
|
|
218
|
+
### API Restrictions
|
|
219
|
+
|
|
220
|
+
- Only call domains listed in `manifest.json` → `trusted_domains`
|
|
221
|
+
- Never include API keys or secrets in code
|
|
222
|
+
- Use `useGenerateUserToken()` for backend authentication
|
|
223
|
+
|
|
224
|
+
### Data Handling
|
|
225
|
+
|
|
226
|
+
- Never directly request user emails, payment info, or addresses
|
|
227
|
+
- Only access user data through SDK hooks
|
|
228
|
+
- Use `useSecureStorage()` for sensitive data
|
|
229
|
+
|
|
230
|
+
## Submission Preparation
|
|
231
|
+
|
|
232
|
+
### Pre-submission Checklist
|
|
233
|
+
|
|
234
|
+
1. **Performance**: Bundle < 5MB, loads < 3 seconds
|
|
235
|
+
2. **Components**: Using SDK components wherever possible
|
|
236
|
+
3. **Mobile**: Optimized for touch, respects safe areas
|
|
237
|
+
4. **Security**: No hardcoded secrets, only approved domains
|
|
238
|
+
5. **Manifest**: Valid privacy policy and terms URLs
|
|
239
|
+
|
|
240
|
+
### Build & Submit
|
|
241
|
+
|
|
242
|
+
```bash
|
|
243
|
+
shop-minis submit # Submit for review
|
|
244
|
+
shop-minis check-submission # Check status
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
## Common Pitfalls to Avoid
|
|
248
|
+
|
|
249
|
+
1. **Creating custom components when SDK has them** - Always check SDK first
|
|
250
|
+
2. **Using Web Storage APIs** - Use SDK storage hooks instead
|
|
251
|
+
3. **Designing for desktop** - This is mobile-only
|
|
252
|
+
4. **Small touch targets** - Keep interactive elements ≥48px
|
|
253
|
+
5. **Non-virtualized long lists** - Always use List component
|
|
254
|
+
6. **Base64 images** - Use blob URLs instead
|
|
255
|
+
7. **External navigation** - No links to external sites
|
|
256
|
+
8. **Synchronous heavy operations** - Will freeze the UI
|
|
257
|
+
|
|
258
|
+
## Additional Resources
|
|
259
|
+
|
|
260
|
+
- **SDK Docs**: https://shopify.dev/docs/api/shop-minis
|
|
261
|
+
- **Allowed Dependencies**: https://shopify.dev/docs/api/shop-minis/dependencies#optional-dependencies
|
|
262
|
+
- **Review Guidelines**: See Publishing Requirements in docs
|
|
263
|
+
|
|
264
|
+
## Quick Commands Reference
|
|
265
|
+
|
|
266
|
+
```bash
|
|
267
|
+
npx shop-minis dev # Start dev server
|
|
268
|
+
npx shop-minis submit # Submit for review
|
|
269
|
+
npx shop-minis doctor # Diagnose issues
|
|
270
|
+
npx shop-minis upgrade # Update CLI and shop-minis-react packages
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
---
|
|
274
|
+
|
|
275
|
+
**Remember**: You're building for mobile devices only, inside the Shop app. Every decision should prioritize mobile UX and leverage the SDK to its fullest.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@AGENTS.md
|
|
@@ -31,6 +31,7 @@ export interface StartAppParameters {
|
|
|
31
31
|
deeplink: string;
|
|
32
32
|
buildType: BuildType;
|
|
33
33
|
snapshotVersion?: string;
|
|
34
|
+
upgradeDeclinedPlatforms?: Set<Platform>;
|
|
34
35
|
}
|
|
35
36
|
export interface StartAppPlatformHooks {
|
|
36
37
|
getInstalledShopVersion: (deviceId: string) => Promise<VersionAndBuild | null>;
|
|
@@ -12,21 +12,49 @@ export async function getDevices() {
|
|
|
12
12
|
return devicesList
|
|
13
13
|
.slice(1)
|
|
14
14
|
.filter(name => !name.includes('emulator'))
|
|
15
|
-
.map(name =>
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
15
|
+
.map(name => {
|
|
16
|
+
const parts = name.split(/\s+/);
|
|
17
|
+
const deviceId = parts[0];
|
|
18
|
+
const status = parts[1]; // 'device', 'unauthorized', 'offline', etc.
|
|
19
|
+
return {
|
|
20
|
+
name: deviceId,
|
|
21
|
+
description: `${deviceId} (device)`,
|
|
22
|
+
type: 'device',
|
|
23
|
+
isBooted: status === 'device',
|
|
24
|
+
isAuthorized: status === 'device',
|
|
25
|
+
};
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
async function getRunningEmulatorNames() {
|
|
29
|
+
try {
|
|
30
|
+
const { stdout } = await execAsync(`${whichAdb()} devices`);
|
|
31
|
+
const emulatorIds = stdout.filter(result => result.startsWith('emulator-'));
|
|
32
|
+
const runningNames = [];
|
|
33
|
+
for (const emulatorId of emulatorIds) {
|
|
34
|
+
try {
|
|
35
|
+
const name = await getNameForEmulatorWithId(emulatorId.split('\t')[0]);
|
|
36
|
+
if (name) {
|
|
37
|
+
runningNames.push(name);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
// Skip if we can't get the name
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return runningNames;
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
return [];
|
|
48
|
+
}
|
|
22
49
|
}
|
|
23
50
|
export async function getEmulators() {
|
|
24
51
|
const { stdout: devicesList } = await execAsync(`${whichEmulator()} -list-avds`);
|
|
52
|
+
const runningEmulatorNames = await getRunningEmulatorNames();
|
|
25
53
|
return devicesList.map(name => ({
|
|
26
54
|
name,
|
|
27
55
|
description: `${name} (emulator)`,
|
|
28
56
|
type: 'emulator',
|
|
29
|
-
isBooted:
|
|
57
|
+
isBooted: runningEmulatorNames.includes(name),
|
|
30
58
|
isAuthorized: true,
|
|
31
59
|
}));
|
|
32
60
|
}
|
|
@@ -40,14 +68,21 @@ export async function promptForAndroidDevices() {
|
|
|
40
68
|
console.log(`Or ${chalk.blue.underline.bold('https://developer.android.com/studio/run/emulator#get-started')} for instructions on how to create an emulator.`);
|
|
41
69
|
return null;
|
|
42
70
|
}
|
|
71
|
+
// Sort devices: booted/running devices first, then non-booted emulators
|
|
72
|
+
const sortedDevices = [
|
|
73
|
+
...androidDevices.filter(device => device.isBooted),
|
|
74
|
+
...androidDevices.filter(device => !device.isBooted),
|
|
75
|
+
];
|
|
43
76
|
const { value } = await prompts({
|
|
44
77
|
type: 'select',
|
|
45
78
|
name: 'value',
|
|
46
79
|
limit: 11,
|
|
47
80
|
message: 'Select a device',
|
|
48
|
-
choices:
|
|
81
|
+
choices: sortedDevices.map(item => {
|
|
82
|
+
const isActive = item.isBooted;
|
|
83
|
+
const format = isActive ? chalk.bold : (text) => text;
|
|
49
84
|
return {
|
|
50
|
-
title: item.description,
|
|
85
|
+
title: format(item.description),
|
|
51
86
|
value: item,
|
|
52
87
|
};
|
|
53
88
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"android.js","sourceRoot":"","sources":["../../../../src/commands/dev/utils/android.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,eAAe,CAAA;AACzC,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,CAAC,MAAM,QAAQ,CAAA;AACtB,OAAO,OAAO,MAAM,SAAS,CAAA;AAC7B,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAA;AAExD,OAAO,EAAC,SAAS,EAAC,MAAM,4CAA4C,CAAA;AACpE,OAAO,EAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAC,MAAM,iBAAiB,CAAA;AAE9D,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAU7C,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,MAAM,EAAC,MAAM,EAAE,WAAW,EAAC,GAAG,MAAM,SAAS,CAAC,GAAG,QAAQ,EAAE,aAAa,CAAC,CAAA;IAEzE,OAAO,WAAW;SACf,KAAK,CAAC,CAAC,CAAC;SACR,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;SAC1C,GAAG,
|
|
1
|
+
{"version":3,"file":"android.js","sourceRoot":"","sources":["../../../../src/commands/dev/utils/android.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@ export function getDevWebMiniDeeplink({ miniHandle, options, universalLink = fal
|
|
|
14
14
|
features: getMiniManifest()?.features ?? undefined,
|
|
15
15
|
trustedDomains: getMiniManifest()?.trusted_domains ?? undefined,
|
|
16
16
|
permissions: getMiniManifest()?.permissions ?? undefined,
|
|
17
|
+
scopes: getMiniManifest()?.scopes ?? undefined,
|
|
17
18
|
};
|
|
18
19
|
const encodedDevParams = Buffer.from(JSON.stringify(devParams)).toString('base64');
|
|
19
20
|
const deeplink = universalLink
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deeplink.js","sourceRoot":"","sources":["../../../../src/commands/dev/utils/deeplink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAA;AAGxD,OAAO,EAAC,eAAe,EAAC,MAAM,kCAAkC,CAAA;AAEhE,OAAO,EAAC,eAAe,EAAC,MAAM,kCAAkC,CAAA;AAEhE,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,cAA+B;IACxE,IAAI,cAAc,EAAE;QAClB,OAAO,GAAG,cAAc,CAAC,GAAG,EAAE,EAAE,CAAA;KACjC;IAED,OAAO,UAAU,IAAI,IAAI,eAAe,EAAE,CAAA;AAC5C,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,EACpC,UAAU,EACV,OAAO,EACP,aAAa,GAAG,KAAK,EACrB,cAAc,GAOf;IACC,MAAM,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,CAAA;IAE/D,MAAM,SAAS,GAAG;QAChB,YAAY;QACZ,QAAQ,EAAE,eAAe,EAAE,EAAE,QAAQ,IAAI,SAAS;QAClD,cAAc,EAAE,eAAe,EAAE,EAAE,eAAe,IAAI,SAAS;QAC/D,WAAW,EAAE,eAAe,EAAE,EAAE,WAAW,IAAI,SAAS;
|
|
1
|
+
{"version":3,"file":"deeplink.js","sourceRoot":"","sources":["../../../../src/commands/dev/utils/deeplink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAA;AAGxD,OAAO,EAAC,eAAe,EAAC,MAAM,kCAAkC,CAAA;AAEhE,OAAO,EAAC,eAAe,EAAC,MAAM,kCAAkC,CAAA;AAEhE,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,cAA+B;IACxE,IAAI,cAAc,EAAE;QAClB,OAAO,GAAG,cAAc,CAAC,GAAG,EAAE,EAAE,CAAA;KACjC;IAED,OAAO,UAAU,IAAI,IAAI,eAAe,EAAE,CAAA;AAC5C,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,EACpC,UAAU,EACV,OAAO,EACP,aAAa,GAAG,KAAK,EACrB,cAAc,GAOf;IACC,MAAM,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,CAAA;IAE/D,MAAM,SAAS,GAAG;QAChB,YAAY;QACZ,QAAQ,EAAE,eAAe,EAAE,EAAE,QAAQ,IAAI,SAAS;QAClD,cAAc,EAAE,eAAe,EAAE,EAAE,eAAe,IAAI,SAAS;QAC/D,WAAW,EAAE,eAAe,EAAE,EAAE,WAAW,IAAI,SAAS;QACxD,MAAM,EAAE,eAAe,EAAE,EAAE,MAAM,IAAI,SAAS;KAC/C,CAAA;IAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CACtE,QAAQ,CACT,CAAA;IAED,MAAM,QAAQ,GAAG,aAAa;QAC5B,CAAC,CAAC,yBAAyB,UAAU,cAAc,gBAAgB,EAAE;QACrE,CAAC,CAAC,kBAAkB,UAAU,cAAc,gBAAgB,EAAE,CAAA;IAEhE,WAAW,CAAC,sCAAsC,QAAQ,EAAE,CAAC,CAAA;IAE7D,OAAO,QAAQ,CAAA;AACjB,CAAC"}
|
|
@@ -8,6 +8,7 @@ export declare class InteractiveTerminal {
|
|
|
8
8
|
currentPlatform: Platform | null;
|
|
9
9
|
currentDeviceId: string | null;
|
|
10
10
|
tunnelListener: ngrok.Listener | undefined;
|
|
11
|
+
upgradeDeclinedPlatforms: Set<Platform>;
|
|
11
12
|
constructor({ options, miniHandle, tunnelListener, }: {
|
|
12
13
|
options: DevCommandOptions;
|
|
13
14
|
miniHandle: string;
|
|
@@ -26,6 +26,7 @@ export class InteractiveTerminal {
|
|
|
26
26
|
currentPlatform = null;
|
|
27
27
|
currentDeviceId = null;
|
|
28
28
|
tunnelListener;
|
|
29
|
+
upgradeDeclinedPlatforms = new Set();
|
|
29
30
|
constructor({ options, miniHandle, tunnelListener, }) {
|
|
30
31
|
this.miniHandle = miniHandle;
|
|
31
32
|
this.options = options;
|
|
@@ -275,6 +276,7 @@ ${formattedVersion}`);
|
|
|
275
276
|
deeplink: this.deeplink,
|
|
276
277
|
buildType,
|
|
277
278
|
snapshotVersion,
|
|
279
|
+
upgradeDeclinedPlatforms: this.upgradeDeclinedPlatforms,
|
|
278
280
|
}, this.loadingHandlers);
|
|
279
281
|
// Show all instructions after the app has started
|
|
280
282
|
this.logInstructions();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactive-terminal.js","sourceRoot":"","sources":["../../../../src/commands/dev/utils/interactive-terminal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,EAAC,KAAK,EAAC,MAAM,eAAe,CAAA;AACnC,OAAO,EAAC,GAAG,EAAC,MAAM,MAAM,CAAA;AAExB,OAAO,SAAS,MAAM,IAAI,CAAA;AAC1B,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAA;AAExD,OAAO,EAAC,iBAAiB,EAAC,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAoB,QAAQ,EAAC,MAAM,aAAa,CAAA;AACvD,OAAO,EAAC,oBAAoB,EAAC,MAAM,0CAA0C,CAAA;AAC7E,OAAO,EAAC,aAAa,EAAC,MAAM,iCAAiC,CAAA;AAE7D,OAAO,EAAC,mBAAmB,EAAE,uBAAuB,EAAC,MAAM,cAAc,CAAA;AACzE,OAAO,EAAC,qBAAqB,EAAE,YAAY,EAAC,MAAM,eAAe,CAAA;AACjE,OAAO,EACL,aAAa,EACb,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAC,QAAQ,EAAC,MAAM,0BAA0B,CAAA;AAEjD,MAAM,EAAC,KAAK,EAAC,GAAG,OAAO,CAAA;AAEvB,SAAS,aAAa;IACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;AAC9C,CAAC;AAED,MAAM,MAAM,GAAG,QAAQ,CAAA;AACvB,MAAM,oBAAoB,GAAG,gBAAgB,KAAK,CAAC,IAAI,CAAC,IAAI,CAC1D,GAAG,CACJ,0BAA0B,CAAA;AAE3B,MAAM,OAAO,mBAAmB;IAC9B,UAAU,CAAQ;IAClB,OAAO,CAAmB;IAC1B,eAAe,GAAG,IAAI,oBAAoB,EAAE,CAAA;IAC5C,eAAe,GAAoB,IAAI,CAAA;IACvC,eAAe,GAAkB,IAAI,CAAA;IACrC,cAAc,CAA4B;
|
|
1
|
+
{"version":3,"file":"interactive-terminal.js","sourceRoot":"","sources":["../../../../src/commands/dev/utils/interactive-terminal.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { Platform } from '../types.js';
|
|
2
|
+
export declare const promptBinaryUpgrade: (platform?: Platform, upgradeDeclinedPlatforms?: Set<Platform>) => Promise<boolean>;
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import prompts from 'prompts';
|
|
2
|
-
export const promptBinaryUpgrade = async () => {
|
|
2
|
+
export const promptBinaryUpgrade = async (platform, upgradeDeclinedPlatforms) => {
|
|
3
|
+
// Check if user already declined for this platform during the session
|
|
4
|
+
if (platform && upgradeDeclinedPlatforms?.has(platform)) {
|
|
5
|
+
return false;
|
|
6
|
+
}
|
|
3
7
|
// prompt to download the latest version
|
|
4
8
|
const { wantsUpdate } = await prompts({
|
|
5
9
|
type: 'confirm',
|
|
@@ -7,6 +11,11 @@ export const promptBinaryUpgrade = async () => {
|
|
|
7
11
|
name: 'wantsUpdate',
|
|
8
12
|
message: "There's a new version of Shop available. Do you want to upgrade?",
|
|
9
13
|
});
|
|
10
|
-
|
|
14
|
+
const userWantsUpdate = Boolean(wantsUpdate);
|
|
15
|
+
// Store the preference if user declined
|
|
16
|
+
if (!userWantsUpdate && platform && upgradeDeclinedPlatforms) {
|
|
17
|
+
upgradeDeclinedPlatforms.add(platform);
|
|
18
|
+
}
|
|
19
|
+
return userWantsUpdate;
|
|
11
20
|
};
|
|
12
21
|
//# sourceMappingURL=prompt-binary-upgrade.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-binary-upgrade.js","sourceRoot":"","sources":["../../../../src/commands/dev/utils/prompt-binary-upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"prompt-binary-upgrade.js","sourceRoot":"","sources":["../../../../src/commands/dev/utils/prompt-binary-upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAA;AAI7B,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,QAAmB,EACnB,wBAAwC,EACxC,EAAE;IACF,sEAAsE;IACtE,IAAI,QAAQ,IAAI,wBAAwB,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE;QACvD,OAAO,KAAK,CAAA;KACb;IAED,wCAAwC;IACxC,MAAM,EAAC,WAAW,EAAC,GAAG,MAAM,OAAO,CAAC;QAClC,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,kEAAkE;KAC5E,CAAC,CAAA;IAEF,MAAM,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;IAE5C,wCAAwC;IACxC,IAAI,CAAC,eAAe,IAAI,QAAQ,IAAI,wBAAwB,EAAE;QAC5D,wBAAwB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;KACvC;IAED,OAAO,eAAe,CAAA;AACxB,CAAC,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { StartAppParameters, StartAppPlatformHooks } from '../../types.js';
|
|
2
2
|
import { LoadingStateHandlers } from '../../../../utils/loading-state-handlers.js';
|
|
3
|
-
export declare const startAppWithOptions: ({ deviceId, platform, deeplink, buildType, snapshotVersion, }: StartAppParameters, { getInstalledShopVersion, installShop, openDeeplink }: StartAppPlatformHooks, loadingHandlers: LoadingStateHandlers | null) => Promise<void>;
|
|
3
|
+
export declare const startAppWithOptions: ({ deviceId, platform, deeplink, buildType, snapshotVersion, upgradeDeclinedPlatforms, }: StartAppParameters, { getInstalledShopVersion, installShop, openDeeplink }: StartAppPlatformHooks, loadingHandlers: LoadingStateHandlers | null) => Promise<void>;
|
|
@@ -5,7 +5,7 @@ import { promptBinaryUpgrade } from '../prompt-binary-upgrade.js';
|
|
|
5
5
|
import { BuildType, } from '../../types.js';
|
|
6
6
|
import { isVersionAvailableLocally } from '../binaries.js';
|
|
7
7
|
import { getPlatformConfig } from '../platform.js';
|
|
8
|
-
export const startAppWithOptions = async ({ deviceId, platform, deeplink, buildType, snapshotVersion, }, { getInstalledShopVersion, installShop, openDeeplink }, loadingHandlers) => {
|
|
8
|
+
export const startAppWithOptions = async ({ deviceId, platform, deeplink, buildType, snapshotVersion, upgradeDeclinedPlatforms, }, { getInstalledShopVersion, installShop, openDeeplink }, loadingHandlers) => {
|
|
9
9
|
outputDebug(`Starting app with options ${JSON.stringify({
|
|
10
10
|
deviceId,
|
|
11
11
|
platform,
|
|
@@ -47,7 +47,7 @@ export const startAppWithOptions = async ({ deviceId, platform, deeplink, buildT
|
|
|
47
47
|
}
|
|
48
48
|
else if (hasShopAppInstalled) {
|
|
49
49
|
// The user wants a release build and we know the latest is not installed, so prompt to update
|
|
50
|
-
wantsUpdate = await promptBinaryUpgrade();
|
|
50
|
+
wantsUpdate = await promptBinaryUpgrade(platform, upgradeDeclinedPlatforms);
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
outputDebug(`User needs a download/install? ${needsUpdate}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start-app-with-options.js","sourceRoot":"","sources":["../../../../../src/commands/dev/utils/start-app/start-app-with-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAA;AAExD,OAAO,EAAC,cAAc,EAAE,sBAAsB,EAAC,MAAM,eAAe,CAAA;AACpE,OAAO,EAAC,wBAAwB,EAAC,MAAM,eAAe,CAAA;AACtD,OAAO,EAAC,mBAAmB,EAAC,MAAM,6BAA6B,CAAA;AAC/D,OAAO,EAGL,SAAS,GAGV,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAC,yBAAyB,EAAC,MAAM,gBAAgB,CAAA;AAExD,OAAO,EAAC,iBAAiB,EAAC,MAAM,gBAAgB,CAAA;AAEhD,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,EACE,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,eAAe,
|
|
1
|
+
{"version":3,"file":"start-app-with-options.js","sourceRoot":"","sources":["../../../../../src/commands/dev/utils/start-app/start-app-with-options.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Command, Option } from 'commander';
|
|
2
2
|
import { outputDebug } from '@shopify/cli-kit/node/output';
|
|
3
3
|
import { getMiniManifest } from '../../utils/minis-manifest.js';
|
|
4
|
+
import { token } from '../../data/partners/query.js';
|
|
4
5
|
import { codeBuildChecks, completeConfig, doSubmit, preSubmitChecks, } from './submit.js';
|
|
5
6
|
export function loadCommand(parentProgram) {
|
|
6
7
|
const command = new Command()
|
|
@@ -19,6 +20,7 @@ export function loadCommand(parentProgram) {
|
|
|
19
20
|
.option('--verbose', 'Print debugging messages.') // compatible with cli-kit
|
|
20
21
|
.action(async (args) => {
|
|
21
22
|
const miniName = getMiniManifest().name;
|
|
23
|
+
const partnersAccessToken = await token();
|
|
22
24
|
// Temporarily skip type and lint checks
|
|
23
25
|
args.skipTypescriptCheck = true;
|
|
24
26
|
args.skipLintCheck = true;
|
|
@@ -34,7 +36,7 @@ export function loadCommand(parentProgram) {
|
|
|
34
36
|
}
|
|
35
37
|
await preSubmitChecks();
|
|
36
38
|
const config = await completeConfig(args);
|
|
37
|
-
await doSubmit(config);
|
|
39
|
+
await doSubmit(config, partnersAccessToken);
|
|
38
40
|
});
|
|
39
41
|
parentProgram.addCommand(command);
|
|
40
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/submit/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,MAAM,EAAC,MAAM,WAAW,CAAA;AACzC,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAA;AAExD,OAAO,EAAC,eAAe,EAAC,MAAM,+BAA+B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/submit/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,MAAM,EAAC,MAAM,WAAW,CAAA;AACzC,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAA;AAExD,OAAO,EAAC,eAAe,EAAC,MAAM,+BAA+B,CAAA;AAC7D,OAAO,EAAC,KAAK,EAAC,MAAM,8BAA8B,CAAA;AAElD,OAAO,EACL,eAAe,EACf,cAAc,EACd,QAAQ,EACR,eAAe,GAChB,MAAM,aAAa,CAAA;AAGpB,MAAM,UAAU,WAAW,CAAC,aAAsB;IAChD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE;SAC1B,IAAI,CAAC,QAAQ,CAAC;SACd,WAAW,CAAC,mCAAmC,CAAC;SAChD,MAAM,CACL,6BAA6B,EAC7B,kDAAkD,CACnD;SACA,SAAS,CACR,IAAI,MAAM,CACR,yBAAyB,EACzB,gEAAgE,CACjE;SACE,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,IAAI,CAAC,CAClB;SACA,SAAS,CACR,IAAI,MAAM,CAAC,yBAAyB,EAAE,iCAAiC,CAAC;SACrE,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,IAAI,CAAC,CAClB;SACA,SAAS,CACR,IAAI,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,CAAC;SACzD,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,IAAI,CAAC,CAClB;SACA,MAAM,CAAC,WAAW,EAAE,2BAA2B,CAAC,CAAC,0BAA0B;SAC3E,MAAM,CAAC,KAAK,EAAE,IAAkD,EAAE,EAAE;QACnE,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC,IAAI,CAAA;QACvC,MAAM,mBAAmB,GAAG,MAAM,KAAK,EAAE,CAAA;QAEzC,wCAAwC;QACxC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAA;QAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;QAEzB,WAAW,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAClD,WAAW,CAAC,oBAAoB,QAAQ,QAAQ,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAEhE,MAAM,sBAAsB,GAAG,MAAM,eAAe,CAAC;YACnD,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CAAA;QAEF,IAAI,CAAC,sBAAsB,EAAE;YAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;SAChB;QAED,MAAM,eAAe,EAAE,CAAA;QACvB,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,CAAA;QACzC,MAAM,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;IAEJ,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;AACnC,CAAC"}
|
|
@@ -2,4 +2,4 @@ import type { SubmitCommandArgs, SubmitCommandPrivateArgs, SubmitConfig } from '
|
|
|
2
2
|
export declare const codeBuildChecks: ({ skipDependencyCheck, skipTypescriptCheck, skipLintCheck, }?: SubmitCommandPrivateArgs) => Promise<boolean>;
|
|
3
3
|
export declare const preSubmitChecks: () => Promise<void>;
|
|
4
4
|
export declare const completeConfig: (args: SubmitCommandArgs) => Promise<SubmitConfig>;
|
|
5
|
-
export declare const doSubmit: (config: SubmitConfig) => Promise<void>;
|
|
5
|
+
export declare const doSubmit: (config: SubmitConfig, partnersAccessToken: string) => Promise<void>;
|
|
@@ -6,7 +6,6 @@ import { edit } from 'external-editor';
|
|
|
6
6
|
import { handler as handleError, AbortError } from '@shopify/cli-kit/node/error';
|
|
7
7
|
import { getRunBinCommand } from '../../utils/package-manager.js';
|
|
8
8
|
import { assertNetworkAndAuth } from '../../utils/common-tasks.js';
|
|
9
|
-
import { token } from '../../data/partners/query.js';
|
|
10
9
|
import { validateDescription } from './validation.js';
|
|
11
10
|
import { assertManifestValid, assertNoPendingSubmissions, assertRequiredAssets, createStagedUpload, createSubmission, packageShopMini, uploadSubmission, } from './tasks.js';
|
|
12
11
|
import { generateSubmissionArchiveFilename, getSubmissionArchivePath, } from './config.js';
|
|
@@ -184,7 +183,7 @@ export const completeConfig = async (args) => {
|
|
|
184
183
|
description,
|
|
185
184
|
};
|
|
186
185
|
};
|
|
187
|
-
export const doSubmit = async (config) => {
|
|
186
|
+
export const doSubmit = async (config, partnersAccessToken) => {
|
|
188
187
|
outputDebug(`Submit config ${JSON.stringify(config)}`);
|
|
189
188
|
const submitTasksData = {
|
|
190
189
|
outputArchiveFilename: null,
|
|
@@ -260,7 +259,7 @@ export const doSubmit = async (config) => {
|
|
|
260
259
|
submitTasksData.submission = await createSubmission({
|
|
261
260
|
description: config.description,
|
|
262
261
|
stagedUploadId: submitTasksData.stagedUpload.id,
|
|
263
|
-
partnersAccessToken
|
|
262
|
+
partnersAccessToken,
|
|
264
263
|
});
|
|
265
264
|
},
|
|
266
265
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"submit.js","sourceRoot":"","sources":["../../../src/commands/submit/submit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,MAAM,CAAA;AAC9B,OAAO,EAAC,IAAI,EAAC,MAAM,eAAe,CAAA;AAElC,OAAO,EACL,aAAa,EACb,WAAW,EACX,wBAAwB,GAEzB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAC,UAAU,EAAE,WAAW,EAAE,UAAU,EAAC,MAAM,8BAA8B,CAAA;AAChF,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAA;AACpC,OAAO,EAAC,OAAO,IAAI,WAAW,EAAE,UAAU,EAAC,MAAM,6BAA6B,CAAA;AAE9E,OAAO,EAAC,gBAAgB,EAAC,MAAM,gCAAgC,CAAA;AAC/D,OAAO,EAAC,oBAAoB,EAAC,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"submit.js","sourceRoot":"","sources":["../../../src/commands/submit/submit.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,13 +28,40 @@
|
|
|
28
28
|
},
|
|
29
29
|
"permissions": {
|
|
30
30
|
"type": "array",
|
|
31
|
-
"description": "A list of optional permissions that your Mini requires",
|
|
31
|
+
"description": "A list of optional permissions that your Mini requires perform specific actions",
|
|
32
32
|
"uniqueItems": true,
|
|
33
33
|
"items": {
|
|
34
34
|
"type": "string",
|
|
35
35
|
"enum": ["CAMERA", "MOTION", "MICROPHONE"]
|
|
36
36
|
}
|
|
37
37
|
},
|
|
38
|
+
"scopes": {
|
|
39
|
+
"type": "array",
|
|
40
|
+
"description": "A list of optional scopes that your Mini requires to read and write specific user data",
|
|
41
|
+
"uniqueItems": true,
|
|
42
|
+
"items": {
|
|
43
|
+
"type": "string",
|
|
44
|
+
"enum": [
|
|
45
|
+
"OPENID",
|
|
46
|
+
"USER_SETTINGS_READ",
|
|
47
|
+
"PROFILE",
|
|
48
|
+
"PRODUCTS_RECENT_READ",
|
|
49
|
+
"PRODUCTS_RECOMMENDATIONS_READ",
|
|
50
|
+
"SHOPS_RECENT_READ",
|
|
51
|
+
"SHOPS_FOLLOWS",
|
|
52
|
+
"SHOPS_FOLLOWS_READ",
|
|
53
|
+
"SHOPS_FOLLOWS_WRITE",
|
|
54
|
+
"SHOPS_RECOMMENDATIONS_READ",
|
|
55
|
+
"ORDERS",
|
|
56
|
+
"PRODUCT_LIST",
|
|
57
|
+
"PRODUCT_LIST_READ",
|
|
58
|
+
"PRODUCT_LIST_WRITE",
|
|
59
|
+
"PRODUCT_LIST_ITEM_WRITE",
|
|
60
|
+
"FAVORITES",
|
|
61
|
+
"FAVORITES_WRITE"
|
|
62
|
+
]
|
|
63
|
+
}
|
|
64
|
+
},
|
|
38
65
|
"privacy_policy_url": {
|
|
39
66
|
"type": "string",
|
|
40
67
|
"description": "A URL to the Privacy Policy for this Mini.",
|
package/package.json
CHANGED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
You are a coding agent focused on building a web app using the React framework to be embedded in a React Native webview. You are provided an SDK called @shopify/shop-minis-react which contains UI components and hooks. Your primary goals and guidelines are as follows:
|
|
2
|
-
|
|
3
|
-
1. Framework and Library:
|
|
4
|
-
|
|
5
|
-
- Use React as the core framework for all code development.
|
|
6
|
-
- Always utilize components and APIs provided in the @shopify/shop-minis-react library for building the application. This includes leveraging the hooks and functionalities exposed by the library.
|
|
7
|
-
|
|
8
|
-
2. Component Usage:
|
|
9
|
-
|
|
10
|
-
- Before considering the addition of any new component or interface, check if the required functionality exists within the @shopify/shop-minis-react library.
|
|
11
|
-
- Only if a component or interface is not available in the SDK, you may create a custom implementation.
|
|
12
|
-
|
|
13
|
-
3. Styling:
|
|
14
|
-
|
|
15
|
-
- Use Tailwind CSS version 4 for styling all UI elements. You should ensure that the design is mobile-responsive and tailored for mobile device usage.
|
|
16
|
-
|
|
17
|
-
4. UI Design:
|
|
18
|
-
|
|
19
|
-
- Focus exclusively on mobile UI design. There is no need to accommodate desktop interfaces or features.
|
|
20
|
-
- Ensure that the UI elements are user-friendly and optimized for touch interactions.
|
|
21
|
-
|
|
22
|
-
5. Performance and Best Practices:
|
|
23
|
-
|
|
24
|
-
- Prioritize performance and best coding practices. Optimize the code for load times and efficiency, keeping in mind mobile device limitations.
|
|
25
|
-
- Maintain clean, organized, and well-commented code to enhance maintainability.
|