@shopify/shop-minis-cli 0.0.159 → 0.0.161
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-mini/index.js +8 -178
- package/build/commands/create-mini/index.js.map +1 -1
- package/build/commands/create-mini/legacy/index.d.ts +2 -0
- package/build/commands/create-mini/legacy/index.js +174 -0
- package/build/commands/create-mini/legacy/index.js.map +1 -0
- package/build/commands/create-mini/{utils → legacy/utils}/template-app.js +12 -23
- package/build/commands/create-mini/legacy/utils/template-app.js.map +1 -0
- package/build/commands/create-mini/standalone/examples/with-getting-started/.eslintignore +1 -0
- package/build/commands/create-mini/standalone/examples/with-getting-started/.eslintrc.js +3 -0
- package/build/commands/create-mini/standalone/examples/with-getting-started/.graphqlrc.js +1 -0
- package/build/commands/create-mini/standalone/examples/with-getting-started/.prettierrc.json +8 -0
- package/build/commands/create-mini/standalone/examples/with-getting-started/assets.d.ts +14 -0
- package/build/commands/create-mini/standalone/examples/with-getting-started/babel.config.js +5 -0
- package/build/commands/create-mini/standalone/examples/with-getting-started/index.tsx +5 -0
- package/build/commands/create-mini/standalone/examples/with-getting-started/metro.config.js +3 -0
- package/build/commands/create-mini/standalone/examples/with-getting-started/package.json +33 -0
- package/build/commands/create-mini/standalone/examples/with-getting-started/src/App.tsx +23 -0
- package/build/commands/create-mini/standalone/examples/with-getting-started/src/index.tsx +9 -0
- package/build/commands/create-mini/standalone/examples/with-getting-started/src/manifest.json +7 -0
- package/build/commands/create-mini/standalone/examples/with-getting-started/src/screens/HomeScreen.tsx +133 -0
- package/build/commands/create-mini/standalone/examples/with-getting-started/src/screens/NativeFeaturesScreen.tsx +138 -0
- package/build/commands/create-mini/standalone/examples/with-getting-started/src/types/screens.ts +5 -0
- package/build/commands/create-mini/standalone/examples/with-getting-started/tsconfig.json +41 -0
- package/build/commands/create-mini/standalone/index.d.ts +2 -0
- package/build/commands/create-mini/standalone/index.js +115 -0
- package/build/commands/create-mini/standalone/index.js.map +1 -0
- package/build/commands/create-mini/utils/examples.d.ts +4 -1
- package/build/commands/create-mini/utils/examples.js +28 -2
- package/build/commands/create-mini/utils/examples.js.map +1 -1
- package/build/commands/create-mini/utils/index.d.ts +3 -0
- package/build/commands/create-mini/utils/index.js +23 -0
- package/build/commands/create-mini/utils/index.js.map +1 -0
- package/build/utils/package-manager.d.ts +5 -0
- package/build/utils/package-manager.js +13 -0
- package/build/utils/package-manager.js.map +1 -1
- package/package.json +5 -3
- package/scripts/{test-template.ts → test-create-mini-legacy.ts} +12 -15
- package/scripts/test-create-mini-standalone.ts +63 -0
- package/build/commands/create-mini/utils/template-app.js.map +0 -1
- /package/build/commands/create-mini/{utils → legacy/utils}/template-app.d.ts +0 -0
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import {useState} from 'react'
|
|
2
|
+
import {ScrollView} from 'react-native'
|
|
3
|
+
import {useNavigation} from '@react-navigation/native'
|
|
4
|
+
import {NativeStackNavigationProp} from '@react-navigation/native-stack'
|
|
5
|
+
import {
|
|
6
|
+
Box,
|
|
7
|
+
SafeAreaView,
|
|
8
|
+
Text,
|
|
9
|
+
TouchableProduct,
|
|
10
|
+
ProductCard,
|
|
11
|
+
useProductSearch,
|
|
12
|
+
useTheme,
|
|
13
|
+
Button,
|
|
14
|
+
TextField,
|
|
15
|
+
RadioButton,
|
|
16
|
+
Divider,
|
|
17
|
+
} from '@shopify/shop-minis-sdk'
|
|
18
|
+
|
|
19
|
+
import {RootStackParamList} from '../types/screens'
|
|
20
|
+
|
|
21
|
+
export function HomeScreen() {
|
|
22
|
+
const theme = useTheme()
|
|
23
|
+
const navigation =
|
|
24
|
+
useNavigation<NativeStackNavigationProp<RootStackParamList>>()
|
|
25
|
+
|
|
26
|
+
const {products} = useProductSearch({
|
|
27
|
+
query: 'skateboard',
|
|
28
|
+
first: 4,
|
|
29
|
+
filters: {
|
|
30
|
+
minimumRating: 4,
|
|
31
|
+
price: {
|
|
32
|
+
min: 150,
|
|
33
|
+
max: 250,
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
})
|
|
37
|
+
|
|
38
|
+
const radioButtonOptions = ['Option A', 'Option B', 'Option C']
|
|
39
|
+
|
|
40
|
+
const [selectedOption, setSelectedOption] = useState(radioButtonOptions[0])
|
|
41
|
+
const [textFieldValue, setTextFieldValue] = useState('')
|
|
42
|
+
|
|
43
|
+
return (
|
|
44
|
+
<SafeAreaView
|
|
45
|
+
style={{flex: 1, backgroundColor: theme.colors['backgrounds-regular']}}
|
|
46
|
+
>
|
|
47
|
+
<ScrollView>
|
|
48
|
+
<Box
|
|
49
|
+
flex={1}
|
|
50
|
+
paddingHorizontal="gutter"
|
|
51
|
+
marginBottom="s"
|
|
52
|
+
backgroundColor="backgrounds-regular"
|
|
53
|
+
>
|
|
54
|
+
<Text variant="heroBold" marginBottom="s" marginTop="xs">
|
|
55
|
+
Hello, World!
|
|
56
|
+
</Text>
|
|
57
|
+
<Text variant="subtitle" marginBottom="s">
|
|
58
|
+
You just created a Shop Mini! Nice.
|
|
59
|
+
</Text>
|
|
60
|
+
<Text variant="subtitle">Let's explore what a Mini can do.</Text>
|
|
61
|
+
<Divider marginVertical="s" />
|
|
62
|
+
{products ? (
|
|
63
|
+
<>
|
|
64
|
+
<Text marginBottom="s">
|
|
65
|
+
First up: Product Cards (Since we're all about shopping,
|
|
66
|
+
right?)
|
|
67
|
+
</Text>
|
|
68
|
+
<Box flexDirection="row">
|
|
69
|
+
{products.slice(0, 2).map(product => (
|
|
70
|
+
<Box key={product.id} flex={1}>
|
|
71
|
+
<TouchableProduct product={product}>
|
|
72
|
+
<ProductCard product={product} />
|
|
73
|
+
</TouchableProduct>
|
|
74
|
+
</Box>
|
|
75
|
+
))}
|
|
76
|
+
</Box>
|
|
77
|
+
<Box flexDirection="row">
|
|
78
|
+
{products.slice(2, 4).map(product => (
|
|
79
|
+
<Box key={product.id} flex={1} padding="xs">
|
|
80
|
+
<TouchableProduct product={product}>
|
|
81
|
+
<ProductCard product={product} />
|
|
82
|
+
</TouchableProduct>
|
|
83
|
+
</Box>
|
|
84
|
+
))}
|
|
85
|
+
</Box>
|
|
86
|
+
</>
|
|
87
|
+
) : null}
|
|
88
|
+
<Divider marginVertical="s" />
|
|
89
|
+
|
|
90
|
+
<Text marginBottom="s">
|
|
91
|
+
You can add interactions to your Mini with inputs.
|
|
92
|
+
</Text>
|
|
93
|
+
<Box>
|
|
94
|
+
<TextField
|
|
95
|
+
placeholder="I love Minis because..."
|
|
96
|
+
value={textFieldValue}
|
|
97
|
+
onChangeText={setTextFieldValue}
|
|
98
|
+
/>
|
|
99
|
+
{textFieldValue ? (
|
|
100
|
+
<Text marginTop="xs">I love Minis because {textFieldValue}</Text>
|
|
101
|
+
) : null}
|
|
102
|
+
</Box>
|
|
103
|
+
<Divider marginVertical="s" />
|
|
104
|
+
|
|
105
|
+
<Text>Radio buttons</Text>
|
|
106
|
+
{radioButtonOptions.map(option => (
|
|
107
|
+
<Box key={option} marginVertical="xs">
|
|
108
|
+
<RadioButton
|
|
109
|
+
variant="tertiary"
|
|
110
|
+
text={option}
|
|
111
|
+
active={selectedOption === option}
|
|
112
|
+
onPress={() => setSelectedOption(option)}
|
|
113
|
+
/>
|
|
114
|
+
</Box>
|
|
115
|
+
))}
|
|
116
|
+
<Divider marginVertical="s" />
|
|
117
|
+
|
|
118
|
+
<Text marginBottom="s">
|
|
119
|
+
Ready for more? Let's explore native capabilities in the
|
|
120
|
+
screen.
|
|
121
|
+
</Text>
|
|
122
|
+
<Button
|
|
123
|
+
text="Next"
|
|
124
|
+
size="l"
|
|
125
|
+
onPress={() => {
|
|
126
|
+
navigation.navigate('GettingStarted.NativeFeatures')
|
|
127
|
+
}}
|
|
128
|
+
/>
|
|
129
|
+
</Box>
|
|
130
|
+
</ScrollView>
|
|
131
|
+
</SafeAreaView>
|
|
132
|
+
)
|
|
133
|
+
}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import {useState} from 'react'
|
|
2
|
+
import {ScrollView, TouchableOpacity} from 'react-native'
|
|
3
|
+
import {useNavigation} from '@react-navigation/native'
|
|
4
|
+
import {NativeStackNavigationProp} from '@react-navigation/native-stack'
|
|
5
|
+
import {
|
|
6
|
+
Box,
|
|
7
|
+
SafeAreaView,
|
|
8
|
+
Text,
|
|
9
|
+
useTheme,
|
|
10
|
+
Button,
|
|
11
|
+
Icon,
|
|
12
|
+
useMinisDimensions,
|
|
13
|
+
Image,
|
|
14
|
+
Divider,
|
|
15
|
+
useImagePicker,
|
|
16
|
+
useShare,
|
|
17
|
+
} from '@shopify/shop-minis-sdk'
|
|
18
|
+
|
|
19
|
+
import {RootStackParamList} from '../types/screens'
|
|
20
|
+
|
|
21
|
+
export function NativeFeaturesScreen() {
|
|
22
|
+
const theme = useTheme()
|
|
23
|
+
const navigation =
|
|
24
|
+
useNavigation<NativeStackNavigationProp<RootStackParamList>>()
|
|
25
|
+
const {height, width} = useMinisDimensions()
|
|
26
|
+
const {share} = useShare()
|
|
27
|
+
const {openCamera, openPicker} = useImagePicker()
|
|
28
|
+
const [imageUrl, setImageUrl] = useState<string>()
|
|
29
|
+
|
|
30
|
+
return (
|
|
31
|
+
<SafeAreaView
|
|
32
|
+
style={{flex: 1, backgroundColor: theme.colors['backgrounds-regular']}}
|
|
33
|
+
>
|
|
34
|
+
<ScrollView>
|
|
35
|
+
<Box
|
|
36
|
+
flex={1}
|
|
37
|
+
paddingHorizontal="gutter"
|
|
38
|
+
backgroundColor="backgrounds-regular"
|
|
39
|
+
>
|
|
40
|
+
<Box>
|
|
41
|
+
<TouchableOpacity
|
|
42
|
+
onPress={() => navigation.goBack()}
|
|
43
|
+
accessibilityLabel="Navigate back"
|
|
44
|
+
>
|
|
45
|
+
<Box marginTop="xs">
|
|
46
|
+
<Icon name="arrow-left" />
|
|
47
|
+
</Box>
|
|
48
|
+
</TouchableOpacity>
|
|
49
|
+
</Box>
|
|
50
|
+
<Text variant="heroBold" marginBottom="s" marginTop="xs">
|
|
51
|
+
Unlock Native Capabilities
|
|
52
|
+
</Text>
|
|
53
|
+
<Text variant="subtitle" marginBottom="s">
|
|
54
|
+
Let's explore the native capabilities your Shop Mini can
|
|
55
|
+
access.
|
|
56
|
+
</Text>
|
|
57
|
+
<Box>
|
|
58
|
+
<Button
|
|
59
|
+
text="Camera access"
|
|
60
|
+
onPress={async () => {
|
|
61
|
+
await openCamera({})
|
|
62
|
+
.then(image => {
|
|
63
|
+
setImageUrl(image.path)
|
|
64
|
+
})
|
|
65
|
+
.catch(error => {
|
|
66
|
+
console.log(error)
|
|
67
|
+
})
|
|
68
|
+
}}
|
|
69
|
+
/>
|
|
70
|
+
<Text variant="bodySmall" marginTop="xs">
|
|
71
|
+
Run this Mini on a real device to access the camera.
|
|
72
|
+
</Text>
|
|
73
|
+
</Box>
|
|
74
|
+
<Box marginVertical="s">
|
|
75
|
+
<Button
|
|
76
|
+
text="Gallery access"
|
|
77
|
+
variant="secondary"
|
|
78
|
+
onPress={async () => {
|
|
79
|
+
await openPicker({})
|
|
80
|
+
.then(image => {
|
|
81
|
+
setImageUrl(image.path)
|
|
82
|
+
})
|
|
83
|
+
.catch(error => {
|
|
84
|
+
console.log(error)
|
|
85
|
+
})
|
|
86
|
+
}}
|
|
87
|
+
/>
|
|
88
|
+
</Box>
|
|
89
|
+
{imageUrl ? (
|
|
90
|
+
<Box marginBottom="s">
|
|
91
|
+
<Box
|
|
92
|
+
style={{
|
|
93
|
+
width: 100,
|
|
94
|
+
height: 100,
|
|
95
|
+
borderRadius: 10,
|
|
96
|
+
overflow: 'hidden',
|
|
97
|
+
}}
|
|
98
|
+
>
|
|
99
|
+
<Image
|
|
100
|
+
source={{uri: imageUrl}}
|
|
101
|
+
style={{width: 100, height: 100}}
|
|
102
|
+
/>
|
|
103
|
+
</Box>
|
|
104
|
+
</Box>
|
|
105
|
+
) : null}
|
|
106
|
+
<Box>
|
|
107
|
+
<Button
|
|
108
|
+
text="Share sheet"
|
|
109
|
+
variant="tertiary"
|
|
110
|
+
onPress={async () => {
|
|
111
|
+
await share({
|
|
112
|
+
url: 'https://shop.app/minis',
|
|
113
|
+
title: 'title',
|
|
114
|
+
}).catch(error => {
|
|
115
|
+
console.log(error)
|
|
116
|
+
})
|
|
117
|
+
}}
|
|
118
|
+
/>
|
|
119
|
+
</Box>
|
|
120
|
+
<Divider marginVertical="s" />
|
|
121
|
+
<Box>
|
|
122
|
+
<Text variant="subtitle" marginBottom="s">
|
|
123
|
+
Use some of our built-in APIs
|
|
124
|
+
</Text>
|
|
125
|
+
<Text>Screen height: {height}</Text>
|
|
126
|
+
<Text>Screen width: {width}</Text>
|
|
127
|
+
</Box>
|
|
128
|
+
<Divider marginVertical="s" />
|
|
129
|
+
<Text marginBottom="s">
|
|
130
|
+
We look forward to seeing what you build! Check out the
|
|
131
|
+
documentation at
|
|
132
|
+
</Text>
|
|
133
|
+
<Text>https://shop.app/minis</Text>
|
|
134
|
+
</Box>
|
|
135
|
+
</ScrollView>
|
|
136
|
+
</SafeAreaView>
|
|
137
|
+
)
|
|
138
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"baseUrl": ".",
|
|
4
|
+
"paths": {
|
|
5
|
+
"*": [
|
|
6
|
+
"*",
|
|
7
|
+
"*.ios",
|
|
8
|
+
"*.android",
|
|
9
|
+
"./node_modules/@shopify/shop-minis-sdk/node_modules/*"
|
|
10
|
+
]
|
|
11
|
+
},
|
|
12
|
+
"allowJs": true,
|
|
13
|
+
"resolveJsonModule": true,
|
|
14
|
+
"allowSyntheticDefaultImports": true,
|
|
15
|
+
"esModuleInterop": true,
|
|
16
|
+
"isolatedModules": false,
|
|
17
|
+
"jsx": "preserve",
|
|
18
|
+
"lib": ["es2019"],
|
|
19
|
+
"noUnusedParameters": true,
|
|
20
|
+
"noUnusedLocals": true,
|
|
21
|
+
"moduleResolution": "node",
|
|
22
|
+
"noEmit": true,
|
|
23
|
+
"incremental": true,
|
|
24
|
+
"strict": true,
|
|
25
|
+
"target": "esnext",
|
|
26
|
+
"skipLibCheck": true,
|
|
27
|
+
"noImplicitReturns": false,
|
|
28
|
+
"noFallthroughCasesInSwitch": true,
|
|
29
|
+
"allowUnreachableCode": false,
|
|
30
|
+
"allowUnusedLabels": false,
|
|
31
|
+
"noImplicitAny": true,
|
|
32
|
+
"strictNullChecks": true,
|
|
33
|
+
"strictFunctionTypes": true,
|
|
34
|
+
"strictBindCallApply": true,
|
|
35
|
+
"strictPropertyInitialization": true,
|
|
36
|
+
"noImplicitThis": true,
|
|
37
|
+
"alwaysStrict": true,
|
|
38
|
+
"useUnknownInCatchVariables": false
|
|
39
|
+
},
|
|
40
|
+
"exclude": ["node_modules"]
|
|
41
|
+
}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { existsSync } from 'fs';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import { Command } from 'commander';
|
|
4
|
+
import { handler as handleError } from '@shopify/cli-kit/node/error';
|
|
5
|
+
import { renderError, renderSuccess, renderTasks, renderTextPrompt, } from '@shopify/cli-kit/node/ui';
|
|
6
|
+
import chalk from 'chalk';
|
|
7
|
+
import { copy } from 'fs-extra';
|
|
8
|
+
import { exec } from '@shopify/cli-kit/node/system';
|
|
9
|
+
import { packageManagerFromUserAgent } from '@shopify/cli-kit/node/node-package-manager';
|
|
10
|
+
import { getCdCommandPath, getHandleFromName, getOutputDirectory, } from '../utils/index.js';
|
|
11
|
+
import { generateMiniFromLocalExample } from '../utils/examples.js';
|
|
12
|
+
import { getRunBinCommand } from '../../../utils/package-manager.js';
|
|
13
|
+
export function loadCommand(parentProgram) {
|
|
14
|
+
const command = new Command()
|
|
15
|
+
.name('create')
|
|
16
|
+
.description('Create a new Shop Mini')
|
|
17
|
+
.argument('[mini name]', 'the name of your mini')
|
|
18
|
+
.option('--example <example name>', 'name of the example to use')
|
|
19
|
+
.option('-o, --output-dir <path>', 'Specify an output directory for the mini')
|
|
20
|
+
.option('--verbose', 'print debugging messages')
|
|
21
|
+
.option('--legacy', 'Use legacy create command') // TODO: Only used to keep commander happy
|
|
22
|
+
.action(async (miniNameArg, options = {}) => {
|
|
23
|
+
try {
|
|
24
|
+
let miniName = miniNameArg;
|
|
25
|
+
const outputDir = getOutputDirectory(options.outputDir);
|
|
26
|
+
if (!existsSync(outputDir)) {
|
|
27
|
+
renderError({
|
|
28
|
+
headline: 'Error creating mini',
|
|
29
|
+
body: [
|
|
30
|
+
`Unable to create a mini at the specified output dir of`,
|
|
31
|
+
{ command: outputDir },
|
|
32
|
+
],
|
|
33
|
+
});
|
|
34
|
+
process.exit(1);
|
|
35
|
+
}
|
|
36
|
+
if (!miniName) {
|
|
37
|
+
if (options.example) {
|
|
38
|
+
miniName = options.example;
|
|
39
|
+
}
|
|
40
|
+
else if (miniNameArg) {
|
|
41
|
+
miniName = miniNameArg;
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
miniName = await renderTextPrompt({
|
|
45
|
+
message: `Give your Shop Mini a name. ${chalk.dim('You can change it later.')}`,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
const miniHandle = getHandleFromName(miniName);
|
|
50
|
+
const miniDirPath = path.resolve(outputDir, miniHandle);
|
|
51
|
+
const example = options.example ?? 'with-getting-started';
|
|
52
|
+
await renderTasks([
|
|
53
|
+
{
|
|
54
|
+
title: 'Fetching example',
|
|
55
|
+
task: async () => {
|
|
56
|
+
const miniTmpDirPath = await generateMiniFromLocalExample(miniHandle, example);
|
|
57
|
+
await copy(miniTmpDirPath, miniDirPath);
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
title: 'Installing dependencies',
|
|
62
|
+
task: async () => {
|
|
63
|
+
const useYarn = packageManagerFromUserAgent() === 'yarn';
|
|
64
|
+
// Yarn is ignoring the `resolutions` when you install
|
|
65
|
+
// via `yarn create @shopify/shop-mini` so use `--ignore-engines` to work around the
|
|
66
|
+
// problem with `@apollo/federation`
|
|
67
|
+
// npm fails to install for a similar reason on node 15 but runs fine so we will
|
|
68
|
+
// use `--force` to get everything installed
|
|
69
|
+
if (useYarn) {
|
|
70
|
+
await exec('yarn', ['--ignore-engines'], { cwd: miniDirPath });
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
await exec('npm', ['i', '--force'], { cwd: miniDirPath });
|
|
74
|
+
}
|
|
75
|
+
await exec(useYarn ? 'yarn' : 'npx', [
|
|
76
|
+
'patch-package',
|
|
77
|
+
'--patch-dir',
|
|
78
|
+
'node_modules/@shopify/shop-minis-runtime/patches',
|
|
79
|
+
], { cwd: miniDirPath });
|
|
80
|
+
},
|
|
81
|
+
},
|
|
82
|
+
]);
|
|
83
|
+
renderSuccess({
|
|
84
|
+
headline: 'Shop Mini created',
|
|
85
|
+
body: [`Your Shop Mini is ready to use.`],
|
|
86
|
+
nextSteps: [
|
|
87
|
+
[
|
|
88
|
+
"Change to your mini's directory",
|
|
89
|
+
{
|
|
90
|
+
command: `cd ${getCdCommandPath(outputDir, miniHandle)}`,
|
|
91
|
+
},
|
|
92
|
+
],
|
|
93
|
+
[
|
|
94
|
+
'Run your Shop Mini',
|
|
95
|
+
{
|
|
96
|
+
command: await getRunBinCommand('start'),
|
|
97
|
+
},
|
|
98
|
+
],
|
|
99
|
+
[
|
|
100
|
+
'Check out the docs',
|
|
101
|
+
{
|
|
102
|
+
bold: 'https://shop.app/minis/docs/',
|
|
103
|
+
},
|
|
104
|
+
],
|
|
105
|
+
],
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
catch (error) {
|
|
109
|
+
handleError(error);
|
|
110
|
+
process.exit(1);
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
parentProgram.addCommand(command);
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/create-mini/standalone/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
export declare function cloneShopMinisRepo({ branch, }?: {
|
|
2
2
|
branch?: string;
|
|
3
3
|
}): Promise<string>;
|
|
4
|
-
export declare function getExample(
|
|
4
|
+
export declare function getExample(examplesDir: string, exampleName: string): Promise<string>;
|
|
5
|
+
export declare function generateMiniFromShopMinisExample(handle: string, exampleName: string): Promise<string>;
|
|
6
|
+
export declare function generateMiniFromLocalExample(handle: string, exampleName: string): Promise<string>;
|
|
7
|
+
export declare function generateMiniFromExample(handle: string, examplePath: string): Promise<string>;
|
|
@@ -3,9 +3,14 @@ import { mkdtemp, readdir } from 'node:fs/promises';
|
|
|
3
3
|
import path from 'path';
|
|
4
4
|
import os from 'os';
|
|
5
5
|
import { existsSync } from 'node:fs';
|
|
6
|
+
import url from 'node:url';
|
|
6
7
|
import { downloadGitRepository } from '@shopify/cli-kit/node/git';
|
|
7
8
|
import { simpleGit } from 'simple-git';
|
|
8
9
|
import { outputDebug } from '@shopify/cli-kit/node/output';
|
|
10
|
+
import { copy } from 'fs-extra';
|
|
11
|
+
import { CLI_VERSION } from '../../config.js';
|
|
12
|
+
import { getPackageLatestVersion, overridePackageDependencies, } from '../../../utils/package-manager.js';
|
|
13
|
+
const __dirname = url.fileURLToPath(new URL('.', import.meta.url));
|
|
9
14
|
export async function cloneShopMinisRepo({ branch, } = {}) {
|
|
10
15
|
const tmpDir = await mkdtemp(path.join(os.tmpdir(), `shop-minis-`));
|
|
11
16
|
const repoUrl = 'https://github.com/Shopify/shop-minis.git';
|
|
@@ -33,12 +38,33 @@ export async function cloneShopMinisRepo({ branch, } = {}) {
|
|
|
33
38
|
}
|
|
34
39
|
return tmpDir;
|
|
35
40
|
}
|
|
36
|
-
export async function getExample(
|
|
37
|
-
const examplesDir = path.join(shopMinisClonePath, 'examples');
|
|
41
|
+
export async function getExample(examplesDir, exampleName) {
|
|
38
42
|
const examplePath = path.join(examplesDir, exampleName);
|
|
39
43
|
if (!existsSync(examplePath)) {
|
|
40
44
|
throw new Error(`Example "${exampleName}" not found. Available examples: ${JSON.stringify(await readdir(examplesDir))}`);
|
|
41
45
|
}
|
|
42
46
|
return examplePath;
|
|
43
47
|
}
|
|
48
|
+
export async function generateMiniFromShopMinisExample(handle, exampleName) {
|
|
49
|
+
const shopMinisClonePath = await cloneShopMinisRepo();
|
|
50
|
+
const examplePath = await getExample(path.join(shopMinisClonePath, 'examples'), exampleName);
|
|
51
|
+
return generateMiniFromExample(handle, examplePath);
|
|
52
|
+
}
|
|
53
|
+
export async function generateMiniFromLocalExample(handle, exampleName) {
|
|
54
|
+
const examplePath = await getExample(path.join(__dirname, '..', 'standalone', 'examples'), exampleName);
|
|
55
|
+
return generateMiniFromExample(handle, examplePath);
|
|
56
|
+
}
|
|
57
|
+
export async function generateMiniFromExample(handle, examplePath) {
|
|
58
|
+
const tmpDir = await mkdtemp(path.join(os.tmpdir(), `${handle}-`));
|
|
59
|
+
await copy(examplePath, tmpDir);
|
|
60
|
+
overridePackageDependencies(tmpDir, {
|
|
61
|
+
dependencies: {
|
|
62
|
+
'@shopify/shop-minis-sdk': await getPackageLatestVersion('@shopify/shop-minis-sdk'),
|
|
63
|
+
},
|
|
64
|
+
devDependencies: {
|
|
65
|
+
'@shopify/shop-minis-cli': CLI_VERSION,
|
|
66
|
+
},
|
|
67
|
+
});
|
|
68
|
+
return tmpDir;
|
|
69
|
+
}
|
|
44
70
|
//# sourceMappingURL=examples.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"examples.js","sourceRoot":"","sources":["../../../../src/commands/create-mini/utils/examples.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,OAAO,EAAC,OAAO,EAAE,OAAO,EAAC,MAAM,kBAAkB,CAAA;AACjD,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,EAAC,UAAU,EAAC,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"examples.js","sourceRoot":"","sources":["../../../../src/commands/create-mini/utils/examples.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import _ from 'lodash';
|
|
3
|
+
export const getOutputDirectory = (outputDir) => {
|
|
4
|
+
const currentDirectoryName = path.basename(process.cwd());
|
|
5
|
+
// The default has to be out of the 'shop-minis-cli' directory because the cli is using
|
|
6
|
+
// modules but the mini is a commonjs app. Running a cjs project inside a modules project causes various issues.
|
|
7
|
+
const defaultOutputDir = currentDirectoryName === 'shop-minis-cli' ? '..' : '.';
|
|
8
|
+
return outputDir ?? defaultOutputDir;
|
|
9
|
+
};
|
|
10
|
+
export const getCdCommandPath = (outputDir, handle) => {
|
|
11
|
+
// When running via create-shop-mini `process.cwd()` is a tmp directory so is no use
|
|
12
|
+
// TODO: create-shop-mini should pass the original cwd
|
|
13
|
+
const currentPath = `${process.cwd()}/`;
|
|
14
|
+
const cdAbsolutePath = path.resolve(outputDir, handle);
|
|
15
|
+
return cdAbsolutePath.startsWith(currentPath)
|
|
16
|
+
? cdAbsolutePath.replace(currentPath, '')
|
|
17
|
+
: cdAbsolutePath;
|
|
18
|
+
};
|
|
19
|
+
export const getHandleFromName = (name) => {
|
|
20
|
+
// @ts-ignore
|
|
21
|
+
return _.kebabCase(name);
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/create-mini/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,OAAO,CAAC,MAAM,QAAQ,CAAA;AAEtB,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,SAAkB,EAAE,EAAE;IACvD,MAAM,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;IAEzD,uFAAuF;IACvF,gHAAgH;IAChH,MAAM,gBAAgB,GACpB,oBAAoB,KAAK,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAA;IAExD,OAAO,SAAS,IAAI,gBAAgB,CAAA;AACtC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,SAAiB,EAAE,MAAc,EAAE,EAAE;IACpE,oFAAoF;IACpF,sDAAsD;IACtD,MAAM,WAAW,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,CAAA;IACvC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IACtD,OAAO,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC;QAC3C,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;QACzC,CAAC,CAAC,cAAc,CAAA;AACpB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAE,EAAE;IAChD,aAAa;IACb,OAAO,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;AAC1B,CAAC,CAAA"}
|
|
@@ -46,4 +46,9 @@ export declare const hardResetDependencies: () => Promise<[{
|
|
|
46
46
|
}]>;
|
|
47
47
|
export declare const getPackageVersion: (packageName: string) => Promise<string>;
|
|
48
48
|
export declare const getPackageDependencyVersion: (packageName: string, dependencyName: string) => Promise<string | undefined>;
|
|
49
|
+
interface PackageVersions {
|
|
50
|
+
dependencies: Record<string, string>;
|
|
51
|
+
devDependencies: Record<string, string>;
|
|
52
|
+
}
|
|
53
|
+
export declare const overridePackageDependencies: (directoryPath: string, versions: PackageVersions) => void;
|
|
49
54
|
export {};
|
|
@@ -145,4 +145,17 @@ export const getPackageDependencyVersion = async (packageName, dependencyName) =
|
|
|
145
145
|
// do nothing if we fail to read the package.json
|
|
146
146
|
}
|
|
147
147
|
};
|
|
148
|
+
export const overridePackageDependencies = (directoryPath, versions) => {
|
|
149
|
+
const packageJsonPath = path.join(directoryPath, 'package.json');
|
|
150
|
+
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath).toString('utf-8'));
|
|
151
|
+
packageJson.dependencies = {
|
|
152
|
+
...packageJson.dependencies,
|
|
153
|
+
...versions.dependencies,
|
|
154
|
+
};
|
|
155
|
+
packageJson.devDependencies = {
|
|
156
|
+
...packageJson.devDependencies,
|
|
157
|
+
...versions.devDependencies,
|
|
158
|
+
};
|
|
159
|
+
fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2));
|
|
160
|
+
};
|
|
148
161
|
//# sourceMappingURL=package-manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-manager.js","sourceRoot":"","sources":["../../src/utils/package-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"package-manager.js","sourceRoot":"","sources":["../../src/utils/package-manager.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"access": "public",
|
|
5
5
|
"@shopify:registry": "https://registry.npmjs.org/"
|
|
6
6
|
},
|
|
7
|
-
"version": "0.0.
|
|
7
|
+
"version": "0.0.161",
|
|
8
8
|
"description": "Shop Minis CLI",
|
|
9
9
|
"main": "build/index.js",
|
|
10
10
|
"bin": {
|
|
@@ -16,13 +16,15 @@
|
|
|
16
16
|
"scripts": {
|
|
17
17
|
"build": "yarn clean && yarn build:cli:graphql && yarn build:cli && yarn dev-panel:build-and-copy",
|
|
18
18
|
"clean": "rm -rf build",
|
|
19
|
-
"build:cli": "tsc -p tsconfig.build.json && chmod 755 build/index.js && cpx \"src/schemas/*.json\" build/schemas",
|
|
19
|
+
"build:cli": "tsc -p tsconfig.build.json && chmod 755 build/index.js && cpx \"src/schemas/*.json\" build/schemas && yarn build:cli:examples",
|
|
20
20
|
"build:cli:watch": "chokidar \"./src/**/*.ts\" -c \"yarn run build:cli\" --silent --initial --ignore '(build|node_modules)'",
|
|
21
|
+
"build:cli:examples": "cpx \"src/commands/create-mini/standalone/examples/**/{*,.*}\" build/commands/create-mini/standalone/examples",
|
|
21
22
|
"build:cli:graphql": "node --loader ts-node/esm scripts/graphql-codegen.ts",
|
|
22
23
|
"lint": "eslint . --ext .js,.mjs,.ts,.tsx --format codeframe --cache",
|
|
23
24
|
"shop-minis": "./build/index.js",
|
|
24
25
|
"test": "vitest",
|
|
25
|
-
"test:
|
|
26
|
+
"test:create-mini:legacy": "node --loader ts-node/esm scripts/test-create-mini-legacy.ts",
|
|
27
|
+
"test:create-mini:standalone": "node --loader ts-node/esm scripts/test-create-mini-standalone.ts",
|
|
26
28
|
"dev-panel:install": "cd ./dev-panel && yarn",
|
|
27
29
|
"dev-panel:start": "cd ./dev-panel && yarn start",
|
|
28
30
|
"dev-panel:clean": "cd ./dev-panel && rm -rf build",
|