@strapi/strapi 5.0.0-beta.8 → 5.0.0-beta.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/dist/cli/commands/index.d.ts.map +1 -1
  2. package/dist/cli/commands/index.js +1 -14
  3. package/dist/cli/commands/index.js.map +1 -1
  4. package/dist/cli/commands/index.mjs +1 -14
  5. package/dist/cli/commands/index.mjs.map +1 -1
  6. package/dist/cli/index.d.ts.map +1 -1
  7. package/dist/cli/index.js +30 -0
  8. package/dist/cli/index.js.map +1 -1
  9. package/dist/cli/index.mjs +30 -0
  10. package/dist/cli/index.mjs.map +1 -1
  11. package/package.json +23 -23
  12. package/dist/cli/commands/plugin/build.d.ts +0 -7
  13. package/dist/cli/commands/plugin/build.d.ts.map +0 -1
  14. package/dist/cli/commands/plugin/build.js +0 -88
  15. package/dist/cli/commands/plugin/build.js.map +0 -1
  16. package/dist/cli/commands/plugin/build.mjs +0 -85
  17. package/dist/cli/commands/plugin/build.mjs.map +0 -1
  18. package/dist/cli/commands/plugin/init/action.d.ts +0 -6
  19. package/dist/cli/commands/plugin/init/action.d.ts.map +0 -1
  20. package/dist/cli/commands/plugin/init/action.js +0 -413
  21. package/dist/cli/commands/plugin/init/action.js.map +0 -1
  22. package/dist/cli/commands/plugin/init/action.mjs +0 -408
  23. package/dist/cli/commands/plugin/init/action.mjs.map +0 -1
  24. package/dist/cli/commands/plugin/init/command.d.ts +0 -7
  25. package/dist/cli/commands/plugin/init/command.d.ts.map +0 -1
  26. package/dist/cli/commands/plugin/init/command.js +0 -9
  27. package/dist/cli/commands/plugin/init/command.js.map +0 -1
  28. package/dist/cli/commands/plugin/init/command.mjs +0 -10
  29. package/dist/cli/commands/plugin/init/command.mjs.map +0 -1
  30. package/dist/cli/commands/plugin/init/files/admin.d.ts +0 -5
  31. package/dist/cli/commands/plugin/init/files/admin.d.ts.map +0 -1
  32. package/dist/cli/commands/plugin/init/files/admin.js +0 -283
  33. package/dist/cli/commands/plugin/init/files/admin.js.map +0 -1
  34. package/dist/cli/commands/plugin/init/files/admin.mjs +0 -283
  35. package/dist/cli/commands/plugin/init/files/admin.mjs.map +0 -1
  36. package/dist/cli/commands/plugin/init/files/editorConfig.d.ts +0 -4
  37. package/dist/cli/commands/plugin/init/files/editorConfig.d.ts.map +0 -1
  38. package/dist/cli/commands/plugin/init/files/editorConfig.js +0 -26
  39. package/dist/cli/commands/plugin/init/files/editorConfig.js.map +0 -1
  40. package/dist/cli/commands/plugin/init/files/editorConfig.mjs +0 -26
  41. package/dist/cli/commands/plugin/init/files/editorConfig.mjs.map +0 -1
  42. package/dist/cli/commands/plugin/init/files/eslint.d.ts +0 -4
  43. package/dist/cli/commands/plugin/init/files/eslint.d.ts.map +0 -1
  44. package/dist/cli/commands/plugin/init/files/eslint.js +0 -11
  45. package/dist/cli/commands/plugin/init/files/eslint.js.map +0 -1
  46. package/dist/cli/commands/plugin/init/files/eslint.mjs +0 -11
  47. package/dist/cli/commands/plugin/init/files/eslint.mjs.map +0 -1
  48. package/dist/cli/commands/plugin/init/files/gitIgnore.d.ts +0 -4
  49. package/dist/cli/commands/plugin/init/files/gitIgnore.d.ts.map +0 -1
  50. package/dist/cli/commands/plugin/init/files/gitIgnore.js +0 -34
  51. package/dist/cli/commands/plugin/init/files/gitIgnore.js.map +0 -1
  52. package/dist/cli/commands/plugin/init/files/gitIgnore.mjs +0 -34
  53. package/dist/cli/commands/plugin/init/files/gitIgnore.mjs.map +0 -1
  54. package/dist/cli/commands/plugin/init/files/prettier.d.ts +0 -5
  55. package/dist/cli/commands/plugin/init/files/prettier.d.ts.map +0 -1
  56. package/dist/cli/commands/plugin/init/files/prettier.js +0 -25
  57. package/dist/cli/commands/plugin/init/files/prettier.js.map +0 -1
  58. package/dist/cli/commands/plugin/init/files/prettier.mjs +0 -25
  59. package/dist/cli/commands/plugin/init/files/prettier.mjs.map +0 -1
  60. package/dist/cli/commands/plugin/init/files/server.d.ts +0 -5
  61. package/dist/cli/commands/plugin/init/files/server.d.ts.map +0 -1
  62. package/dist/cli/commands/plugin/init/files/server.js +0 -360
  63. package/dist/cli/commands/plugin/init/files/server.js.map +0 -1
  64. package/dist/cli/commands/plugin/init/files/server.mjs +0 -360
  65. package/dist/cli/commands/plugin/init/files/server.mjs.map +0 -1
  66. package/dist/cli/commands/plugin/init/files/typescript.d.ts +0 -9
  67. package/dist/cli/commands/plugin/init/files/typescript.d.ts.map +0 -1
  68. package/dist/cli/commands/plugin/init/files/typescript.js +0 -66
  69. package/dist/cli/commands/plugin/init/files/typescript.js.map +0 -1
  70. package/dist/cli/commands/plugin/init/files/typescript.mjs +0 -66
  71. package/dist/cli/commands/plugin/init/files/typescript.mjs.map +0 -1
  72. package/dist/cli/commands/plugin/init/index.d.ts +0 -2
  73. package/dist/cli/commands/plugin/init/index.d.ts.map +0 -1
  74. package/dist/cli/commands/plugin/link-watch.d.ts +0 -7
  75. package/dist/cli/commands/plugin/link-watch.d.ts.map +0 -1
  76. package/dist/cli/commands/plugin/link-watch.js +0 -89
  77. package/dist/cli/commands/plugin/link-watch.js.map +0 -1
  78. package/dist/cli/commands/plugin/link-watch.mjs +0 -82
  79. package/dist/cli/commands/plugin/link-watch.mjs.map +0 -1
  80. package/dist/cli/commands/plugin/verify.d.ts +0 -7
  81. package/dist/cli/commands/plugin/verify.d.ts.map +0 -1
  82. package/dist/cli/commands/plugin/verify.js +0 -37
  83. package/dist/cli/commands/plugin/verify.js.map +0 -1
  84. package/dist/cli/commands/plugin/verify.mjs +0 -34
  85. package/dist/cli/commands/plugin/verify.mjs.map +0 -1
  86. package/dist/cli/commands/plugin/watch.d.ts +0 -7
  87. package/dist/cli/commands/plugin/watch.d.ts.map +0 -1
  88. package/dist/cli/commands/plugin/watch.js +0 -86
  89. package/dist/cli/commands/plugin/watch.js.map +0 -1
  90. package/dist/cli/commands/plugin/watch.mjs +0 -83
  91. package/dist/cli/commands/plugin/watch.mjs.map +0 -1
  92. package/dist/cli/utils/pkg.js +0 -111
  93. package/dist/cli/utils/pkg.js.map +0 -1
  94. package/dist/cli/utils/pkg.mjs +0 -87
  95. package/dist/cli/utils/pkg.mjs.map +0 -1
