@shopify/create-app 3.0.11 → 3.0.12
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/CHANGELOG.md +17 -0
- package/dist/commands/init.js +29 -14
- package/dist/commands/init.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# @shopify/create-app
|
|
2
2
|
|
|
3
|
+
## 3.0.12
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 8c690cca: Provide haikunator-style default names for apps and extensions
|
|
8
|
+
- cb8e2c25: Copy improvements
|
|
9
|
+
- 200c9aa0: Initialize git when generating projects with @shopify/create-app
|
|
10
|
+
- Updated dependencies [e05749dc]
|
|
11
|
+
- Updated dependencies [89a48ba9]
|
|
12
|
+
- Updated dependencies [1f45ddc4]
|
|
13
|
+
- Updated dependencies [8c690cca]
|
|
14
|
+
- Updated dependencies [11d09f7f]
|
|
15
|
+
- Updated dependencies [783a3714]
|
|
16
|
+
- Updated dependencies [e12c82b3]
|
|
17
|
+
- Updated dependencies [cb8e2c25]
|
|
18
|
+
- @shopify/cli-kit@3.0.12
|
|
19
|
+
|
|
3
20
|
## 3.0.11
|
|
4
21
|
|
|
5
22
|
### Patch Changes
|
package/dist/commands/init.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ui, path, dependency, file, string, git, template, npm, environment, output, cli } from '@shopify/cli-kit';
|
|
1
|
+
import { haiku, ui, path, dependency, file, string, git, template, npm, environment, output, cli } from '@shopify/cli-kit';
|
|
2
2
|
import { Writable } from 'stream';
|
|
3
3
|
import { Flags, Command } from '@oclif/core';
|
|
4
4
|
|
|
@@ -8,7 +8,7 @@ const init$1 = async (options, prompt = ui.prompt) => {
|
|
|
8
8
|
php: "https://github.com/Shopify/shopify-app-template-php#cli_three"
|
|
9
9
|
};
|
|
10
10
|
const defaults = {
|
|
11
|
-
name: "app",
|
|
11
|
+
name: haiku.generate("app"),
|
|
12
12
|
template: templateURLMap.node
|
|
13
13
|
};
|
|
14
14
|
const questions = [];
|
|
@@ -24,7 +24,7 @@ const init$1 = async (options, prompt = ui.prompt) => {
|
|
|
24
24
|
return "App Name can't be empty";
|
|
25
25
|
}
|
|
26
26
|
if (value.length > 30) {
|
|
27
|
-
return "
|
|
27
|
+
return "Enter a shorter name (30 character max.)";
|
|
28
28
|
}
|
|
29
29
|
return true;
|
|
30
30
|
}
|
|
@@ -49,16 +49,16 @@ const init$1 = async (options, prompt = ui.prompt) => {
|
|
|
49
49
|
return answers;
|
|
50
50
|
};
|
|
51
51
|
|
|
52
|
-
var version$1 = "3.0.
|
|
52
|
+
var version$1 = "3.0.12";
|
|
53
53
|
|
|
54
|
-
var version = "3.0.
|
|
54
|
+
var version = "3.0.12";
|
|
55
55
|
|
|
56
56
|
async function updateCLIDependencies(packageJSON, local) {
|
|
57
57
|
packageJSON.dependencies = packageJSON.dependencies || {};
|
|
58
58
|
packageJSON.dependencies["@shopify/cli"] = version$1;
|
|
59
59
|
packageJSON.dependencies["@shopify/app"] = version;
|
|
60
60
|
if (local) {
|
|
61
|
-
const cliPath = `file:${await path.findUp("packages/cli", { type: "directory" })}`;
|
|
61
|
+
const cliPath = `file:${await path.findUp("packages/cli-main", { type: "directory" })}`;
|
|
62
62
|
const appPath = `file:${await path.findUp("packages/app", { type: "directory" })}`;
|
|
63
63
|
const cliKitPath = `file:${await path.findUp("packages/cli-kit", { type: "directory" })}`;
|
|
64
64
|
packageJSON.dependencies["@shopify/cli"] = cliPath;
|
|
@@ -109,6 +109,7 @@ async function cleanup(webOutputDirectory) {
|
|
|
109
109
|
path.join(webOutputDirectory, "**", ".github"),
|
|
110
110
|
path.join(webOutputDirectory, "**", ".gitmodules"),
|
|
111
111
|
path.join(webOutputDirectory, "LICENSE*"),
|
|
112
|
+
path.join(webOutputDirectory, "**", "frontend/LICENSE*"),
|
|
112
113
|
path.join(webOutputDirectory, "package.json.cli2")
|
|
113
114
|
], {
|
|
114
115
|
dot: true,
|
|
@@ -131,8 +132,9 @@ async function init(options) {
|
|
|
131
132
|
let tasks = [];
|
|
132
133
|
tasks = tasks.concat([
|
|
133
134
|
{
|
|
134
|
-
title: "
|
|
135
|
+
title: "Download template",
|
|
135
136
|
task: async (_, task) => {
|
|
137
|
+
task.title = "Downloading template";
|
|
136
138
|
await git.downloadRepository({
|
|
137
139
|
repoUrl: options.template,
|
|
138
140
|
destination: templateDownloadDir
|
|
@@ -141,12 +143,14 @@ async function init(options) {
|
|
|
141
143
|
}
|
|
142
144
|
},
|
|
143
145
|
{
|
|
144
|
-
title: `
|
|
146
|
+
title: `Initialize your app ${hyphenizedName}`,
|
|
145
147
|
task: async (_, parentTask) => {
|
|
148
|
+
parentTask.title = `Initializing your app ${hyphenizedName}`;
|
|
146
149
|
return parentTask.newListr([
|
|
147
150
|
{
|
|
148
|
-
title: "
|
|
151
|
+
title: "Parse liquid",
|
|
149
152
|
task: async (_2, task) => {
|
|
153
|
+
task.title = "Parsing liquid";
|
|
150
154
|
await template.recursiveDirectoryCopy(templateDownloadDir, templateScaffoldDir, {
|
|
151
155
|
dependency_manager: dependencyManager
|
|
152
156
|
});
|
|
@@ -154,13 +158,14 @@ async function init(options) {
|
|
|
154
158
|
}
|
|
155
159
|
},
|
|
156
160
|
{
|
|
157
|
-
title: "
|
|
161
|
+
title: "Update package.json",
|
|
158
162
|
task: async (_2, task) => {
|
|
163
|
+
task.title = "Updating package.json";
|
|
159
164
|
const packageJSON = await npm.readPackageJSON(templateScaffoldDir);
|
|
160
165
|
await npm.updateAppData(packageJSON, hyphenizedName);
|
|
161
166
|
await updateCLIDependencies(packageJSON, options.local);
|
|
162
167
|
await npm.writePackageJSON(templateScaffoldDir, packageJSON);
|
|
163
|
-
task.title = "
|
|
168
|
+
task.title = "Updated package.json";
|
|
164
169
|
parentTask.title = "App initialized";
|
|
165
170
|
}
|
|
166
171
|
}
|
|
@@ -170,8 +175,9 @@ async function init(options) {
|
|
|
170
175
|
]);
|
|
171
176
|
if (await environment.local.isShopify()) {
|
|
172
177
|
tasks.push({
|
|
173
|
-
title: "[Shopifolks-only]
|
|
178
|
+
title: "[Shopifolks-only] Configure the project's NPM registry",
|
|
174
179
|
task: async (_, task) => {
|
|
180
|
+
task.title = "[Shopifolks-only] Configuring the project's NPM registry";
|
|
175
181
|
const npmrcPath = path.join(templateScaffoldDir, ".npmrc");
|
|
176
182
|
const npmrcContent = `@shopify:registry=https://registry.npmjs.org
|
|
177
183
|
`;
|
|
@@ -182,8 +188,9 @@ async function init(options) {
|
|
|
182
188
|
}
|
|
183
189
|
tasks = tasks.concat([
|
|
184
190
|
{
|
|
185
|
-
title: `
|
|
191
|
+
title: `Install dependencies with ${dependencyManager}`,
|
|
186
192
|
task: async (_, parentTask) => {
|
|
193
|
+
parentTask.title = `Installing dependencies with ${dependencyManager}`;
|
|
187
194
|
function didInstallEverything() {
|
|
188
195
|
parentTask.title = `Dependencies installed with ${dependencyManager}`;
|
|
189
196
|
}
|
|
@@ -195,11 +202,19 @@ async function init(options) {
|
|
|
195
202
|
}
|
|
196
203
|
},
|
|
197
204
|
{
|
|
198
|
-
title: "
|
|
205
|
+
title: "Clean up",
|
|
199
206
|
task: async (_, task) => {
|
|
207
|
+
task.title = "Cleaning up";
|
|
200
208
|
await cleanup(templateScaffoldDir);
|
|
201
209
|
task.title = "Completed clean up";
|
|
202
210
|
}
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
title: "Initializing a Git repository",
|
|
214
|
+
task: async (_, task) => {
|
|
215
|
+
await git.initializeRepository(templateScaffoldDir);
|
|
216
|
+
task.title = "Git repository initialized";
|
|
217
|
+
}
|
|
203
218
|
}
|
|
204
219
|
]);
|
|
205
220
|
const list = new ui.Listr(tasks, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sources":["../../src/prompts/init.ts","../../src/utils/template/npm.ts","../../src/utils/template/cleanup.ts","../../src/services/init.ts","../../src/commands/init.ts"],"sourcesContent":["import {ui} from '@shopify/cli-kit'\n\ninterface InitOptions {\n name?: string\n template?: string\n}\n\ninterface InitOutput {\n name: string\n template: string\n}\n\nconst init = async (options: InitOptions, prompt = ui.prompt): Promise<InitOutput> => {\n // Eventually this list should be taken from a remote location\n // That way we don't have to update the CLI every time we add a template\n const templateURLMap = {\n node: 'https://github.com/Shopify/shopify-app-template-node#cli_three',\n php: 'https://github.com/Shopify/shopify-app-template-php#cli_three',\n }\n\n const defaults = {\n name: 'app',\n template: templateURLMap.node,\n }\n\n const questions: ui.Question[] = []\n if (!options.name) {\n questions.push({\n type: 'input',\n name: 'name',\n preface: 'Welcome. Let’s get started by naming your app. You can change it later.',\n message: \"Your app's name?\",\n default: defaults.name,\n validate: (value) => {\n if (value.length === 0) {\n return \"App Name can't be empty\"\n }\n if (value.length > 30) {\n return 'App name is too long (maximum is 30 characters)'\n }\n return true\n },\n })\n }\n\n if (!options.template && Object.keys(templateURLMap).length > 1) {\n questions.push({\n type: 'select',\n name: 'template',\n choices: Object.keys(templateURLMap),\n message: 'Which template would you like to use?',\n default: defaults.template,\n })\n }\n\n const promptOutput: InitOutput = await prompt(questions)\n const answers = {\n ...options,\n ...promptOutput,\n }\n\n const templateURL = templateURLMap[answers.template as keyof typeof templateURLMap]\n answers.template = templateURL || answers.template || defaults.template\n\n return answers\n}\n\nexport default init\n","/* eslint-disable @nrwl/nx/enforce-module-boundaries */\nimport {version as cliVersion} from '../../../../cli/package.json'\nimport {version as appVersion} from '../../../../app/package.json'\n/* eslint-enable @nrwl/nx/enforce-module-boundaries*/\nimport {path, dependency, ui, npm} from '@shopify/cli-kit'\nimport {Writable} from 'stream'\n\nexport async function updateCLIDependencies(packageJSON: npm.PackageJSON, local: boolean): Promise<npm.PackageJSON> {\n packageJSON.dependencies = packageJSON.dependencies || {}\n packageJSON.dependencies['@shopify/cli'] = cliVersion\n packageJSON.dependencies['@shopify/app'] = appVersion\n\n if (local) {\n const cliPath = `file:${(await path.findUp('packages/cli', {type: 'directory'})) as string}`\n const appPath = `file:${(await path.findUp('packages/app', {type: 'directory'})) as string}`\n const cliKitPath = `file:${(await path.findUp('packages/cli-kit', {type: 'directory'})) as string}`\n\n // eslint-disable-next-line require-atomic-updates\n packageJSON.dependencies['@shopify/cli'] = cliPath\n // eslint-disable-next-line require-atomic-updates\n packageJSON.dependencies['@shopify/app'] = appPath\n\n const dependencyOverrides = {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '@shopify/cli': cliPath,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '@shopify/app': appPath,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '@shopify/cli-kit': cliKitPath,\n }\n\n packageJSON.overrides = packageJSON.overrides\n ? {...packageJSON.overrides, ...dependencyOverrides}\n : dependencyOverrides\n\n packageJSON.resolutions = packageJSON.resolutions\n ? {...packageJSON.resolutions, ...dependencyOverrides}\n : dependencyOverrides\n }\n\n return packageJSON\n}\n\nexport async function getDeepInstallNPMTasks({\n from,\n dependencyManager,\n didInstallEverything,\n}: {\n from: string\n dependencyManager: dependency.DependencyManager\n didInstallEverything(): void\n}): Promise<ui.ListrTask[]> {\n const packageJSONFiles = await path.glob([path.join(from, '**/package.json')])\n let foldersInstalled = 0\n\n return packageJSONFiles.map((filePath) => {\n const folderPath = filePath.replace('package.json', '')\n const titlePath = folderPath.replace(from, '')\n\n return {\n title: `Installing dependencies in ${titlePath}`,\n task: async (_, task) => {\n const output = new Writable({\n write(chunk, _, next) {\n task.output = chunk.toString()\n next()\n },\n })\n\n await dependency.install(folderPath, dependencyManager, output, output)\n\n task.title = `Installed dependencies in ${titlePath}`\n\n foldersInstalled++\n\n if (foldersInstalled === packageJSONFiles.length) {\n didInstallEverything()\n }\n },\n }\n })\n}\n","import {file, path} from '@shopify/cli-kit'\n\nexport default async function cleanup(webOutputDirectory: string) {\n const gitPaths = await path.glob(\n [\n path.join(webOutputDirectory, '**', '.git'),\n path.join(webOutputDirectory, '**', '.github'),\n path.join(webOutputDirectory, '**', '.gitmodules'),\n path.join(webOutputDirectory, 'LICENSE*'),\n path.join(webOutputDirectory, 'package.json.cli2'),\n ],\n {\n dot: true,\n onlyFiles: false,\n onlyDirectories: false,\n ignore: ['**/node_modules/**'],\n },\n )\n\n return Promise.all(gitPaths.map((path) => file.rmdir(path, {force: true}))).then(() => {})\n}\n","import {getDeepInstallNPMTasks, updateCLIDependencies} from '../utils/template/npm'\nimport cleanup from '../utils/template/cleanup'\n\nimport {string, path, file, output, ui, dependency, template, npm, git, environment} from '@shopify/cli-kit'\n\ninterface InitOptions {\n name: string\n directory: string\n template: string\n dependencyManager: string | undefined\n local: boolean\n}\n\nasync function init(options: InitOptions) {\n const dependencyManager: dependency.DependencyManager = inferDependencyManager(options.dependencyManager)\n const hyphenizedName = string.hyphenize(options.name)\n const outputDirectory = path.join(options.directory, hyphenizedName)\n\n await file.inTemporaryDirectory(async (tmpDir) => {\n const templateDownloadDir = path.join(tmpDir, 'download')\n const templateScaffoldDir = path.join(tmpDir, 'app')\n\n await file.mkdir(templateDownloadDir)\n let tasks: ConstructorParameters<typeof ui.Listr>[0] = []\n\n tasks = tasks.concat([\n {\n title: 'Downloading template',\n task: async (_, task) => {\n await git.downloadRepository({\n repoUrl: options.template,\n destination: templateDownloadDir,\n })\n task.title = 'Template downloaded'\n },\n },\n {\n title: `Initializing your app ${hyphenizedName}`,\n task: async (_, parentTask) => {\n return parentTask.newListr([\n {\n title: 'Parsing liquid',\n task: async (_, task) => {\n await template.recursiveDirectoryCopy(templateDownloadDir, templateScaffoldDir, {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n dependency_manager: dependencyManager,\n })\n\n task.title = 'Liquid parsed'\n },\n },\n {\n title: 'Updating package.json',\n task: async (_, task) => {\n const packageJSON = await npm.readPackageJSON(templateScaffoldDir)\n\n await npm.updateAppData(packageJSON, hyphenizedName)\n await updateCLIDependencies(packageJSON, options.local)\n\n await npm.writePackageJSON(templateScaffoldDir, packageJSON)\n\n task.title = 'Package.json updated'\n parentTask.title = 'App initialized'\n },\n },\n ])\n },\n },\n ])\n\n if (await environment.local.isShopify()) {\n tasks.push({\n title: \"[Shopifolks-only] Configuring the project's NPM registry\",\n task: async (_, task) => {\n const npmrcPath = path.join(templateScaffoldDir, '.npmrc')\n const npmrcContent = `@shopify:registry=https://registry.npmjs.org\\n`\n await file.append(npmrcPath, npmrcContent)\n task.title = \"[Shopifolks-only] Project's NPM registry configured.\"\n },\n })\n }\n\n tasks = tasks.concat([\n {\n title: `Installing dependencies with ${dependencyManager}`,\n task: async (_, parentTask) => {\n function didInstallEverything() {\n parentTask.title = `Dependencies installed with ${dependencyManager}`\n }\n\n return parentTask.newListr(\n await getDeepInstallNPMTasks({\n from: templateScaffoldDir,\n dependencyManager,\n didInstallEverything,\n }),\n {concurrent: false},\n )\n },\n },\n {\n title: 'Cleaning up',\n task: async (_, task) => {\n await cleanup(templateScaffoldDir)\n task.title = 'Completed clean up'\n },\n },\n ])\n\n const list = new ui.Listr(tasks, {\n concurrent: false,\n rendererOptions: {collapse: false},\n rendererSilent: environment.local.isUnitTest(),\n })\n await list.run()\n\n await file.move(templateScaffoldDir, outputDirectory)\n })\n\n output.info(output.content`\n ${hyphenizedName} is ready for you to build! Remember to ${output.token.genericShellCommand(`cd ${hyphenizedName}`)}\n To preview your project, run ${output.token.packagejsonScript(dependencyManager, 'dev')}\n To add extensions, run ${output.token.packagejsonScript(dependencyManager, 'scaffold extension')}\n For more details on all that you can build, see the docs: ${output.token.link(\n 'shopify.dev',\n 'https://shopify.dev',\n )}. ✨\n\n For help and a list of commands, enter ${output.token.packagejsonScript(dependencyManager, 'shopify app', '--help')}\n `)\n}\n\nfunction inferDependencyManager(optionsDependencyManager: string | undefined): dependency.DependencyManager {\n if (\n optionsDependencyManager &&\n dependency.dependencyManager.includes(optionsDependencyManager as dependency.DependencyManager)\n ) {\n return optionsDependencyManager as dependency.DependencyManager\n }\n return dependency.dependencyManagerUsedForCreating()\n}\n\nexport default init\n","import initPrompt from '../prompts/init'\nimport initService from '../services/init'\nimport {Command, Flags} from '@oclif/core'\nimport {path, cli} from '@shopify/cli-kit'\n\nexport default class Init extends Command {\n static flags = {\n ...cli.globalFlags,\n name: Flags.string({\n char: 'n',\n env: 'SHOPIFY_FLAG_NAME',\n hidden: false,\n }),\n path: Flags.string({\n char: 'p',\n env: 'SHOPIFY_FLAG_PATH',\n parse: (input, _) => Promise.resolve(path.resolve(input)),\n hidden: false,\n }),\n template: Flags.string({\n description: 'The app template. Eg, --template https://github.com/Shopify/shopify-app-template-node',\n env: 'SHOPIFY_FLAG_TEMPLATE',\n }),\n // eslint-disable-next-line @typescript-eslint/naming-convention\n 'dependency-manager': Flags.string({\n char: 'd',\n env: 'SHOPIFY_FLAG_DEPENDENCY_MANAGER',\n hidden: false,\n options: ['npm', 'yarn', 'pnpm'],\n }),\n local: Flags.boolean({\n char: 'l',\n env: 'SHOPIFY_FLAG_LOCAL',\n default: false,\n hidden: true,\n }),\n }\n\n async run(): Promise<void> {\n const {flags} = await this.parse(Init)\n const directory = flags.path ? path.resolve(flags.path) : process.cwd()\n const promptAnswers = await initPrompt({\n name: flags.name,\n template: flags.template,\n })\n await initService({\n name: promptAnswers.name,\n dependencyManager: flags['dependency-manager'],\n template: promptAnswers.template,\n local: flags.local,\n directory,\n })\n }\n}\n"],"names":["init","cliVersion","appVersion","initPrompt","initService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sources":["../../src/prompts/init.ts","../../src/utils/template/npm.ts","../../src/utils/template/cleanup.ts","../../src/services/init.ts","../../src/commands/init.ts"],"sourcesContent":["import {haiku, ui} from '@shopify/cli-kit'\n\ninterface InitOptions {\n name?: string\n template?: string\n}\n\ninterface InitOutput {\n name: string\n template: string\n}\n\nconst init = async (options: InitOptions, prompt = ui.prompt): Promise<InitOutput> => {\n // Eventually this list should be taken from a remote location\n // That way we don't have to update the CLI every time we add a template\n const templateURLMap = {\n node: 'https://github.com/Shopify/shopify-app-template-node#cli_three',\n php: 'https://github.com/Shopify/shopify-app-template-php#cli_three',\n }\n\n const defaults = {\n name: haiku.generate('app'),\n template: templateURLMap.node,\n }\n\n const questions: ui.Question[] = []\n if (!options.name) {\n questions.push({\n type: 'input',\n name: 'name',\n preface: 'Welcome. Let’s get started by naming your app. You can change it later.',\n message: \"Your app's name?\",\n default: defaults.name,\n validate: (value) => {\n if (value.length === 0) {\n return \"App Name can't be empty\"\n }\n if (value.length > 30) {\n return 'Enter a shorter name (30 character max.)'\n }\n return true\n },\n })\n }\n\n if (!options.template && Object.keys(templateURLMap).length > 1) {\n questions.push({\n type: 'select',\n name: 'template',\n choices: Object.keys(templateURLMap),\n message: 'Which template would you like to use?',\n default: defaults.template,\n })\n }\n\n const promptOutput: InitOutput = await prompt(questions)\n const answers = {\n ...options,\n ...promptOutput,\n }\n\n const templateURL = templateURLMap[answers.template as keyof typeof templateURLMap]\n answers.template = templateURL || answers.template || defaults.template\n\n return answers\n}\n\nexport default init\n","/* eslint-disable @nrwl/nx/enforce-module-boundaries */\nimport {version as cliVersion} from '../../../../cli-main/package.json'\nimport {version as appVersion} from '../../../../app/package.json'\n/* eslint-enable @nrwl/nx/enforce-module-boundaries*/\nimport {path, dependency, ui, npm} from '@shopify/cli-kit'\nimport {Writable} from 'stream'\n\nexport async function updateCLIDependencies(packageJSON: npm.PackageJSON, local: boolean): Promise<npm.PackageJSON> {\n packageJSON.dependencies = packageJSON.dependencies || {}\n packageJSON.dependencies['@shopify/cli'] = cliVersion\n packageJSON.dependencies['@shopify/app'] = appVersion\n\n if (local) {\n const cliPath = `file:${(await path.findUp('packages/cli-main', {type: 'directory'})) as string}`\n const appPath = `file:${(await path.findUp('packages/app', {type: 'directory'})) as string}`\n const cliKitPath = `file:${(await path.findUp('packages/cli-kit', {type: 'directory'})) as string}`\n\n // eslint-disable-next-line require-atomic-updates\n packageJSON.dependencies['@shopify/cli'] = cliPath\n // eslint-disable-next-line require-atomic-updates\n packageJSON.dependencies['@shopify/app'] = appPath\n\n const dependencyOverrides = {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '@shopify/cli': cliPath,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '@shopify/app': appPath,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n '@shopify/cli-kit': cliKitPath,\n }\n\n packageJSON.overrides = packageJSON.overrides\n ? {...packageJSON.overrides, ...dependencyOverrides}\n : dependencyOverrides\n\n packageJSON.resolutions = packageJSON.resolutions\n ? {...packageJSON.resolutions, ...dependencyOverrides}\n : dependencyOverrides\n }\n\n return packageJSON\n}\n\nexport async function getDeepInstallNPMTasks({\n from,\n dependencyManager,\n didInstallEverything,\n}: {\n from: string\n dependencyManager: dependency.DependencyManager\n didInstallEverything(): void\n}): Promise<ui.ListrTask[]> {\n const packageJSONFiles = await path.glob([path.join(from, '**/package.json')])\n let foldersInstalled = 0\n\n return packageJSONFiles.map((filePath) => {\n const folderPath = filePath.replace('package.json', '')\n const titlePath = folderPath.replace(from, '')\n\n return {\n title: `Installing dependencies in ${titlePath}`,\n task: async (_, task) => {\n const output = new Writable({\n write(chunk, _, next) {\n task.output = chunk.toString()\n next()\n },\n })\n\n await dependency.install(folderPath, dependencyManager, output, output)\n\n task.title = `Installed dependencies in ${titlePath}`\n\n foldersInstalled++\n\n if (foldersInstalled === packageJSONFiles.length) {\n didInstallEverything()\n }\n },\n }\n })\n}\n","import {file, path} from '@shopify/cli-kit'\n\nexport default async function cleanup(webOutputDirectory: string) {\n const gitPaths = await path.glob(\n [\n path.join(webOutputDirectory, '**', '.git'),\n path.join(webOutputDirectory, '**', '.github'),\n path.join(webOutputDirectory, '**', '.gitmodules'),\n path.join(webOutputDirectory, 'LICENSE*'),\n path.join(webOutputDirectory, '**', 'frontend/LICENSE*'),\n path.join(webOutputDirectory, 'package.json.cli2'),\n ],\n {\n dot: true,\n onlyFiles: false,\n onlyDirectories: false,\n ignore: ['**/node_modules/**'],\n },\n )\n\n return Promise.all(gitPaths.map((path) => file.rmdir(path, {force: true}))).then(() => {})\n}\n","import {getDeepInstallNPMTasks, updateCLIDependencies} from '../utils/template/npm'\nimport cleanup from '../utils/template/cleanup'\n\nimport {string, path, file, output, ui, dependency, template, npm, git, environment} from '@shopify/cli-kit'\n\ninterface InitOptions {\n name: string\n directory: string\n template: string\n dependencyManager: string | undefined\n local: boolean\n}\n\nasync function init(options: InitOptions) {\n const dependencyManager: dependency.DependencyManager = inferDependencyManager(options.dependencyManager)\n const hyphenizedName = string.hyphenize(options.name)\n const outputDirectory = path.join(options.directory, hyphenizedName)\n\n await file.inTemporaryDirectory(async (tmpDir) => {\n const templateDownloadDir = path.join(tmpDir, 'download')\n const templateScaffoldDir = path.join(tmpDir, 'app')\n\n await file.mkdir(templateDownloadDir)\n let tasks: ConstructorParameters<typeof ui.Listr>[0] = []\n\n tasks = tasks.concat([\n {\n title: 'Download template',\n task: async (_, task) => {\n task.title = 'Downloading template'\n await git.downloadRepository({\n repoUrl: options.template,\n destination: templateDownloadDir,\n })\n task.title = 'Template downloaded'\n },\n },\n {\n title: `Initialize your app ${hyphenizedName}`,\n task: async (_, parentTask) => {\n parentTask.title = `Initializing your app ${hyphenizedName}`\n return parentTask.newListr([\n {\n title: 'Parse liquid',\n task: async (_, task) => {\n task.title = 'Parsing liquid'\n await template.recursiveDirectoryCopy(templateDownloadDir, templateScaffoldDir, {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n dependency_manager: dependencyManager,\n })\n\n task.title = 'Liquid parsed'\n },\n },\n {\n title: 'Update package.json',\n task: async (_, task) => {\n task.title = 'Updating package.json'\n const packageJSON = await npm.readPackageJSON(templateScaffoldDir)\n\n await npm.updateAppData(packageJSON, hyphenizedName)\n await updateCLIDependencies(packageJSON, options.local)\n\n await npm.writePackageJSON(templateScaffoldDir, packageJSON)\n\n task.title = 'Updated package.json'\n parentTask.title = 'App initialized'\n },\n },\n ])\n },\n },\n ])\n\n if (await environment.local.isShopify()) {\n tasks.push({\n title: \"[Shopifolks-only] Configure the project's NPM registry\",\n task: async (_, task) => {\n task.title = \"[Shopifolks-only] Configuring the project's NPM registry\"\n const npmrcPath = path.join(templateScaffoldDir, '.npmrc')\n const npmrcContent = `@shopify:registry=https://registry.npmjs.org\\n`\n await file.append(npmrcPath, npmrcContent)\n task.title = \"[Shopifolks-only] Project's NPM registry configured.\"\n },\n })\n }\n\n tasks = tasks.concat([\n {\n title: `Install dependencies with ${dependencyManager}`,\n task: async (_, parentTask) => {\n parentTask.title = `Installing dependencies with ${dependencyManager}`\n function didInstallEverything() {\n parentTask.title = `Dependencies installed with ${dependencyManager}`\n }\n\n return parentTask.newListr(\n await getDeepInstallNPMTasks({\n from: templateScaffoldDir,\n dependencyManager,\n didInstallEverything,\n }),\n {concurrent: false},\n )\n },\n },\n {\n title: 'Clean up',\n task: async (_, task) => {\n task.title = 'Cleaning up'\n await cleanup(templateScaffoldDir)\n task.title = 'Completed clean up'\n },\n },\n {\n title: 'Initializing a Git repository',\n task: async (_, task) => {\n await git.initializeRepository(templateScaffoldDir)\n task.title = 'Git repository initialized'\n },\n },\n ])\n\n const list = new ui.Listr(tasks, {\n concurrent: false,\n rendererOptions: {collapse: false},\n rendererSilent: environment.local.isUnitTest(),\n })\n await list.run()\n\n await file.move(templateScaffoldDir, outputDirectory)\n })\n\n output.info(output.content`\n ${hyphenizedName} is ready for you to build! Remember to ${output.token.genericShellCommand(`cd ${hyphenizedName}`)}\n To preview your project, run ${output.token.packagejsonScript(dependencyManager, 'dev')}\n To add extensions, run ${output.token.packagejsonScript(dependencyManager, 'scaffold extension')}\n For more details on all that you can build, see the docs: ${output.token.link(\n 'shopify.dev',\n 'https://shopify.dev',\n )}. ✨\n\n For help and a list of commands, enter ${output.token.packagejsonScript(dependencyManager, 'shopify app', '--help')}\n `)\n}\n\nfunction inferDependencyManager(optionsDependencyManager: string | undefined): dependency.DependencyManager {\n if (\n optionsDependencyManager &&\n dependency.dependencyManager.includes(optionsDependencyManager as dependency.DependencyManager)\n ) {\n return optionsDependencyManager as dependency.DependencyManager\n }\n return dependency.dependencyManagerUsedForCreating()\n}\n\nexport default init\n","import initPrompt from '../prompts/init'\nimport initService from '../services/init'\nimport {Command, Flags} from '@oclif/core'\nimport {path, cli} from '@shopify/cli-kit'\n\nexport default class Init extends Command {\n static flags = {\n ...cli.globalFlags,\n name: Flags.string({\n char: 'n',\n env: 'SHOPIFY_FLAG_NAME',\n hidden: false,\n }),\n path: Flags.string({\n char: 'p',\n env: 'SHOPIFY_FLAG_PATH',\n parse: (input, _) => Promise.resolve(path.resolve(input)),\n hidden: false,\n }),\n template: Flags.string({\n description: 'The app template. Eg, --template https://github.com/Shopify/shopify-app-template-node',\n env: 'SHOPIFY_FLAG_TEMPLATE',\n }),\n // eslint-disable-next-line @typescript-eslint/naming-convention\n 'dependency-manager': Flags.string({\n char: 'd',\n env: 'SHOPIFY_FLAG_DEPENDENCY_MANAGER',\n hidden: false,\n options: ['npm', 'yarn', 'pnpm'],\n }),\n local: Flags.boolean({\n char: 'l',\n env: 'SHOPIFY_FLAG_LOCAL',\n default: false,\n hidden: true,\n }),\n }\n\n async run(): Promise<void> {\n const {flags} = await this.parse(Init)\n const directory = flags.path ? path.resolve(flags.path) : process.cwd()\n const promptAnswers = await initPrompt({\n name: flags.name,\n template: flags.template,\n })\n await initService({\n name: promptAnswers.name,\n dependencyManager: flags['dependency-manager'],\n template: promptAnswers.template,\n local: flags.local,\n directory,\n })\n }\n}\n"],"names":["init","cliVersion","appVersion","initPrompt","initService"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shopify/create-app",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.12",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "A CLI tool to create a new Shopify app.",
|
|
6
6
|
"type": "module",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"dependencies": {
|
|
49
49
|
"@bugsnag/js": "^7.16.7",
|
|
50
50
|
"@oclif/core": "1.9.0",
|
|
51
|
-
"@shopify/cli-kit": "3.0.
|
|
51
|
+
"@shopify/cli-kit": "3.0.12"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
54
|
"vitest": "0.13.1"
|