@shopify/shop-minis-cli 0.0.223 → 0.0.224
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/build/index.js +7 -4
- package/build/commands/build/index.js.map +1 -1
- package/build/commands/create/index.js +7 -2
- package/build/commands/create/index.js.map +1 -1
- package/build/commands/create/utils/examples.d.ts +6 -2
- package/build/commands/create/utils/examples.js +18 -6
- package/build/commands/create/utils/examples.js.map +1 -1
- package/build/commands/dev/utils/web-server.js +1 -10
- package/build/commands/dev/utils/web-server.js.map +1 -1
- package/build/utils/vite-config.d.ts +7 -2
- package/build/utils/vite-config.js +37 -15
- package/build/utils/vite-config.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import { Command } from 'commander';
|
|
1
|
+
import { Command, Option } from 'commander';
|
|
2
2
|
import { build as viteBuild } from 'vite';
|
|
3
3
|
import { AbortError } from '@shopify/cli-kit/node/error';
|
|
4
4
|
import { outputSuccess } from '@shopify/cli-kit/node/output';
|
|
5
5
|
import { createViteConfig } from '../../utils/vite-config.js';
|
|
6
|
-
async function buildAction() {
|
|
6
|
+
async function buildAction(options) {
|
|
7
7
|
try {
|
|
8
|
-
const
|
|
9
|
-
|
|
8
|
+
const allowedExternalPaths = options.localSdkPath
|
|
9
|
+
? [options.localSdkPath]
|
|
10
|
+
: [];
|
|
11
|
+
await viteBuild(createViteConfig({ mode: 'production', allowedExternalPaths }));
|
|
10
12
|
outputSuccess('Build completed successfully!');
|
|
11
13
|
}
|
|
12
14
|
catch (error) {
|
|
@@ -15,5 +17,6 @@ async function buildAction() {
|
|
|
15
17
|
}
|
|
16
18
|
export const buildCommand = new Command('build')
|
|
17
19
|
.description('Build the Mini for production')
|
|
20
|
+
.addOption(new Option('--local-sdk-path <path>', 'Allow imports from a local SDK path (for local testing).').hideHelp())
|
|
18
21
|
.action(buildAction);
|
|
19
22
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/build/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/build/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,MAAM,EAAC,MAAM,WAAW,CAAA;AACzC,OAAO,EAAC,KAAK,IAAI,SAAS,EAAC,MAAM,MAAM,CAAA;AACvC,OAAO,EAAC,UAAU,EAAC,MAAM,6BAA6B,CAAA;AACtD,OAAO,EAAC,aAAa,EAAC,MAAM,8BAA8B,CAAA;AAE1D,OAAO,EAAC,gBAAgB,EAAC,MAAM,4BAA4B,CAAA;AAM3D,KAAK,UAAU,WAAW,CAAC,OAAqB;IAC9C,IAAI;QACF,MAAM,oBAAoB,GAAG,OAAO,CAAC,YAAY;YAC/C,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;YACxB,CAAC,CAAC,EAAE,CAAA;QAEN,MAAM,SAAS,CAAC,gBAAgB,CAAC,EAAC,IAAI,EAAE,YAAY,EAAE,oBAAoB,EAAC,CAAC,CAAC,CAAA;QAE7E,aAAa,CAAC,+BAA+B,CAAC,CAAA;KAE/C;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,UAAU,CAClB,iBAAiB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC1E,CAAA;KACF;AACH,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;KAC7C,WAAW,CAAC,+BAA+B,CAAC;KAC5C,SAAS,CACR,IAAI,MAAM,CACR,yBAAyB,EACzB,0DAA0D,CAC3D,CAAC,QAAQ,EAAE,CACb;KACA,MAAM,CAAC,WAAW,CAAC,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { existsSync } from 'fs';
|
|
2
2
|
import path from 'path';
|
|
3
|
-
import { Command } from 'commander';
|
|
3
|
+
import { Command, Option } from 'commander';
|
|
4
4
|
import { renderSuccess, renderTasks, renderTextPrompt, renderError, } from '@shopify/cli-kit/node/ui';
|
|
5
5
|
import chalk from 'chalk';
|
|
6
6
|
import { copy } from 'fs-extra';
|
|
@@ -18,6 +18,8 @@ export function loadCommand(parentProgram) {
|
|
|
18
18
|
.argument('[mini name]', 'The name of your Shop Mini.')
|
|
19
19
|
.option('-o, --output-dir <path>', 'Specify an output directory.')
|
|
20
20
|
.option('--verbose', 'Print debugging messages.')
|
|
21
|
+
.addOption(new Option('--local-cli-path', 'Use the local CLI as a file: dependency instead of a published version.').hideHelp())
|
|
22
|
+
.addOption(new Option('--local-sdk-path <path>', 'Use a local SDK as a file: dependency instead of a published version.').hideHelp())
|
|
21
23
|
.action(async (miniNameArg, options = {}) => {
|
|
22
24
|
try {
|
|
23
25
|
outputDebug(`create mini input: name=${miniNameArg} options=${JSON.stringify(options)}`);
|
|
@@ -54,7 +56,10 @@ export function loadCommand(parentProgram) {
|
|
|
54
56
|
{
|
|
55
57
|
title: 'Fetching example',
|
|
56
58
|
task: async () => {
|
|
57
|
-
const miniTmpDirPath = await generateMiniFromLocalWebExample(`${miniName}`, miniHandle
|
|
59
|
+
const miniTmpDirPath = await generateMiniFromLocalWebExample(`${miniName}`, miniHandle, {
|
|
60
|
+
localCliPath: options.localCliPath,
|
|
61
|
+
localSdkPath: options.localSdkPath,
|
|
62
|
+
});
|
|
58
63
|
await copy(miniTmpDirPath, miniDirPath);
|
|
59
64
|
},
|
|
60
65
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/create/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,IAAI,CAAA;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/create/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,5 +3,9 @@ export declare function cloneShopMinisRepo({ branch, }?: {
|
|
|
3
3
|
}): Promise<string>;
|
|
4
4
|
export declare function getExample(examplesDir: string, exampleName: string): Promise<string>;
|
|
5
5
|
export declare function generateMiniFromShopMinisExample(name: string, handle: string, exampleName: string): Promise<string>;
|
|
6
|
-
export
|
|
7
|
-
|
|
6
|
+
export interface GenerateMiniOptions {
|
|
7
|
+
localCliPath?: boolean;
|
|
8
|
+
localSdkPath?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function generateMiniFromLocalWebExample(name: string, handle: string, options?: GenerateMiniOptions): Promise<string>;
|
|
11
|
+
export declare function generateMiniFromExample(name: string, handle: string, examplePath: string, options?: GenerateMiniOptions): Promise<string>;
|
|
@@ -12,6 +12,10 @@ import { overridePackageDependencies, overridePackageName, } from '../../../util
|
|
|
12
12
|
import { gatherRequiredDependencies } from '../../../utils/dependencies.js';
|
|
13
13
|
import { CURRENT_CLI_VERSION } from '../../config.js';
|
|
14
14
|
const __dirname = url.fileURLToPath(new URL('.', import.meta.url));
|
|
15
|
+
// Resolve the CLI package root directory (3 levels up from this file: utils -> create -> commands -> build)
|
|
16
|
+
function getLocalCliPackagePath() {
|
|
17
|
+
return path.resolve(__dirname, '..', '..', '..', '..');
|
|
18
|
+
}
|
|
15
19
|
export async function cloneShopMinisRepo({ branch, } = {}) {
|
|
16
20
|
const tmpDir = await mkdtemp(path.join(os.tmpdir(), `shop-minis-`));
|
|
17
21
|
const repoUrl = 'https://github.com/Shopify/shop-minis.git';
|
|
@@ -51,22 +55,30 @@ export async function generateMiniFromShopMinisExample(name, handle, exampleName
|
|
|
51
55
|
const examplePath = await getExample(path.join(shopMinisClonePath, 'examples'), exampleName);
|
|
52
56
|
return generateMiniFromExample(name, handle, examplePath);
|
|
53
57
|
}
|
|
54
|
-
export async function generateMiniFromLocalWebExample(name, handle) {
|
|
58
|
+
export async function generateMiniFromLocalWebExample(name, handle, options = {}) {
|
|
55
59
|
const examplePath = await getExample(path.join(__dirname, '..', 'examples'), 'default');
|
|
56
|
-
return generateMiniFromExample(name, handle, examplePath);
|
|
60
|
+
return generateMiniFromExample(name, handle, examplePath, options);
|
|
57
61
|
}
|
|
58
|
-
export async function generateMiniFromExample(name, handle, examplePath) {
|
|
62
|
+
export async function generateMiniFromExample(name, handle, examplePath, options = {}) {
|
|
59
63
|
const tmpDir = await mkdtemp(path.join(os.tmpdir(), `${handle}-`));
|
|
60
64
|
await copy(examplePath, tmpDir);
|
|
61
65
|
// NPM will not publish a `.gitignore` file, so we publish it as `_gitignore`
|
|
62
66
|
// and then rename it back to `.gitignore` when creating a mini.
|
|
63
67
|
// See https://github.com/npm/npm/issues/3763
|
|
64
68
|
await move(path.join(tmpDir, '_gitignore'), path.join(tmpDir, '.gitignore'));
|
|
69
|
+
// Use local CLI path for local testing, otherwise use the published version
|
|
70
|
+
const cliDependency = options.localCliPath
|
|
71
|
+
? `file:${getLocalCliPackagePath()}`
|
|
72
|
+
: CURRENT_CLI_VERSION;
|
|
73
|
+
// Gather required dependencies, potentially overriding SDK with local path
|
|
74
|
+
const dependencies = await gatherRequiredDependencies();
|
|
75
|
+
if (options.localSdkPath) {
|
|
76
|
+
dependencies['@shopify/shop-minis-react'] = `file:${options.localSdkPath}`;
|
|
77
|
+
}
|
|
65
78
|
overridePackageDependencies(tmpDir, {
|
|
66
|
-
dependencies
|
|
79
|
+
dependencies,
|
|
67
80
|
devDependencies: {
|
|
68
|
-
|
|
69
|
-
'@shopify/shop-minis-cli': CURRENT_CLI_VERSION,
|
|
81
|
+
'@shopify/shop-minis-cli': cliDependency,
|
|
70
82
|
},
|
|
71
83
|
});
|
|
72
84
|
overridePackageName(tmpDir, handle);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"examples.js","sourceRoot":"","sources":["../../../../src/commands/create/utils/examples.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"examples.js","sourceRoot":"","sources":["../../../../src/commands/create/utils/examples.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,16 +5,7 @@ import { DEV_SERVER_PORT, DEV_SERVER_HOST, } from '../../../constants/dev-server
|
|
|
5
5
|
import { createViteConfig } from '../../../utils/vite-config.js';
|
|
6
6
|
export { createViteConfig } from '../../../utils/vite-config.js';
|
|
7
7
|
export const createWebServer = async () => {
|
|
8
|
-
const vite = await createServer({
|
|
9
|
-
...createViteConfig(),
|
|
10
|
-
server: {
|
|
11
|
-
host: DEV_SERVER_HOST,
|
|
12
|
-
port: DEV_SERVER_PORT,
|
|
13
|
-
strictPort: true,
|
|
14
|
-
/* @ts-ignore-next-line */
|
|
15
|
-
allowedHosts: ['.ngrok.app', '.ngrok-free.app'],
|
|
16
|
-
},
|
|
17
|
-
});
|
|
8
|
+
const vite = await createServer(createViteConfig({ mode: 'development' }));
|
|
18
9
|
await vite.listen(DEV_SERVER_PORT);
|
|
19
10
|
outputDebug(`Dev server is running on http://${DEV_SERVER_HOST}:${DEV_SERVER_PORT}`);
|
|
20
11
|
return vite;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-server.js","sourceRoot":"","sources":["../../../../src/commands/dev/utils/web-server.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,OAAO,EAAC,YAAY,EAAC,MAAM,MAAM,CAAA;AACjC,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAA;AAExD,OAAO,EACL,eAAe,EACf,eAAe,GAChB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAC,gBAAgB,EAAC,MAAM,+BAA+B,CAAA;AAE9D,OAAO,EAAC,gBAAgB,EAAC,MAAM,+BAA+B,CAAA;AAE9D,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,IAAI,EAAE;IACxC,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC
|
|
1
|
+
{"version":3,"file":"web-server.js","sourceRoot":"","sources":["../../../../src/commands/dev/utils/web-server.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,OAAO,EAAC,YAAY,EAAC,MAAM,MAAM,CAAA;AACjC,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAA;AAExD,OAAO,EACL,eAAe,EACf,eAAe,GAChB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAC,gBAAgB,EAAC,MAAM,+BAA+B,CAAA;AAE9D,OAAO,EAAC,gBAAgB,EAAC,MAAM,+BAA+B,CAAA;AAE9D,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,IAAI,EAAE;IACxC,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,gBAAgB,CAAC,EAAC,IAAI,EAAE,aAAa,EAAC,CAAC,CAAC,CAAA;IAExE,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;IAElC,WAAW,CACT,mCAAmC,eAAe,IAAI,eAAe,EAAE,CACxE,CAAA;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import { type Plugin } from 'vite';
|
|
2
|
-
export declare const createViteConfig: (
|
|
1
|
+
import { ESBuildOptions, ServerOptions, type Plugin } from 'vite';
|
|
2
|
+
export declare const createViteConfig: ({ mode, allowedExternalPaths, }: {
|
|
3
|
+
mode: 'development' | 'production';
|
|
4
|
+
allowedExternalPaths?: string[] | undefined;
|
|
5
|
+
}) => {
|
|
3
6
|
root: string;
|
|
4
7
|
publicDir: false;
|
|
5
8
|
plugins: (Plugin<any> | Plugin<any>[])[];
|
|
@@ -11,4 +14,6 @@ export declare const createViteConfig: () => {
|
|
|
11
14
|
outDir: string;
|
|
12
15
|
assetsInlineLimit: number;
|
|
13
16
|
};
|
|
17
|
+
esbuild: ESBuildOptions | undefined;
|
|
18
|
+
server: ServerOptions | undefined;
|
|
14
19
|
};
|
|
@@ -4,6 +4,7 @@ import { outputDebug } from '@shopify/cli-kit/node/output';
|
|
|
4
4
|
import react from '@vitejs/plugin-react';
|
|
5
5
|
import tailwindcss from '@tailwindcss/vite';
|
|
6
6
|
import { ALLOWED_EXTENSIONS, ALLOWED_FILES, } from '../constants/allowed-extensions.js';
|
|
7
|
+
import { DEV_SERVER_HOST, DEV_SERVER_PORT } from '../constants/dev-server.js';
|
|
7
8
|
const stripQuery = (id) => id.split(/[?#]/, 1)[0];
|
|
8
9
|
const getExtension = (id) => path.extname(stripQuery(id)).slice(1).toLowerCase();
|
|
9
10
|
const isAllowedExtension = (id) => {
|
|
@@ -13,7 +14,7 @@ const isAllowedExtension = (id) => {
|
|
|
13
14
|
return ALLOWED_EXTENSIONS.has(ext);
|
|
14
15
|
};
|
|
15
16
|
const isPathWithinRoot = (filePath, root) => filePath === root || filePath.startsWith(`${root}/`);
|
|
16
|
-
const restrictImportsPlugin = () => {
|
|
17
|
+
const restrictImportsPlugin = (additionalAllowedPaths = []) => {
|
|
17
18
|
const allowedExtensions = Array.from(ALLOWED_EXTENSIONS).sort();
|
|
18
19
|
const allowedList = allowedExtensions.join(', ');
|
|
19
20
|
let rootDirFsPath = process.cwd();
|
|
@@ -95,7 +96,11 @@ const restrictImportsPlugin = () => {
|
|
|
95
96
|
isDevMode = config.command === 'serve';
|
|
96
97
|
const srcDir = normalizePath(path.resolve(rootDirFsPath, 'src'));
|
|
97
98
|
const nodeModulesDir = normalizePath(path.resolve(rootDirFsPath, 'node_modules'));
|
|
98
|
-
allowedImportRoots = [
|
|
99
|
+
allowedImportRoots = [
|
|
100
|
+
srcDir,
|
|
101
|
+
nodeModulesDir,
|
|
102
|
+
...additionalAllowedPaths.map(p => normalizePath(path.resolve(p))),
|
|
103
|
+
];
|
|
99
104
|
},
|
|
100
105
|
generateBundle(_options, bundle) {
|
|
101
106
|
for (const [fileName, output] of Object.entries(bundle)) {
|
|
@@ -111,17 +116,34 @@ const restrictImportsPlugin = () => {
|
|
|
111
116
|
},
|
|
112
117
|
};
|
|
113
118
|
};
|
|
114
|
-
export const createViteConfig = () =>
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
}
|
|
119
|
+
export const createViteConfig = ({ mode, allowedExternalPaths = [], }) => {
|
|
120
|
+
const esbuildOptions = mode === 'production'
|
|
121
|
+
? {
|
|
122
|
+
drop: ['console', 'debugger'],
|
|
123
|
+
}
|
|
124
|
+
: undefined;
|
|
125
|
+
const serverOptions = mode === 'development'
|
|
126
|
+
? {
|
|
127
|
+
host: DEV_SERVER_HOST,
|
|
128
|
+
port: DEV_SERVER_PORT,
|
|
129
|
+
strictPort: true,
|
|
130
|
+
allowedHosts: ['.ngrok.app', '.ngrok-free.app'],
|
|
131
|
+
}
|
|
132
|
+
: undefined;
|
|
133
|
+
return {
|
|
134
|
+
root: process.cwd(),
|
|
135
|
+
publicDir: false,
|
|
136
|
+
plugins: [restrictImportsPlugin(allowedExternalPaths), react(), tailwindcss()],
|
|
137
|
+
assetsInclude: ['**/*.glb', '**/*.gltf'],
|
|
138
|
+
optimizeDeps: {
|
|
139
|
+
include: ['@shopify/shop-minis-react'],
|
|
140
|
+
},
|
|
141
|
+
build: {
|
|
142
|
+
outDir: '.minis-cache/build',
|
|
143
|
+
assetsInlineLimit: 0,
|
|
144
|
+
},
|
|
145
|
+
esbuild: esbuildOptions,
|
|
146
|
+
server: serverOptions,
|
|
147
|
+
};
|
|
148
|
+
};
|
|
127
149
|
//# sourceMappingURL=vite-config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-config.js","sourceRoot":"","sources":["../../src/utils/vite-config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,
|
|
1
|
+
{"version":3,"file":"vite-config.js","sourceRoot":"","sources":["../../src/utils/vite-config.ts"],"names":[],"mappings":"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"}
|