@strapi/strapi 5.19.0 → 5.21.0
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/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/openapi/generate.d.ts +9 -0
- package/dist/cli/commands/openapi/generate.d.ts.map +1 -0
- package/dist/cli/commands/openapi/index.d.ts +7 -0
- package/dist/cli/commands/openapi/index.d.ts.map +1 -0
- package/dist/node/vite/config.d.ts.map +1 -1
- package/dist/package.json.js +1 -1
- package/dist/package.json.mjs +1 -1
- package/dist/src/cli/commands/index.js +2 -0
- package/dist/src/cli/commands/index.js.map +1 -1
- package/dist/src/cli/commands/index.mjs +2 -0
- package/dist/src/cli/commands/index.mjs.map +1 -1
- package/dist/src/cli/commands/openapi/generate.js +76 -0
- package/dist/src/cli/commands/openapi/generate.js.map +1 -0
- package/dist/src/cli/commands/openapi/generate.mjs +55 -0
- package/dist/src/cli/commands/openapi/generate.mjs.map +1 -0
- package/dist/src/cli/commands/openapi/index.js +17 -0
- package/dist/src/cli/commands/openapi/index.js.map +1 -0
- package/dist/src/cli/commands/openapi/index.mjs +15 -0
- package/dist/src/cli/commands/openapi/index.mjs.map +1 -0
- package/dist/src/node/vite/config.js +1 -1
- package/dist/src/node/vite/config.js.map +1 -1
- package/dist/src/node/vite/config.mjs +1 -1
- package/dist/src/node/vite/config.mjs.map +1 -1
- package/package.json +22 -21
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AA8BA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,eAAO,MAAM,QAAQ,EAAE,aAAa,EAgCnC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/openapi/generate.ts"],"names":[],"mappings":"AAWA,UAAU,cAAc;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAaD;;GAEG;AACH,QAAA,MAAM,MAAM,YAAmB,cAAc,kBAY5C,CAAC;AA2CF,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/openapi/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAIjD;;GAEG;AACH,QAAA,MAAM,OAAO,EAAE,aAad,CAAC;AAEF,OAAO,EAAE,OAAO,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/node/vite/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAOrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/node/vite/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAOrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAuG5D,QAAA,MAAM,uBAAuB,QAAe,YAAY,KAAG,QAAQ,YAAY,CAuB9E,CAAC;AAEF,QAAA,MAAM,wBAAwB,QAAe,YAAY,KAAG,QAAQ,YAAY,CA0B/E,CAAC;AAMF,QAAA,MAAM,yBAAyB,WAAkB,YAAY,OAAO,YAAY,wBAQ/E,CAAC;AAEF,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,CAAC"}
|
package/dist/package.json.js
CHANGED
package/dist/package.json.mjs
CHANGED
|
@@ -24,6 +24,7 @@ var generate = require('./generate.js');
|
|
|
24
24
|
var report = require('./report.js');
|
|
25
25
|
var start = require('./start.js');
|
|
26
26
|
var version = require('./version.js');
|
|
27
|
+
var index = require('./openapi/index.js');
|
|
27
28
|
var command = require('./export/command.js');
|
|
28
29
|
var command$1 = require('./import/command.js');
|
|
29
30
|
var command$2 = require('./transfer/command.js');
|
|
@@ -55,6 +56,7 @@ const commands = [
|
|
|
55
56
|
command,
|
|
56
57
|
command$1,
|
|
57
58
|
command$2,
|
|
59
|
+
index.command,
|
|
58
60
|
/**
|
|
59
61
|
* Cloud
|
|
60
62
|
*/ cloudCli.buildStrapiCloudCommands
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/cli/commands/index.ts"],"sourcesContent":["import { buildStrapiCloudCommands as cloudCommands } from '@strapi/cloud-cli';\n\nimport { command as createAdminUser } from './admin/create-user';\nimport { command as resetAdminUserPassword } from './admin/reset-user-password';\nimport { command as listComponents } from './components/list';\nimport { command as configurationDump } from './configuration/dump';\nimport { command as configurationRestore } from './configuration/restore';\nimport { command as listContentTypes } from './content-types/list';\nimport { command as listControllers } from './controllers/list';\nimport { command as listHooks } from './hooks/list';\nimport { command as listMiddlewares } from './middlewares/list';\nimport { command as listPolicies } from './policies/list';\nimport { command as listRoutes } from './routes/list';\nimport { command as listServices } from './services/list';\nimport { command as disableTelemetry } from './telemetry/disable';\nimport { command as enableTelemetry } from './telemetry/enable';\nimport { command as generateTemplates } from './templates/generate';\nimport { command as generateTsTypes } from './ts/generate-types';\nimport { command as buildCommand } from './build';\nimport { command as consoleCommand } from './console';\nimport { command as developCommand } from './develop';\nimport { command as generateCommand } from './generate';\nimport { command as reportCommand } from './report';\nimport { command as startCommand } from './start';\nimport { command as versionCommand } from './version';\nimport exportCommand from './export/command';\nimport importCommand from './import/command';\nimport transferCommand from './transfer/command';\n\nimport { StrapiCommand } from '../types';\n\nexport const commands: StrapiCommand[] = [\n createAdminUser,\n resetAdminUserPassword,\n listComponents,\n configurationDump,\n configurationRestore,\n consoleCommand,\n listContentTypes,\n listControllers,\n generateCommand,\n listHooks,\n listMiddlewares,\n listPolicies,\n reportCommand,\n listRoutes,\n listServices,\n startCommand,\n disableTelemetry,\n enableTelemetry,\n generateTemplates,\n generateTsTypes,\n versionCommand,\n buildCommand,\n developCommand,\n exportCommand,\n importCommand,\n transferCommand,\n /**\n * Cloud\n */\n cloudCommands,\n];\n"],"names":["commands","createAdminUser","resetAdminUserPassword","listComponents","configurationDump","configurationRestore","consoleCommand","listContentTypes","listControllers","generateCommand","listHooks","listMiddlewares","listPolicies","reportCommand","listRoutes","listServices","startCommand","disableTelemetry","enableTelemetry","generateTemplates","generateTsTypes","versionCommand","buildCommand","developCommand","exportCommand","importCommand","transferCommand","cloudCommands"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/cli/commands/index.ts"],"sourcesContent":["import { buildStrapiCloudCommands as cloudCommands } from '@strapi/cloud-cli';\n\nimport { command as createAdminUser } from './admin/create-user';\nimport { command as resetAdminUserPassword } from './admin/reset-user-password';\nimport { command as listComponents } from './components/list';\nimport { command as configurationDump } from './configuration/dump';\nimport { command as configurationRestore } from './configuration/restore';\nimport { command as listContentTypes } from './content-types/list';\nimport { command as listControllers } from './controllers/list';\nimport { command as listHooks } from './hooks/list';\nimport { command as listMiddlewares } from './middlewares/list';\nimport { command as listPolicies } from './policies/list';\nimport { command as listRoutes } from './routes/list';\nimport { command as listServices } from './services/list';\nimport { command as disableTelemetry } from './telemetry/disable';\nimport { command as enableTelemetry } from './telemetry/enable';\nimport { command as generateTemplates } from './templates/generate';\nimport { command as generateTsTypes } from './ts/generate-types';\nimport { command as buildCommand } from './build';\nimport { command as consoleCommand } from './console';\nimport { command as developCommand } from './develop';\nimport { command as generateCommand } from './generate';\nimport { command as reportCommand } from './report';\nimport { command as startCommand } from './start';\nimport { command as versionCommand } from './version';\nimport { command as openAPICommand } from './openapi';\nimport exportCommand from './export/command';\nimport importCommand from './import/command';\nimport transferCommand from './transfer/command';\n\nimport { StrapiCommand } from '../types';\n\nexport const commands: StrapiCommand[] = [\n createAdminUser,\n resetAdminUserPassword,\n listComponents,\n configurationDump,\n configurationRestore,\n consoleCommand,\n listContentTypes,\n listControllers,\n generateCommand,\n listHooks,\n listMiddlewares,\n listPolicies,\n reportCommand,\n listRoutes,\n listServices,\n startCommand,\n disableTelemetry,\n enableTelemetry,\n generateTemplates,\n generateTsTypes,\n versionCommand,\n buildCommand,\n developCommand,\n exportCommand,\n importCommand,\n transferCommand,\n openAPICommand,\n /**\n * Cloud\n */\n cloudCommands,\n];\n"],"names":["commands","createAdminUser","resetAdminUserPassword","listComponents","configurationDump","configurationRestore","consoleCommand","listContentTypes","listControllers","generateCommand","listHooks","listMiddlewares","listPolicies","reportCommand","listRoutes","listServices","startCommand","disableTelemetry","enableTelemetry","generateTemplates","generateTsTypes","versionCommand","buildCommand","developCommand","exportCommand","importCommand","transferCommand","openAPICommand","cloudCommands"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAgCaA,QAA4B,GAAA;AACvCC,IAAAA,kBAAAA;AACAC,IAAAA,yBAAAA;AACAC,IAAAA,YAAAA;AACAC,IAAAA,YAAAA;AACAC,IAAAA,eAAAA;AACAC,IAAAA,eAAAA;AACAC,IAAAA,cAAAA;AACAC,IAAAA,cAAAA;AACAC,IAAAA,gBAAAA;AACAC,IAAAA,cAAAA;AACAC,IAAAA,cAAAA;AACAC,IAAAA,cAAAA;AACAC,IAAAA,cAAAA;AACAC,IAAAA,cAAAA;AACAC,IAAAA,cAAAA;AACAC,IAAAA,aAAAA;AACAC,IAAAA,eAAAA;AACAC,IAAAA,cAAAA;AACAC,IAAAA,kBAAAA;AACAC,IAAAA,qBAAAA;AACAC,IAAAA,eAAAA;AACAC,IAAAA,aAAAA;AACAC,IAAAA,eAAAA;AACAC,IAAAA,OAAAA;AACAC,IAAAA,SAAAA;AACAC,IAAAA,SAAAA;AACAC,IAAAA,aAAAA;AACA;;MAGAC;;;;;"}
|
|
@@ -22,6 +22,7 @@ import { command as command$8 } from './generate.mjs';
|
|
|
22
22
|
import { command as command$c } from './report.mjs';
|
|
23
23
|
import { command as command$f } from './start.mjs';
|
|
24
24
|
import { command as command$k } from './version.mjs';
|
|
25
|
+
import { command as command$q } from './openapi/index.mjs';
|
|
25
26
|
import command$n from './export/command.mjs';
|
|
26
27
|
import command$o from './import/command.mjs';
|
|
27
28
|
import command$p from './transfer/command.mjs';
|
|
@@ -53,6 +54,7 @@ const commands = [
|
|
|
53
54
|
command$n,
|
|
54
55
|
command$o,
|
|
55
56
|
command$p,
|
|
57
|
+
command$q,
|
|
56
58
|
/**
|
|
57
59
|
* Cloud
|
|
58
60
|
*/ buildStrapiCloudCommands
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../src/cli/commands/index.ts"],"sourcesContent":["import { buildStrapiCloudCommands as cloudCommands } from '@strapi/cloud-cli';\n\nimport { command as createAdminUser } from './admin/create-user';\nimport { command as resetAdminUserPassword } from './admin/reset-user-password';\nimport { command as listComponents } from './components/list';\nimport { command as configurationDump } from './configuration/dump';\nimport { command as configurationRestore } from './configuration/restore';\nimport { command as listContentTypes } from './content-types/list';\nimport { command as listControllers } from './controllers/list';\nimport { command as listHooks } from './hooks/list';\nimport { command as listMiddlewares } from './middlewares/list';\nimport { command as listPolicies } from './policies/list';\nimport { command as listRoutes } from './routes/list';\nimport { command as listServices } from './services/list';\nimport { command as disableTelemetry } from './telemetry/disable';\nimport { command as enableTelemetry } from './telemetry/enable';\nimport { command as generateTemplates } from './templates/generate';\nimport { command as generateTsTypes } from './ts/generate-types';\nimport { command as buildCommand } from './build';\nimport { command as consoleCommand } from './console';\nimport { command as developCommand } from './develop';\nimport { command as generateCommand } from './generate';\nimport { command as reportCommand } from './report';\nimport { command as startCommand } from './start';\nimport { command as versionCommand } from './version';\nimport exportCommand from './export/command';\nimport importCommand from './import/command';\nimport transferCommand from './transfer/command';\n\nimport { StrapiCommand } from '../types';\n\nexport const commands: StrapiCommand[] = [\n createAdminUser,\n resetAdminUserPassword,\n listComponents,\n configurationDump,\n configurationRestore,\n consoleCommand,\n listContentTypes,\n listControllers,\n generateCommand,\n listHooks,\n listMiddlewares,\n listPolicies,\n reportCommand,\n listRoutes,\n listServices,\n startCommand,\n disableTelemetry,\n enableTelemetry,\n generateTemplates,\n generateTsTypes,\n versionCommand,\n buildCommand,\n developCommand,\n exportCommand,\n importCommand,\n transferCommand,\n /**\n * Cloud\n */\n cloudCommands,\n];\n"],"names":["commands","createAdminUser","resetAdminUserPassword","listComponents","configurationDump","configurationRestore","consoleCommand","listContentTypes","listControllers","generateCommand","listHooks","listMiddlewares","listPolicies","reportCommand","listRoutes","listServices","startCommand","disableTelemetry","enableTelemetry","generateTemplates","generateTsTypes","versionCommand","buildCommand","developCommand","exportCommand","importCommand","transferCommand","cloudCommands"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../src/cli/commands/index.ts"],"sourcesContent":["import { buildStrapiCloudCommands as cloudCommands } from '@strapi/cloud-cli';\n\nimport { command as createAdminUser } from './admin/create-user';\nimport { command as resetAdminUserPassword } from './admin/reset-user-password';\nimport { command as listComponents } from './components/list';\nimport { command as configurationDump } from './configuration/dump';\nimport { command as configurationRestore } from './configuration/restore';\nimport { command as listContentTypes } from './content-types/list';\nimport { command as listControllers } from './controllers/list';\nimport { command as listHooks } from './hooks/list';\nimport { command as listMiddlewares } from './middlewares/list';\nimport { command as listPolicies } from './policies/list';\nimport { command as listRoutes } from './routes/list';\nimport { command as listServices } from './services/list';\nimport { command as disableTelemetry } from './telemetry/disable';\nimport { command as enableTelemetry } from './telemetry/enable';\nimport { command as generateTemplates } from './templates/generate';\nimport { command as generateTsTypes } from './ts/generate-types';\nimport { command as buildCommand } from './build';\nimport { command as consoleCommand } from './console';\nimport { command as developCommand } from './develop';\nimport { command as generateCommand } from './generate';\nimport { command as reportCommand } from './report';\nimport { command as startCommand } from './start';\nimport { command as versionCommand } from './version';\nimport { command as openAPICommand } from './openapi';\nimport exportCommand from './export/command';\nimport importCommand from './import/command';\nimport transferCommand from './transfer/command';\n\nimport { StrapiCommand } from '../types';\n\nexport const commands: StrapiCommand[] = [\n createAdminUser,\n resetAdminUserPassword,\n listComponents,\n configurationDump,\n configurationRestore,\n consoleCommand,\n listContentTypes,\n listControllers,\n generateCommand,\n listHooks,\n listMiddlewares,\n listPolicies,\n reportCommand,\n listRoutes,\n listServices,\n startCommand,\n disableTelemetry,\n enableTelemetry,\n generateTemplates,\n generateTsTypes,\n versionCommand,\n buildCommand,\n developCommand,\n exportCommand,\n importCommand,\n transferCommand,\n openAPICommand,\n /**\n * Cloud\n */\n cloudCommands,\n];\n"],"names":["commands","createAdminUser","resetAdminUserPassword","listComponents","configurationDump","configurationRestore","consoleCommand","listContentTypes","listControllers","generateCommand","listHooks","listMiddlewares","listPolicies","reportCommand","listRoutes","listServices","startCommand","disableTelemetry","enableTelemetry","generateTemplates","generateTsTypes","versionCommand","buildCommand","developCommand","exportCommand","importCommand","transferCommand","openAPICommand","cloudCommands"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAgCaA,QAA4B,GAAA;AACvCC,IAAAA,OAAAA;AACAC,IAAAA,SAAAA;AACAC,IAAAA,SAAAA;AACAC,IAAAA,SAAAA;AACAC,IAAAA,SAAAA;AACAC,IAAAA,SAAAA;AACAC,IAAAA,SAAAA;AACAC,IAAAA,SAAAA;AACAC,IAAAA,SAAAA;AACAC,IAAAA,SAAAA;AACAC,IAAAA,SAAAA;AACAC,IAAAA,SAAAA;AACAC,IAAAA,SAAAA;AACAC,IAAAA,SAAAA;AACAC,IAAAA,SAAAA;AACAC,IAAAA,SAAAA;AACAC,IAAAA,SAAAA;AACAC,IAAAA,SAAAA;AACAC,IAAAA,SAAAA;AACAC,IAAAA,SAAAA;AACAC,IAAAA,SAAAA;AACAC,IAAAA,SAAAA;AACAC,IAAAA,SAAAA;AACAC,IAAAA,SAAAA;AACAC,IAAAA,SAAAA;AACAC,IAAAA,SAAAA;AACAC,IAAAA,SAAAA;AACA;;MAGAC;;;;;"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var core = require('@strapi/core');
|
|
4
|
+
var openapi = require('@strapi/openapi');
|
|
5
|
+
var chalk = require('chalk');
|
|
6
|
+
var fse = require('fs-extra');
|
|
7
|
+
var path = require('path');
|
|
8
|
+
|
|
9
|
+
function _interopNamespaceDefault(e) {
|
|
10
|
+
var n = Object.create(null);
|
|
11
|
+
if (e) {
|
|
12
|
+
Object.keys(e).forEach(function (k) {
|
|
13
|
+
if (k !== 'default') {
|
|
14
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
15
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
16
|
+
enumerable: true,
|
|
17
|
+
get: function () { return e[k]; }
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
n.default = e;
|
|
23
|
+
return Object.freeze(n);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
var openapi__namespace = /*#__PURE__*/_interopNamespaceDefault(openapi);
|
|
27
|
+
|
|
28
|
+
const DEFAULT_OUTPUT = path.join(process.cwd(), 'specification.json');
|
|
29
|
+
const EXPERIMENTAL_MSG = chalk.yellow(`
|
|
30
|
+
⚠️ The OpenAPI generation feature is currently experimental.
|
|
31
|
+
Its behavior and output might change in future releases without following semver.
|
|
32
|
+
Please report any issues you encounter on https://github.com/strapi/strapi/issues/new?template=BUG_REPORT.yml.
|
|
33
|
+
`);
|
|
34
|
+
/**
|
|
35
|
+
* @experimental
|
|
36
|
+
*/ const action = async (options)=>{
|
|
37
|
+
console.warn(EXPERIMENTAL_MSG);
|
|
38
|
+
const filePath = options.output ?? DEFAULT_OUTPUT;
|
|
39
|
+
const app = await createStrapiApp();
|
|
40
|
+
const { document, durationMs } = openapi__namespace.generate(app, {
|
|
41
|
+
type: 'content-api'
|
|
42
|
+
});
|
|
43
|
+
writeDocumentToFile(document, filePath);
|
|
44
|
+
summarize(app, durationMs, filePath);
|
|
45
|
+
await teardownStrapiApp(app);
|
|
46
|
+
};
|
|
47
|
+
const createStrapiApp = async ()=>{
|
|
48
|
+
const appContext = await core.compileStrapi();
|
|
49
|
+
const app = core.createStrapi(appContext);
|
|
50
|
+
// Make sure to not log Strapi debug info
|
|
51
|
+
app.log.level = 'error';
|
|
52
|
+
// Load internals
|
|
53
|
+
await app.load();
|
|
54
|
+
// Make sure the routes are mounted before generating the specification
|
|
55
|
+
app.server.mount();
|
|
56
|
+
return app;
|
|
57
|
+
};
|
|
58
|
+
const writeDocumentToFile = (document, filePath)=>{
|
|
59
|
+
fse.outputFileSync(filePath, JSON.stringify(document, null, 2));
|
|
60
|
+
};
|
|
61
|
+
const teardownStrapiApp = async (app)=>{
|
|
62
|
+
await app.destroy();
|
|
63
|
+
};
|
|
64
|
+
const summarize = (app, durationMs, filePath)=>{
|
|
65
|
+
const cwd = process.cwd();
|
|
66
|
+
const relativeFilePath = path.relative(cwd, filePath);
|
|
67
|
+
const { name, version } = app.config.get('info');
|
|
68
|
+
const fName = chalk.cyan(name);
|
|
69
|
+
const fVersion = chalk.cyan(`v${version}`);
|
|
70
|
+
const fFile = chalk.magenta(relativeFilePath);
|
|
71
|
+
const fTime = chalk.green(`${durationMs}ms`);
|
|
72
|
+
console.log(chalk.bold(`Generated an OpenAPI specification for "${fName} ${fVersion}" at ${fFile} in ${fTime}`));
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
exports.action = action;
|
|
76
|
+
//# sourceMappingURL=generate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate.js","sources":["../../../../../src/cli/commands/openapi/generate.ts"],"sourcesContent":["import { compileStrapi, createStrapi } from '@strapi/core';\nimport * as openapi from '@strapi/openapi';\n\nimport type { Core } from '@strapi/types';\n\nimport chalk from 'chalk';\nimport fse from 'fs-extra';\nimport path from 'path';\n\nconst DEFAULT_OUTPUT = path.join(process.cwd(), 'specification.json');\n\ninterface CommandOptions {\n output?: string;\n}\n\ninterface StrapiInfoConfig {\n name: string;\n version: string;\n}\n\nconst EXPERIMENTAL_MSG = chalk.yellow(`\n⚠️ The OpenAPI generation feature is currently experimental.\n Its behavior and output might change in future releases without following semver.\n Please report any issues you encounter on https://github.com/strapi/strapi/issues/new?template=BUG_REPORT.yml.\n`);\n\n/**\n * @experimental\n */\nconst action = async (options: CommandOptions) => {\n console.warn(EXPERIMENTAL_MSG);\n\n const filePath = options.output ?? DEFAULT_OUTPUT;\n const app = await createStrapiApp();\n\n const { document, durationMs } = openapi.generate(app, { type: 'content-api' });\n\n writeDocumentToFile(document, filePath);\n summarize(app, durationMs, filePath);\n\n await teardownStrapiApp(app);\n};\n\nconst createStrapiApp = async (): Promise<Core.Strapi> => {\n const appContext = await compileStrapi();\n const app = createStrapi(appContext);\n\n // Make sure to not log Strapi debug info\n app.log.level = 'error';\n\n // Load internals\n await app.load();\n\n // Make sure the routes are mounted before generating the specification\n app.server.mount();\n\n return app;\n};\n\nconst writeDocumentToFile = (document: unknown, filePath: string): void => {\n fse.outputFileSync(filePath, JSON.stringify(document, null, 2));\n};\n\nconst teardownStrapiApp = async (app: Core.Strapi) => {\n await app.destroy();\n};\n\nconst summarize = (app: Core.Strapi, durationMs: number, filePath: string): void => {\n const cwd = process.cwd();\n const relativeFilePath = path.relative(cwd, filePath);\n const { name, version } = app.config.get<StrapiInfoConfig>('info');\n\n const fName = chalk.cyan(name);\n const fVersion = chalk.cyan(`v${version}`);\n const fFile = chalk.magenta(relativeFilePath);\n const fTime = chalk.green(`${durationMs}ms`);\n\n console.log(\n chalk.bold(\n `Generated an OpenAPI specification for \"${fName} ${fVersion}\" at ${fFile} in ${fTime}`\n )\n );\n};\n\nexport { action };\n"],"names":["DEFAULT_OUTPUT","path","join","process","cwd","EXPERIMENTAL_MSG","chalk","yellow","action","options","console","warn","filePath","output","app","createStrapiApp","document","durationMs","openapi","generate","type","writeDocumentToFile","summarize","teardownStrapiApp","appContext","compileStrapi","createStrapi","log","level","load","server","mount","fse","outputFileSync","JSON","stringify","destroy","relativeFilePath","relative","name","version","config","get","fName","cyan","fVersion","fFile","magenta","fTime","green","bold"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,MAAMA,iBAAiBC,IAAKC,CAAAA,IAAI,CAACC,OAAAA,CAAQC,GAAG,EAAI,EAAA,oBAAA,CAAA;AAWhD,MAAMC,gBAAmBC,GAAAA,KAAAA,CAAMC,MAAM,CAAC;;;;AAItC,CAAC,CAAA;AAED;;IAGA,MAAMC,SAAS,OAAOC,OAAAA,GAAAA;AACpBC,IAAAA,OAAAA,CAAQC,IAAI,CAACN,gBAAAA,CAAAA;IAEb,MAAMO,QAAAA,GAAWH,OAAQI,CAAAA,MAAM,IAAIb,cAAAA;AACnC,IAAA,MAAMc,MAAM,MAAMC,eAAAA,EAAAA;IAElB,MAAM,EAAEC,QAAQ,EAAEC,UAAU,EAAE,GAAGC,kBAAAA,CAAQC,QAAQ,CAACL,GAAK,EAAA;QAAEM,IAAM,EAAA;AAAc,KAAA,CAAA;AAE7EC,IAAAA,mBAAAA,CAAoBL,QAAUJ,EAAAA,QAAAA,CAAAA;AAC9BU,IAAAA,SAAAA,CAAUR,KAAKG,UAAYL,EAAAA,QAAAA,CAAAA;AAE3B,IAAA,MAAMW,iBAAkBT,CAAAA,GAAAA,CAAAA;AAC1B;AAEA,MAAMC,eAAkB,GAAA,UAAA;AACtB,IAAA,MAAMS,aAAa,MAAMC,kBAAAA,EAAAA;AACzB,IAAA,MAAMX,MAAMY,iBAAaF,CAAAA,UAAAA,CAAAA;;IAGzBV,GAAIa,CAAAA,GAAG,CAACC,KAAK,GAAG,OAAA;;AAGhB,IAAA,MAAMd,IAAIe,IAAI,EAAA;;IAGdf,GAAIgB,CAAAA,MAAM,CAACC,KAAK,EAAA;IAEhB,OAAOjB,GAAAA;AACT,CAAA;AAEA,MAAMO,mBAAAA,GAAsB,CAACL,QAAmBJ,EAAAA,QAAAA,GAAAA;AAC9CoB,IAAAA,GAAAA,CAAIC,cAAc,CAACrB,QAAAA,EAAUsB,KAAKC,SAAS,CAACnB,UAAU,IAAM,EAAA,CAAA,CAAA,CAAA;AAC9D,CAAA;AAEA,MAAMO,oBAAoB,OAAOT,GAAAA,GAAAA;AAC/B,IAAA,MAAMA,IAAIsB,OAAO,EAAA;AACnB,CAAA;AAEA,MAAMd,SAAAA,GAAY,CAACR,GAAAA,EAAkBG,UAAoBL,EAAAA,QAAAA,GAAAA;IACvD,MAAMR,GAAAA,GAAMD,QAAQC,GAAG,EAAA;AACvB,IAAA,MAAMiC,gBAAmBpC,GAAAA,IAAAA,CAAKqC,QAAQ,CAAClC,GAAKQ,EAAAA,QAAAA,CAAAA;IAC5C,MAAM,EAAE2B,IAAI,EAAEC,OAAO,EAAE,GAAG1B,GAAI2B,CAAAA,MAAM,CAACC,GAAG,CAAmB,MAAA,CAAA;IAE3D,MAAMC,KAAAA,GAAQrC,KAAMsC,CAAAA,IAAI,CAACL,IAAAA,CAAAA;IACzB,MAAMM,QAAAA,GAAWvC,MAAMsC,IAAI,CAAC,CAAC,CAAC,EAAEJ,QAAQ,CAAC,CAAA;IACzC,MAAMM,KAAAA,GAAQxC,KAAMyC,CAAAA,OAAO,CAACV,gBAAAA,CAAAA;IAC5B,MAAMW,KAAAA,GAAQ1C,MAAM2C,KAAK,CAAC,CAAC,EAAEhC,UAAAA,CAAW,EAAE,CAAC,CAAA;AAE3CP,IAAAA,OAAAA,CAAQiB,GAAG,CACTrB,KAAAA,CAAM4C,IAAI,CACR,CAAC,wCAAwC,EAAEP,KAAAA,CAAM,CAAC,EAAEE,SAAS,KAAK,EAAEC,MAAM,IAAI,EAAEE,MAAM,CAAC,CAAA,CAAA;AAG7F,CAAA;;;;"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { compileStrapi, createStrapi } from '@strapi/core';
|
|
2
|
+
import * as openapi from '@strapi/openapi';
|
|
3
|
+
import chalk from 'chalk';
|
|
4
|
+
import fse from 'fs-extra';
|
|
5
|
+
import path from 'path';
|
|
6
|
+
|
|
7
|
+
const DEFAULT_OUTPUT = path.join(process.cwd(), 'specification.json');
|
|
8
|
+
const EXPERIMENTAL_MSG = chalk.yellow(`
|
|
9
|
+
⚠️ The OpenAPI generation feature is currently experimental.
|
|
10
|
+
Its behavior and output might change in future releases without following semver.
|
|
11
|
+
Please report any issues you encounter on https://github.com/strapi/strapi/issues/new?template=BUG_REPORT.yml.
|
|
12
|
+
`);
|
|
13
|
+
/**
|
|
14
|
+
* @experimental
|
|
15
|
+
*/ const action = async (options)=>{
|
|
16
|
+
console.warn(EXPERIMENTAL_MSG);
|
|
17
|
+
const filePath = options.output ?? DEFAULT_OUTPUT;
|
|
18
|
+
const app = await createStrapiApp();
|
|
19
|
+
const { document, durationMs } = openapi.generate(app, {
|
|
20
|
+
type: 'content-api'
|
|
21
|
+
});
|
|
22
|
+
writeDocumentToFile(document, filePath);
|
|
23
|
+
summarize(app, durationMs, filePath);
|
|
24
|
+
await teardownStrapiApp(app);
|
|
25
|
+
};
|
|
26
|
+
const createStrapiApp = async ()=>{
|
|
27
|
+
const appContext = await compileStrapi();
|
|
28
|
+
const app = createStrapi(appContext);
|
|
29
|
+
// Make sure to not log Strapi debug info
|
|
30
|
+
app.log.level = 'error';
|
|
31
|
+
// Load internals
|
|
32
|
+
await app.load();
|
|
33
|
+
// Make sure the routes are mounted before generating the specification
|
|
34
|
+
app.server.mount();
|
|
35
|
+
return app;
|
|
36
|
+
};
|
|
37
|
+
const writeDocumentToFile = (document, filePath)=>{
|
|
38
|
+
fse.outputFileSync(filePath, JSON.stringify(document, null, 2));
|
|
39
|
+
};
|
|
40
|
+
const teardownStrapiApp = async (app)=>{
|
|
41
|
+
await app.destroy();
|
|
42
|
+
};
|
|
43
|
+
const summarize = (app, durationMs, filePath)=>{
|
|
44
|
+
const cwd = process.cwd();
|
|
45
|
+
const relativeFilePath = path.relative(cwd, filePath);
|
|
46
|
+
const { name, version } = app.config.get('info');
|
|
47
|
+
const fName = chalk.cyan(name);
|
|
48
|
+
const fVersion = chalk.cyan(`v${version}`);
|
|
49
|
+
const fFile = chalk.magenta(relativeFilePath);
|
|
50
|
+
const fTime = chalk.green(`${durationMs}ms`);
|
|
51
|
+
console.log(chalk.bold(`Generated an OpenAPI specification for "${fName} ${fVersion}" at ${fFile} in ${fTime}`));
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
export { action };
|
|
55
|
+
//# sourceMappingURL=generate.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate.mjs","sources":["../../../../../src/cli/commands/openapi/generate.ts"],"sourcesContent":["import { compileStrapi, createStrapi } from '@strapi/core';\nimport * as openapi from '@strapi/openapi';\n\nimport type { Core } from '@strapi/types';\n\nimport chalk from 'chalk';\nimport fse from 'fs-extra';\nimport path from 'path';\n\nconst DEFAULT_OUTPUT = path.join(process.cwd(), 'specification.json');\n\ninterface CommandOptions {\n output?: string;\n}\n\ninterface StrapiInfoConfig {\n name: string;\n version: string;\n}\n\nconst EXPERIMENTAL_MSG = chalk.yellow(`\n⚠️ The OpenAPI generation feature is currently experimental.\n Its behavior and output might change in future releases without following semver.\n Please report any issues you encounter on https://github.com/strapi/strapi/issues/new?template=BUG_REPORT.yml.\n`);\n\n/**\n * @experimental\n */\nconst action = async (options: CommandOptions) => {\n console.warn(EXPERIMENTAL_MSG);\n\n const filePath = options.output ?? DEFAULT_OUTPUT;\n const app = await createStrapiApp();\n\n const { document, durationMs } = openapi.generate(app, { type: 'content-api' });\n\n writeDocumentToFile(document, filePath);\n summarize(app, durationMs, filePath);\n\n await teardownStrapiApp(app);\n};\n\nconst createStrapiApp = async (): Promise<Core.Strapi> => {\n const appContext = await compileStrapi();\n const app = createStrapi(appContext);\n\n // Make sure to not log Strapi debug info\n app.log.level = 'error';\n\n // Load internals\n await app.load();\n\n // Make sure the routes are mounted before generating the specification\n app.server.mount();\n\n return app;\n};\n\nconst writeDocumentToFile = (document: unknown, filePath: string): void => {\n fse.outputFileSync(filePath, JSON.stringify(document, null, 2));\n};\n\nconst teardownStrapiApp = async (app: Core.Strapi) => {\n await app.destroy();\n};\n\nconst summarize = (app: Core.Strapi, durationMs: number, filePath: string): void => {\n const cwd = process.cwd();\n const relativeFilePath = path.relative(cwd, filePath);\n const { name, version } = app.config.get<StrapiInfoConfig>('info');\n\n const fName = chalk.cyan(name);\n const fVersion = chalk.cyan(`v${version}`);\n const fFile = chalk.magenta(relativeFilePath);\n const fTime = chalk.green(`${durationMs}ms`);\n\n console.log(\n chalk.bold(\n `Generated an OpenAPI specification for \"${fName} ${fVersion}\" at ${fFile} in ${fTime}`\n )\n );\n};\n\nexport { action };\n"],"names":["DEFAULT_OUTPUT","path","join","process","cwd","EXPERIMENTAL_MSG","chalk","yellow","action","options","console","warn","filePath","output","app","createStrapiApp","document","durationMs","openapi","generate","type","writeDocumentToFile","summarize","teardownStrapiApp","appContext","compileStrapi","createStrapi","log","level","load","server","mount","fse","outputFileSync","JSON","stringify","destroy","relativeFilePath","relative","name","version","config","get","fName","cyan","fVersion","fFile","magenta","fTime","green","bold"],"mappings":";;;;;;AASA,MAAMA,iBAAiBC,IAAKC,CAAAA,IAAI,CAACC,OAAAA,CAAQC,GAAG,EAAI,EAAA,oBAAA,CAAA;AAWhD,MAAMC,gBAAmBC,GAAAA,KAAAA,CAAMC,MAAM,CAAC;;;;AAItC,CAAC,CAAA;AAED;;IAGA,MAAMC,SAAS,OAAOC,OAAAA,GAAAA;AACpBC,IAAAA,OAAAA,CAAQC,IAAI,CAACN,gBAAAA,CAAAA;IAEb,MAAMO,QAAAA,GAAWH,OAAQI,CAAAA,MAAM,IAAIb,cAAAA;AACnC,IAAA,MAAMc,MAAM,MAAMC,eAAAA,EAAAA;IAElB,MAAM,EAAEC,QAAQ,EAAEC,UAAU,EAAE,GAAGC,OAAAA,CAAQC,QAAQ,CAACL,GAAK,EAAA;QAAEM,IAAM,EAAA;AAAc,KAAA,CAAA;AAE7EC,IAAAA,mBAAAA,CAAoBL,QAAUJ,EAAAA,QAAAA,CAAAA;AAC9BU,IAAAA,SAAAA,CAAUR,KAAKG,UAAYL,EAAAA,QAAAA,CAAAA;AAE3B,IAAA,MAAMW,iBAAkBT,CAAAA,GAAAA,CAAAA;AAC1B;AAEA,MAAMC,eAAkB,GAAA,UAAA;AACtB,IAAA,MAAMS,aAAa,MAAMC,aAAAA,EAAAA;AACzB,IAAA,MAAMX,MAAMY,YAAaF,CAAAA,UAAAA,CAAAA;;IAGzBV,GAAIa,CAAAA,GAAG,CAACC,KAAK,GAAG,OAAA;;AAGhB,IAAA,MAAMd,IAAIe,IAAI,EAAA;;IAGdf,GAAIgB,CAAAA,MAAM,CAACC,KAAK,EAAA;IAEhB,OAAOjB,GAAAA;AACT,CAAA;AAEA,MAAMO,mBAAAA,GAAsB,CAACL,QAAmBJ,EAAAA,QAAAA,GAAAA;AAC9CoB,IAAAA,GAAAA,CAAIC,cAAc,CAACrB,QAAAA,EAAUsB,KAAKC,SAAS,CAACnB,UAAU,IAAM,EAAA,CAAA,CAAA,CAAA;AAC9D,CAAA;AAEA,MAAMO,oBAAoB,OAAOT,GAAAA,GAAAA;AAC/B,IAAA,MAAMA,IAAIsB,OAAO,EAAA;AACnB,CAAA;AAEA,MAAMd,SAAAA,GAAY,CAACR,GAAAA,EAAkBG,UAAoBL,EAAAA,QAAAA,GAAAA;IACvD,MAAMR,GAAAA,GAAMD,QAAQC,GAAG,EAAA;AACvB,IAAA,MAAMiC,gBAAmBpC,GAAAA,IAAAA,CAAKqC,QAAQ,CAAClC,GAAKQ,EAAAA,QAAAA,CAAAA;IAC5C,MAAM,EAAE2B,IAAI,EAAEC,OAAO,EAAE,GAAG1B,GAAI2B,CAAAA,MAAM,CAACC,GAAG,CAAmB,MAAA,CAAA;IAE3D,MAAMC,KAAAA,GAAQrC,KAAMsC,CAAAA,IAAI,CAACL,IAAAA,CAAAA;IACzB,MAAMM,QAAAA,GAAWvC,MAAMsC,IAAI,CAAC,CAAC,CAAC,EAAEJ,QAAQ,CAAC,CAAA;IACzC,MAAMM,KAAAA,GAAQxC,KAAMyC,CAAAA,OAAO,CAACV,gBAAAA,CAAAA;IAC5B,MAAMW,KAAAA,GAAQ1C,MAAM2C,KAAK,CAAC,CAAC,EAAEhC,UAAAA,CAAW,EAAE,CAAC,CAAA;AAE3CP,IAAAA,OAAAA,CAAQiB,GAAG,CACTrB,KAAAA,CAAM4C,IAAI,CACR,CAAC,wCAAwC,EAAEP,KAAAA,CAAM,CAAC,EAAEE,SAAS,KAAK,EAAEC,MAAM,IAAI,EAAEE,MAAM,CAAC,CAAA,CAAA;AAG7F,CAAA;;;;"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var commander = require('commander');
|
|
4
|
+
var helpers = require('../../utils/helpers.js');
|
|
5
|
+
var generate = require('./generate.js');
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* `$ strapi openapi`
|
|
9
|
+
*/ const command = ()=>{
|
|
10
|
+
const openapi = commander.createCommand('openapi').description('Manage OpenAPI specifications for your Strapi application');
|
|
11
|
+
// `$ strapi openapi generate [-o, --output <path>]`
|
|
12
|
+
openapi.command('generate').description('Generate an OpenAPI specification for the current Strapi application').option('-o, --output <path>', 'Output file path for the OpenAPI specification').action(helpers.runAction('openapi:generate', generate.action));
|
|
13
|
+
return openapi;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
exports.command = command;
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/cli/commands/openapi/index.ts"],"sourcesContent":["import { createCommand } from 'commander';\n\nimport type { StrapiCommand } from '../../types';\nimport { runAction } from '../../utils/helpers';\nimport { action as generate } from './generate';\n\n/**\n * `$ strapi openapi`\n */\nconst command: StrapiCommand = () => {\n const openapi = createCommand('openapi').description(\n 'Manage OpenAPI specifications for your Strapi application'\n );\n\n // `$ strapi openapi generate [-o, --output <path>]`\n openapi\n .command('generate')\n .description('Generate an OpenAPI specification for the current Strapi application')\n .option('-o, --output <path>', 'Output file path for the OpenAPI specification')\n .action(runAction('openapi:generate', generate));\n\n return openapi;\n};\n\nexport { command };\n"],"names":["command","openapi","createCommand","description","option","action","runAction","generate"],"mappings":";;;;;;AAMA;;AAEC,UACKA,OAAyB,GAAA,IAAA;AAC7B,IAAA,MAAMC,OAAUC,GAAAA,uBAAAA,CAAc,SAAWC,CAAAA,CAAAA,WAAW,CAClD,2DAAA,CAAA;;AAIFF,IAAAA,OAAAA,CACGD,OAAO,CAAC,UACRG,CAAAA,CAAAA,WAAW,CAAC,sEAAA,CAAA,CACZC,MAAM,CAAC,qBAAuB,EAAA,gDAAA,CAAA,CAC9BC,MAAM,CAACC,kBAAU,kBAAoBC,EAAAA,eAAAA,CAAAA,CAAAA;IAExC,OAAON,OAAAA;AACT;;;;"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { createCommand } from 'commander';
|
|
2
|
+
import { runAction } from '../../utils/helpers.mjs';
|
|
3
|
+
import { action } from './generate.mjs';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* `$ strapi openapi`
|
|
7
|
+
*/ const command = ()=>{
|
|
8
|
+
const openapi = createCommand('openapi').description('Manage OpenAPI specifications for your Strapi application');
|
|
9
|
+
// `$ strapi openapi generate [-o, --output <path>]`
|
|
10
|
+
openapi.command('generate').description('Generate an OpenAPI specification for the current Strapi application').option('-o, --output <path>', 'Output file path for the OpenAPI specification').action(runAction('openapi:generate', action));
|
|
11
|
+
return openapi;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export { command };
|
|
15
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../src/cli/commands/openapi/index.ts"],"sourcesContent":["import { createCommand } from 'commander';\n\nimport type { StrapiCommand } from '../../types';\nimport { runAction } from '../../utils/helpers';\nimport { action as generate } from './generate';\n\n/**\n * `$ strapi openapi`\n */\nconst command: StrapiCommand = () => {\n const openapi = createCommand('openapi').description(\n 'Manage OpenAPI specifications for your Strapi application'\n );\n\n // `$ strapi openapi generate [-o, --output <path>]`\n openapi\n .command('generate')\n .description('Generate an OpenAPI specification for the current Strapi application')\n .option('-o, --output <path>', 'Output file path for the OpenAPI specification')\n .action(runAction('openapi:generate', generate));\n\n return openapi;\n};\n\nexport { command };\n"],"names":["command","openapi","createCommand","description","option","action","runAction","generate"],"mappings":";;;;AAMA;;AAEC,UACKA,OAAyB,GAAA,IAAA;AAC7B,IAAA,MAAMC,OAAUC,GAAAA,aAAAA,CAAc,SAAWC,CAAAA,CAAAA,WAAW,CAClD,2DAAA,CAAA;;AAIFF,IAAAA,OAAAA,CACGD,OAAO,CAAC,UACRG,CAAAA,CAAAA,WAAW,CAAC,sEAAA,CAAA,CACZC,MAAM,CAAC,qBAAuB,EAAA,gDAAA,CAAA,CAC9BC,MAAM,CAACC,UAAU,kBAAoBC,EAAAA,MAAAA,CAAAA,CAAAA;IAExC,OAAON,OAAAA;AACT;;;;"}
|
|
@@ -9,7 +9,7 @@ var plugins = require('./plugins.js');
|
|
|
9
9
|
|
|
10
10
|
const resolveBaseConfig = async (ctx)=>{
|
|
11
11
|
const target = browserslistToEsbuild(ctx.target);
|
|
12
|
-
const isMonorepoExampleApp = ctx.strapi.internal_config?.uuid
|
|
12
|
+
const isMonorepoExampleApp = ctx.strapi.internal_config?.uuid?.startsWith('strapi_examples_');
|
|
13
13
|
return {
|
|
14
14
|
root: ctx.cwd,
|
|
15
15
|
base: ctx.basePath,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sources":["../../../../src/node/vite/config.ts"],"sourcesContent":["import type { InlineConfig, UserConfig } from 'vite';\nimport browserslistToEsbuild from 'browserslist-to-esbuild';\nimport react from '@vitejs/plugin-react-swc';\n\nimport { getUserConfig } from '../core/config';\nimport { loadStrapiMonorepo } from '../core/monorepo';\nimport { getMonorepoAliases } from '../core/aliases';\nimport type { BuildContext } from '../create-build-context';\nimport { buildFilesPlugin } from './plugins';\n\nconst resolveBaseConfig = async (ctx: BuildContext): Promise<InlineConfig> => {\n const target = browserslistToEsbuild(ctx.target);\n const isMonorepoExampleApp = (ctx.strapi as any).internal_config?.uuid
|
|
1
|
+
{"version":3,"file":"config.js","sources":["../../../../src/node/vite/config.ts"],"sourcesContent":["import type { InlineConfig, UserConfig } from 'vite';\nimport browserslistToEsbuild from 'browserslist-to-esbuild';\nimport react from '@vitejs/plugin-react-swc';\n\nimport { getUserConfig } from '../core/config';\nimport { loadStrapiMonorepo } from '../core/monorepo';\nimport { getMonorepoAliases } from '../core/aliases';\nimport type { BuildContext } from '../create-build-context';\nimport { buildFilesPlugin } from './plugins';\n\nconst resolveBaseConfig = async (ctx: BuildContext): Promise<InlineConfig> => {\n const target = browserslistToEsbuild(ctx.target);\n const isMonorepoExampleApp = (ctx.strapi as any).internal_config?.uuid?.startsWith(\n 'strapi_examples_'\n );\n\n return {\n root: ctx.cwd,\n base: ctx.basePath,\n build: {\n emptyOutDir: false, // Rely on CLI to do this\n outDir: ctx.distDir,\n target,\n },\n cacheDir: 'node_modules/.strapi/vite',\n configFile: false,\n define: {\n 'process.env': ctx.env,\n },\n envPrefix: 'STRAPI_ADMIN_',\n optimizeDeps: {\n include: [\n // pre-bundle React dependencies to avoid React duplicates,\n // even if React dependencies are not direct dependencies\n // https://react.dev/warnings/invalid-hook-call-warning#duplicate-react\n 'react',\n `react/jsx-runtime`,\n 'react-dom/client',\n 'styled-components',\n 'react-router-dom',\n /**\n * Pre-bundle other dependencies that would otherwise cause a page reload when imported.\n * See \"performance\" section: https://vite.dev/guide/dep-pre-bundling.html#the-why\n * Only include dependencies for our internal example apps, otherwise it will break\n * real user apps that may not have those dependencies.\n */\n ...(isMonorepoExampleApp\n ? [\n '@dnd-kit/core',\n '@dnd-kit/sortable',\n '@dnd-kit/utilities',\n '@dnd-kit/modifiers',\n '@radix-ui/react-toolbar',\n 'codemirror5',\n 'codemirror5/addon/display/placeholder',\n 'date-fns-tz',\n 'date-fns/format',\n 'date-fns/formatISO',\n 'highlight.js',\n 'lodash/capitalize',\n 'lodash/fp',\n 'lodash/groupBy',\n 'lodash/has',\n 'lodash/isNil',\n 'lodash/locale',\n 'lodash/map',\n 'lodash/mapValues',\n 'lodash/pull',\n 'lodash/size',\n 'lodash/sortBy',\n 'lodash/tail',\n 'lodash/toLower',\n 'lodash/toNumber',\n 'lodash/toString',\n 'lodash/truncate',\n 'lodash/uniq',\n 'lodash/upperFirst',\n 'markdown-it',\n 'markdown-it-abbr',\n 'markdown-it-container',\n 'markdown-it-deflist',\n 'markdown-it-emoji',\n 'markdown-it-footnote',\n 'markdown-it-ins',\n 'markdown-it-mark',\n 'markdown-it-sub',\n 'markdown-it-sup',\n 'prismjs/components/*.js',\n 'react-colorful',\n 'react-dnd-html5-backend',\n 'react-window',\n 'sanitize-html',\n 'semver',\n 'semver/functions/lt',\n 'semver/functions/valid',\n 'slate',\n 'slate-history',\n 'slate-react',\n ]\n : []),\n ],\n },\n resolve: {\n // https://react.dev/warnings/invalid-hook-call-warning#duplicate-react\n dedupe: ['react', 'react-dom', 'react-router-dom', 'styled-components'],\n },\n plugins: [react(), buildFilesPlugin(ctx)],\n };\n};\n\nconst resolveProductionConfig = async (ctx: BuildContext): Promise<InlineConfig> => {\n const {\n options: { minify, sourcemaps },\n } = ctx;\n\n const baseConfig = await resolveBaseConfig(ctx);\n\n return {\n ...baseConfig,\n logLevel: 'silent',\n mode: 'production',\n build: {\n ...baseConfig.build,\n assetsDir: '',\n minify,\n sourcemap: sourcemaps,\n rollupOptions: {\n input: {\n strapi: ctx.entry,\n },\n },\n },\n };\n};\n\nconst resolveDevelopmentConfig = async (ctx: BuildContext): Promise<InlineConfig> => {\n const monorepo = await loadStrapiMonorepo(ctx.cwd);\n const baseConfig = await resolveBaseConfig(ctx);\n\n return {\n ...baseConfig,\n mode: 'development',\n resolve: {\n ...baseConfig.resolve,\n alias: {\n ...baseConfig.resolve?.alias,\n ...getMonorepoAliases({ monorepo }),\n },\n },\n server: {\n cors: false,\n middlewareMode: true,\n open: ctx.options.open,\n hmr: {\n overlay: false,\n server: ctx.options.hmrServer,\n clientPort: ctx.options.hmrClientPort,\n },\n },\n appType: 'custom',\n };\n};\n\nconst USER_CONFIGS = ['vite.config.js', 'vite.config.mjs', 'vite.config.ts'];\n\ntype UserViteConfig = (config: UserConfig) => UserConfig;\n\nconst mergeConfigWithUserConfig = async (config: InlineConfig, ctx: BuildContext) => {\n const userConfig = await getUserConfig<UserViteConfig>(USER_CONFIGS, ctx);\n\n if (userConfig) {\n return userConfig(config);\n }\n\n return config;\n};\n\nexport { mergeConfigWithUserConfig, resolveProductionConfig, resolveDevelopmentConfig };\n"],"names":["resolveBaseConfig","ctx","target","browserslistToEsbuild","isMonorepoExampleApp","strapi","internal_config","uuid","startsWith","root","cwd","base","basePath","build","emptyOutDir","outDir","distDir","cacheDir","configFile","define","env","envPrefix","optimizeDeps","include","resolve","dedupe","plugins","react","buildFilesPlugin","resolveProductionConfig","options","minify","sourcemaps","baseConfig","logLevel","mode","assetsDir","sourcemap","rollupOptions","input","entry","resolveDevelopmentConfig","monorepo","loadStrapiMonorepo","alias","getMonorepoAliases","server","cors","middlewareMode","open","hmr","overlay","hmrServer","clientPort","hmrClientPort","appType","USER_CONFIGS","mergeConfigWithUserConfig","config","userConfig","getUserConfig"],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ import { buildFilesPlugin } from './plugins.mjs';
|
|
|
7
7
|
|
|
8
8
|
const resolveBaseConfig = async (ctx)=>{
|
|
9
9
|
const target = browserslistToEsbuild(ctx.target);
|
|
10
|
-
const isMonorepoExampleApp = ctx.strapi.internal_config?.uuid
|
|
10
|
+
const isMonorepoExampleApp = ctx.strapi.internal_config?.uuid?.startsWith('strapi_examples_');
|
|
11
11
|
return {
|
|
12
12
|
root: ctx.cwd,
|
|
13
13
|
base: ctx.basePath,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.mjs","sources":["../../../../src/node/vite/config.ts"],"sourcesContent":["import type { InlineConfig, UserConfig } from 'vite';\nimport browserslistToEsbuild from 'browserslist-to-esbuild';\nimport react from '@vitejs/plugin-react-swc';\n\nimport { getUserConfig } from '../core/config';\nimport { loadStrapiMonorepo } from '../core/monorepo';\nimport { getMonorepoAliases } from '../core/aliases';\nimport type { BuildContext } from '../create-build-context';\nimport { buildFilesPlugin } from './plugins';\n\nconst resolveBaseConfig = async (ctx: BuildContext): Promise<InlineConfig> => {\n const target = browserslistToEsbuild(ctx.target);\n const isMonorepoExampleApp = (ctx.strapi as any).internal_config?.uuid
|
|
1
|
+
{"version":3,"file":"config.mjs","sources":["../../../../src/node/vite/config.ts"],"sourcesContent":["import type { InlineConfig, UserConfig } from 'vite';\nimport browserslistToEsbuild from 'browserslist-to-esbuild';\nimport react from '@vitejs/plugin-react-swc';\n\nimport { getUserConfig } from '../core/config';\nimport { loadStrapiMonorepo } from '../core/monorepo';\nimport { getMonorepoAliases } from '../core/aliases';\nimport type { BuildContext } from '../create-build-context';\nimport { buildFilesPlugin } from './plugins';\n\nconst resolveBaseConfig = async (ctx: BuildContext): Promise<InlineConfig> => {\n const target = browserslistToEsbuild(ctx.target);\n const isMonorepoExampleApp = (ctx.strapi as any).internal_config?.uuid?.startsWith(\n 'strapi_examples_'\n );\n\n return {\n root: ctx.cwd,\n base: ctx.basePath,\n build: {\n emptyOutDir: false, // Rely on CLI to do this\n outDir: ctx.distDir,\n target,\n },\n cacheDir: 'node_modules/.strapi/vite',\n configFile: false,\n define: {\n 'process.env': ctx.env,\n },\n envPrefix: 'STRAPI_ADMIN_',\n optimizeDeps: {\n include: [\n // pre-bundle React dependencies to avoid React duplicates,\n // even if React dependencies are not direct dependencies\n // https://react.dev/warnings/invalid-hook-call-warning#duplicate-react\n 'react',\n `react/jsx-runtime`,\n 'react-dom/client',\n 'styled-components',\n 'react-router-dom',\n /**\n * Pre-bundle other dependencies that would otherwise cause a page reload when imported.\n * See \"performance\" section: https://vite.dev/guide/dep-pre-bundling.html#the-why\n * Only include dependencies for our internal example apps, otherwise it will break\n * real user apps that may not have those dependencies.\n */\n ...(isMonorepoExampleApp\n ? [\n '@dnd-kit/core',\n '@dnd-kit/sortable',\n '@dnd-kit/utilities',\n '@dnd-kit/modifiers',\n '@radix-ui/react-toolbar',\n 'codemirror5',\n 'codemirror5/addon/display/placeholder',\n 'date-fns-tz',\n 'date-fns/format',\n 'date-fns/formatISO',\n 'highlight.js',\n 'lodash/capitalize',\n 'lodash/fp',\n 'lodash/groupBy',\n 'lodash/has',\n 'lodash/isNil',\n 'lodash/locale',\n 'lodash/map',\n 'lodash/mapValues',\n 'lodash/pull',\n 'lodash/size',\n 'lodash/sortBy',\n 'lodash/tail',\n 'lodash/toLower',\n 'lodash/toNumber',\n 'lodash/toString',\n 'lodash/truncate',\n 'lodash/uniq',\n 'lodash/upperFirst',\n 'markdown-it',\n 'markdown-it-abbr',\n 'markdown-it-container',\n 'markdown-it-deflist',\n 'markdown-it-emoji',\n 'markdown-it-footnote',\n 'markdown-it-ins',\n 'markdown-it-mark',\n 'markdown-it-sub',\n 'markdown-it-sup',\n 'prismjs/components/*.js',\n 'react-colorful',\n 'react-dnd-html5-backend',\n 'react-window',\n 'sanitize-html',\n 'semver',\n 'semver/functions/lt',\n 'semver/functions/valid',\n 'slate',\n 'slate-history',\n 'slate-react',\n ]\n : []),\n ],\n },\n resolve: {\n // https://react.dev/warnings/invalid-hook-call-warning#duplicate-react\n dedupe: ['react', 'react-dom', 'react-router-dom', 'styled-components'],\n },\n plugins: [react(), buildFilesPlugin(ctx)],\n };\n};\n\nconst resolveProductionConfig = async (ctx: BuildContext): Promise<InlineConfig> => {\n const {\n options: { minify, sourcemaps },\n } = ctx;\n\n const baseConfig = await resolveBaseConfig(ctx);\n\n return {\n ...baseConfig,\n logLevel: 'silent',\n mode: 'production',\n build: {\n ...baseConfig.build,\n assetsDir: '',\n minify,\n sourcemap: sourcemaps,\n rollupOptions: {\n input: {\n strapi: ctx.entry,\n },\n },\n },\n };\n};\n\nconst resolveDevelopmentConfig = async (ctx: BuildContext): Promise<InlineConfig> => {\n const monorepo = await loadStrapiMonorepo(ctx.cwd);\n const baseConfig = await resolveBaseConfig(ctx);\n\n return {\n ...baseConfig,\n mode: 'development',\n resolve: {\n ...baseConfig.resolve,\n alias: {\n ...baseConfig.resolve?.alias,\n ...getMonorepoAliases({ monorepo }),\n },\n },\n server: {\n cors: false,\n middlewareMode: true,\n open: ctx.options.open,\n hmr: {\n overlay: false,\n server: ctx.options.hmrServer,\n clientPort: ctx.options.hmrClientPort,\n },\n },\n appType: 'custom',\n };\n};\n\nconst USER_CONFIGS = ['vite.config.js', 'vite.config.mjs', 'vite.config.ts'];\n\ntype UserViteConfig = (config: UserConfig) => UserConfig;\n\nconst mergeConfigWithUserConfig = async (config: InlineConfig, ctx: BuildContext) => {\n const userConfig = await getUserConfig<UserViteConfig>(USER_CONFIGS, ctx);\n\n if (userConfig) {\n return userConfig(config);\n }\n\n return config;\n};\n\nexport { mergeConfigWithUserConfig, resolveProductionConfig, resolveDevelopmentConfig };\n"],"names":["resolveBaseConfig","ctx","target","browserslistToEsbuild","isMonorepoExampleApp","strapi","internal_config","uuid","startsWith","root","cwd","base","basePath","build","emptyOutDir","outDir","distDir","cacheDir","configFile","define","env","envPrefix","optimizeDeps","include","resolve","dedupe","plugins","react","buildFilesPlugin","resolveProductionConfig","options","minify","sourcemaps","baseConfig","logLevel","mode","assetsDir","sourcemap","rollupOptions","input","entry","resolveDevelopmentConfig","monorepo","loadStrapiMonorepo","alias","getMonorepoAliases","server","cors","middlewareMode","open","hmr","overlay","hmrServer","clientPort","hmrClientPort","appType","USER_CONFIGS","mergeConfigWithUserConfig","config","userConfig","getUserConfig"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@strapi/strapi",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.21.0",
|
|
4
4
|
"description": "An open source headless CMS solution to create and manage your own API. It provides a powerful dashboard and features to make your life easier. Databases supported: MySQL, MariaDB, PostgreSQL, SQLite",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"strapi",
|
|
@@ -110,24 +110,25 @@
|
|
|
110
110
|
},
|
|
111
111
|
"dependencies": {
|
|
112
112
|
"@pmmmwh/react-refresh-webpack-plugin": "0.5.15",
|
|
113
|
-
"@strapi/admin": "5.
|
|
114
|
-
"@strapi/cloud-cli": "5.
|
|
115
|
-
"@strapi/content-manager": "5.
|
|
116
|
-
"@strapi/content-releases": "5.
|
|
117
|
-
"@strapi/content-type-builder": "5.
|
|
118
|
-
"@strapi/core": "5.
|
|
119
|
-
"@strapi/data-transfer": "5.
|
|
120
|
-
"@strapi/database": "5.
|
|
121
|
-
"@strapi/email": "5.
|
|
122
|
-
"@strapi/generators": "5.
|
|
123
|
-
"@strapi/i18n": "5.
|
|
124
|
-
"@strapi/logger": "5.
|
|
125
|
-
"@strapi/
|
|
126
|
-
"@strapi/
|
|
127
|
-
"@strapi/
|
|
128
|
-
"@strapi/
|
|
129
|
-
"@strapi/
|
|
130
|
-
"@strapi/
|
|
113
|
+
"@strapi/admin": "5.21.0",
|
|
114
|
+
"@strapi/cloud-cli": "5.21.0",
|
|
115
|
+
"@strapi/content-manager": "5.21.0",
|
|
116
|
+
"@strapi/content-releases": "5.21.0",
|
|
117
|
+
"@strapi/content-type-builder": "5.21.0",
|
|
118
|
+
"@strapi/core": "5.21.0",
|
|
119
|
+
"@strapi/data-transfer": "5.21.0",
|
|
120
|
+
"@strapi/database": "5.21.0",
|
|
121
|
+
"@strapi/email": "5.21.0",
|
|
122
|
+
"@strapi/generators": "5.21.0",
|
|
123
|
+
"@strapi/i18n": "5.21.0",
|
|
124
|
+
"@strapi/logger": "5.21.0",
|
|
125
|
+
"@strapi/openapi": "5.21.0",
|
|
126
|
+
"@strapi/permissions": "5.21.0",
|
|
127
|
+
"@strapi/review-workflows": "5.21.0",
|
|
128
|
+
"@strapi/types": "5.21.0",
|
|
129
|
+
"@strapi/typescript-utils": "5.21.0",
|
|
130
|
+
"@strapi/upload": "5.21.0",
|
|
131
|
+
"@strapi/utils": "5.21.0",
|
|
131
132
|
"@types/nodemon": "1.19.6",
|
|
132
133
|
"@vitejs/plugin-react-swc": "3.6.0",
|
|
133
134
|
"boxen": "5.1.2",
|
|
@@ -181,11 +182,11 @@
|
|
|
181
182
|
"@types/node": "18.19.24",
|
|
182
183
|
"@types/webpack-bundle-analyzer": "4.7.0",
|
|
183
184
|
"@types/webpack-hot-middleware": "2.25.9",
|
|
184
|
-
"eslint-config-custom": "5.
|
|
185
|
+
"eslint-config-custom": "5.21.0",
|
|
185
186
|
"jest": "29.6.0",
|
|
186
187
|
"react": "18.3.1",
|
|
187
188
|
"react-dom": "18.3.1",
|
|
188
|
-
"tsconfig": "5.
|
|
189
|
+
"tsconfig": "5.21.0"
|
|
189
190
|
},
|
|
190
191
|
"peerDependencies": {
|
|
191
192
|
"react": "^17.0.0 || ^18.0.0",
|