feat(workflows,medusa,utils): add medusa v2 feature flag (#5603)

* chore: add medusa v2 feature flag

* chore: cleanup more FF

* chore: cleanup workflows FF

* chore: add comments on broken specs

* chore: added check for package registration

* chore: reenable workflows FF for create order workflow

* chore: disable FF on test cli db

* chore: hide loader validation behind FF

* chore: use medusa v2 enabled

* chore: register feature flag router in use-db

* chore: change to minro
This commit is contained in:
Riqwan Thamir
2023-11-13 16:18:05 +01:00
committed by GitHub
parent c7b8d060d7
commit cedab58339
45 changed files with 291 additions and 463 deletions
+12 -10
View File
@@ -2,7 +2,11 @@ const path = require("path")
const { getConfigFile } = require("medusa-core-utils")
const { asValue } = require("awilix")
const { isObject, createMedusaContainer } = require("@medusajs/utils")
const {
isObject,
createMedusaContainer,
MedusaV2Flag,
} = require("@medusajs/utils")
const { dropDatabase } = require("pg-god")
const { DataSource } = require("typeorm")
const dbFactory = require("./use-template-db")
@@ -140,27 +144,25 @@ module.exports = {
instance.setDb(dbDataSource)
const IsolateProductDomainFeatureFlag =
require("@medusajs/medusa/dist/loaders/feature-flags/isolate-product-domain").default
const IsolatePricingDomainFeatureFlag =
require("@medusajs/medusa/dist/loaders/feature-flags/isolate-pricing-domain").default
if (
featureFlagRouter.isFeatureEnabled(IsolateProductDomainFeatureFlag.key) ||
featureFlagRouter.isFeatureEnabled(IsolatePricingDomainFeatureFlag.key)
) {
if (featureFlagRouter.isFeatureEnabled(MedusaV2Flag.key)) {
const pgConnectionLoader =
require("@medusajs/medusa/dist/loaders/pg-connection").default
const featureFlagLoader =
require("@medusajs/medusa/dist/loaders/feature-flags").default
const medusaAppLoader =
require("@medusajs/medusa/dist/loaders/medusa-app").default
const container = createMedusaContainer()
const featureFlagRouter = await featureFlagLoader(configModule)
container.register({
[ContainerRegistrationKeys.CONFIG_MODULE]: asValue(configModule),
[ContainerRegistrationKeys.LOGGER]: asValue(console),
[ContainerRegistrationKeys.MANAGER]: asValue(dbDataSource.manager),
featureFlagRouter: asValue(featureFlagRouter),
})
const pgConnection = await pgConnectionLoader({ configModule, container })