@strapi/core 0.0.0-experimental.aa680be2574ebd6a8ca7675ce7ba57512d0df8cf → 0.0.0-experimental.aa8f064c5e2c0138b780746dc4455c060da87829
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/Strapi.d.ts.map +1 -1
- package/dist/Strapi.js +2 -0
- package/dist/Strapi.js.map +1 -1
- package/dist/Strapi.mjs +2 -0
- package/dist/Strapi.mjs.map +1 -1
- package/dist/configuration/index.d.ts +1 -0
- package/dist/configuration/index.d.ts.map +1 -1
- package/dist/configuration/index.js +1 -0
- package/dist/configuration/index.js.map +1 -1
- package/dist/configuration/index.mjs +1 -0
- package/dist/configuration/index.mjs.map +1 -1
- package/dist/ee/index.d.ts +6 -0
- package/dist/ee/index.d.ts.map +1 -1
- package/dist/ee/index.js +29 -3
- package/dist/ee/index.js.map +1 -1
- package/dist/ee/index.mjs +30 -4
- package/dist/ee/index.mjs.map +1 -1
- package/dist/ee/license.d.ts +3 -1
- package/dist/ee/license.d.ts.map +1 -1
- package/dist/ee/license.js +8 -2
- package/dist/ee/license.js.map +1 -1
- package/dist/ee/license.mjs +9 -4
- package/dist/ee/license.mjs.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/dist/package.json.js +15 -13
- package/dist/package.json.js.map +1 -1
- package/dist/package.json.mjs +15 -13
- package/dist/package.json.mjs.map +1 -1
- package/dist/services/core-store.d.ts +2 -2
- package/dist/services/core-store.d.ts.map +1 -1
- package/dist/services/core-store.js.map +1 -1
- package/dist/services/core-store.mjs.map +1 -1
- package/dist/services/document-service/entries.d.ts.map +1 -1
- package/dist/services/document-service/entries.js +42 -0
- package/dist/services/document-service/entries.js.map +1 -1
- package/dist/services/document-service/entries.mjs +43 -1
- package/dist/services/document-service/entries.mjs.map +1 -1
- package/dist/services/document-service/internationalization.d.ts +6 -1
- package/dist/services/document-service/internationalization.d.ts.map +1 -1
- package/dist/services/document-service/internationalization.js +32 -0
- package/dist/services/document-service/internationalization.js.map +1 -1
- package/dist/services/document-service/internationalization.mjs +32 -1
- package/dist/services/document-service/internationalization.mjs.map +1 -1
- package/dist/services/document-service/repository.d.ts.map +1 -1
- package/dist/services/document-service/repository.js +5 -4
- package/dist/services/document-service/repository.js.map +1 -1
- package/dist/services/document-service/repository.mjs +6 -5
- package/dist/services/document-service/repository.mjs.map +1 -1
- package/dist/services/entity-validator/index.d.ts.map +1 -1
- package/dist/services/entity-validator/index.js +9 -0
- package/dist/services/entity-validator/index.js.map +1 -1
- package/dist/services/entity-validator/index.mjs +9 -0
- package/dist/services/entity-validator/index.mjs.map +1 -1
- package/dist/services/entity-validator/validators.d.ts +1 -0
- package/dist/services/entity-validator/validators.d.ts.map +1 -1
- package/dist/services/entity-validator/validators.js +3 -0
- package/dist/services/entity-validator/validators.js.map +1 -1
- package/dist/services/entity-validator/validators.mjs +3 -0
- package/dist/services/entity-validator/validators.mjs.map +1 -1
- package/dist/services/metrics/admin-user-hash.d.ts.map +1 -1
- package/dist/services/metrics/admin-user-hash.js.map +1 -1
- package/dist/services/metrics/admin-user-hash.mjs.map +1 -1
- package/dist/services/metrics/sender.d.ts.map +1 -1
- package/dist/services/metrics/sender.js +3 -3
- package/dist/services/metrics/sender.js.map +1 -1
- package/dist/services/metrics/sender.mjs +4 -4
- package/dist/services/metrics/sender.mjs.map +1 -1
- package/dist/services/utils/conditional-fields.d.ts +3 -0
- package/dist/services/utils/conditional-fields.d.ts.map +1 -0
- package/dist/services/utils/conditional-fields.js +22 -0
- package/dist/services/utils/conditional-fields.js.map +1 -0
- package/dist/services/utils/conditional-fields.mjs +20 -0
- package/dist/services/utils/conditional-fields.mjs.map +1 -0
- package/dist/utils/fetch.d.ts +5 -1
- package/dist/utils/fetch.d.ts.map +1 -1
- package/dist/utils/fetch.js +8 -4
- package/dist/utils/fetch.js.map +1 -1
- package/dist/utils/fetch.mjs +8 -4
- package/dist/utils/fetch.mjs.map +1 -1
- package/dist/utils/transform-content-types-to-models.d.ts +197 -0
- package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
- package/package.json +15 -13
package/dist/Strapi.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Strapi.d.ts","sourceRoot":"","sources":["../src/Strapi.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAgB,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAQhE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
1
|
+
{"version":3,"file":"Strapi.d.ts","sourceRoot":"","sources":["../src/Strapi.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAgB,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAQhE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAiBxC,OAAO,EAAE,eAAe,EAAyB,MAAM,qBAAqB,CAAC;AAM7E,cAAM,MAAO,SAAQ,SAAU,YAAW,IAAI,CAAC,MAAM;IACnD,GAAG,EAAE,GAAG,CAAC;IAET,QAAQ,EAAE,OAAO,CAAS;IAE1B,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;gBAElC,IAAI,EAAE,aAAa;IAY/B,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,CAEvB;IAED,IAAI,EAAE,IAAI,OAAO,CAEhB;IAED,IAAI,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAE1B;IAED,IAAI,IAAI,IAAI,IAAI,CAAC,iBAAiB,CAEjC;IAED,IAAI,MAAM,IAAI,IAAI,CAAC,QAAQ,CAE1B;IAED,IAAI,EAAE,IAAI,QAAQ,CAEjB;IAED,IAAI,cAAc,IAAI,OAAO,CAAC,cAAc,CAAC,cAAc,CAE1D;IAED,IAAI,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC,YAAY,CAEpD;IAED,IAAI,eAAe,IAAI,OAAO,CAAC,eAAe,CAAC,eAAe,CAE7D;IAED;;OAEG;IACH,IAAI,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC,aAAa,CAEvD;IAED,IAAI,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,OAAO,CAEzC;IAED,IAAI,QAAQ,IAAI,eAAe,CAE9B;IAED,IAAI,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAE/B;IAED,IAAI,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,CAEnC;IAED,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,IAAI,aAAa,IAAI,IAAI,CAAC,aAAa,CAEtC;IAED,IAAI,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAExC;IAED,IAAI,EAAE,IAAI,IAAI,CAAC,QAAQ,CAEtB;IAED,IAAI,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAElC;IAED,IAAI,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAEhD;IAED,IAAI,KAAK,IAAI,OAAO,CAAC,SAAS,CAAC,SAAS,CAEvC;IAED,IAAI,MAAM,QAET;IAED,IAAI,QAAQ,QAEX;IAED,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO;IAIxB,IAAI,WAAW,QAEd;IAED,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,UAAU;IAI9B,IAAI,YAAY,IAAI,MAAM,CAAC,YAAY,CAEtC;IAED,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,WAAW;IAIjC,IAAI,UAAU,IAAI,MAAM,CAAC,UAAU,CAElC;IAED,IAAI,QAAQ,QAEX;IAED,MAAM,CAAC,IAAI,EAAE,MAAM;IAInB,IAAI,WAAW,QAEd;IAED,UAAU,CAAC,IAAI,EAAE,MAAM;IAIvB,IAAI,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAEzC;IAED,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM;IAIjC,IAAI,KAAK,QAER;IAED,IAAI,CAAC,IAAI,EAAE,MAAM;IAIjB,IAAI,IAAI,QAEP;IAED,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM;IAI9B,IAAI,IAAI,QAEP;IAED,IAAI,UAAU,QAEb;IAED,IAAI,UAAU,QAEb;IAED,IAAI,UAAU,QAEb;IAEK,KAAK;IAeX,wBAAwB;IA6CxB,oBAAoB;IAyBd,SAAS,CAAC,EAAE,aAAa,EAAE,EAAE;QAAE,aAAa,EAAE,OAAO,CAAA;KAAE;IAevD,UAAU;IAUhB;;OAEG;IACG,MAAM;IAwBZ,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,KAAK;IAU1D,IAAI,CAAC,QAAQ,SAAI,GAAG,KAAK;IAWnB,IAAI;IASJ,QAAQ;IAiBR,SAAS;IAkEf,oBAAoB;IAsBd,OAAO;IAwBP,oBAAoB,CAAC,aAAa,EAAE,UAAU,GAAG,WAAW,GAAG,SAAS;IAKxE,iBAAiB,CAAC,aAAa,EAAE,UAAU,GAAG,WAAW,GAAG,SAAS;IAQ3E,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW;IAClD,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS;IAW9C;;OAEG;IACH,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM;CAGtB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,eAAe,MAAM,CAAC"}
|
package/dist/Strapi.js
CHANGED
@@ -38,6 +38,7 @@ var index$2 = require('./services/auth/index.js');
|
|
38
38
|
var customFields = require('./services/custom-fields.js');
|
39
39
|
var index$1 = require('./services/content-api/index.js');
|
40
40
|
var dynamicZones = require('./services/utils/dynamic-zones.js');
|
41
|
+
var conditionalFields = require('./services/utils/conditional-fields.js');
|
41
42
|
var features = require('./services/features.js');
|
42
43
|
var index$6 = require('./services/document-service/index.js');
|
43
44
|
var coreStore = require('./services/core-store.js');
|
@@ -242,6 +243,7 @@ class Strapi extends container.Container {
|
|
242
243
|
numberOfAllContentTypes: _.size(this.contentTypes),
|
243
244
|
numberOfComponents: _.size(this.components),
|
244
245
|
numberOfDynamicZones: dynamicZones(),
|
246
|
+
numberOfConditionalFields: conditionalFields(),
|
245
247
|
numberOfCustomControllers: Object.values(this.controllers).filter(// TODO: Fix this at the content API loader level to prevent future types issues
|
246
248
|
(controller)=>controller !== undefined && factories.isCustomController(controller)).length,
|
247
249
|
environment: this.config.environment
|
package/dist/Strapi.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Strapi.js","sources":["../src/Strapi.ts"],"sourcesContent":["import * as globalAgent from 'global-agent';\nimport path from 'path';\nimport _ from 'lodash';\nimport { isFunction } from 'lodash/fp';\nimport { Logger, createLogger } from '@strapi/logger';\nimport { Database } from '@strapi/database';\n\nimport type { Core, Modules, UID, Schema } from '@strapi/types';\n\nimport tsUtils from '@strapi/typescript-utils';\nimport { loadConfiguration } from './configuration';\n\nimport * as factories from './factories';\n\nimport * as utils from './utils';\nimport { Container } from './container';\nimport createStrapiFs from './services/fs';\nimport createEventHub from './services/event-hub';\nimport { createServer } from './services/server';\nimport { createReloader } from './services/reloader';\n\nimport { providers } from './providers';\nimport createEntityService from './services/entity-service';\nimport createQueryParamService from './services/query-params';\n\nimport entityValidator from './services/entity-validator';\nimport requestContext from './services/request-context';\nimport createAuth from './services/auth';\nimport createCustomFields from './services/custom-fields';\nimport createContentAPI from './services/content-api';\nimport getNumberOfDynamicZones from './services/utils/dynamic-zones';\nimport { FeaturesService, createFeaturesService } from './services/features';\nimport { createDocumentService } from './services/document-service';\n\nimport { coreStoreModel } from './services/core-store';\nimport { createConfigProvider } from './services/config';\n\nclass Strapi extends Container implements Core.Strapi {\n app: any;\n\n isLoaded: boolean = false;\n\n internal_config: Record<string, unknown> = {};\n\n constructor(opts: StrapiOptions) {\n super();\n\n this.internal_config = loadConfiguration(opts);\n\n this.registerInternalServices();\n\n for (const provider of providers) {\n provider.init?.(this);\n }\n }\n\n get admin(): Core.Module {\n return this.get('admin');\n }\n\n get EE(): boolean {\n return utils.ee.isEE;\n }\n\n get ee(): Core.Strapi['ee'] {\n return utils.ee;\n }\n\n get dirs(): Core.StrapiDirectories {\n return this.config.get('dirs');\n }\n\n get reload(): Core.Reloader {\n return this.get('reload');\n }\n\n get db(): Database {\n return this.get('db');\n }\n\n get requestContext(): Modules.RequestContext.RequestContext {\n return this.get('requestContext');\n }\n\n get customFields(): Modules.CustomFields.CustomFields {\n return this.get('customFields');\n }\n\n get entityValidator(): Modules.EntityValidator.EntityValidator {\n return this.get('entityValidator');\n }\n\n /**\n * @deprecated `strapi.entityService` will be removed in the next major version\n */\n get entityService(): Modules.EntityService.EntityService {\n return this.get('entityService');\n }\n\n get documents(): Modules.Documents.Service {\n return this.get('documents');\n }\n\n get features(): FeaturesService {\n return this.get('features');\n }\n\n get fetch(): Modules.Fetch.Fetch {\n return this.get('fetch');\n }\n\n get cron(): Modules.Cron.CronService {\n return this.get('cron');\n }\n\n get log(): Logger {\n return this.get('logger');\n }\n\n get startupLogger(): Core.StartupLogger {\n return this.get('startupLogger');\n }\n\n get eventHub(): Modules.EventHub.EventHub {\n return this.get('eventHub');\n }\n\n get fs(): Core.StrapiFS {\n return this.get('fs');\n }\n\n get server(): Modules.Server.Server {\n return this.get('server');\n }\n\n get telemetry(): Modules.Metrics.TelemetryService {\n return this.get('telemetry');\n }\n\n get store(): Modules.CoreStore.CoreStore {\n return this.get('coreStore');\n }\n\n get config() {\n return this.get('config');\n }\n\n get services() {\n return this.get('services').getAll();\n }\n\n service(uid: UID.Service) {\n return this.get('services').get(uid);\n }\n\n get controllers() {\n return this.get('controllers').getAll();\n }\n\n controller(uid: UID.Controller) {\n return this.get('controllers').get(uid);\n }\n\n get contentTypes(): Schema.ContentTypes {\n return this.get('content-types').getAll();\n }\n\n contentType(name: UID.ContentType) {\n return this.get('content-types').get(name);\n }\n\n get components(): Schema.Components {\n return this.get('components').getAll();\n }\n\n get policies() {\n return this.get('policies').getAll();\n }\n\n policy(name: string) {\n return this.get('policies').get(name);\n }\n\n get middlewares() {\n return this.get('middlewares').getAll();\n }\n\n middleware(name: string) {\n return this.get('middlewares').get(name);\n }\n\n get plugins(): Record<string, Core.Plugin> {\n return this.get('plugins').getAll();\n }\n\n plugin(name: string): Core.Plugin {\n return this.get('plugins').get(name);\n }\n\n get hooks() {\n return this.get('hooks').getAll();\n }\n\n hook(name: string) {\n return this.get('hooks').get(name);\n }\n\n get apis() {\n return this.get('apis').getAll();\n }\n\n api(name: string): Core.Module {\n return this.get('apis').get(name);\n }\n\n get auth() {\n return this.get('auth');\n }\n\n get contentAPI() {\n return this.get('content-api');\n }\n\n get sanitizers() {\n return this.get('sanitizers');\n }\n\n get validators() {\n return this.get('validators');\n }\n\n async start() {\n try {\n if (!this.isLoaded) {\n await this.load();\n }\n\n await this.listen();\n\n return this;\n } catch (error) {\n return this.stopWithError(error);\n }\n }\n\n // TODO: split into more providers\n registerInternalServices() {\n const config = createConfigProvider(this.internal_config, this);\n\n const logger = createLogger({\n level: 'http', // Strapi defaults to level 'http'\n ...config.get('logger'), // DEPRECATED\n ...config.get('server.logger.config'),\n });\n\n // Instantiate the Strapi container\n this.add('config', () => config)\n .add('query-params', createQueryParamService(this))\n .add('content-api', createContentAPI(this))\n .add('auth', createAuth())\n .add('server', () => createServer(this))\n .add('fs', () => createStrapiFs(this))\n .add('eventHub', () => createEventHub())\n .add('startupLogger', () => utils.createStartupLogger(this))\n .add('logger', () => logger)\n .add('fetch', () => utils.createStrapiFetch(this))\n .add('features', () => createFeaturesService(this))\n .add('requestContext', requestContext)\n .add('customFields', createCustomFields(this))\n .add('entityValidator', entityValidator)\n .add('entityService', () => createEntityService({ strapi: this, db: this.db }))\n .add('documents', () => createDocumentService(this))\n .add('db', () => {\n const tsDir = tsUtils.resolveOutDirSync(this.dirs.app.root);\n const tsMigrationsEnabled =\n this.config.get('database.settings.useTypescriptMigrations') === true && tsDir;\n const projectDir = tsMigrationsEnabled ? tsDir : this.dirs.app.root;\n return new Database(\n _.merge(this.config.get('database'), {\n logger,\n settings: {\n migrations: {\n dir: path.join(projectDir, 'database/migrations'),\n },\n },\n })\n );\n })\n .add('reload', () => createReloader(this));\n }\n\n sendStartupTelemetry() {\n // Emit started event.\n // do not await to avoid slower startup\n // This event is anonymous\n this.telemetry\n .send('didStartServer', {\n groupProperties: {\n database: this.config.get('database.connection.client'),\n plugins: Object.keys(this.plugins),\n numberOfAllContentTypes: _.size(this.contentTypes), // TODO: V5: This event should be renamed numberOfContentTypes in V5 as the name is already taken to describe the number of content types using i18n.\n numberOfComponents: _.size(this.components),\n numberOfDynamicZones: getNumberOfDynamicZones(),\n numberOfCustomControllers: Object.values<Core.Controller>(this.controllers).filter(\n // TODO: Fix this at the content API loader level to prevent future types issues\n (controller) => controller !== undefined && factories.isCustomController(controller)\n ).length,\n environment: this.config.environment,\n // TODO: to add back\n // providers: this.config.installedProviders,\n },\n })\n .catch(this.log.error);\n }\n\n async openAdmin({ isInitialized }: { isInitialized: boolean }) {\n const shouldOpenAdmin =\n this.config.get('environment') === 'development' &&\n this.config.get('admin.autoOpen', true) !== false;\n\n if (shouldOpenAdmin && !isInitialized) {\n try {\n await utils.openBrowser(this.config);\n this.telemetry.send('didOpenTab');\n } catch (e) {\n this.telemetry.send('didNotOpenTab');\n }\n }\n }\n\n async postListen() {\n const isInitialized = await utils.isInitialized(this);\n\n this.startupLogger.logStartupMessage({ isInitialized });\n\n this.log.info('Strapi started successfully');\n this.sendStartupTelemetry();\n this.openAdmin({ isInitialized });\n }\n\n /**\n * Add behaviors to the server\n */\n async listen() {\n return new Promise<void>((resolve, reject) => {\n const onListen = async () => {\n try {\n await this.postListen();\n\n resolve();\n } catch (error) {\n reject(error);\n }\n };\n\n const listenSocket = this.config.get('server.socket');\n\n if (listenSocket) {\n this.server.listen(listenSocket, onListen);\n } else {\n const { host, port } = this.config.get('server');\n\n this.server.listen(port, host, onListen);\n }\n });\n }\n\n stopWithError(err: unknown, customMessage?: string): never {\n this.log.debug(`⛔️ Server wasn't able to start properly.`);\n if (customMessage) {\n this.log.error(customMessage);\n }\n\n this.log.error(err);\n return this.stop();\n }\n\n stop(exitCode = 1): never {\n this.destroy();\n\n if (this.config.get('autoReload')) {\n process.send?.('stop');\n }\n\n // Kill process\n process.exit(exitCode);\n }\n\n async load() {\n await this.register();\n await this.bootstrap();\n\n this.isLoaded = true;\n\n return this;\n }\n\n async register() {\n // @ts-expect-error: init is internal\n this.ee.init(this.dirs.app.root, this.log);\n\n for (const provider of providers) {\n await provider.register?.(this);\n }\n\n await this.runPluginsLifecycles(utils.LIFECYCLES.REGISTER);\n await this.runUserLifecycles(utils.LIFECYCLES.REGISTER);\n\n // NOTE: Swap type customField for underlying data type\n utils.convertCustomFieldType(this);\n\n return this;\n }\n\n async bootstrap() {\n this.configureGlobalProxy();\n\n const models = [\n ...utils.transformContentTypesToModels(\n [...Object.values(this.contentTypes), ...Object.values(this.components)],\n this.db.metadata.identifiers\n ),\n ...this.get('models').get(),\n ];\n\n await this.db.init({ models });\n\n let oldContentTypes;\n if (await this.db.getSchemaConnection().hasTable(coreStoreModel.tableName)) {\n oldContentTypes = await this.store.get({\n type: 'strapi',\n name: 'content_types',\n key: 'schema',\n });\n }\n\n await this.hook('strapi::content-types.beforeSync').call({\n oldContentTypes,\n contentTypes: this.contentTypes,\n });\n\n const status = await this.db.schema.sync();\n\n // if schemas have changed, run repairs\n if (status === 'CHANGED') {\n await this.db.repair.removeOrphanMorphType({ pivot: 'component_type' });\n }\n\n if (this.EE) {\n await utils.ee.checkLicense({ strapi: this });\n }\n\n await this.hook('strapi::content-types.afterSync').call({\n oldContentTypes,\n contentTypes: this.contentTypes,\n });\n\n await this.store.set({\n type: 'strapi',\n name: 'content_types',\n key: 'schema',\n value: this.contentTypes,\n });\n\n await this.server.initMiddlewares();\n this.server.initRouting();\n\n await this.contentAPI.permissions.registerActions();\n\n await this.runPluginsLifecycles(utils.LIFECYCLES.BOOTSTRAP);\n\n for (const provider of providers) {\n await provider.bootstrap?.(this);\n }\n\n await this.runUserLifecycles(utils.LIFECYCLES.BOOTSTRAP);\n\n return this;\n }\n\n configureGlobalProxy() {\n const globalProxy = this.config.get('server.proxy.global');\n const httpProxy = this.config.get('server.proxy.http') || globalProxy;\n const httpsProxy = this.config.get('server.proxy.https') || globalProxy;\n\n if (!httpProxy && !httpsProxy) {\n return;\n }\n\n globalAgent.bootstrap();\n\n if (httpProxy) {\n this.log.info(`Using HTTP proxy: ${httpProxy}`);\n (global as any).GLOBAL_AGENT.HTTP_PROXY = httpProxy;\n }\n\n if (httpsProxy) {\n this.log.info(`Using HTTPS proxy: ${httpsProxy}`);\n (global as any).GLOBAL_AGENT.HTTPS_PROXY = httpsProxy;\n }\n }\n\n async destroy() {\n this.log.info('Shutting down Strapi');\n await this.runPluginsLifecycles(utils.LIFECYCLES.DESTROY);\n\n for (const provider of providers) {\n await provider.destroy?.(this);\n }\n\n await this.runUserLifecycles(utils.LIFECYCLES.DESTROY);\n\n await this.server.destroy();\n\n this.eventHub.destroy();\n\n await this.db?.destroy();\n\n process.removeAllListeners();\n\n // @ts-expect-error: Allow clean delete of global.strapi to allow re-instanciation\n delete global.strapi;\n\n this.log.info('Strapi has been shut down');\n }\n\n async runPluginsLifecycles(lifecycleName: 'register' | 'bootstrap' | 'destroy') {\n // plugins\n await this.get('modules')[lifecycleName]();\n }\n\n async runUserLifecycles(lifecycleName: 'register' | 'bootstrap' | 'destroy') {\n // user\n const userLifecycleFunction = this.app && this.app[lifecycleName];\n if (isFunction(userLifecycleFunction)) {\n await userLifecycleFunction({ strapi: this });\n }\n }\n\n getModel(uid: UID.ContentType): Schema.ContentType;\n getModel(uid: UID.Component): Schema.Component;\n getModel<TUID extends UID.Schema>(uid: TUID): Schema.ContentType | Schema.Component | undefined {\n if (uid in this.contentTypes) {\n return this.contentTypes[uid as UID.ContentType];\n }\n\n if (uid in this.components) {\n return this.components[uid as UID.Component];\n }\n }\n\n /**\n * @deprecated Use `strapi.db.query` instead\n */\n query(uid: UID.Schema) {\n return this.db.query(uid);\n }\n}\n\nexport interface StrapiOptions {\n appDir: string;\n distDir: string;\n autoReload?: boolean;\n serveAdminPanel?: boolean;\n}\n\nexport default Strapi;\n"],"names":["Strapi","Container","admin","get","EE","utils","isEE","ee","dirs","config","reload","db","requestContext","customFields","entityValidator","entityService","documents","features","fetch","cron","log","startupLogger","eventHub","fs","server","telemetry","store","services","getAll","service","uid","controllers","controller","contentTypes","contentType","name","components","policies","policy","middlewares","middleware","plugins","plugin","hooks","hook","apis","api","auth","contentAPI","sanitizers","validators","start","isLoaded","load","listen","error","stopWithError","registerInternalServices","createConfigProvider","internal_config","logger","createLogger","level","add","createQueryParamService","createContentAPI","createAuth","createServer","createStrapiFs","createEventHub","createFeaturesService","createCustomFields","createEntityService","strapi","createDocumentService","tsDir","tsUtils","resolveOutDirSync","app","root","tsMigrationsEnabled","projectDir","Database","_","merge","settings","migrations","dir","path","join","createReloader","sendStartupTelemetry","send","groupProperties","database","Object","keys","numberOfAllContentTypes","size","numberOfComponents","numberOfDynamicZones","getNumberOfDynamicZones","numberOfCustomControllers","values","filter","undefined","factories","length","environment","catch","openAdmin","isInitialized","shouldOpenAdmin","e","postListen","logStartupMessage","info","Promise","resolve","reject","onListen","listenSocket","host","port","err","customMessage","debug","stop","exitCode","destroy","process","exit","register","bootstrap","init","provider","providers","runPluginsLifecycles","REGISTER","runUserLifecycles","configureGlobalProxy","models","metadata","identifiers","oldContentTypes","getSchemaConnection","hasTable","coreStoreModel","tableName","type","key","call","status","schema","sync","repair","removeOrphanMorphType","pivot","checkLicense","set","value","initMiddlewares","initRouting","permissions","registerActions","BOOTSTRAP","globalProxy","httpProxy","httpsProxy","globalAgent","global","GLOBAL_AGENT","HTTP_PROXY","HTTPS_PROXY","DESTROY","removeAllListeners","lifecycleName","userLifecycleFunction","isFunction","getModel","query","constructor","opts","loadConfiguration"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Strapi.js","sources":["../src/Strapi.ts"],"sourcesContent":["import * as globalAgent from 'global-agent';\nimport path from 'path';\nimport _ from 'lodash';\nimport { isFunction } from 'lodash/fp';\nimport { Logger, createLogger } from '@strapi/logger';\nimport { Database } from '@strapi/database';\n\nimport type { Core, Modules, UID, Schema } from '@strapi/types';\n\nimport tsUtils from '@strapi/typescript-utils';\nimport { loadConfiguration } from './configuration';\n\nimport * as factories from './factories';\n\nimport * as utils from './utils';\nimport { Container } from './container';\nimport createStrapiFs from './services/fs';\nimport createEventHub from './services/event-hub';\nimport { createServer } from './services/server';\nimport { createReloader } from './services/reloader';\n\nimport { providers } from './providers';\nimport createEntityService from './services/entity-service';\nimport createQueryParamService from './services/query-params';\n\nimport entityValidator from './services/entity-validator';\nimport requestContext from './services/request-context';\nimport createAuth from './services/auth';\nimport createCustomFields from './services/custom-fields';\nimport createContentAPI from './services/content-api';\nimport getNumberOfDynamicZones from './services/utils/dynamic-zones';\nimport getNumberOfConditionalFields from './services/utils/conditional-fields';\nimport { FeaturesService, createFeaturesService } from './services/features';\nimport { createDocumentService } from './services/document-service';\n\nimport { coreStoreModel } from './services/core-store';\nimport { createConfigProvider } from './services/config';\n\nclass Strapi extends Container implements Core.Strapi {\n app: any;\n\n isLoaded: boolean = false;\n\n internal_config: Record<string, unknown> = {};\n\n constructor(opts: StrapiOptions) {\n super();\n\n this.internal_config = loadConfiguration(opts);\n\n this.registerInternalServices();\n\n for (const provider of providers) {\n provider.init?.(this);\n }\n }\n\n get admin(): Core.Module {\n return this.get('admin');\n }\n\n get EE(): boolean {\n return utils.ee.isEE;\n }\n\n get ee(): Core.Strapi['ee'] {\n return utils.ee;\n }\n\n get dirs(): Core.StrapiDirectories {\n return this.config.get('dirs');\n }\n\n get reload(): Core.Reloader {\n return this.get('reload');\n }\n\n get db(): Database {\n return this.get('db');\n }\n\n get requestContext(): Modules.RequestContext.RequestContext {\n return this.get('requestContext');\n }\n\n get customFields(): Modules.CustomFields.CustomFields {\n return this.get('customFields');\n }\n\n get entityValidator(): Modules.EntityValidator.EntityValidator {\n return this.get('entityValidator');\n }\n\n /**\n * @deprecated `strapi.entityService` will be removed in the next major version\n */\n get entityService(): Modules.EntityService.EntityService {\n return this.get('entityService');\n }\n\n get documents(): Modules.Documents.Service {\n return this.get('documents');\n }\n\n get features(): FeaturesService {\n return this.get('features');\n }\n\n get fetch(): Modules.Fetch.Fetch {\n return this.get('fetch');\n }\n\n get cron(): Modules.Cron.CronService {\n return this.get('cron');\n }\n\n get log(): Logger {\n return this.get('logger');\n }\n\n get startupLogger(): Core.StartupLogger {\n return this.get('startupLogger');\n }\n\n get eventHub(): Modules.EventHub.EventHub {\n return this.get('eventHub');\n }\n\n get fs(): Core.StrapiFS {\n return this.get('fs');\n }\n\n get server(): Modules.Server.Server {\n return this.get('server');\n }\n\n get telemetry(): Modules.Metrics.TelemetryService {\n return this.get('telemetry');\n }\n\n get store(): Modules.CoreStore.CoreStore {\n return this.get('coreStore');\n }\n\n get config() {\n return this.get('config');\n }\n\n get services() {\n return this.get('services').getAll();\n }\n\n service(uid: UID.Service) {\n return this.get('services').get(uid);\n }\n\n get controllers() {\n return this.get('controllers').getAll();\n }\n\n controller(uid: UID.Controller) {\n return this.get('controllers').get(uid);\n }\n\n get contentTypes(): Schema.ContentTypes {\n return this.get('content-types').getAll();\n }\n\n contentType(name: UID.ContentType) {\n return this.get('content-types').get(name);\n }\n\n get components(): Schema.Components {\n return this.get('components').getAll();\n }\n\n get policies() {\n return this.get('policies').getAll();\n }\n\n policy(name: string) {\n return this.get('policies').get(name);\n }\n\n get middlewares() {\n return this.get('middlewares').getAll();\n }\n\n middleware(name: string) {\n return this.get('middlewares').get(name);\n }\n\n get plugins(): Record<string, Core.Plugin> {\n return this.get('plugins').getAll();\n }\n\n plugin(name: string): Core.Plugin {\n return this.get('plugins').get(name);\n }\n\n get hooks() {\n return this.get('hooks').getAll();\n }\n\n hook(name: string) {\n return this.get('hooks').get(name);\n }\n\n get apis() {\n return this.get('apis').getAll();\n }\n\n api(name: string): Core.Module {\n return this.get('apis').get(name);\n }\n\n get auth() {\n return this.get('auth');\n }\n\n get contentAPI() {\n return this.get('content-api');\n }\n\n get sanitizers() {\n return this.get('sanitizers');\n }\n\n get validators() {\n return this.get('validators');\n }\n\n async start() {\n try {\n if (!this.isLoaded) {\n await this.load();\n }\n\n await this.listen();\n\n return this;\n } catch (error) {\n return this.stopWithError(error);\n }\n }\n\n // TODO: split into more providers\n registerInternalServices() {\n const config = createConfigProvider(this.internal_config, this);\n\n const logger = createLogger({\n level: 'http', // Strapi defaults to level 'http'\n ...config.get('logger'), // DEPRECATED\n ...config.get('server.logger.config'),\n });\n\n // Instantiate the Strapi container\n this.add('config', () => config)\n .add('query-params', createQueryParamService(this))\n .add('content-api', createContentAPI(this))\n .add('auth', createAuth())\n .add('server', () => createServer(this))\n .add('fs', () => createStrapiFs(this))\n .add('eventHub', () => createEventHub())\n .add('startupLogger', () => utils.createStartupLogger(this))\n .add('logger', () => logger)\n .add('fetch', () => utils.createStrapiFetch(this))\n .add('features', () => createFeaturesService(this))\n .add('requestContext', requestContext)\n .add('customFields', createCustomFields(this))\n .add('entityValidator', entityValidator)\n .add('entityService', () => createEntityService({ strapi: this, db: this.db }))\n .add('documents', () => createDocumentService(this))\n .add('db', () => {\n const tsDir = tsUtils.resolveOutDirSync(this.dirs.app.root);\n const tsMigrationsEnabled =\n this.config.get('database.settings.useTypescriptMigrations') === true && tsDir;\n const projectDir = tsMigrationsEnabled ? tsDir : this.dirs.app.root;\n return new Database(\n _.merge(this.config.get('database'), {\n logger,\n settings: {\n migrations: {\n dir: path.join(projectDir, 'database/migrations'),\n },\n },\n })\n );\n })\n .add('reload', () => createReloader(this));\n }\n\n sendStartupTelemetry() {\n // Emit started event.\n // do not await to avoid slower startup\n // This event is anonymous\n this.telemetry\n .send('didStartServer', {\n groupProperties: {\n database: this.config.get('database.connection.client'),\n plugins: Object.keys(this.plugins),\n numberOfAllContentTypes: _.size(this.contentTypes), // TODO: V5: This event should be renamed numberOfContentTypes in V5 as the name is already taken to describe the number of content types using i18n.\n numberOfComponents: _.size(this.components),\n numberOfDynamicZones: getNumberOfDynamicZones(),\n numberOfConditionalFields: getNumberOfConditionalFields(),\n numberOfCustomControllers: Object.values<Core.Controller>(this.controllers).filter(\n // TODO: Fix this at the content API loader level to prevent future types issues\n (controller) => controller !== undefined && factories.isCustomController(controller)\n ).length,\n environment: this.config.environment,\n // TODO: to add back\n // providers: this.config.installedProviders,\n },\n })\n .catch(this.log.error);\n }\n\n async openAdmin({ isInitialized }: { isInitialized: boolean }) {\n const shouldOpenAdmin =\n this.config.get('environment') === 'development' &&\n this.config.get('admin.autoOpen', true) !== false;\n\n if (shouldOpenAdmin && !isInitialized) {\n try {\n await utils.openBrowser(this.config);\n this.telemetry.send('didOpenTab');\n } catch (e) {\n this.telemetry.send('didNotOpenTab');\n }\n }\n }\n\n async postListen() {\n const isInitialized = await utils.isInitialized(this);\n\n this.startupLogger.logStartupMessage({ isInitialized });\n\n this.log.info('Strapi started successfully');\n this.sendStartupTelemetry();\n this.openAdmin({ isInitialized });\n }\n\n /**\n * Add behaviors to the server\n */\n async listen() {\n return new Promise<void>((resolve, reject) => {\n const onListen = async () => {\n try {\n await this.postListen();\n\n resolve();\n } catch (error) {\n reject(error);\n }\n };\n\n const listenSocket = this.config.get('server.socket');\n\n if (listenSocket) {\n this.server.listen(listenSocket, onListen);\n } else {\n const { host, port } = this.config.get('server');\n\n this.server.listen(port, host, onListen);\n }\n });\n }\n\n stopWithError(err: unknown, customMessage?: string): never {\n this.log.debug(`⛔️ Server wasn't able to start properly.`);\n if (customMessage) {\n this.log.error(customMessage);\n }\n\n this.log.error(err);\n return this.stop();\n }\n\n stop(exitCode = 1): never {\n this.destroy();\n\n if (this.config.get('autoReload')) {\n process.send?.('stop');\n }\n\n // Kill process\n process.exit(exitCode);\n }\n\n async load() {\n await this.register();\n await this.bootstrap();\n\n this.isLoaded = true;\n\n return this;\n }\n\n async register() {\n // @ts-expect-error: init is internal\n this.ee.init(this.dirs.app.root, this.log);\n\n for (const provider of providers) {\n await provider.register?.(this);\n }\n\n await this.runPluginsLifecycles(utils.LIFECYCLES.REGISTER);\n await this.runUserLifecycles(utils.LIFECYCLES.REGISTER);\n\n // NOTE: Swap type customField for underlying data type\n utils.convertCustomFieldType(this);\n\n return this;\n }\n\n async bootstrap() {\n this.configureGlobalProxy();\n\n const models = [\n ...utils.transformContentTypesToModels(\n [...Object.values(this.contentTypes), ...Object.values(this.components)],\n this.db.metadata.identifiers\n ),\n ...this.get('models').get(),\n ];\n\n await this.db.init({ models });\n\n let oldContentTypes;\n if (await this.db.getSchemaConnection().hasTable(coreStoreModel.tableName)) {\n oldContentTypes = await this.store.get({\n type: 'strapi',\n name: 'content_types',\n key: 'schema',\n });\n }\n\n await this.hook('strapi::content-types.beforeSync').call({\n oldContentTypes,\n contentTypes: this.contentTypes,\n });\n\n const status = await this.db.schema.sync();\n\n // if schemas have changed, run repairs\n if (status === 'CHANGED') {\n await this.db.repair.removeOrphanMorphType({ pivot: 'component_type' });\n }\n\n if (this.EE) {\n await utils.ee.checkLicense({ strapi: this });\n }\n\n await this.hook('strapi::content-types.afterSync').call({\n oldContentTypes,\n contentTypes: this.contentTypes,\n });\n\n await this.store.set({\n type: 'strapi',\n name: 'content_types',\n key: 'schema',\n value: this.contentTypes,\n });\n\n await this.server.initMiddlewares();\n this.server.initRouting();\n\n await this.contentAPI.permissions.registerActions();\n\n await this.runPluginsLifecycles(utils.LIFECYCLES.BOOTSTRAP);\n\n for (const provider of providers) {\n await provider.bootstrap?.(this);\n }\n\n await this.runUserLifecycles(utils.LIFECYCLES.BOOTSTRAP);\n\n return this;\n }\n\n configureGlobalProxy() {\n const globalProxy = this.config.get('server.proxy.global');\n const httpProxy = this.config.get('server.proxy.http') || globalProxy;\n const httpsProxy = this.config.get('server.proxy.https') || globalProxy;\n\n if (!httpProxy && !httpsProxy) {\n return;\n }\n\n globalAgent.bootstrap();\n\n if (httpProxy) {\n this.log.info(`Using HTTP proxy: ${httpProxy}`);\n (global as any).GLOBAL_AGENT.HTTP_PROXY = httpProxy;\n }\n\n if (httpsProxy) {\n this.log.info(`Using HTTPS proxy: ${httpsProxy}`);\n (global as any).GLOBAL_AGENT.HTTPS_PROXY = httpsProxy;\n }\n }\n\n async destroy() {\n this.log.info('Shutting down Strapi');\n await this.runPluginsLifecycles(utils.LIFECYCLES.DESTROY);\n\n for (const provider of providers) {\n await provider.destroy?.(this);\n }\n\n await this.runUserLifecycles(utils.LIFECYCLES.DESTROY);\n\n await this.server.destroy();\n\n this.eventHub.destroy();\n\n await this.db?.destroy();\n\n process.removeAllListeners();\n\n // @ts-expect-error: Allow clean delete of global.strapi to allow re-instanciation\n delete global.strapi;\n\n this.log.info('Strapi has been shut down');\n }\n\n async runPluginsLifecycles(lifecycleName: 'register' | 'bootstrap' | 'destroy') {\n // plugins\n await this.get('modules')[lifecycleName]();\n }\n\n async runUserLifecycles(lifecycleName: 'register' | 'bootstrap' | 'destroy') {\n // user\n const userLifecycleFunction = this.app && this.app[lifecycleName];\n if (isFunction(userLifecycleFunction)) {\n await userLifecycleFunction({ strapi: this });\n }\n }\n\n getModel(uid: UID.ContentType): Schema.ContentType;\n getModel(uid: UID.Component): Schema.Component;\n getModel<TUID extends UID.Schema>(uid: TUID): Schema.ContentType | Schema.Component | undefined {\n if (uid in this.contentTypes) {\n return this.contentTypes[uid as UID.ContentType];\n }\n\n if (uid in this.components) {\n return this.components[uid as UID.Component];\n }\n }\n\n /**\n * @deprecated Use `strapi.db.query` instead\n */\n query(uid: UID.Schema) {\n return this.db.query(uid);\n }\n}\n\nexport interface StrapiOptions {\n appDir: string;\n distDir: string;\n autoReload?: boolean;\n serveAdminPanel?: boolean;\n}\n\nexport default Strapi;\n"],"names":["Strapi","Container","admin","get","EE","utils","isEE","ee","dirs","config","reload","db","requestContext","customFields","entityValidator","entityService","documents","features","fetch","cron","log","startupLogger","eventHub","fs","server","telemetry","store","services","getAll","service","uid","controllers","controller","contentTypes","contentType","name","components","policies","policy","middlewares","middleware","plugins","plugin","hooks","hook","apis","api","auth","contentAPI","sanitizers","validators","start","isLoaded","load","listen","error","stopWithError","registerInternalServices","createConfigProvider","internal_config","logger","createLogger","level","add","createQueryParamService","createContentAPI","createAuth","createServer","createStrapiFs","createEventHub","createFeaturesService","createCustomFields","createEntityService","strapi","createDocumentService","tsDir","tsUtils","resolveOutDirSync","app","root","tsMigrationsEnabled","projectDir","Database","_","merge","settings","migrations","dir","path","join","createReloader","sendStartupTelemetry","send","groupProperties","database","Object","keys","numberOfAllContentTypes","size","numberOfComponents","numberOfDynamicZones","getNumberOfDynamicZones","numberOfConditionalFields","getNumberOfConditionalFields","numberOfCustomControllers","values","filter","undefined","factories","length","environment","catch","openAdmin","isInitialized","shouldOpenAdmin","e","postListen","logStartupMessage","info","Promise","resolve","reject","onListen","listenSocket","host","port","err","customMessage","debug","stop","exitCode","destroy","process","exit","register","bootstrap","init","provider","providers","runPluginsLifecycles","REGISTER","runUserLifecycles","configureGlobalProxy","models","metadata","identifiers","oldContentTypes","getSchemaConnection","hasTable","coreStoreModel","tableName","type","key","call","status","schema","sync","repair","removeOrphanMorphType","pivot","checkLicense","set","value","initMiddlewares","initRouting","permissions","registerActions","BOOTSTRAP","globalProxy","httpProxy","httpsProxy","globalAgent","global","GLOBAL_AGENT","HTTP_PROXY","HTTPS_PROXY","DESTROY","removeAllListeners","lifecycleName","userLifecycleFunction","isFunction","getModel","query","constructor","opts","loadConfiguration"],"mappings":"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"}
|
package/dist/Strapi.mjs
CHANGED
@@ -36,6 +36,7 @@ import createAuthentication from './services/auth/index.mjs';
|
|
36
36
|
import createCustomFields from './services/custom-fields.mjs';
|
37
37
|
import createContentAPI from './services/content-api/index.mjs';
|
38
38
|
import getNumberOfDynamicZones from './services/utils/dynamic-zones.mjs';
|
39
|
+
import getNumberOfConditionalFields from './services/utils/conditional-fields.mjs';
|
39
40
|
import { createFeaturesService } from './services/features.mjs';
|
40
41
|
import { createDocumentService } from './services/document-service/index.mjs';
|
41
42
|
import { coreStoreModel } from './services/core-store.mjs';
|
@@ -221,6 +222,7 @@ class Strapi extends Container {
|
|
221
222
|
numberOfAllContentTypes: _.size(this.contentTypes),
|
222
223
|
numberOfComponents: _.size(this.components),
|
223
224
|
numberOfDynamicZones: getNumberOfDynamicZones(),
|
225
|
+
numberOfConditionalFields: getNumberOfConditionalFields(),
|
224
226
|
numberOfCustomControllers: Object.values(this.controllers).filter(// TODO: Fix this at the content API loader level to prevent future types issues
|
225
227
|
(controller)=>controller !== undefined && isCustomController(controller)).length,
|
226
228
|
environment: this.config.environment
|
package/dist/Strapi.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Strapi.mjs","sources":["../src/Strapi.ts"],"sourcesContent":["import * as globalAgent from 'global-agent';\nimport path from 'path';\nimport _ from 'lodash';\nimport { isFunction } from 'lodash/fp';\nimport { Logger, createLogger } from '@strapi/logger';\nimport { Database } from '@strapi/database';\n\nimport type { Core, Modules, UID, Schema } from '@strapi/types';\n\nimport tsUtils from '@strapi/typescript-utils';\nimport { loadConfiguration } from './configuration';\n\nimport * as factories from './factories';\n\nimport * as utils from './utils';\nimport { Container } from './container';\nimport createStrapiFs from './services/fs';\nimport createEventHub from './services/event-hub';\nimport { createServer } from './services/server';\nimport { createReloader } from './services/reloader';\n\nimport { providers } from './providers';\nimport createEntityService from './services/entity-service';\nimport createQueryParamService from './services/query-params';\n\nimport entityValidator from './services/entity-validator';\nimport requestContext from './services/request-context';\nimport createAuth from './services/auth';\nimport createCustomFields from './services/custom-fields';\nimport createContentAPI from './services/content-api';\nimport getNumberOfDynamicZones from './services/utils/dynamic-zones';\nimport { FeaturesService, createFeaturesService } from './services/features';\nimport { createDocumentService } from './services/document-service';\n\nimport { coreStoreModel } from './services/core-store';\nimport { createConfigProvider } from './services/config';\n\nclass Strapi extends Container implements Core.Strapi {\n app: any;\n\n isLoaded: boolean = false;\n\n internal_config: Record<string, unknown> = {};\n\n constructor(opts: StrapiOptions) {\n super();\n\n this.internal_config = loadConfiguration(opts);\n\n this.registerInternalServices();\n\n for (const provider of providers) {\n provider.init?.(this);\n }\n }\n\n get admin(): Core.Module {\n return this.get('admin');\n }\n\n get EE(): boolean {\n return utils.ee.isEE;\n }\n\n get ee(): Core.Strapi['ee'] {\n return utils.ee;\n }\n\n get dirs(): Core.StrapiDirectories {\n return this.config.get('dirs');\n }\n\n get reload(): Core.Reloader {\n return this.get('reload');\n }\n\n get db(): Database {\n return this.get('db');\n }\n\n get requestContext(): Modules.RequestContext.RequestContext {\n return this.get('requestContext');\n }\n\n get customFields(): Modules.CustomFields.CustomFields {\n return this.get('customFields');\n }\n\n get entityValidator(): Modules.EntityValidator.EntityValidator {\n return this.get('entityValidator');\n }\n\n /**\n * @deprecated `strapi.entityService` will be removed in the next major version\n */\n get entityService(): Modules.EntityService.EntityService {\n return this.get('entityService');\n }\n\n get documents(): Modules.Documents.Service {\n return this.get('documents');\n }\n\n get features(): FeaturesService {\n return this.get('features');\n }\n\n get fetch(): Modules.Fetch.Fetch {\n return this.get('fetch');\n }\n\n get cron(): Modules.Cron.CronService {\n return this.get('cron');\n }\n\n get log(): Logger {\n return this.get('logger');\n }\n\n get startupLogger(): Core.StartupLogger {\n return this.get('startupLogger');\n }\n\n get eventHub(): Modules.EventHub.EventHub {\n return this.get('eventHub');\n }\n\n get fs(): Core.StrapiFS {\n return this.get('fs');\n }\n\n get server(): Modules.Server.Server {\n return this.get('server');\n }\n\n get telemetry(): Modules.Metrics.TelemetryService {\n return this.get('telemetry');\n }\n\n get store(): Modules.CoreStore.CoreStore {\n return this.get('coreStore');\n }\n\n get config() {\n return this.get('config');\n }\n\n get services() {\n return this.get('services').getAll();\n }\n\n service(uid: UID.Service) {\n return this.get('services').get(uid);\n }\n\n get controllers() {\n return this.get('controllers').getAll();\n }\n\n controller(uid: UID.Controller) {\n return this.get('controllers').get(uid);\n }\n\n get contentTypes(): Schema.ContentTypes {\n return this.get('content-types').getAll();\n }\n\n contentType(name: UID.ContentType) {\n return this.get('content-types').get(name);\n }\n\n get components(): Schema.Components {\n return this.get('components').getAll();\n }\n\n get policies() {\n return this.get('policies').getAll();\n }\n\n policy(name: string) {\n return this.get('policies').get(name);\n }\n\n get middlewares() {\n return this.get('middlewares').getAll();\n }\n\n middleware(name: string) {\n return this.get('middlewares').get(name);\n }\n\n get plugins(): Record<string, Core.Plugin> {\n return this.get('plugins').getAll();\n }\n\n plugin(name: string): Core.Plugin {\n return this.get('plugins').get(name);\n }\n\n get hooks() {\n return this.get('hooks').getAll();\n }\n\n hook(name: string) {\n return this.get('hooks').get(name);\n }\n\n get apis() {\n return this.get('apis').getAll();\n }\n\n api(name: string): Core.Module {\n return this.get('apis').get(name);\n }\n\n get auth() {\n return this.get('auth');\n }\n\n get contentAPI() {\n return this.get('content-api');\n }\n\n get sanitizers() {\n return this.get('sanitizers');\n }\n\n get validators() {\n return this.get('validators');\n }\n\n async start() {\n try {\n if (!this.isLoaded) {\n await this.load();\n }\n\n await this.listen();\n\n return this;\n } catch (error) {\n return this.stopWithError(error);\n }\n }\n\n // TODO: split into more providers\n registerInternalServices() {\n const config = createConfigProvider(this.internal_config, this);\n\n const logger = createLogger({\n level: 'http', // Strapi defaults to level 'http'\n ...config.get('logger'), // DEPRECATED\n ...config.get('server.logger.config'),\n });\n\n // Instantiate the Strapi container\n this.add('config', () => config)\n .add('query-params', createQueryParamService(this))\n .add('content-api', createContentAPI(this))\n .add('auth', createAuth())\n .add('server', () => createServer(this))\n .add('fs', () => createStrapiFs(this))\n .add('eventHub', () => createEventHub())\n .add('startupLogger', () => utils.createStartupLogger(this))\n .add('logger', () => logger)\n .add('fetch', () => utils.createStrapiFetch(this))\n .add('features', () => createFeaturesService(this))\n .add('requestContext', requestContext)\n .add('customFields', createCustomFields(this))\n .add('entityValidator', entityValidator)\n .add('entityService', () => createEntityService({ strapi: this, db: this.db }))\n .add('documents', () => createDocumentService(this))\n .add('db', () => {\n const tsDir = tsUtils.resolveOutDirSync(this.dirs.app.root);\n const tsMigrationsEnabled =\n this.config.get('database.settings.useTypescriptMigrations') === true && tsDir;\n const projectDir = tsMigrationsEnabled ? tsDir : this.dirs.app.root;\n return new Database(\n _.merge(this.config.get('database'), {\n logger,\n settings: {\n migrations: {\n dir: path.join(projectDir, 'database/migrations'),\n },\n },\n })\n );\n })\n .add('reload', () => createReloader(this));\n }\n\n sendStartupTelemetry() {\n // Emit started event.\n // do not await to avoid slower startup\n // This event is anonymous\n this.telemetry\n .send('didStartServer', {\n groupProperties: {\n database: this.config.get('database.connection.client'),\n plugins: Object.keys(this.plugins),\n numberOfAllContentTypes: _.size(this.contentTypes), // TODO: V5: This event should be renamed numberOfContentTypes in V5 as the name is already taken to describe the number of content types using i18n.\n numberOfComponents: _.size(this.components),\n numberOfDynamicZones: getNumberOfDynamicZones(),\n numberOfCustomControllers: Object.values<Core.Controller>(this.controllers).filter(\n // TODO: Fix this at the content API loader level to prevent future types issues\n (controller) => controller !== undefined && factories.isCustomController(controller)\n ).length,\n environment: this.config.environment,\n // TODO: to add back\n // providers: this.config.installedProviders,\n },\n })\n .catch(this.log.error);\n }\n\n async openAdmin({ isInitialized }: { isInitialized: boolean }) {\n const shouldOpenAdmin =\n this.config.get('environment') === 'development' &&\n this.config.get('admin.autoOpen', true) !== false;\n\n if (shouldOpenAdmin && !isInitialized) {\n try {\n await utils.openBrowser(this.config);\n this.telemetry.send('didOpenTab');\n } catch (e) {\n this.telemetry.send('didNotOpenTab');\n }\n }\n }\n\n async postListen() {\n const isInitialized = await utils.isInitialized(this);\n\n this.startupLogger.logStartupMessage({ isInitialized });\n\n this.log.info('Strapi started successfully');\n this.sendStartupTelemetry();\n this.openAdmin({ isInitialized });\n }\n\n /**\n * Add behaviors to the server\n */\n async listen() {\n return new Promise<void>((resolve, reject) => {\n const onListen = async () => {\n try {\n await this.postListen();\n\n resolve();\n } catch (error) {\n reject(error);\n }\n };\n\n const listenSocket = this.config.get('server.socket');\n\n if (listenSocket) {\n this.server.listen(listenSocket, onListen);\n } else {\n const { host, port } = this.config.get('server');\n\n this.server.listen(port, host, onListen);\n }\n });\n }\n\n stopWithError(err: unknown, customMessage?: string): never {\n this.log.debug(`⛔️ Server wasn't able to start properly.`);\n if (customMessage) {\n this.log.error(customMessage);\n }\n\n this.log.error(err);\n return this.stop();\n }\n\n stop(exitCode = 1): never {\n this.destroy();\n\n if (this.config.get('autoReload')) {\n process.send?.('stop');\n }\n\n // Kill process\n process.exit(exitCode);\n }\n\n async load() {\n await this.register();\n await this.bootstrap();\n\n this.isLoaded = true;\n\n return this;\n }\n\n async register() {\n // @ts-expect-error: init is internal\n this.ee.init(this.dirs.app.root, this.log);\n\n for (const provider of providers) {\n await provider.register?.(this);\n }\n\n await this.runPluginsLifecycles(utils.LIFECYCLES.REGISTER);\n await this.runUserLifecycles(utils.LIFECYCLES.REGISTER);\n\n // NOTE: Swap type customField for underlying data type\n utils.convertCustomFieldType(this);\n\n return this;\n }\n\n async bootstrap() {\n this.configureGlobalProxy();\n\n const models = [\n ...utils.transformContentTypesToModels(\n [...Object.values(this.contentTypes), ...Object.values(this.components)],\n this.db.metadata.identifiers\n ),\n ...this.get('models').get(),\n ];\n\n await this.db.init({ models });\n\n let oldContentTypes;\n if (await this.db.getSchemaConnection().hasTable(coreStoreModel.tableName)) {\n oldContentTypes = await this.store.get({\n type: 'strapi',\n name: 'content_types',\n key: 'schema',\n });\n }\n\n await this.hook('strapi::content-types.beforeSync').call({\n oldContentTypes,\n contentTypes: this.contentTypes,\n });\n\n const status = await this.db.schema.sync();\n\n // if schemas have changed, run repairs\n if (status === 'CHANGED') {\n await this.db.repair.removeOrphanMorphType({ pivot: 'component_type' });\n }\n\n if (this.EE) {\n await utils.ee.checkLicense({ strapi: this });\n }\n\n await this.hook('strapi::content-types.afterSync').call({\n oldContentTypes,\n contentTypes: this.contentTypes,\n });\n\n await this.store.set({\n type: 'strapi',\n name: 'content_types',\n key: 'schema',\n value: this.contentTypes,\n });\n\n await this.server.initMiddlewares();\n this.server.initRouting();\n\n await this.contentAPI.permissions.registerActions();\n\n await this.runPluginsLifecycles(utils.LIFECYCLES.BOOTSTRAP);\n\n for (const provider of providers) {\n await provider.bootstrap?.(this);\n }\n\n await this.runUserLifecycles(utils.LIFECYCLES.BOOTSTRAP);\n\n return this;\n }\n\n configureGlobalProxy() {\n const globalProxy = this.config.get('server.proxy.global');\n const httpProxy = this.config.get('server.proxy.http') || globalProxy;\n const httpsProxy = this.config.get('server.proxy.https') || globalProxy;\n\n if (!httpProxy && !httpsProxy) {\n return;\n }\n\n globalAgent.bootstrap();\n\n if (httpProxy) {\n this.log.info(`Using HTTP proxy: ${httpProxy}`);\n (global as any).GLOBAL_AGENT.HTTP_PROXY = httpProxy;\n }\n\n if (httpsProxy) {\n this.log.info(`Using HTTPS proxy: ${httpsProxy}`);\n (global as any).GLOBAL_AGENT.HTTPS_PROXY = httpsProxy;\n }\n }\n\n async destroy() {\n this.log.info('Shutting down Strapi');\n await this.runPluginsLifecycles(utils.LIFECYCLES.DESTROY);\n\n for (const provider of providers) {\n await provider.destroy?.(this);\n }\n\n await this.runUserLifecycles(utils.LIFECYCLES.DESTROY);\n\n await this.server.destroy();\n\n this.eventHub.destroy();\n\n await this.db?.destroy();\n\n process.removeAllListeners();\n\n // @ts-expect-error: Allow clean delete of global.strapi to allow re-instanciation\n delete global.strapi;\n\n this.log.info('Strapi has been shut down');\n }\n\n async runPluginsLifecycles(lifecycleName: 'register' | 'bootstrap' | 'destroy') {\n // plugins\n await this.get('modules')[lifecycleName]();\n }\n\n async runUserLifecycles(lifecycleName: 'register' | 'bootstrap' | 'destroy') {\n // user\n const userLifecycleFunction = this.app && this.app[lifecycleName];\n if (isFunction(userLifecycleFunction)) {\n await userLifecycleFunction({ strapi: this });\n }\n }\n\n getModel(uid: UID.ContentType): Schema.ContentType;\n getModel(uid: UID.Component): Schema.Component;\n getModel<TUID extends UID.Schema>(uid: TUID): Schema.ContentType | Schema.Component | undefined {\n if (uid in this.contentTypes) {\n return this.contentTypes[uid as UID.ContentType];\n }\n\n if (uid in this.components) {\n return this.components[uid as UID.Component];\n }\n }\n\n /**\n * @deprecated Use `strapi.db.query` instead\n */\n query(uid: UID.Schema) {\n return this.db.query(uid);\n }\n}\n\nexport interface StrapiOptions {\n appDir: string;\n distDir: string;\n autoReload?: boolean;\n serveAdminPanel?: boolean;\n}\n\nexport default Strapi;\n"],"names":["Strapi","Container","admin","get","EE","utils","isEE","ee","dirs","config","reload","db","requestContext","customFields","entityValidator","entityService","documents","features","fetch","cron","log","startupLogger","eventHub","fs","server","telemetry","store","services","getAll","service","uid","controllers","controller","contentTypes","contentType","name","components","policies","policy","middlewares","middleware","plugins","plugin","hooks","hook","apis","api","auth","contentAPI","sanitizers","validators","start","isLoaded","load","listen","error","stopWithError","registerInternalServices","createConfigProvider","internal_config","logger","createLogger","level","add","createQueryParamService","createContentAPI","createAuth","createServer","createStrapiFs","createEventHub","createFeaturesService","createCustomFields","createEntityService","strapi","createDocumentService","tsDir","tsUtils","resolveOutDirSync","app","root","tsMigrationsEnabled","projectDir","Database","_","merge","settings","migrations","dir","path","join","createReloader","sendStartupTelemetry","send","groupProperties","database","Object","keys","numberOfAllContentTypes","size","numberOfComponents","numberOfDynamicZones","getNumberOfDynamicZones","numberOfCustomControllers","values","filter","undefined","factories","length","environment","catch","openAdmin","isInitialized","shouldOpenAdmin","e","postListen","logStartupMessage","info","Promise","resolve","reject","onListen","listenSocket","host","port","err","customMessage","debug","stop","exitCode","destroy","process","exit","register","bootstrap","init","provider","providers","runPluginsLifecycles","REGISTER","runUserLifecycles","configureGlobalProxy","models","metadata","identifiers","oldContentTypes","getSchemaConnection","hasTable","coreStoreModel","tableName","type","key","call","status","schema","sync","repair","removeOrphanMorphType","pivot","checkLicense","set","value","initMiddlewares","initRouting","permissions","registerActions","BOOTSTRAP","globalProxy","httpProxy","httpsProxy","globalAgent","global","GLOBAL_AGENT","HTTP_PROXY","HTTPS_PROXY","DESTROY","removeAllListeners","lifecycleName","userLifecycleFunction","isFunction","getModel","query","constructor","opts","loadConfiguration"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Strapi.mjs","sources":["../src/Strapi.ts"],"sourcesContent":["import * as globalAgent from 'global-agent';\nimport path from 'path';\nimport _ from 'lodash';\nimport { isFunction } from 'lodash/fp';\nimport { Logger, createLogger } from '@strapi/logger';\nimport { Database } from '@strapi/database';\n\nimport type { Core, Modules, UID, Schema } from '@strapi/types';\n\nimport tsUtils from '@strapi/typescript-utils';\nimport { loadConfiguration } from './configuration';\n\nimport * as factories from './factories';\n\nimport * as utils from './utils';\nimport { Container } from './container';\nimport createStrapiFs from './services/fs';\nimport createEventHub from './services/event-hub';\nimport { createServer } from './services/server';\nimport { createReloader } from './services/reloader';\n\nimport { providers } from './providers';\nimport createEntityService from './services/entity-service';\nimport createQueryParamService from './services/query-params';\n\nimport entityValidator from './services/entity-validator';\nimport requestContext from './services/request-context';\nimport createAuth from './services/auth';\nimport createCustomFields from './services/custom-fields';\nimport createContentAPI from './services/content-api';\nimport getNumberOfDynamicZones from './services/utils/dynamic-zones';\nimport getNumberOfConditionalFields from './services/utils/conditional-fields';\nimport { FeaturesService, createFeaturesService } from './services/features';\nimport { createDocumentService } from './services/document-service';\n\nimport { coreStoreModel } from './services/core-store';\nimport { createConfigProvider } from './services/config';\n\nclass Strapi extends Container implements Core.Strapi {\n app: any;\n\n isLoaded: boolean = false;\n\n internal_config: Record<string, unknown> = {};\n\n constructor(opts: StrapiOptions) {\n super();\n\n this.internal_config = loadConfiguration(opts);\n\n this.registerInternalServices();\n\n for (const provider of providers) {\n provider.init?.(this);\n }\n }\n\n get admin(): Core.Module {\n return this.get('admin');\n }\n\n get EE(): boolean {\n return utils.ee.isEE;\n }\n\n get ee(): Core.Strapi['ee'] {\n return utils.ee;\n }\n\n get dirs(): Core.StrapiDirectories {\n return this.config.get('dirs');\n }\n\n get reload(): Core.Reloader {\n return this.get('reload');\n }\n\n get db(): Database {\n return this.get('db');\n }\n\n get requestContext(): Modules.RequestContext.RequestContext {\n return this.get('requestContext');\n }\n\n get customFields(): Modules.CustomFields.CustomFields {\n return this.get('customFields');\n }\n\n get entityValidator(): Modules.EntityValidator.EntityValidator {\n return this.get('entityValidator');\n }\n\n /**\n * @deprecated `strapi.entityService` will be removed in the next major version\n */\n get entityService(): Modules.EntityService.EntityService {\n return this.get('entityService');\n }\n\n get documents(): Modules.Documents.Service {\n return this.get('documents');\n }\n\n get features(): FeaturesService {\n return this.get('features');\n }\n\n get fetch(): Modules.Fetch.Fetch {\n return this.get('fetch');\n }\n\n get cron(): Modules.Cron.CronService {\n return this.get('cron');\n }\n\n get log(): Logger {\n return this.get('logger');\n }\n\n get startupLogger(): Core.StartupLogger {\n return this.get('startupLogger');\n }\n\n get eventHub(): Modules.EventHub.EventHub {\n return this.get('eventHub');\n }\n\n get fs(): Core.StrapiFS {\n return this.get('fs');\n }\n\n get server(): Modules.Server.Server {\n return this.get('server');\n }\n\n get telemetry(): Modules.Metrics.TelemetryService {\n return this.get('telemetry');\n }\n\n get store(): Modules.CoreStore.CoreStore {\n return this.get('coreStore');\n }\n\n get config() {\n return this.get('config');\n }\n\n get services() {\n return this.get('services').getAll();\n }\n\n service(uid: UID.Service) {\n return this.get('services').get(uid);\n }\n\n get controllers() {\n return this.get('controllers').getAll();\n }\n\n controller(uid: UID.Controller) {\n return this.get('controllers').get(uid);\n }\n\n get contentTypes(): Schema.ContentTypes {\n return this.get('content-types').getAll();\n }\n\n contentType(name: UID.ContentType) {\n return this.get('content-types').get(name);\n }\n\n get components(): Schema.Components {\n return this.get('components').getAll();\n }\n\n get policies() {\n return this.get('policies').getAll();\n }\n\n policy(name: string) {\n return this.get('policies').get(name);\n }\n\n get middlewares() {\n return this.get('middlewares').getAll();\n }\n\n middleware(name: string) {\n return this.get('middlewares').get(name);\n }\n\n get plugins(): Record<string, Core.Plugin> {\n return this.get('plugins').getAll();\n }\n\n plugin(name: string): Core.Plugin {\n return this.get('plugins').get(name);\n }\n\n get hooks() {\n return this.get('hooks').getAll();\n }\n\n hook(name: string) {\n return this.get('hooks').get(name);\n }\n\n get apis() {\n return this.get('apis').getAll();\n }\n\n api(name: string): Core.Module {\n return this.get('apis').get(name);\n }\n\n get auth() {\n return this.get('auth');\n }\n\n get contentAPI() {\n return this.get('content-api');\n }\n\n get sanitizers() {\n return this.get('sanitizers');\n }\n\n get validators() {\n return this.get('validators');\n }\n\n async start() {\n try {\n if (!this.isLoaded) {\n await this.load();\n }\n\n await this.listen();\n\n return this;\n } catch (error) {\n return this.stopWithError(error);\n }\n }\n\n // TODO: split into more providers\n registerInternalServices() {\n const config = createConfigProvider(this.internal_config, this);\n\n const logger = createLogger({\n level: 'http', // Strapi defaults to level 'http'\n ...config.get('logger'), // DEPRECATED\n ...config.get('server.logger.config'),\n });\n\n // Instantiate the Strapi container\n this.add('config', () => config)\n .add('query-params', createQueryParamService(this))\n .add('content-api', createContentAPI(this))\n .add('auth', createAuth())\n .add('server', () => createServer(this))\n .add('fs', () => createStrapiFs(this))\n .add('eventHub', () => createEventHub())\n .add('startupLogger', () => utils.createStartupLogger(this))\n .add('logger', () => logger)\n .add('fetch', () => utils.createStrapiFetch(this))\n .add('features', () => createFeaturesService(this))\n .add('requestContext', requestContext)\n .add('customFields', createCustomFields(this))\n .add('entityValidator', entityValidator)\n .add('entityService', () => createEntityService({ strapi: this, db: this.db }))\n .add('documents', () => createDocumentService(this))\n .add('db', () => {\n const tsDir = tsUtils.resolveOutDirSync(this.dirs.app.root);\n const tsMigrationsEnabled =\n this.config.get('database.settings.useTypescriptMigrations') === true && tsDir;\n const projectDir = tsMigrationsEnabled ? tsDir : this.dirs.app.root;\n return new Database(\n _.merge(this.config.get('database'), {\n logger,\n settings: {\n migrations: {\n dir: path.join(projectDir, 'database/migrations'),\n },\n },\n })\n );\n })\n .add('reload', () => createReloader(this));\n }\n\n sendStartupTelemetry() {\n // Emit started event.\n // do not await to avoid slower startup\n // This event is anonymous\n this.telemetry\n .send('didStartServer', {\n groupProperties: {\n database: this.config.get('database.connection.client'),\n plugins: Object.keys(this.plugins),\n numberOfAllContentTypes: _.size(this.contentTypes), // TODO: V5: This event should be renamed numberOfContentTypes in V5 as the name is already taken to describe the number of content types using i18n.\n numberOfComponents: _.size(this.components),\n numberOfDynamicZones: getNumberOfDynamicZones(),\n numberOfConditionalFields: getNumberOfConditionalFields(),\n numberOfCustomControllers: Object.values<Core.Controller>(this.controllers).filter(\n // TODO: Fix this at the content API loader level to prevent future types issues\n (controller) => controller !== undefined && factories.isCustomController(controller)\n ).length,\n environment: this.config.environment,\n // TODO: to add back\n // providers: this.config.installedProviders,\n },\n })\n .catch(this.log.error);\n }\n\n async openAdmin({ isInitialized }: { isInitialized: boolean }) {\n const shouldOpenAdmin =\n this.config.get('environment') === 'development' &&\n this.config.get('admin.autoOpen', true) !== false;\n\n if (shouldOpenAdmin && !isInitialized) {\n try {\n await utils.openBrowser(this.config);\n this.telemetry.send('didOpenTab');\n } catch (e) {\n this.telemetry.send('didNotOpenTab');\n }\n }\n }\n\n async postListen() {\n const isInitialized = await utils.isInitialized(this);\n\n this.startupLogger.logStartupMessage({ isInitialized });\n\n this.log.info('Strapi started successfully');\n this.sendStartupTelemetry();\n this.openAdmin({ isInitialized });\n }\n\n /**\n * Add behaviors to the server\n */\n async listen() {\n return new Promise<void>((resolve, reject) => {\n const onListen = async () => {\n try {\n await this.postListen();\n\n resolve();\n } catch (error) {\n reject(error);\n }\n };\n\n const listenSocket = this.config.get('server.socket');\n\n if (listenSocket) {\n this.server.listen(listenSocket, onListen);\n } else {\n const { host, port } = this.config.get('server');\n\n this.server.listen(port, host, onListen);\n }\n });\n }\n\n stopWithError(err: unknown, customMessage?: string): never {\n this.log.debug(`⛔️ Server wasn't able to start properly.`);\n if (customMessage) {\n this.log.error(customMessage);\n }\n\n this.log.error(err);\n return this.stop();\n }\n\n stop(exitCode = 1): never {\n this.destroy();\n\n if (this.config.get('autoReload')) {\n process.send?.('stop');\n }\n\n // Kill process\n process.exit(exitCode);\n }\n\n async load() {\n await this.register();\n await this.bootstrap();\n\n this.isLoaded = true;\n\n return this;\n }\n\n async register() {\n // @ts-expect-error: init is internal\n this.ee.init(this.dirs.app.root, this.log);\n\n for (const provider of providers) {\n await provider.register?.(this);\n }\n\n await this.runPluginsLifecycles(utils.LIFECYCLES.REGISTER);\n await this.runUserLifecycles(utils.LIFECYCLES.REGISTER);\n\n // NOTE: Swap type customField for underlying data type\n utils.convertCustomFieldType(this);\n\n return this;\n }\n\n async bootstrap() {\n this.configureGlobalProxy();\n\n const models = [\n ...utils.transformContentTypesToModels(\n [...Object.values(this.contentTypes), ...Object.values(this.components)],\n this.db.metadata.identifiers\n ),\n ...this.get('models').get(),\n ];\n\n await this.db.init({ models });\n\n let oldContentTypes;\n if (await this.db.getSchemaConnection().hasTable(coreStoreModel.tableName)) {\n oldContentTypes = await this.store.get({\n type: 'strapi',\n name: 'content_types',\n key: 'schema',\n });\n }\n\n await this.hook('strapi::content-types.beforeSync').call({\n oldContentTypes,\n contentTypes: this.contentTypes,\n });\n\n const status = await this.db.schema.sync();\n\n // if schemas have changed, run repairs\n if (status === 'CHANGED') {\n await this.db.repair.removeOrphanMorphType({ pivot: 'component_type' });\n }\n\n if (this.EE) {\n await utils.ee.checkLicense({ strapi: this });\n }\n\n await this.hook('strapi::content-types.afterSync').call({\n oldContentTypes,\n contentTypes: this.contentTypes,\n });\n\n await this.store.set({\n type: 'strapi',\n name: 'content_types',\n key: 'schema',\n value: this.contentTypes,\n });\n\n await this.server.initMiddlewares();\n this.server.initRouting();\n\n await this.contentAPI.permissions.registerActions();\n\n await this.runPluginsLifecycles(utils.LIFECYCLES.BOOTSTRAP);\n\n for (const provider of providers) {\n await provider.bootstrap?.(this);\n }\n\n await this.runUserLifecycles(utils.LIFECYCLES.BOOTSTRAP);\n\n return this;\n }\n\n configureGlobalProxy() {\n const globalProxy = this.config.get('server.proxy.global');\n const httpProxy = this.config.get('server.proxy.http') || globalProxy;\n const httpsProxy = this.config.get('server.proxy.https') || globalProxy;\n\n if (!httpProxy && !httpsProxy) {\n return;\n }\n\n globalAgent.bootstrap();\n\n if (httpProxy) {\n this.log.info(`Using HTTP proxy: ${httpProxy}`);\n (global as any).GLOBAL_AGENT.HTTP_PROXY = httpProxy;\n }\n\n if (httpsProxy) {\n this.log.info(`Using HTTPS proxy: ${httpsProxy}`);\n (global as any).GLOBAL_AGENT.HTTPS_PROXY = httpsProxy;\n }\n }\n\n async destroy() {\n this.log.info('Shutting down Strapi');\n await this.runPluginsLifecycles(utils.LIFECYCLES.DESTROY);\n\n for (const provider of providers) {\n await provider.destroy?.(this);\n }\n\n await this.runUserLifecycles(utils.LIFECYCLES.DESTROY);\n\n await this.server.destroy();\n\n this.eventHub.destroy();\n\n await this.db?.destroy();\n\n process.removeAllListeners();\n\n // @ts-expect-error: Allow clean delete of global.strapi to allow re-instanciation\n delete global.strapi;\n\n this.log.info('Strapi has been shut down');\n }\n\n async runPluginsLifecycles(lifecycleName: 'register' | 'bootstrap' | 'destroy') {\n // plugins\n await this.get('modules')[lifecycleName]();\n }\n\n async runUserLifecycles(lifecycleName: 'register' | 'bootstrap' | 'destroy') {\n // user\n const userLifecycleFunction = this.app && this.app[lifecycleName];\n if (isFunction(userLifecycleFunction)) {\n await userLifecycleFunction({ strapi: this });\n }\n }\n\n getModel(uid: UID.ContentType): Schema.ContentType;\n getModel(uid: UID.Component): Schema.Component;\n getModel<TUID extends UID.Schema>(uid: TUID): Schema.ContentType | Schema.Component | undefined {\n if (uid in this.contentTypes) {\n return this.contentTypes[uid as UID.ContentType];\n }\n\n if (uid in this.components) {\n return this.components[uid as UID.Component];\n }\n }\n\n /**\n * @deprecated Use `strapi.db.query` instead\n */\n query(uid: UID.Schema) {\n return this.db.query(uid);\n }\n}\n\nexport interface StrapiOptions {\n appDir: string;\n distDir: string;\n autoReload?: boolean;\n serveAdminPanel?: boolean;\n}\n\nexport default Strapi;\n"],"names":["Strapi","Container","admin","get","EE","utils","isEE","ee","dirs","config","reload","db","requestContext","customFields","entityValidator","entityService","documents","features","fetch","cron","log","startupLogger","eventHub","fs","server","telemetry","store","services","getAll","service","uid","controllers","controller","contentTypes","contentType","name","components","policies","policy","middlewares","middleware","plugins","plugin","hooks","hook","apis","api","auth","contentAPI","sanitizers","validators","start","isLoaded","load","listen","error","stopWithError","registerInternalServices","createConfigProvider","internal_config","logger","createLogger","level","add","createQueryParamService","createContentAPI","createAuth","createServer","createStrapiFs","createEventHub","createFeaturesService","createCustomFields","createEntityService","strapi","createDocumentService","tsDir","tsUtils","resolveOutDirSync","app","root","tsMigrationsEnabled","projectDir","Database","_","merge","settings","migrations","dir","path","join","createReloader","sendStartupTelemetry","send","groupProperties","database","Object","keys","numberOfAllContentTypes","size","numberOfComponents","numberOfDynamicZones","getNumberOfDynamicZones","numberOfConditionalFields","getNumberOfConditionalFields","numberOfCustomControllers","values","filter","undefined","factories","length","environment","catch","openAdmin","isInitialized","shouldOpenAdmin","e","postListen","logStartupMessage","info","Promise","resolve","reject","onListen","listenSocket","host","port","err","customMessage","debug","stop","exitCode","destroy","process","exit","register","bootstrap","init","provider","providers","runPluginsLifecycles","REGISTER","runUserLifecycles","configureGlobalProxy","models","metadata","identifiers","oldContentTypes","getSchemaConnection","hasTable","coreStoreModel","tableName","type","key","call","status","schema","sync","repair","removeOrphanMorphType","pivot","checkLicense","set","value","initMiddlewares","initRouting","permissions","registerActions","BOOTSTRAP","globalProxy","httpProxy","httpsProxy","globalAgent","global","GLOBAL_AGENT","HTTP_PROXY","HTTPS_PROXY","DESTROY","removeAllListeners","lifecycleName","userLifecycleFunction","isFunction","getModel","query","constructor","opts","loadConfiguration"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/configuration/index.ts"],"names":[],"mappings":"AAGA,OAAO,CAAC,MAAM,QAAQ,CAAC;AAUvB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAqC/C,eAAO,MAAM,iBAAiB,SAAU,aAAa
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/configuration/index.ts"],"names":[],"mappings":"AAGA,OAAO,CAAC,MAAM,QAAQ,CAAC;AAUvB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAqC/C,eAAO,MAAM,iBAAiB,SAAU,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wEAkDpD,CAAC"}
|
@@ -59,6 +59,7 @@ const loadConfiguration = (opts)=>{
|
|
59
59
|
autoReload,
|
60
60
|
environment: process.env.NODE_ENV,
|
61
61
|
uuid: _.get(pkgJSON, 'strapi.uuid'),
|
62
|
+
installId: _.get(pkgJSON, 'strapi.installId'),
|
62
63
|
packageJsonStrapi: _.omit(_.get(pkgJSON, 'strapi', {}), 'uuid'),
|
63
64
|
info: {
|
64
65
|
...pkgJSON,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/configuration/index.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-var-requires */\nimport os from 'os';\nimport path from 'path';\nimport _ from 'lodash';\nimport { omit } from 'lodash/fp';\nimport dotenv from 'dotenv';\nimport type { Core } from '@strapi/types';\nimport { strings } from '@strapi/utils';\n\nimport { getConfigUrls, getAbsoluteAdminUrl, getAbsoluteServerUrl } from './urls';\nimport loadConfigDir from './config-loader';\nimport { getDirs } from './get-dirs';\n\nimport type { StrapiOptions } from '../Strapi';\nimport { version as strapiVersion } from '../../package.json';\n\ndotenv.config({ path: process.env.ENV_PATH });\n\nprocess.env.NODE_ENV = process.env.NODE_ENV || 'development';\n\nconst defaultConfig = {\n server: {\n host: process.env.HOST || os.hostname() || 'localhost',\n port: Number(process.env.PORT) || 1337,\n proxy: false,\n cron: { enabled: false },\n admin: { autoOpen: false },\n dirs: { public: './public' },\n transfer: {\n remote: {\n enabled: true,\n },\n },\n logger: {\n updates: {\n enabled: true,\n },\n startup: {\n enabled: true,\n },\n },\n } satisfies Partial<Core.Config.Server>,\n admin: {} satisfies Partial<Core.Config.Admin>,\n api: {\n rest: {\n prefix: '/api',\n },\n } satisfies Partial<Core.Config.Api>,\n};\n\nexport const loadConfiguration = (opts: StrapiOptions) => {\n const { appDir, distDir, autoReload = false, serveAdminPanel = true } = opts;\n\n const pkgJSON = require(path.resolve(appDir, 'package.json'));\n\n const configDir = path.resolve(distDir || process.cwd(), 'config');\n\n const rootConfig = {\n launchedAt: Date.now(),\n autoReload,\n environment: process.env.NODE_ENV,\n uuid: _.get(pkgJSON, 'strapi.uuid'),\n packageJsonStrapi: _.omit(_.get(pkgJSON, 'strapi', {}), 'uuid'),\n info: {\n ...pkgJSON,\n strapi: strapiVersion,\n },\n admin: {\n serveAdminPanel,\n },\n };\n\n // See packages/core/core/src/domain/module/index.ts for plugin config loading\n const baseConfig = omit('plugins', loadConfigDir(configDir)); // plugin config will be loaded later\n\n const envDir = path.resolve(configDir, 'env', process.env.NODE_ENV as string);\n const envConfig = loadConfigDir(envDir);\n\n const config = _.merge(rootConfig, defaultConfig, baseConfig, envConfig);\n\n const { serverUrl, adminUrl } = getConfigUrls(config);\n\n const serverAbsoluteUrl = getAbsoluteServerUrl(config);\n const adminAbsoluteUrl = getAbsoluteAdminUrl(config);\n\n const sameOrigin = new URL(adminAbsoluteUrl).origin === new URL(serverAbsoluteUrl).origin;\n\n const adminPath = sameOrigin\n ? adminUrl.replace(strings.getCommonPath(serverUrl, adminUrl), '')\n : new URL(adminUrl).pathname;\n\n _.set(config, 'server.url', serverUrl);\n _.set(config, 'server.absoluteUrl', serverAbsoluteUrl);\n _.set(config, 'admin.url', adminUrl);\n _.set(config, 'admin.path', adminPath);\n _.set(config, 'admin.absoluteUrl', adminAbsoluteUrl);\n _.set(config, 'dirs', getDirs(opts, config));\n\n return config;\n};\n"],"names":["dotenv","config","path","process","env","ENV_PATH","NODE_ENV","defaultConfig","server","host","HOST","os","hostname","port","Number","PORT","proxy","cron","enabled","admin","autoOpen","dirs","public","transfer","remote","logger","updates","startup","api","rest","prefix","loadConfiguration","opts","appDir","distDir","autoReload","serveAdminPanel","pkgJSON","require","resolve","configDir","cwd","rootConfig","launchedAt","Date","now","environment","uuid","_","get","packageJsonStrapi","omit","info","strapi","strapiVersion","baseConfig","loadConfigDir","envDir","envConfig","merge","serverUrl","adminUrl","getConfigUrls","serverAbsoluteUrl","getAbsoluteServerUrl","adminAbsoluteUrl","getAbsoluteAdminUrl","sameOrigin","URL","origin","adminPath","replace","strings","getCommonPath","pathname","set","getDirs"],"mappings":";;;;;;;;;;;;;AAgBAA,MAAAA,CAAOC,MAAM,CAAC;IAAEC,IAAMC,EAAAA,OAAAA,CAAQC,GAAG,CAACC;AAAS,CAAA,CAAA;AAE3CF,OAAQC,CAAAA,GAAG,CAACE,QAAQ,GAAGH,QAAQC,GAAG,CAACE,QAAQ,IAAI,aAAA;AAE/C,MAAMC,aAAgB,GAAA;IACpBC,MAAQ,EAAA;AACNC,QAAAA,IAAAA,EAAMN,QAAQC,GAAG,CAACM,IAAI,IAAIC,EAAAA,CAAGC,QAAQ,EAAM,IAAA,WAAA;AAC3CC,QAAAA,IAAAA,EAAMC,MAAOX,CAAAA,OAAAA,CAAQC,GAAG,CAACW,IAAI,CAAK,IAAA,IAAA;QAClCC,KAAO,EAAA,KAAA;QACPC,IAAM,EAAA;YAAEC,OAAS,EAAA;AAAM,SAAA;QACvBC,KAAO,EAAA;YAAEC,QAAU,EAAA;AAAM,SAAA;QACzBC,IAAM,EAAA;YAAEC,MAAQ,EAAA;AAAW,SAAA;QAC3BC,QAAU,EAAA;YACRC,MAAQ,EAAA;gBACNN,OAAS,EAAA;AACX;AACF,SAAA;QACAO,MAAQ,EAAA;YACNC,OAAS,EAAA;gBACPR,OAAS,EAAA;AACX,aAAA;YACAS,OAAS,EAAA;gBACPT,OAAS,EAAA;AACX;AACF;AACF,KAAA;AACAC,IAAAA,KAAAA,EAAO,EAAC;IACRS,GAAK,EAAA;QACHC,IAAM,EAAA;YACJC,MAAQ,EAAA;AACV;AACF;AACF,CAAA;AAEO,MAAMC,oBAAoB,CAACC,IAAAA,GAAAA;IAChC,MAAM,EAAEC,MAAM,EAAEC,OAAO,EAAEC,UAAa,GAAA,KAAK,EAAEC,eAAAA,GAAkB,IAAI,EAAE,GAAGJ,IAAAA;AAExE,IAAA,MAAMK,OAAUC,GAAAA,OAAAA,CAAQpC,IAAKqC,CAAAA,OAAO,CAACN,MAAQ,EAAA,cAAA,CAAA,CAAA;AAE7C,IAAA,MAAMO,YAAYtC,IAAKqC,CAAAA,OAAO,CAACL,OAAW/B,IAAAA,OAAAA,CAAQsC,GAAG,EAAI,EAAA,QAAA,CAAA;AAEzD,IAAA,MAAMC,UAAa,GAAA;AACjBC,QAAAA,UAAAA,EAAYC,KAAKC,GAAG,EAAA;AACpBV,QAAAA,UAAAA;QACAW,WAAa3C,EAAAA,OAAAA,CAAQC,GAAG,CAACE,QAAQ;QACjCyC,IAAMC,EAAAA,CAAAA,CAAEC,GAAG,CAACZ,OAAS,EAAA,aAAA,CAAA;QACrBa,
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/configuration/index.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-var-requires */\nimport os from 'os';\nimport path from 'path';\nimport _ from 'lodash';\nimport { omit } from 'lodash/fp';\nimport dotenv from 'dotenv';\nimport type { Core } from '@strapi/types';\nimport { strings } from '@strapi/utils';\n\nimport { getConfigUrls, getAbsoluteAdminUrl, getAbsoluteServerUrl } from './urls';\nimport loadConfigDir from './config-loader';\nimport { getDirs } from './get-dirs';\n\nimport type { StrapiOptions } from '../Strapi';\nimport { version as strapiVersion } from '../../package.json';\n\ndotenv.config({ path: process.env.ENV_PATH });\n\nprocess.env.NODE_ENV = process.env.NODE_ENV || 'development';\n\nconst defaultConfig = {\n server: {\n host: process.env.HOST || os.hostname() || 'localhost',\n port: Number(process.env.PORT) || 1337,\n proxy: false,\n cron: { enabled: false },\n admin: { autoOpen: false },\n dirs: { public: './public' },\n transfer: {\n remote: {\n enabled: true,\n },\n },\n logger: {\n updates: {\n enabled: true,\n },\n startup: {\n enabled: true,\n },\n },\n } satisfies Partial<Core.Config.Server>,\n admin: {} satisfies Partial<Core.Config.Admin>,\n api: {\n rest: {\n prefix: '/api',\n },\n } satisfies Partial<Core.Config.Api>,\n};\n\nexport const loadConfiguration = (opts: StrapiOptions) => {\n const { appDir, distDir, autoReload = false, serveAdminPanel = true } = opts;\n\n const pkgJSON = require(path.resolve(appDir, 'package.json'));\n\n const configDir = path.resolve(distDir || process.cwd(), 'config');\n\n const rootConfig = {\n launchedAt: Date.now(),\n autoReload,\n environment: process.env.NODE_ENV,\n uuid: _.get(pkgJSON, 'strapi.uuid'),\n installId: _.get(pkgJSON, 'strapi.installId'),\n packageJsonStrapi: _.omit(_.get(pkgJSON, 'strapi', {}), 'uuid'),\n info: {\n ...pkgJSON,\n strapi: strapiVersion,\n },\n admin: {\n serveAdminPanel,\n },\n };\n\n // See packages/core/core/src/domain/module/index.ts for plugin config loading\n const baseConfig = omit('plugins', loadConfigDir(configDir)); // plugin config will be loaded later\n\n const envDir = path.resolve(configDir, 'env', process.env.NODE_ENV as string);\n const envConfig = loadConfigDir(envDir);\n\n const config = _.merge(rootConfig, defaultConfig, baseConfig, envConfig);\n\n const { serverUrl, adminUrl } = getConfigUrls(config);\n\n const serverAbsoluteUrl = getAbsoluteServerUrl(config);\n const adminAbsoluteUrl = getAbsoluteAdminUrl(config);\n\n const sameOrigin = new URL(adminAbsoluteUrl).origin === new URL(serverAbsoluteUrl).origin;\n\n const adminPath = sameOrigin\n ? adminUrl.replace(strings.getCommonPath(serverUrl, adminUrl), '')\n : new URL(adminUrl).pathname;\n\n _.set(config, 'server.url', serverUrl);\n _.set(config, 'server.absoluteUrl', serverAbsoluteUrl);\n _.set(config, 'admin.url', adminUrl);\n _.set(config, 'admin.path', adminPath);\n _.set(config, 'admin.absoluteUrl', adminAbsoluteUrl);\n _.set(config, 'dirs', getDirs(opts, config));\n\n return config;\n};\n"],"names":["dotenv","config","path","process","env","ENV_PATH","NODE_ENV","defaultConfig","server","host","HOST","os","hostname","port","Number","PORT","proxy","cron","enabled","admin","autoOpen","dirs","public","transfer","remote","logger","updates","startup","api","rest","prefix","loadConfiguration","opts","appDir","distDir","autoReload","serveAdminPanel","pkgJSON","require","resolve","configDir","cwd","rootConfig","launchedAt","Date","now","environment","uuid","_","get","installId","packageJsonStrapi","omit","info","strapi","strapiVersion","baseConfig","loadConfigDir","envDir","envConfig","merge","serverUrl","adminUrl","getConfigUrls","serverAbsoluteUrl","getAbsoluteServerUrl","adminAbsoluteUrl","getAbsoluteAdminUrl","sameOrigin","URL","origin","adminPath","replace","strings","getCommonPath","pathname","set","getDirs"],"mappings":"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"}
|
@@ -57,6 +57,7 @@ const loadConfiguration = (opts)=>{
|
|
57
57
|
autoReload,
|
58
58
|
environment: process.env.NODE_ENV,
|
59
59
|
uuid: _.get(pkgJSON, 'strapi.uuid'),
|
60
|
+
installId: _.get(pkgJSON, 'strapi.installId'),
|
60
61
|
packageJsonStrapi: _.omit(_.get(pkgJSON, 'strapi', {}), 'uuid'),
|
61
62
|
info: {
|
62
63
|
...pkgJSON,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/configuration/index.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-var-requires */\nimport os from 'os';\nimport path from 'path';\nimport _ from 'lodash';\nimport { omit } from 'lodash/fp';\nimport dotenv from 'dotenv';\nimport type { Core } from '@strapi/types';\nimport { strings } from '@strapi/utils';\n\nimport { getConfigUrls, getAbsoluteAdminUrl, getAbsoluteServerUrl } from './urls';\nimport loadConfigDir from './config-loader';\nimport { getDirs } from './get-dirs';\n\nimport type { StrapiOptions } from '../Strapi';\nimport { version as strapiVersion } from '../../package.json';\n\ndotenv.config({ path: process.env.ENV_PATH });\n\nprocess.env.NODE_ENV = process.env.NODE_ENV || 'development';\n\nconst defaultConfig = {\n server: {\n host: process.env.HOST || os.hostname() || 'localhost',\n port: Number(process.env.PORT) || 1337,\n proxy: false,\n cron: { enabled: false },\n admin: { autoOpen: false },\n dirs: { public: './public' },\n transfer: {\n remote: {\n enabled: true,\n },\n },\n logger: {\n updates: {\n enabled: true,\n },\n startup: {\n enabled: true,\n },\n },\n } satisfies Partial<Core.Config.Server>,\n admin: {} satisfies Partial<Core.Config.Admin>,\n api: {\n rest: {\n prefix: '/api',\n },\n } satisfies Partial<Core.Config.Api>,\n};\n\nexport const loadConfiguration = (opts: StrapiOptions) => {\n const { appDir, distDir, autoReload = false, serveAdminPanel = true } = opts;\n\n const pkgJSON = require(path.resolve(appDir, 'package.json'));\n\n const configDir = path.resolve(distDir || process.cwd(), 'config');\n\n const rootConfig = {\n launchedAt: Date.now(),\n autoReload,\n environment: process.env.NODE_ENV,\n uuid: _.get(pkgJSON, 'strapi.uuid'),\n packageJsonStrapi: _.omit(_.get(pkgJSON, 'strapi', {}), 'uuid'),\n info: {\n ...pkgJSON,\n strapi: strapiVersion,\n },\n admin: {\n serveAdminPanel,\n },\n };\n\n // See packages/core/core/src/domain/module/index.ts for plugin config loading\n const baseConfig = omit('plugins', loadConfigDir(configDir)); // plugin config will be loaded later\n\n const envDir = path.resolve(configDir, 'env', process.env.NODE_ENV as string);\n const envConfig = loadConfigDir(envDir);\n\n const config = _.merge(rootConfig, defaultConfig, baseConfig, envConfig);\n\n const { serverUrl, adminUrl } = getConfigUrls(config);\n\n const serverAbsoluteUrl = getAbsoluteServerUrl(config);\n const adminAbsoluteUrl = getAbsoluteAdminUrl(config);\n\n const sameOrigin = new URL(adminAbsoluteUrl).origin === new URL(serverAbsoluteUrl).origin;\n\n const adminPath = sameOrigin\n ? adminUrl.replace(strings.getCommonPath(serverUrl, adminUrl), '')\n : new URL(adminUrl).pathname;\n\n _.set(config, 'server.url', serverUrl);\n _.set(config, 'server.absoluteUrl', serverAbsoluteUrl);\n _.set(config, 'admin.url', adminUrl);\n _.set(config, 'admin.path', adminPath);\n _.set(config, 'admin.absoluteUrl', adminAbsoluteUrl);\n _.set(config, 'dirs', getDirs(opts, config));\n\n return config;\n};\n"],"names":["dotenv","config","path","process","env","ENV_PATH","NODE_ENV","defaultConfig","server","host","HOST","os","hostname","port","Number","PORT","proxy","cron","enabled","admin","autoOpen","dirs","public","transfer","remote","logger","updates","startup","api","rest","prefix","loadConfiguration","opts","appDir","distDir","autoReload","serveAdminPanel","pkgJSON","require","resolve","configDir","cwd","rootConfig","launchedAt","Date","now","environment","uuid","_","get","packageJsonStrapi","omit","info","strapi","strapiVersion","baseConfig","loadConfigDir","envDir","envConfig","merge","serverUrl","adminUrl","getConfigUrls","serverAbsoluteUrl","getAbsoluteServerUrl","adminAbsoluteUrl","getAbsoluteAdminUrl","sameOrigin","URL","origin","adminPath","replace","strings","getCommonPath","pathname","set","getDirs"],"mappings":";;;;;;;;;;;AAgBAA,MAAAA,CAAOC,MAAM,CAAC;IAAEC,IAAMC,EAAAA,OAAAA,CAAQC,GAAG,CAACC;AAAS,CAAA,CAAA;AAE3CF,OAAQC,CAAAA,GAAG,CAACE,QAAQ,GAAGH,QAAQC,GAAG,CAACE,QAAQ,IAAI,aAAA;AAE/C,MAAMC,aAAgB,GAAA;IACpBC,MAAQ,EAAA;AACNC,QAAAA,IAAAA,EAAMN,QAAQC,GAAG,CAACM,IAAI,IAAIC,EAAAA,CAAGC,QAAQ,EAAM,IAAA,WAAA;AAC3CC,QAAAA,IAAAA,EAAMC,MAAOX,CAAAA,OAAAA,CAAQC,GAAG,CAACW,IAAI,CAAK,IAAA,IAAA;QAClCC,KAAO,EAAA,KAAA;QACPC,IAAM,EAAA;YAAEC,OAAS,EAAA;AAAM,SAAA;QACvBC,KAAO,EAAA;YAAEC,QAAU,EAAA;AAAM,SAAA;QACzBC,IAAM,EAAA;YAAEC,MAAQ,EAAA;AAAW,SAAA;QAC3BC,QAAU,EAAA;YACRC,MAAQ,EAAA;gBACNN,OAAS,EAAA;AACX;AACF,SAAA;QACAO,MAAQ,EAAA;YACNC,OAAS,EAAA;gBACPR,OAAS,EAAA;AACX,aAAA;YACAS,OAAS,EAAA;gBACPT,OAAS,EAAA;AACX;AACF;AACF,KAAA;AACAC,IAAAA,KAAAA,EAAO,EAAC;IACRS,GAAK,EAAA;QACHC,IAAM,EAAA;YACJC,MAAQ,EAAA;AACV;AACF;AACF,CAAA;AAEO,MAAMC,oBAAoB,CAACC,IAAAA,GAAAA;IAChC,MAAM,EAAEC,MAAM,EAAEC,OAAO,EAAEC,UAAa,GAAA,KAAK,EAAEC,eAAAA,GAAkB,IAAI,EAAE,GAAGJ,IAAAA;AAExE,IAAA,MAAMK,OAAUC,GAAAA,OAAAA,CAAQpC,IAAKqC,CAAAA,OAAO,CAACN,MAAQ,EAAA,cAAA,CAAA,CAAA;AAE7C,IAAA,MAAMO,YAAYtC,IAAKqC,CAAAA,OAAO,CAACL,OAAW/B,IAAAA,OAAAA,CAAQsC,GAAG,EAAI,EAAA,QAAA,CAAA;AAEzD,IAAA,MAAMC,UAAa,GAAA;AACjBC,QAAAA,UAAAA,EAAYC,KAAKC,GAAG,EAAA;AACpBV,QAAAA,UAAAA;QACAW,WAAa3C,EAAAA,OAAAA,CAAQC,GAAG,CAACE,QAAQ;QACjCyC,IAAMC,EAAAA,CAAAA,CAAEC,GAAG,CAACZ,OAAS,EAAA,aAAA,CAAA;QACrBa,
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/configuration/index.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-var-requires */\nimport os from 'os';\nimport path from 'path';\nimport _ from 'lodash';\nimport { omit } from 'lodash/fp';\nimport dotenv from 'dotenv';\nimport type { Core } from '@strapi/types';\nimport { strings } from '@strapi/utils';\n\nimport { getConfigUrls, getAbsoluteAdminUrl, getAbsoluteServerUrl } from './urls';\nimport loadConfigDir from './config-loader';\nimport { getDirs } from './get-dirs';\n\nimport type { StrapiOptions } from '../Strapi';\nimport { version as strapiVersion } from '../../package.json';\n\ndotenv.config({ path: process.env.ENV_PATH });\n\nprocess.env.NODE_ENV = process.env.NODE_ENV || 'development';\n\nconst defaultConfig = {\n server: {\n host: process.env.HOST || os.hostname() || 'localhost',\n port: Number(process.env.PORT) || 1337,\n proxy: false,\n cron: { enabled: false },\n admin: { autoOpen: false },\n dirs: { public: './public' },\n transfer: {\n remote: {\n enabled: true,\n },\n },\n logger: {\n updates: {\n enabled: true,\n },\n startup: {\n enabled: true,\n },\n },\n } satisfies Partial<Core.Config.Server>,\n admin: {} satisfies Partial<Core.Config.Admin>,\n api: {\n rest: {\n prefix: '/api',\n },\n } satisfies Partial<Core.Config.Api>,\n};\n\nexport const loadConfiguration = (opts: StrapiOptions) => {\n const { appDir, distDir, autoReload = false, serveAdminPanel = true } = opts;\n\n const pkgJSON = require(path.resolve(appDir, 'package.json'));\n\n const configDir = path.resolve(distDir || process.cwd(), 'config');\n\n const rootConfig = {\n launchedAt: Date.now(),\n autoReload,\n environment: process.env.NODE_ENV,\n uuid: _.get(pkgJSON, 'strapi.uuid'),\n installId: _.get(pkgJSON, 'strapi.installId'),\n packageJsonStrapi: _.omit(_.get(pkgJSON, 'strapi', {}), 'uuid'),\n info: {\n ...pkgJSON,\n strapi: strapiVersion,\n },\n admin: {\n serveAdminPanel,\n },\n };\n\n // See packages/core/core/src/domain/module/index.ts for plugin config loading\n const baseConfig = omit('plugins', loadConfigDir(configDir)); // plugin config will be loaded later\n\n const envDir = path.resolve(configDir, 'env', process.env.NODE_ENV as string);\n const envConfig = loadConfigDir(envDir);\n\n const config = _.merge(rootConfig, defaultConfig, baseConfig, envConfig);\n\n const { serverUrl, adminUrl } = getConfigUrls(config);\n\n const serverAbsoluteUrl = getAbsoluteServerUrl(config);\n const adminAbsoluteUrl = getAbsoluteAdminUrl(config);\n\n const sameOrigin = new URL(adminAbsoluteUrl).origin === new URL(serverAbsoluteUrl).origin;\n\n const adminPath = sameOrigin\n ? adminUrl.replace(strings.getCommonPath(serverUrl, adminUrl), '')\n : new URL(adminUrl).pathname;\n\n _.set(config, 'server.url', serverUrl);\n _.set(config, 'server.absoluteUrl', serverAbsoluteUrl);\n _.set(config, 'admin.url', adminUrl);\n _.set(config, 'admin.path', adminPath);\n _.set(config, 'admin.absoluteUrl', adminAbsoluteUrl);\n _.set(config, 'dirs', getDirs(opts, config));\n\n return config;\n};\n"],"names":["dotenv","config","path","process","env","ENV_PATH","NODE_ENV","defaultConfig","server","host","HOST","os","hostname","port","Number","PORT","proxy","cron","enabled","admin","autoOpen","dirs","public","transfer","remote","logger","updates","startup","api","rest","prefix","loadConfiguration","opts","appDir","distDir","autoReload","serveAdminPanel","pkgJSON","require","resolve","configDir","cwd","rootConfig","launchedAt","Date","now","environment","uuid","_","get","installId","packageJsonStrapi","omit","info","strapi","strapiVersion","baseConfig","loadConfigDir","envDir","envConfig","merge","serverUrl","adminUrl","getConfigUrls","serverAbsoluteUrl","getAbsoluteServerUrl","adminAbsoluteUrl","getAbsoluteAdminUrl","sameOrigin","URL","origin","adminPath","replace","strings","getCommonPath","pathname","set","getDirs"],"mappings":";;;;;;;;;;;AAgBAA,MAAAA,CAAOC,MAAM,CAAC;IAAEC,IAAMC,EAAAA,OAAAA,CAAQC,GAAG,CAACC;AAAS,CAAA,CAAA;AAE3CF,OAAQC,CAAAA,GAAG,CAACE,QAAQ,GAAGH,QAAQC,GAAG,CAACE,QAAQ,IAAI,aAAA;AAE/C,MAAMC,aAAgB,GAAA;IACpBC,MAAQ,EAAA;AACNC,QAAAA,IAAAA,EAAMN,QAAQC,GAAG,CAACM,IAAI,IAAIC,EAAAA,CAAGC,QAAQ,EAAM,IAAA,WAAA;AAC3CC,QAAAA,IAAAA,EAAMC,MAAOX,CAAAA,OAAAA,CAAQC,GAAG,CAACW,IAAI,CAAK,IAAA,IAAA;QAClCC,KAAO,EAAA,KAAA;QACPC,IAAM,EAAA;YAAEC,OAAS,EAAA;AAAM,SAAA;QACvBC,KAAO,EAAA;YAAEC,QAAU,EAAA;AAAM,SAAA;QACzBC,IAAM,EAAA;YAAEC,MAAQ,EAAA;AAAW,SAAA;QAC3BC,QAAU,EAAA;YACRC,MAAQ,EAAA;gBACNN,OAAS,EAAA;AACX;AACF,SAAA;QACAO,MAAQ,EAAA;YACNC,OAAS,EAAA;gBACPR,OAAS,EAAA;AACX,aAAA;YACAS,OAAS,EAAA;gBACPT,OAAS,EAAA;AACX;AACF;AACF,KAAA;AACAC,IAAAA,KAAAA,EAAO,EAAC;IACRS,GAAK,EAAA;QACHC,IAAM,EAAA;YACJC,MAAQ,EAAA;AACV;AACF;AACF,CAAA;AAEO,MAAMC,oBAAoB,CAACC,IAAAA,GAAAA;IAChC,MAAM,EAAEC,MAAM,EAAEC,OAAO,EAAEC,UAAa,GAAA,KAAK,EAAEC,eAAAA,GAAkB,IAAI,EAAE,GAAGJ,IAAAA;AAExE,IAAA,MAAMK,OAAUC,GAAAA,OAAAA,CAAQpC,IAAKqC,CAAAA,OAAO,CAACN,MAAQ,EAAA,cAAA,CAAA,CAAA;AAE7C,IAAA,MAAMO,YAAYtC,IAAKqC,CAAAA,OAAO,CAACL,OAAW/B,IAAAA,OAAAA,CAAQsC,GAAG,EAAI,EAAA,QAAA,CAAA;AAEzD,IAAA,MAAMC,UAAa,GAAA;AACjBC,QAAAA,UAAAA,EAAYC,KAAKC,GAAG,EAAA;AACpBV,QAAAA,UAAAA;QACAW,WAAa3C,EAAAA,OAAAA,CAAQC,GAAG,CAACE,QAAQ;QACjCyC,IAAMC,EAAAA,CAAAA,CAAEC,GAAG,CAACZ,OAAS,EAAA,aAAA,CAAA;QACrBa,SAAWF,EAAAA,CAAAA,CAAEC,GAAG,CAACZ,OAAS,EAAA,kBAAA,CAAA;QAC1Bc,iBAAmBH,EAAAA,CAAAA,CAAEI,IAAI,CAACJ,CAAAA,CAAEC,GAAG,CAACZ,OAAAA,EAAS,QAAU,EAAA,EAAK,CAAA,EAAA,MAAA,CAAA;QACxDgB,IAAM,EAAA;AACJ,YAAA,GAAGhB,OAAO;YACViB,MAAQC,EAAAA;AACV,SAAA;QACApC,KAAO,EAAA;AACLiB,YAAAA;AACF;AACF,KAAA;;AAGA,IAAA,MAAMoB,UAAaJ,GAAAA,IAAAA,CAAK,SAAWK,EAAAA,aAAAA,CAAcjB;IAEjD,MAAMkB,MAAAA,GAASxD,KAAKqC,OAAO,CAACC,WAAW,KAAOrC,EAAAA,OAAAA,CAAQC,GAAG,CAACE,QAAQ,CAAA;AAClE,IAAA,MAAMqD,YAAYF,aAAcC,CAAAA,MAAAA,CAAAA;AAEhC,IAAA,MAAMzD,SAAS+C,CAAEY,CAAAA,KAAK,CAAClB,UAAAA,EAAYnC,eAAeiD,UAAYG,EAAAA,SAAAA,CAAAA;AAE9D,IAAA,MAAM,EAAEE,SAAS,EAAEC,QAAQ,EAAE,GAAGC,aAAc9D,CAAAA,MAAAA,CAAAA;AAE9C,IAAA,MAAM+D,oBAAoBC,oBAAqBhE,CAAAA,MAAAA,CAAAA;AAC/C,IAAA,MAAMiE,mBAAmBC,mBAAoBlE,CAAAA,MAAAA,CAAAA;IAE7C,MAAMmE,UAAAA,GAAa,IAAIC,GAAIH,CAAAA,gBAAAA,CAAAA,CAAkBI,MAAM,KAAK,IAAID,GAAIL,CAAAA,iBAAAA,CAAAA,CAAmBM,MAAM;AAEzF,IAAA,MAAMC,SAAYH,GAAAA,UAAAA,GACdN,QAASU,CAAAA,OAAO,CAACC,OAAQC,CAAAA,aAAa,CAACb,SAAAA,EAAWC,QAAW,CAAA,EAAA,EAAA,CAAA,GAC7D,IAAIO,GAAAA,CAAIP,UAAUa,QAAQ;IAE9B3B,CAAE4B,CAAAA,GAAG,CAAC3E,MAAAA,EAAQ,YAAc4D,EAAAA,SAAAA,CAAAA;IAC5Bb,CAAE4B,CAAAA,GAAG,CAAC3E,MAAAA,EAAQ,oBAAsB+D,EAAAA,iBAAAA,CAAAA;IACpChB,CAAE4B,CAAAA,GAAG,CAAC3E,MAAAA,EAAQ,WAAa6D,EAAAA,QAAAA,CAAAA;IAC3Bd,CAAE4B,CAAAA,GAAG,CAAC3E,MAAAA,EAAQ,YAAcsE,EAAAA,SAAAA,CAAAA;IAC5BvB,CAAE4B,CAAAA,GAAG,CAAC3E,MAAAA,EAAQ,mBAAqBiE,EAAAA,gBAAAA,CAAAA;AACnClB,IAAAA,CAAAA,CAAE4B,GAAG,CAAC3E,MAAQ,EAAA,MAAA,EAAQ4E,QAAQ7C,IAAM/B,EAAAA,MAAAA,CAAAA,CAAAA;IAEpC,OAAOA,MAAAA;AACT;;;;"}
|
package/dist/ee/index.d.ts
CHANGED
@@ -4,9 +4,15 @@ declare const _default: Readonly<{
|
|
4
4
|
checkLicense: ({ strapi }: {
|
5
5
|
strapi: Core.Strapi;
|
6
6
|
}) => Promise<void>;
|
7
|
+
getTrialEndDate: ({ strapi, }: {
|
8
|
+
strapi: Core.Strapi;
|
9
|
+
}) => Promise<{
|
10
|
+
trialEndsAt: string;
|
11
|
+
} | null>;
|
7
12
|
readonly isEE: boolean;
|
8
13
|
readonly seats: number | undefined;
|
9
14
|
readonly type: string | undefined;
|
15
|
+
readonly isTrial: boolean;
|
10
16
|
features: Readonly<{
|
11
17
|
list: () => {
|
12
18
|
[key: string]: any;
|
package/dist/ee/index.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ee/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ee/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;;;;;;;;;;;;;;;;;;;;;;;;iCAqSb,MAAM;;;AAxBnC,wBA0BG"}
|
package/dist/ee/index.js
CHANGED
@@ -1,20 +1,27 @@
|
|
1
1
|
'use strict';
|
2
2
|
|
3
3
|
var fp = require('lodash/fp');
|
4
|
+
var fetch = require('../utils/fetch.js');
|
4
5
|
var license = require('./license.js');
|
5
6
|
var cron = require('../utils/cron.js');
|
6
7
|
|
7
8
|
const ONE_MINUTE = 1000 * 60;
|
8
9
|
const ee = {
|
9
10
|
enabled: false,
|
10
|
-
licenseInfo: {
|
11
|
+
licenseInfo: {
|
12
|
+
isTrial: false
|
13
|
+
}
|
11
14
|
};
|
12
15
|
const disable = (message)=>{
|
13
16
|
// Prevent emitting ee.disable if it was already disabled
|
14
17
|
const shouldEmitEvent = ee.enabled !== false;
|
15
18
|
ee.logger?.warn(`${message} Switching to CE.`);
|
16
|
-
// Only keep the license key for potential re-enabling during a later check
|
17
|
-
ee.licenseInfo = fp.pick(
|
19
|
+
// Only keep the license key and isTrial for potential re-enabling during a later check
|
20
|
+
ee.licenseInfo = fp.pick([
|
21
|
+
'licenseKey',
|
22
|
+
'isTrial'
|
23
|
+
], ee.licenseInfo);
|
24
|
+
ee.licenseInfo.isTrial = false;
|
18
25
|
ee.enabled = false;
|
19
26
|
if (shouldEmitEvent) {
|
20
27
|
// Notify EE features that they should be disabled
|
@@ -163,6 +170,21 @@ const checkLicense = async ({ strapi: strapi1 })=>{
|
|
163
170
|
validateInfo();
|
164
171
|
}
|
165
172
|
};
|
173
|
+
const getTrialEndDate = async ({ strapi: strapi1 })=>{
|
174
|
+
const silentFetch = fetch.createStrapiFetch(strapi1, {
|
175
|
+
logs: false
|
176
|
+
});
|
177
|
+
const res = await silentFetch(`${license.LICENSE_REGISTRY_URI}/api/licenses/${ee.licenseInfo.licenseKey}/trial-countdown`, {
|
178
|
+
method: 'GET',
|
179
|
+
headers: {
|
180
|
+
'Content-Type': 'application/json'
|
181
|
+
}
|
182
|
+
}).catch(()=>{
|
183
|
+
throw new license.LicenseCheckError('Could not proceed to retrieve the trial time left for your license.', true);
|
184
|
+
});
|
185
|
+
const data = await res.json();
|
186
|
+
return data;
|
187
|
+
};
|
166
188
|
const list = ()=>{
|
167
189
|
return ee.licenseInfo.features?.map((feature)=>typeof feature === 'object' ? feature : {
|
168
190
|
name: feature
|
@@ -172,6 +194,7 @@ const get = (featureName)=>list().find((feature)=>feature.name === featureName);
|
|
172
194
|
var index = Object.freeze({
|
173
195
|
init,
|
174
196
|
checkLicense,
|
197
|
+
getTrialEndDate,
|
175
198
|
get isEE () {
|
176
199
|
return ee.enabled;
|
177
200
|
},
|
@@ -181,6 +204,9 @@ var index = Object.freeze({
|
|
181
204
|
get type () {
|
182
205
|
return ee.licenseInfo.type;
|
183
206
|
},
|
207
|
+
get isTrial () {
|
208
|
+
return ee.licenseInfo.isTrial;
|
209
|
+
},
|
184
210
|
features: Object.freeze({
|
185
211
|
list,
|
186
212
|
get,
|