@@ -1,408 +0,0 @@
1
- import path from "node:path";
2
- import boxen from "boxen";
3
- import chalk from "chalk";
4
- import getLatestVersion from "get-latest-version";
5
- import gitUrlParse from "git-url-parse";
6
- import { defineTemplate, definePackageOption, definePackageFeature, init } from "@strapi/pack-up";
7
- import { outdent } from "outdent";
8
- import { gitIgnoreFile } from "./files/gitIgnore.mjs";
9
- const action = async (packagePath, { silent, debug }, { logger, cwd }) => {
10
- try {
11
- await init({
12
- path: packagePath,
13
- cwd,
14
- silent,
15
- debug,
16
- template: PLUGIN_TEMPLATE
17
- });
18
- logger.info("Don't forget to enable your plugin in your configuration files.");
19
- } catch (err) {
20
- logger.error(
21
- "There seems to be an unexpected error, try again with --debug for more information \n"
22
- );
23
- if (err instanceof Error && err.stack) {
24
- logger.log(
25
- chalk.red(
26
- boxen(err.stack, {
27
- padding: 1,
28
- align: "left"
29
- })
30
- )
31
- );
32
- }
33
- process.exit(1);
34
- }
35
- };
36
- const PACKAGE_NAME_REGEXP = /^(?:@(?:[a-z0-9-*~][a-z0-9-*._~]*)\/)?[a-z0-9-~][a-z0-9-._~]*$/i;
37
- const PLUGIN_TEMPLATE = defineTemplate(async ({ logger, gitConfig, packagePath }) => {
38
- let repo;
39
- const [packageFolder] = packagePath.split(path.sep).slice(-1);
40
- return {
41
- prompts: [
42
- definePackageOption({
43
- name: "repo",
44
- type: "text",
45
- message: "git url",
46
- validate(v) {
47
- if (!v) {
48
- return true;
49
- }
50
- try {
51
- const result = gitUrlParse(v);
52
- repo = { source: result.source, owner: result.owner, name: result.name };
53
- return true;
54
- } catch (err) {
55
- return "invalid git url";
56
- }
57
- }
58
- }),
59
- definePackageOption({
60
- name: "pkgName",
61
- type: "text",
62
- message: "plugin name",
63
- initial: () => repo?.name ?? "",
64
- validate(v) {
65
- if (!v) {
66
- return "package name is required";
67
- }
68
- const match = PACKAGE_NAME_REGEXP.exec(v);
69
- if (!match) {
70
- return "invalid package name";
71
- }
72
- return true;
73
- }
74
- }),
75
- definePackageOption({
76
- name: "displayName",
77
- type: "text",
78
- message: "plugin display name"
79
- }),
80
- definePackageOption({
81
- name: "description",
82
- type: "text",
83
- message: "plugin description"
84
- }),
85
- definePackageOption({
86
- name: "authorName",
87
- type: "text",
88
- message: "plugin author name",
89
- initial: gitConfig?.user?.name
90
- }),
91
- definePackageOption({
92
- name: "authorEmail",
93
- type: "text",
94
- message: "plugin author email",
95
- initial: gitConfig?.user?.email
96
- }),
97
- definePackageOption({
98
- name: "license",
99
- type: "text",
100
- message: "plugin license",
101
- initial: "MIT",
102
- validate(v) {
103
- if (!v) {
104
- return "license is required";
105
- }
106
- return true;
107
- }
108
- }),
109
- definePackageOption({
110
- name: "client-code",
111
- type: "confirm",
112
- message: "register with the admin panel?",
113
- initial: true
114
- }),
115
- definePackageOption({
116
- name: "server-code",
117
- type: "confirm",
118
- message: "register with the server?",
119
- initial: true
120
- }),
121
- definePackageFeature({
122
- name: "editorconfig",
123
- initial: true,
124
- optional: true
125
- }),
126
- definePackageFeature({
127
- name: "eslint",
128
- initial: true,
129
- optional: true
130
- }),
131
- definePackageFeature({
132
- name: "prettier",
133
- initial: true,
134
- optional: true
135
- }),
136
- definePackageFeature({
137
- name: "typescript",
138
- initial: true,
139
- optional: true
140
- })
141
- ],
142
- async getFiles(answers) {
143
- const author = [];
144
- const files = [];
145
- const pkgJson = {
146
- version: "0.0.0",
147
- keywords: [],
148
- type: "commonjs",
149
- exports: {
150
- "./package.json": "./package.json"
151
- },
152
- files: ["dist"],
153
- scripts: {
154
- build: "strapi plugin:build",
155
- watch: "strapi plugin:watch",
156
- "watch:link": "strapi plugin:watch:link",
157
- verify: "strapi plugin:verify"
158
- },
159
- dependencies: {},
160
- devDependencies: {
161
- /**
162
- * We set * as a default version, but further down
163
- * we try to resolve each package to their latest
164
- * version, failing that we leave the fallback of *.
165
- */
166
- "@strapi/strapi": "*",
167
- prettier: "*"
168
- },
169
- peerDependencies: {
170
- "@strapi/strapi": "^4.0.0"
171
- },
172
- strapi: {
173
- kind: "plugin"
174
- }
175
- };
176
- if (Array.isArray(answers)) {
177
- for (const ans of answers) {
178
- const { name, answer } = ans;
179
- switch (name) {
180
- case "pkgName": {
181
- pkgJson.name = String(answer);
182
- pkgJson.strapi.name = String(answer);
183
- break;
184
- }
185
- case "description": {
186
- pkgJson.description = String(answer) ?? void 0;
187
- pkgJson.strapi.description = String(answer) ?? void 0;
188
- break;
189
- }
190
- case "displayName": {
191
- pkgJson.strapi.displayName = String(answer) ?? void 0;
192
- break;
193
- }
194
- case "authorName": {
195
- author.push(String(answer));
196
- break;
197
- }
198
- case "authorEmail": {
199
- if (answer) {
200
- author.push(`<${answer}>`);
201
- }
202
- break;
203
- }
204
- case "license": {
205
- pkgJson.license = String(answer);
206
- break;
207
- }
208
- case "client-code": {
209
- if (answer) {
210
- pkgJson.exports["./strapi-admin"] = {
211
- source: "./admin/src/index.js",
212
- import: "./dist/admin/index.mjs",
213
- require: "./dist/admin/index.js",
214
- default: "./dist/admin/index.js"
215
- };
216
- pkgJson.dependencies = {
217
- ...pkgJson.dependencies,
218
- "@strapi/design-system": "*",
219
- "@strapi/icons": "*"
220
- };
221
- pkgJson.devDependencies = {
222
- ...pkgJson.devDependencies,
223
- react: "*",
224
- "react-dom": "*",
225
- "react-router-dom": "*",
226
- "styled-components": "*"
227
- };
228
- pkgJson.peerDependencies = {
229
- ...pkgJson.peerDependencies,
230
- react: "^17.0.0 || ^18.0.0",
231
- "react-dom": "^17.0.0 || ^18.0.0",
232
- "react-router-dom": "^6.0.0",
233
- "styled-components": "^6.0.0"
234
- };
235
- }
236
- break;
237
- }
238
- case "server-code": {
239
- if (answer) {
240
- pkgJson.exports["./strapi-server"] = {
241
- source: "./server/src/index.js",
242
- import: "./dist/server/index.mjs",
243
- require: "./dist/server/index.js",
244
- default: "./dist/server/index.js"
245
- };
246
- pkgJson.files.push("./strapi-server.js");
247
- files.push({
248
- name: "strapi-server.js",
249
- contents: outdent`
250
- 'use strict';
251
-
252
- module.exports = require('./dist/server');
253
- `
254
- });
255
- }
256
- break;
257
- }
258
- case "typescript": {
259
- const isTypescript = Boolean(answer);
260
- if (isTypescript) {
261
- if (isRecord(pkgJson.exports["./strapi-admin"])) {
262
- pkgJson.exports["./strapi-admin"].source = "./admin/src/index.ts";
263
- pkgJson.exports["./strapi-admin"] = {
264
- types: "./dist/admin/src/index.d.ts",
265
- ...pkgJson.exports["./strapi-admin"]
266
- };
267
- pkgJson.scripts = {
268
- ...pkgJson.scripts,
269
- "test:ts:front": "run -T tsc -p admin/tsconfig.json"
270
- };
271
- pkgJson.devDependencies = {
272
- ...pkgJson.devDependencies,
273
- "@types/react": "*",
274
- "@types/react-dom": "*"
275
- };
276
- const { adminTsconfigFiles } = await import("./files/typescript.mjs");
277
- files.push(adminTsconfigFiles.tsconfigBuildFile, adminTsconfigFiles.tsconfigFile);
278
- }
279
- if (isRecord(pkgJson.exports["./strapi-server"])) {
280
- pkgJson.exports["./strapi-server"].source = "./server/src/index.ts";
281
- pkgJson.exports["./strapi-server"] = {
282
- types: "./dist/server/src/index.d.ts",
283
- ...pkgJson.exports["./strapi-server"]
284
- };
285
- pkgJson.scripts = {
286
- ...pkgJson.scripts,
287
- "test:ts:back": "run -T tsc -p server/tsconfig.json"
288
- };
289
- const { serverTsconfigFiles } = await import("./files/typescript.mjs");
290
- files.push(
291
- serverTsconfigFiles.tsconfigBuildFile,
292
- serverTsconfigFiles.tsconfigFile
293
- );
294
- }
295
- pkgJson.devDependencies = {
296
- ...pkgJson.devDependencies,
297
- "@strapi/typescript-utils": "*",
298
- typescript: "*"
299
- };
300
- }
301
- if (isRecord(pkgJson.exports["./strapi-admin"])) {
302
- files.push({
303
- name: isTypescript ? "admin/src/pluginId.ts" : "admin/src/pluginId.js",
304
- contents: outdent`
305
- export const PLUGIN_ID = '${pkgJson.name.replace(/^strapi-plugin-/i, "")}';
306
- `
307
- });
308
- if (isTypescript) {
309
- const { adminTypescriptFiles } = await import("./files/admin.mjs");
310
- files.push(...adminTypescriptFiles);
311
- } else {
312
- const { adminJavascriptFiles } = await import("./files/admin.mjs");
313
- files.push(...adminJavascriptFiles);
314
- }
315
- }
316
- if (isRecord(pkgJson.exports["./strapi-server"])) {
317
- if (isTypescript) {
318
- const { serverTypescriptFiles } = await import("./files/server.mjs");
319
- files.push(...serverTypescriptFiles(packageFolder));
320
- } else {
321
- const { serverJavascriptFiles } = await import("./files/server.mjs");
322
- files.push(...serverJavascriptFiles(packageFolder));
323
- }
324
- }
325
- break;
326
- }
327
- case "eslint": {
328
- if (answer) {
329
- const { eslintIgnoreFile } = await import("./files/eslint.mjs");
330
- files.push(eslintIgnoreFile);
331
- }
332
- break;
333
- }
334
- case "prettier": {
335
- if (answer) {
336
- const { prettierFile, prettierIgnoreFile } = await import("./files/prettier.mjs");
337
- files.push(prettierFile, prettierIgnoreFile);
338
- }
339
- break;
340
- }
341
- case "editorconfig": {
342
- if (answer) {
343
- const { editorConfigFile } = await import("./files/editorConfig.mjs");
344
- files.push(editorConfigFile);
345
- }
346
- break;
347
- }
348
- }
349
- }
350
- }
351
- if (repo) {
352
- pkgJson.repository = {
353
- type: "git",
354
- url: `git+ssh://git@${repo.source}/${repo.owner}/${repo.name}.git`
355
- };
356
- pkgJson.bugs = {
357
- url: `https://${repo.source}/${repo.owner}/${repo.name}/issues`
358
- };
359
- pkgJson.homepage = `https://${repo.source}/${repo.owner}/${repo.name}#readme`;
360
- }
361
- pkgJson.author = author.filter(Boolean).join(" ") ?? void 0;
362
- try {
363
- pkgJson.devDependencies = await resolveLatestVerisonOfDeps(pkgJson.devDependencies);
364
- pkgJson.dependencies = await resolveLatestVerisonOfDeps(pkgJson.dependencies);
365
- pkgJson.peerDependencies = await resolveLatestVerisonOfDeps(pkgJson.peerDependencies);
366
- } catch (err) {
367
- if (err instanceof Error) {
368
- logger.error(err.message);
369
- } else {
370
- logger.error(err);
371
- }
372
- }
373
- files.push({
374
- name: "package.json",
375
- contents: outdent`
376
- ${JSON.stringify(pkgJson, null, 2)}
377
- `
378
- });
379
- files.push({
380
- name: "README.md",
381
- contents: outdent`
382
- # ${pkgJson.name}
383
-
384
- ${pkgJson.description ?? ""}
385
- `
386
- });
387
- files.push(gitIgnoreFile);
388
- return files;
389
- }
390
- };
391
- });
392
- const isRecord = (value) => Boolean(value) && !Array.isArray(value) && typeof value === "object";
393
- const resolveLatestVerisonOfDeps = async (deps) => {
394
- const latestDeps = {};
395
- for (const [name, version] of Object.entries(deps)) {
396
- try {
397
- const latestVersion = await getLatestVersion(name, version);
398
- latestDeps[name] = latestVersion ? `^${latestVersion}` : "*";
399
- } catch (err) {
400
- latestDeps[name] = "*";
401
- }
402
- }
403
- return latestDeps;
404
- };
405
- export {
406
- action as default
407
- };
408
- //# sourceMappingURL=action.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"action.mjs","sources":["../../../../../src/cli/commands/plugin/init/action.ts"],"sourcesContent":["import path from 'node:path';\nimport boxen from 'boxen';\nimport chalk from 'chalk';\nimport getLatestVersion from 'get-latest-version';\nimport gitUrlParse from 'git-url-parse';\nimport {\n InitOptions,\n definePackageFeature,\n definePackageOption,\n defineTemplate,\n init,\n TemplateFile,\n} from '@strapi/pack-up';\nimport { outdent } from 'outdent';\n\nimport { CLIContext } from '../../../types';\nimport { gitIgnoreFile } from './files/gitIgnore';\n\ntype ActionOptions = Pick<InitOptions, 'silent' | 'debug'>;\n\nexport default async (\n packagePath: string,\n { silent, debug }: ActionOptions,\n { logger, cwd }: CLIContext\n) => {\n try {\n /**\n * Create the package // plugin\n */\n await init({\n path: packagePath,\n cwd,\n silent,\n debug,\n template: PLUGIN_TEMPLATE,\n });\n\n logger.info(\"Don't forget to enable your plugin in your configuration files.\");\n } catch (err) {\n logger.error(\n 'There seems to be an unexpected error, try again with --debug for more information \\n'\n );\n if (err instanceof Error && err.stack) {\n logger.log(\n chalk.red(\n boxen(err.stack, {\n padding: 1,\n align: 'left',\n })\n )\n );\n }\n process.exit(1);\n }\n};\n\nconst PACKAGE_NAME_REGEXP = /^(?:@(?:[a-z0-9-*~][a-z0-9-*._~]*)\\/)?[a-z0-9-~][a-z0-9-._~]*$/i;\n\ninterface PackageExport {\n types?: string;\n require: string;\n import: string;\n source: string;\n default: string;\n}\n\ninterface PluginPackageJson {\n name?: string;\n description?: string;\n version?: string;\n keywords?: string[];\n type: 'commonjs';\n license?: string;\n repository?: {\n type: 'git';\n url: string;\n };\n bugs?: {\n url: string;\n };\n homepage?: string;\n author?: string;\n exports: {\n './strapi-admin'?: PackageExport;\n './strapi-server'?: PackageExport;\n './package.json': `${string}.json`;\n };\n files: string[];\n scripts: Record<string, string>;\n dependencies: Record<string, string>;\n devDependencies: Record<string, string>;\n peerDependencies: Record<string, string>;\n strapi: {\n name?: string;\n displayName?: string;\n description?: string;\n kind: 'plugin';\n };\n}\n\nconst PLUGIN_TEMPLATE = defineTemplate(async ({ logger, gitConfig, packagePath }) => {\n let repo: {\n source?: string;\n owner?: string;\n name?: string;\n };\n\n const [packageFolder] = packagePath.split(path.sep).slice(-1);\n\n return {\n prompts: [\n definePackageOption({\n name: 'repo',\n type: 'text',\n message: 'git url',\n validate(v) {\n if (!v) {\n return true;\n }\n\n try {\n const result = gitUrlParse(v);\n\n repo = { source: result.source, owner: result.owner, name: result.name };\n\n return true;\n } catch (err) {\n return 'invalid git url';\n }\n },\n }),\n definePackageOption({\n name: 'pkgName',\n type: 'text',\n message: 'plugin name',\n initial: () => repo?.name ?? '',\n validate(v) {\n if (!v) {\n return 'package name is required';\n }\n\n const match = PACKAGE_NAME_REGEXP.exec(v);\n\n if (!match) {\n return 'invalid package name';\n }\n\n return true;\n },\n }),\n definePackageOption({\n name: 'displayName',\n type: 'text',\n message: 'plugin display name',\n }),\n definePackageOption({\n name: 'description',\n type: 'text',\n message: 'plugin description',\n }),\n definePackageOption({\n name: 'authorName',\n type: 'text',\n message: 'plugin author name',\n initial: gitConfig?.user?.name,\n }),\n definePackageOption({\n name: 'authorEmail',\n type: 'text',\n message: 'plugin author email',\n initial: gitConfig?.user?.email,\n }),\n definePackageOption({\n name: 'license',\n type: 'text',\n message: 'plugin license',\n initial: 'MIT',\n validate(v) {\n if (!v) {\n return 'license is required';\n }\n\n return true;\n },\n }),\n definePackageOption({\n name: 'client-code',\n type: 'confirm',\n message: 'register with the admin panel?',\n initial: true,\n }),\n definePackageOption({\n name: 'server-code',\n type: 'confirm',\n message: 'register with the server?',\n initial: true,\n }),\n definePackageFeature({\n name: 'editorconfig',\n initial: true,\n optional: true,\n }),\n definePackageFeature({\n name: 'eslint',\n initial: true,\n optional: true,\n }),\n definePackageFeature({\n name: 'prettier',\n initial: true,\n optional: true,\n }),\n definePackageFeature({\n name: 'typescript',\n initial: true,\n optional: true,\n }),\n ],\n async getFiles(answers) {\n const author: string[] = [];\n\n const files: TemplateFile[] = [];\n\n // package.json\n const pkgJson: PluginPackageJson = {\n version: '0.0.0',\n keywords: [],\n type: 'commonjs',\n exports: {\n './package.json': './package.json',\n },\n files: ['dist'],\n scripts: {\n build: 'strapi plugin:build',\n watch: 'strapi plugin:watch',\n 'watch:link': 'strapi plugin:watch:link',\n verify: 'strapi plugin:verify',\n },\n dependencies: {},\n devDependencies: {\n /**\n * We set * as a default version, but further down\n * we try to resolve each package to their latest\n * version, failing that we leave the fallback of *.\n */\n '@strapi/strapi': '*',\n prettier: '*',\n },\n peerDependencies: {\n '@strapi/strapi': '^4.0.0',\n },\n strapi: {\n kind: 'plugin',\n },\n };\n\n if (Array.isArray(answers)) {\n for (const ans of answers) {\n const { name, answer } = ans;\n\n switch (name) {\n case 'pkgName': {\n pkgJson.name = String(answer);\n pkgJson.strapi.name = String(answer);\n break;\n }\n case 'description': {\n pkgJson.description = String(answer) ?? undefined;\n pkgJson.strapi.description = String(answer) ?? undefined;\n break;\n }\n case 'displayName': {\n pkgJson.strapi.displayName = String(answer) ?? undefined;\n break;\n }\n case 'authorName': {\n author.push(String(answer));\n break;\n }\n case 'authorEmail': {\n if (answer) {\n author.push(`<${answer}>`);\n }\n break;\n }\n case 'license': {\n pkgJson.license = String(answer);\n break;\n }\n case 'client-code': {\n if (answer) {\n pkgJson.exports['./strapi-admin'] = {\n source: './admin/src/index.js',\n import: './dist/admin/index.mjs',\n require: './dist/admin/index.js',\n default: './dist/admin/index.js',\n };\n\n pkgJson.dependencies = {\n ...pkgJson.dependencies,\n '@strapi/design-system': '*',\n '@strapi/icons': '*',\n };\n\n pkgJson.devDependencies = {\n ...pkgJson.devDependencies,\n react: '*',\n 'react-dom': '*',\n 'react-router-dom': '*',\n 'styled-components': '*',\n };\n\n pkgJson.peerDependencies = {\n ...pkgJson.peerDependencies,\n react: '^17.0.0 || ^18.0.0',\n 'react-dom': '^17.0.0 || ^18.0.0',\n 'react-router-dom': '^6.0.0',\n 'styled-components': '^6.0.0',\n };\n }\n\n break;\n }\n case 'server-code': {\n if (answer) {\n pkgJson.exports['./strapi-server'] = {\n source: './server/src/index.js',\n import: './dist/server/index.mjs',\n require: './dist/server/index.js',\n default: './dist/server/index.js',\n };\n\n pkgJson.files.push('./strapi-server.js');\n\n files.push({\n name: 'strapi-server.js',\n contents: outdent`\n 'use strict';\n \n module.exports = require('./dist/server');\n `,\n });\n }\n\n break;\n }\n case 'typescript': {\n const isTypescript = Boolean(answer);\n\n if (isTypescript) {\n if (isRecord(pkgJson.exports['./strapi-admin'])) {\n pkgJson.exports['./strapi-admin'].source = './admin/src/index.ts';\n\n pkgJson.exports['./strapi-admin'] = {\n types: './dist/admin/src/index.d.ts',\n ...pkgJson.exports['./strapi-admin'],\n };\n\n pkgJson.scripts = {\n ...pkgJson.scripts,\n 'test:ts:front': 'run -T tsc -p admin/tsconfig.json',\n };\n\n pkgJson.devDependencies = {\n ...pkgJson.devDependencies,\n '@types/react': '*',\n '@types/react-dom': '*',\n };\n\n const { adminTsconfigFiles } = await import('./files/typescript');\n\n files.push(adminTsconfigFiles.tsconfigBuildFile, adminTsconfigFiles.tsconfigFile);\n }\n\n if (isRecord(pkgJson.exports['./strapi-server'])) {\n pkgJson.exports['./strapi-server'].source = './server/src/index.ts';\n\n pkgJson.exports['./strapi-server'] = {\n types: './dist/server/src/index.d.ts',\n ...pkgJson.exports['./strapi-server'],\n };\n\n pkgJson.scripts = {\n ...pkgJson.scripts,\n 'test:ts:back': 'run -T tsc -p server/tsconfig.json',\n };\n\n const { serverTsconfigFiles } = await import('./files/typescript');\n\n files.push(\n serverTsconfigFiles.tsconfigBuildFile,\n serverTsconfigFiles.tsconfigFile\n );\n }\n\n pkgJson.devDependencies = {\n ...pkgJson.devDependencies,\n '@strapi/typescript-utils': '*',\n typescript: '*',\n };\n }\n\n /**\n * This is where we add all the source files regardless\n * of whether they are typescript or javascript.\n */\n if (isRecord(pkgJson.exports['./strapi-admin'])) {\n files.push({\n name: isTypescript ? 'admin/src/pluginId.ts' : 'admin/src/pluginId.js',\n contents: outdent`\n export const PLUGIN_ID = '${pkgJson.name!.replace(/^strapi-plugin-/i, '')}';\n `,\n });\n\n if (isTypescript) {\n const { adminTypescriptFiles } = await import('./files/admin');\n\n files.push(...adminTypescriptFiles);\n } else {\n const { adminJavascriptFiles } = await import('./files/admin');\n\n files.push(...adminJavascriptFiles);\n }\n }\n\n if (isRecord(pkgJson.exports['./strapi-server'])) {\n if (isTypescript) {\n const { serverTypescriptFiles } = await import('./files/server');\n\n files.push(...serverTypescriptFiles(packageFolder));\n } else {\n const { serverJavascriptFiles } = await import('./files/server');\n\n files.push(...serverJavascriptFiles(packageFolder));\n }\n }\n\n break;\n }\n case 'eslint': {\n if (answer) {\n const { eslintIgnoreFile } = await import('./files/eslint');\n\n files.push(eslintIgnoreFile);\n }\n\n break;\n }\n case 'prettier': {\n if (answer) {\n const { prettierFile, prettierIgnoreFile } = await import('./files/prettier');\n\n files.push(prettierFile, prettierIgnoreFile);\n }\n break;\n }\n case 'editorconfig': {\n if (answer) {\n const { editorConfigFile } = await import('./files/editorConfig');\n\n files.push(editorConfigFile);\n }\n break;\n }\n default:\n break;\n }\n }\n }\n\n if (repo) {\n pkgJson.repository = {\n type: 'git',\n url: `git+ssh://git@${repo.source}/${repo.owner}/${repo.name}.git`,\n };\n pkgJson.bugs = {\n url: `https://${repo.source}/${repo.owner}/${repo.name}/issues`,\n };\n pkgJson.homepage = `https://${repo.source}/${repo.owner}/${repo.name}#readme`;\n }\n\n pkgJson.author = author.filter(Boolean).join(' ') ?? undefined;\n\n try {\n pkgJson.devDependencies = await resolveLatestVerisonOfDeps(pkgJson.devDependencies);\n pkgJson.dependencies = await resolveLatestVerisonOfDeps(pkgJson.dependencies);\n pkgJson.peerDependencies = await resolveLatestVerisonOfDeps(pkgJson.peerDependencies);\n } catch (err) {\n if (err instanceof Error) {\n logger.error(err.message);\n } else {\n logger.error(err);\n }\n }\n\n files.push({\n name: 'package.json',\n contents: outdent`\n ${JSON.stringify(pkgJson, null, 2)}\n `,\n });\n\n files.push({\n name: 'README.md',\n contents: outdent`\n # ${pkgJson.name}\n\n ${pkgJson.description ?? ''}\n `,\n });\n\n files.push(gitIgnoreFile);\n\n return files;\n },\n };\n});\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n Boolean(value) && !Array.isArray(value) && typeof value === 'object';\n\nconst resolveLatestVerisonOfDeps = async (\n deps: Record<string, string>\n): Promise<Record<string, string>> => {\n const latestDeps: Record<string, string> = {};\n\n for (const [name, version] of Object.entries(deps)) {\n try {\n const latestVersion = await getLatestVersion(name, version);\n latestDeps[name] = latestVersion ? `^${latestVersion}` : '*';\n } catch (err) {\n latestDeps[name] = '*';\n }\n }\n\n return latestDeps;\n};\n"],"names":[],"mappings":";;;;;;;;AAoBA,MAAA,SAAe,OACb,aACA,EAAE,QAAQ,MACV,GAAA,EAAE,QAAQ,UACP;AACC,MAAA;AAIF,UAAM,KAAK;AAAA,MACT,MAAM;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA,UAAU;AAAA,IAAA,CACX;AAED,WAAO,KAAK,iEAAiE;AAAA,WACtE,KAAK;AACL,WAAA;AAAA,MACL;AAAA,IAAA;AAEE,QAAA,eAAe,SAAS,IAAI,OAAO;AAC9B,aAAA;AAAA,QACL,MAAM;AAAA,UACJ,MAAM,IAAI,OAAO;AAAA,YACf,SAAS;AAAA,YACT,OAAO;AAAA,UAAA,CACR;AAAA,QACH;AAAA,MAAA;AAAA,IAEJ;AACA,YAAQ,KAAK,CAAC;AAAA,EAChB;AACF;AAEA,MAAM,sBAAsB;AA4C5B,MAAM,kBAAkB,eAAe,OAAO,EAAE,QAAQ,WAAW,kBAAkB;AAC/E,MAAA;AAME,QAAA,CAAC,aAAa,IAAI,YAAY,MAAM,KAAK,GAAG,EAAE,MAAM,EAAE;AAErD,SAAA;AAAA,IACL,SAAS;AAAA,MACP,oBAAoB;AAAA,QAClB,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,QACT,SAAS,GAAG;AACV,cAAI,CAAC,GAAG;AACC,mBAAA;AAAA,UACT;AAEI,cAAA;AACI,kBAAA,SAAS,YAAY,CAAC;AAErB,mBAAA,EAAE,QAAQ,OAAO,QAAQ,OAAO,OAAO,OAAO,MAAM,OAAO,KAAK;AAEhE,mBAAA;AAAA,mBACA,KAAK;AACL,mBAAA;AAAA,UACT;AAAA,QACF;AAAA,MAAA,CACD;AAAA,MACD,oBAAoB;AAAA,QAClB,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,QACT,SAAS,MAAM,MAAM,QAAQ;AAAA,QAC7B,SAAS,GAAG;AACV,cAAI,CAAC,GAAG;AACC,mBAAA;AAAA,UACT;AAEM,gBAAA,QAAQ,oBAAoB,KAAK,CAAC;AAExC,cAAI,CAAC,OAAO;AACH,mBAAA;AAAA,UACT;AAEO,iBAAA;AAAA,QACT;AAAA,MAAA,CACD;AAAA,MACD,oBAAoB;AAAA,QAClB,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,MAAA,CACV;AAAA,MACD,oBAAoB;AAAA,QAClB,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,MAAA,CACV;AAAA,MACD,oBAAoB;AAAA,QAClB,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,QACT,SAAS,WAAW,MAAM;AAAA,MAAA,CAC3B;AAAA,MACD,oBAAoB;AAAA,QAClB,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,QACT,SAAS,WAAW,MAAM;AAAA,MAAA,CAC3B;AAAA,MACD,oBAAoB;AAAA,QAClB,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,QACT,SAAS;AAAA,QACT,SAAS,GAAG;AACV,cAAI,CAAC,GAAG;AACC,mBAAA;AAAA,UACT;AAEO,iBAAA;AAAA,QACT;AAAA,MAAA,CACD;AAAA,MACD,oBAAoB;AAAA,QAClB,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,QACT,SAAS;AAAA,MAAA,CACV;AAAA,MACD,oBAAoB;AAAA,QAClB,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,QACT,SAAS;AAAA,MAAA,CACV;AAAA,MACD,qBAAqB;AAAA,QACnB,MAAM;AAAA,QACN,SAAS;AAAA,QACT,UAAU;AAAA,MAAA,CACX;AAAA,MACD,qBAAqB;AAAA,QACnB,MAAM;AAAA,QACN,SAAS;AAAA,QACT,UAAU;AAAA,MAAA,CACX;AAAA,MACD,qBAAqB;AAAA,QACnB,MAAM;AAAA,QACN,SAAS;AAAA,QACT,UAAU;AAAA,MAAA,CACX;AAAA,MACD,qBAAqB;AAAA,QACnB,MAAM;AAAA,QACN,SAAS;AAAA,QACT,UAAU;AAAA,MAAA,CACX;AAAA,IACH;AAAA,IACA,MAAM,SAAS,SAAS;AACtB,YAAM,SAAmB,CAAA;AAEzB,YAAM,QAAwB,CAAA;AAG9B,YAAM,UAA6B;AAAA,QACjC,SAAS;AAAA,QACT,UAAU,CAAC;AAAA,QACX,MAAM;AAAA,QACN,SAAS;AAAA,UACP,kBAAkB;AAAA,QACpB;AAAA,QACA,OAAO,CAAC,MAAM;AAAA,QACd,SAAS;AAAA,UACP,OAAO;AAAA,UACP,OAAO;AAAA,UACP,cAAc;AAAA,UACd,QAAQ;AAAA,QACV;AAAA,QACA,cAAc,CAAC;AAAA,QACf,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAMf,kBAAkB;AAAA,UAClB,UAAU;AAAA,QACZ;AAAA,QACA,kBAAkB;AAAA,UAChB,kBAAkB;AAAA,QACpB;AAAA,QACA,QAAQ;AAAA,UACN,MAAM;AAAA,QACR;AAAA,MAAA;AAGE,UAAA,MAAM,QAAQ,OAAO,GAAG;AAC1B,mBAAW,OAAO,SAAS;AACnB,gBAAA,EAAE,MAAM,OAAW,IAAA;AAEzB,kBAAQ,MAAM;AAAA,YACZ,KAAK,WAAW;AACN,sBAAA,OAAO,OAAO,MAAM;AACpB,sBAAA,OAAO,OAAO,OAAO,MAAM;AACnC;AAAA,YACF;AAAA,YACA,KAAK,eAAe;AACV,sBAAA,cAAc,OAAO,MAAM,KAAK;AACxC,sBAAQ,OAAO,cAAc,OAAO,MAAM,KAAK;AAC/C;AAAA,YACF;AAAA,YACA,KAAK,eAAe;AAClB,sBAAQ,OAAO,cAAc,OAAO,MAAM,KAAK;AAC/C;AAAA,YACF;AAAA,YACA,KAAK,cAAc;AACV,qBAAA,KAAK,OAAO,MAAM,CAAC;AAC1B;AAAA,YACF;AAAA,YACA,KAAK,eAAe;AAClB,kBAAI,QAAQ;AACH,uBAAA,KAAK,IAAI,MAAM,GAAG;AAAA,cAC3B;AACA;AAAA,YACF;AAAA,YACA,KAAK,WAAW;AACN,sBAAA,UAAU,OAAO,MAAM;AAC/B;AAAA,YACF;AAAA,YACA,KAAK,eAAe;AAClB,kBAAI,QAAQ;AACF,wBAAA,QAAQ,gBAAgB,IAAI;AAAA,kBAClC,QAAQ;AAAA,kBACR,QAAQ;AAAA,kBACR,SAAS;AAAA,kBACT,SAAS;AAAA,gBAAA;AAGX,wBAAQ,eAAe;AAAA,kBACrB,GAAG,QAAQ;AAAA,kBACX,yBAAyB;AAAA,kBACzB,iBAAiB;AAAA,gBAAA;AAGnB,wBAAQ,kBAAkB;AAAA,kBACxB,GAAG,QAAQ;AAAA,kBACX,OAAO;AAAA,kBACP,aAAa;AAAA,kBACb,oBAAoB;AAAA,kBACpB,qBAAqB;AAAA,gBAAA;AAGvB,wBAAQ,mBAAmB;AAAA,kBACzB,GAAG,QAAQ;AAAA,kBACX,OAAO;AAAA,kBACP,aAAa;AAAA,kBACb,oBAAoB;AAAA,kBACpB,qBAAqB;AAAA,gBAAA;AAAA,cAEzB;AAEA;AAAA,YACF;AAAA,YACA,KAAK,eAAe;AAClB,kBAAI,QAAQ;AACF,wBAAA,QAAQ,iBAAiB,IAAI;AAAA,kBACnC,QAAQ;AAAA,kBACR,QAAQ;AAAA,kBACR,SAAS;AAAA,kBACT,SAAS;AAAA,gBAAA;AAGH,wBAAA,MAAM,KAAK,oBAAoB;AAEvC,sBAAM,KAAK;AAAA,kBACT,MAAM;AAAA,kBACN,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,gBAAA,CAKX;AAAA,cACH;AAEA;AAAA,YACF;AAAA,YACA,KAAK,cAAc;AACX,oBAAA,eAAe,QAAQ,MAAM;AAEnC,kBAAI,cAAc;AAChB,oBAAI,SAAS,QAAQ,QAAQ,gBAAgB,CAAC,GAAG;AACvC,0BAAA,QAAQ,gBAAgB,EAAE,SAAS;AAEnC,0BAAA,QAAQ,gBAAgB,IAAI;AAAA,oBAClC,OAAO;AAAA,oBACP,GAAG,QAAQ,QAAQ,gBAAgB;AAAA,kBAAA;AAGrC,0BAAQ,UAAU;AAAA,oBAChB,GAAG,QAAQ;AAAA,oBACX,iBAAiB;AAAA,kBAAA;AAGnB,0BAAQ,kBAAkB;AAAA,oBACxB,GAAG,QAAQ;AAAA,oBACX,gBAAgB;AAAA,oBAChB,oBAAoB;AAAA,kBAAA;AAGtB,wBAAM,EAAE,mBAAA,IAAuB,MAAM,OAAO,wBAAoB;AAEhE,wBAAM,KAAK,mBAAmB,mBAAmB,mBAAmB,YAAY;AAAA,gBAClF;AAEA,oBAAI,SAAS,QAAQ,QAAQ,iBAAiB,CAAC,GAAG;AACxC,0BAAA,QAAQ,iBAAiB,EAAE,SAAS;AAEpC,0BAAA,QAAQ,iBAAiB,IAAI;AAAA,oBACnC,OAAO;AAAA,oBACP,GAAG,QAAQ,QAAQ,iBAAiB;AAAA,kBAAA;AAGtC,0BAAQ,UAAU;AAAA,oBAChB,GAAG,QAAQ;AAAA,oBACX,gBAAgB;AAAA,kBAAA;AAGlB,wBAAM,EAAE,oBAAA,IAAwB,MAAM,OAAO,wBAAoB;AAE3D,wBAAA;AAAA,oBACJ,oBAAoB;AAAA,oBACpB,oBAAoB;AAAA,kBAAA;AAAA,gBAExB;AAEA,wBAAQ,kBAAkB;AAAA,kBACxB,GAAG,QAAQ;AAAA,kBACX,4BAA4B;AAAA,kBAC5B,YAAY;AAAA,gBAAA;AAAA,cAEhB;AAMA,kBAAI,SAAS,QAAQ,QAAQ,gBAAgB,CAAC,GAAG;AAC/C,sBAAM,KAAK;AAAA,kBACT,MAAM,eAAe,0BAA0B;AAAA,kBAC/C,UAAU;AAAA,gDACoB,QAAQ,KAAM,QAAQ,oBAAoB,EAAE,CAAC;AAAA;AAAA,gBAAA,CAE5E;AAED,oBAAI,cAAc;AAChB,wBAAM,EAAE,qBAAA,IAAyB,MAAM,OAAO,mBAAe;AAEvD,wBAAA,KAAK,GAAG,oBAAoB;AAAA,gBAAA,OAC7B;AACL,wBAAM,EAAE,qBAAA,IAAyB,MAAM,OAAO,mBAAe;AAEvD,wBAAA,KAAK,GAAG,oBAAoB;AAAA,gBACpC;AAAA,cACF;AAEA,kBAAI,SAAS,QAAQ,QAAQ,iBAAiB,CAAC,GAAG;AAChD,oBAAI,cAAc;AAChB,wBAAM,EAAE,sBAAA,IAA0B,MAAM,OAAO,oBAAgB;AAE/D,wBAAM,KAAK,GAAG,sBAAsB,aAAa,CAAC;AAAA,gBAAA,OAC7C;AACL,wBAAM,EAAE,sBAAA,IAA0B,MAAM,OAAO,oBAAgB;AAE/D,wBAAM,KAAK,GAAG,sBAAsB,aAAa,CAAC;AAAA,gBACpD;AAAA,cACF;AAEA;AAAA,YACF;AAAA,YACA,KAAK,UAAU;AACb,kBAAI,QAAQ;AACV,sBAAM,EAAE,iBAAA,IAAqB,MAAM,OAAO,oBAAgB;AAE1D,sBAAM,KAAK,gBAAgB;AAAA,cAC7B;AAEA;AAAA,YACF;AAAA,YACA,KAAK,YAAY;AACf,kBAAI,QAAQ;AACV,sBAAM,EAAE,cAAc,mBAAuB,IAAA,MAAM,OAAO,sBAAkB;AAEtE,sBAAA,KAAK,cAAc,kBAAkB;AAAA,cAC7C;AACA;AAAA,YACF;AAAA,YACA,KAAK,gBAAgB;AACnB,kBAAI,QAAQ;AACV,sBAAM,EAAE,iBAAA,IAAqB,MAAM,OAAO,0BAAsB;AAEhE,sBAAM,KAAK,gBAAgB;AAAA,cAC7B;AACA;AAAA,YACF;AAAA,UAGF;AAAA,QACF;AAAA,MACF;AAEA,UAAI,MAAM;AACR,gBAAQ,aAAa;AAAA,UACnB,MAAM;AAAA,UACN,KAAK,iBAAiB,KAAK,MAAM,IAAI,KAAK,KAAK,IAAI,KAAK,IAAI;AAAA,QAAA;AAE9D,gBAAQ,OAAO;AAAA,UACb,KAAK,WAAW,KAAK,MAAM,IAAI,KAAK,KAAK,IAAI,KAAK,IAAI;AAAA,QAAA;AAEhD,gBAAA,WAAW,WAAW,KAAK,MAAM,IAAI,KAAK,KAAK,IAAI,KAAK,IAAI;AAAA,MACtE;AAEA,cAAQ,SAAS,OAAO,OAAO,OAAO,EAAE,KAAK,GAAG,KAAK;AAEjD,UAAA;AACF,gBAAQ,kBAAkB,MAAM,2BAA2B,QAAQ,eAAe;AAClF,gBAAQ,eAAe,MAAM,2BAA2B,QAAQ,YAAY;AAC5E,gBAAQ,mBAAmB,MAAM,2BAA2B,QAAQ,gBAAgB;AAAA,eAC7E,KAAK;AACZ,YAAI,eAAe,OAAO;AACjB,iBAAA,MAAM,IAAI,OAAO;AAAA,QAAA,OACnB;AACL,iBAAO,MAAM,GAAG;AAAA,QAClB;AAAA,MACF;AAEA,YAAM,KAAK;AAAA,QACT,MAAM;AAAA,QACN,UAAU;AAAA,cACJ,KAAK,UAAU,SAAS,MAAM,CAAC,CAAC;AAAA;AAAA,MAAA,CAEvC;AAED,YAAM,KAAK;AAAA,QACT,MAAM;AAAA,QACN,UAAU;AAAA,gBACF,QAAQ,IAAI;AAAA;AAAA,cAEd,QAAQ,eAAe,EAAE;AAAA;AAAA,MAAA,CAEhC;AAED,YAAM,KAAK,aAAa;AAEjB,aAAA;AAAA,IACT;AAAA,EAAA;AAEJ,CAAC;AAED,MAAM,WAAW,CAAC,UAChB,QAAQ,KAAK,KAAK,CAAC,MAAM,QAAQ,KAAK,KAAK,OAAO,UAAU;AAE9D,MAAM,6BAA6B,OACjC,SACoC;AACpC,QAAM,aAAqC,CAAA;AAE3C,aAAW,CAAC,MAAM,OAAO,KAAK,OAAO,QAAQ,IAAI,GAAG;AAC9C,QAAA;AACF,YAAM,gBAAgB,MAAM,iBAAiB,MAAM,OAAO;AAC1D,iBAAW,IAAI,IAAI,gBAAgB,IAAI,aAAa,KAAK;AAAA,aAClD,KAAK;AACZ,iBAAW,IAAI,IAAI;AAAA,IACrB;AAAA,EACF;AAEO,SAAA;AACT;"}
@@ -1,7 +0,0 @@
1
- import type { StrapiCommand } from '../../../types';
2
- /**
3
- * `$ strapi plugin:init`
4
- */
5
- declare const command: StrapiCommand;
6
- export default command;
7
- //# sourceMappingURL=command.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/plugin/init/command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAGpD;;GAEG;AACH,QAAA,MAAM,OAAO,EAAE,aAUd,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -1,9 +0,0 @@
1
- "use strict";
2
- const action = require("./action.js");
3
- const command = ({ command: command2, ctx }) => {
4
- command2.command("plugin:init").description("Create a new plugin at a given path").argument("[path]", "path to the plugin", "./src/plugins/my-plugin").option("-d, --debug", "Enable debugging mode with verbose logs", false).option("--silent", "Don't log anything", false).action((path, options) => {
5
- return action(path, options, ctx);
6
- });
7
- };
8
- module.exports = command;
9
- //# sourceMappingURL=command.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"command.js","sources":["../../../../../src/cli/commands/plugin/init/command.ts"],"sourcesContent":["import type { StrapiCommand } from '../../../types';\nimport action from './action';\n\n/**\n * `$ strapi plugin:init`\n */\nconst command: StrapiCommand = ({ command, ctx }) => {\n command\n .command('plugin:init')\n .description('Create a new plugin at a given path')\n .argument('[path]', 'path to the plugin', './src/plugins/my-plugin')\n .option('-d, --debug', 'Enable debugging mode with verbose logs', false)\n .option('--silent', \"Don't log anything\", false)\n .action((path, options) => {\n return action(path, options, ctx);\n });\n};\n\nexport default command;\n"],"names":["command"],"mappings":";;AAMA,MAAM,UAAyB,CAAC,EAAE,SAAAA,UAAS,UAAU;AACnDA,WACG,QAAQ,aAAa,EACrB,YAAY,qCAAqC,EACjD,SAAS,UAAU,sBAAsB,yBAAyB,EAClE,OAAO,eAAe,2CAA2C,KAAK,EACtE,OAAO,YAAY,sBAAsB,KAAK,EAC9C,OAAO,CAAC,MAAM,YAAY;AAClB,WAAA,OAAO,MAAM,SAAS,GAAG;AAAA,EAAA,CACjC;AACL;;"}
@@ -1,10 +0,0 @@
1
- import action from "./action.mjs";
2
- const command = ({ command: command2, ctx }) => {
3
- command2.command("plugin:init").description("Create a new plugin at a given path").argument("[path]", "path to the plugin", "./src/plugins/my-plugin").option("-d, --debug", "Enable debugging mode with verbose logs", false).option("--silent", "Don't log anything", false).action((path, options) => {
4
- return action(path, options, ctx);
5
- });
6
- };
7
- export {
8
- command as default
9
- };
10
- //# sourceMappingURL=command.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"command.mjs","sources":["../../../../../src/cli/commands/plugin/init/command.ts"],"sourcesContent":["import type { StrapiCommand } from '../../../types';\nimport action from './action';\n\n/**\n * `$ strapi plugin:init`\n */\nconst command: StrapiCommand = ({ command, ctx }) => {\n command\n .command('plugin:init')\n .description('Create a new plugin at a given path')\n .argument('[path]', 'path to the plugin', './src/plugins/my-plugin')\n .option('-d, --debug', 'Enable debugging mode with verbose logs', false)\n .option('--silent', \"Don't log anything\", false)\n .action((path, options) => {\n return action(path, options, ctx);\n });\n};\n\nexport default command;\n"],"names":["command"],"mappings":";AAMA,MAAM,UAAyB,CAAC,EAAE,SAAAA,UAAS,UAAU;AACnDA,WACG,QAAQ,aAAa,EACrB,YAAY,qCAAqC,EACjD,SAAS,UAAU,sBAAsB,yBAAyB,EAClE,OAAO,eAAe,2CAA2C,KAAK,EACtE,OAAO,YAAY,sBAAsB,KAAK,EAC9C,OAAO,CAAC,MAAM,YAAY;AAClB,WAAA,OAAO,MAAM,SAAS,GAAG;AAAA,EAAA,CACjC;AACL;"}
@@ -1,5 +0,0 @@
1
- import { TemplateFile } from '@strapi/pack-up';
2
- declare const TYPESCRIPT: TemplateFile[];
3
- declare const JAVASCRIPT: TemplateFile[];
4
- export { TYPESCRIPT as adminTypescriptFiles, JAVASCRIPT as adminJavascriptFiles };
5
- //# sourceMappingURL=admin.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/commands/plugin/init/files/admin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAkD/C,QAAA,MAAM,UAAU,EAAE,YAAY,EAyH7B,CAAC;AAEF,QAAA,MAAM,UAAU,EAAE,YAAY,EA8G7B,CAAC;AAEF,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,UAAU,IAAI,oBAAoB,EAAE,CAAC"}