chore: upgrade moduleResolution to Node16 (#9269)

This commit is contained in:
Harminder Virk
2024-09-24 17:19:20 +05:30
committed by GitHub
parent d721282600
commit 9e711720dd
216 changed files with 981 additions and 2439 deletions

26
_tsconfig.base.json Normal file
View File

@@ -0,0 +1,26 @@
{
"compilerOptions": {
"lib": ["ES2021"],
"target": "ES2021",
"outDir": "${configDir}/dist",
"esModuleInterop": true,
"declaration": true,
"declarationMap": true,
"noUnusedLocals": true,
"module": "Node16",
"moduleResolution": "Node16",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"sourceMap": true,
"noImplicitReturns": true,
"resolveJsonModule": true,
"forceConsistentCasingInFileNames": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"noImplicitThis": true,
"allowJs": true,
"skipLibCheck": true
},
"include": ["${configDir}/src"],
"exclude": ["${configDir}/dist", "${configDir}/node_modules"]
}

28
define_jest_config.js Normal file
View File

@@ -0,0 +1,28 @@
module.exports = function defineJestConfig(config) {
return {
transform: {
"^.+\\.[jt]s$": [
"@swc/jest",
{
jsc: {
parser: {
syntax: "typescript",
decorators: true,
},
transform: {
useDefineForClassFields: false,
legacyDecorator: true,
decoratorMetadata: true,
},
target: "ES2021",
},
},
],
},
modulePathIgnorePatterns: [`dist/`],
testPathIgnorePatterns: [`dist/`, `node_modules/`],
testEnvironment: `node`,
moduleFileExtensions: [`js`, `ts`],
...config,
}
}

View File

@@ -1,24 +1,2 @@
module.exports = {
transform: {
"^.+\\.[jt]s$": [
"@swc/jest",
{
jsc: {
parser: {
syntax: "typescript",
decorators: true,
},
transform: {
useDefineForClassFields: false,
legacyDecorator: true,
decoratorMetadata: true,
},
target: "ES2021",
},
},
],
},
testPathIgnorePatterns: [`dist/`, `node_modules/`],
testEnvironment: `node`,
moduleFileExtensions: [`js`, `ts`],
}
const defineJestConfig = require("../../../define_jest_config")
module.exports = defineJestConfig()

View File

@@ -4,6 +4,7 @@ import {
} from "@medusajs/types"
import type { RedisOptions } from "ioredis"
// @ts-expect-error
import type { InlineConfig } from "vite"
/**
@@ -15,7 +16,7 @@ export type AdminOptions = {
/**
* Whether to disable the admin dashboard. If set to `true`, the admin dashboard is disabled,
* in both development and production environments. The default value is `false`.
*
*
* @example
* ```js title="medusa-config.js"
* module.exports = defineConfig({
@@ -36,14 +37,14 @@ export type AdminOptions = {
* - `/store`
* - `/auth`
* - `/`
*
*
* :::note
*
*
* When using Docker, make sure that the root path of the Docker image doesn't path the admin's `path`. For example, if the Docker image's root path is `/app`, change
* the value of the `path` configuration, as it's `/app` by default.
*
*
* :::
*
*
* @example
* ```js title="medusa-config.js"
* module.exports = defineConfig({
@@ -58,7 +59,7 @@ export type AdminOptions = {
/**
* The directory where the admin build is outputted when you run the `build` command.
* The default value is `./build`.
*
*
* @example
* ```js title="medusa-config.js"
* module.exports = defineConfig({
@@ -72,7 +73,7 @@ export type AdminOptions = {
outDir?: string
/**
* The URL of your Medusa application. This is useful to set when you deploy the Medusa application.
*
*
* @example
* ```js title="medusa-config.js"
* module.exports = defineConfig({
@@ -270,11 +271,11 @@ export type ProjectConfigOptions = {
*
* This is useful for production databases, which can be supported by setting the `rejectUnauthorized` attribute of `ssl` object to `false`.
* During development, its recommended not to pass this option.
*
*
* :::note
*
*
* Make sure to add to the end of the database URL `?ssl_mode=disable` as well when disabling `rejectUnauthorized`.
*
*
* :::
*
* @example
@@ -416,9 +417,9 @@ export type ProjectConfigOptions = {
* // ...
* })
* ```
*
*
* @ignore
*
*
* @privateRemarks
* Couldn't find any use for this option.
*/
@@ -499,7 +500,7 @@ export type ProjectConfigOptions = {
jwtSecret?: string
/**
* The expiration time for the JWT token. Its format is based off the [ms package](https://github.com/vercel/ms).
*
*
* If not provided, the default value is `24h`.
*
* @example
@@ -760,7 +761,7 @@ export type ProjectConfigOptions = {
* The configurations for your Medusa application are in `medusa-config.js` located in the root of your Medusa project. The configurations include configurations for database, modules, and more.
*
* `medusa-config.js` exports the value returned by the `defineConfig` utility function imported from `@medusajs/utils`.
*
*
* `defineConfig` accepts as a parameter an object with the following properties:
*
* - {@link ConfigModule.projectConfig | projectConfig} (required): An object that holds general configurations related to the Medusa application, such as database or CORS configurations.
@@ -866,12 +867,12 @@ export type ConfigModule = {
/**
* This property holds all custom modules installed in your Medusa application.
*
*
* :::note
*
*
* Medusa's commerce modules are configured by default, so only
* add them to this property if you're changing their configurations or adding providers to a module.
*
*
* :::
*
* The keys of the `modules` configuration object refer to the module's registration name. Its value can be one of the following:

View File

@@ -1,5 +1,6 @@
import {
ContainerRegistrationKeys,
dynamicImport,
FlagRouter,
isDefined,
isObject,
@@ -112,7 +113,7 @@ export async function featureFlagsLoader(
return
}
const fileExports = await import(join(flagDir, file.name))
const fileExports = await dynamicImport(join(flagDir, file.name))
const featureFlag = fileExports.default
if (!featureFlag) {

View File

@@ -1,4 +1,10 @@
import { parseCorsOrigins, promiseAll, wrapHandler } from "@medusajs/utils"
import {
dynamicImport,
parseCorsOrigins,
promiseAll,
resolveExports,
wrapHandler,
} from "@medusajs/utils"
import cors from "cors"
import {
type Express,
@@ -348,7 +354,7 @@ class ApiRoutesLoader {
const absolutePath = descriptor.absolutePath
const route = descriptor.route
return await import(absolutePath).then((import_) => {
return await dynamicImport(absolutePath).then((import_) => {
const map = this.#routesMap
const config: RouteConfig = {
@@ -486,8 +492,10 @@ class ApiRoutesLoader {
const absolutePath = join(this.#sourceDir, middlewareFilePath)
await import(absolutePath).then((import_) => {
const middlewaresConfig = import_.default as MiddlewaresConfig | undefined
await dynamicImport(absolutePath).then((import_) => {
const middlewaresConfig = resolveExports(import_).default as
| MiddlewaresConfig
| undefined
if (!middlewaresConfig) {
log({

View File

@@ -1,6 +1,11 @@
import type { SchedulerOptions } from "@medusajs/orchestration"
import { MedusaContainer } from "@medusajs/types"
import { isObject, MedusaError, promiseAll } from "@medusajs/utils"
import {
dynamicImport,
isObject,
MedusaError,
promiseAll,
} from "@medusajs/utils"
import {
createStep,
createWorkflow,
@@ -150,11 +155,11 @@ export class JobLoader {
fileEntries.map(async (entry) => {
const fullPath = join(entry.path, entry.name)
const module_ = await import(fullPath)
const module_ = await dynamicImport(fullPath)
const input = {
config: module_.config,
handler: module_.default,
handler: module_.default.default,
}
this.validateConfig(input.config)

View File

@@ -1,4 +1,4 @@
import { promiseAll } from "@medusajs/utils"
import { dynamicImport, promiseAll } from "@medusajs/utils"
import { logger } from "../logger"
import { access, readdir } from "fs/promises"
import { join } from "path"
@@ -59,7 +59,7 @@ export class LinkLoader {
return await promiseAll(
fileEntries.map(async (entry) => {
const fullPath = join(entry.path, entry.name)
return await import(fullPath)
return await dynamicImport(fullPath)
})
)
})

View File

@@ -1,5 +1,11 @@
import { Event, IEventBusModuleService, Subscriber } from "@medusajs/types"
import { Modules, kebabCase, promiseAll } from "@medusajs/utils"
import {
dynamicImport,
kebabCase,
Modules,
promiseAll,
resolveExports,
} from "@medusajs/utils"
import { access, readdir } from "fs/promises"
import { join, parse } from "path"
@@ -115,7 +121,8 @@ export class SubscriberLoader {
}
private async createDescriptor(absolutePath: string) {
return await import(absolutePath).then((module_) => {
return await dynamicImport(absolutePath).then((module_) => {
module_ = resolveExports(module_)
const isValid = this.validateSubscriber(module_, absolutePath)
if (!isValid) {

View File

@@ -1,4 +1,4 @@
import { promiseAll } from "@medusajs/utils"
import { dynamicImport, promiseAll } from "@medusajs/utils"
import { logger } from "../logger"
import { access, readdir } from "fs/promises"
import { join } from "path"
@@ -59,7 +59,7 @@ export class WorkflowLoader {
return await promiseAll(
fileEntries.map(async (entry) => {
const fullPath = join(entry.path, entry.name)
return await import(fullPath)
return await dynamicImport(fullPath)
})
)
})

View File

@@ -1,32 +1,3 @@
{
"compilerOptions": {
"lib": ["ESNext"],
"target": "ESNext",
"outDir": "./dist",
"esModuleInterop": true,
"declarationMap": true,
"declaration": true,
"module": "commonjs",
"moduleResolution": "node",
"noUnusedLocals": true,
"forceConsistentCasingInFileNames": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"sourceMap": false,
"noImplicitReturns": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"noImplicitThis": true,
"allowJs": true,
"skipLibCheck": true,
"baseUrl": ".",
"resolveJsonModule": true,
"paths": {
},
},
"include": ["src"],
"exclude": [
"dist",
"node_modules"
]
"extends": "../../../_tsconfig.base.json"
}

View File

@@ -163,6 +163,7 @@ export function medusaIntegrationTestRunner({
const { logger, container, MedusaAppLoader } = await import(
"@medusajs/framework"
)
const appLoader = new MedusaAppLoader()
container.register({
[ContainerRegistrationKeys.LOGGER]: asValue(logger),

View File

@@ -1,17 +1,2 @@
module.exports = {
transform: {
"^.+\\.[jt]s$": [
"@swc/jest",
{
jsc: {
parser: { syntax: "typescript", decorators: true },
transform: { decoratorMetadata: true },
target: "ES2021",
},
},
],
},
testPathIgnorePatterns: [`dist/`, `node_modules/`],
testEnvironment: `node`,
moduleFileExtensions: [`js`, `ts`],
}
const defineJestConfig = require("../../../define_jest_config")
module.exports = defineJestConfig()

View File

@@ -1,5 +1,6 @@
import { MedusaContainer, ModuleProvider } from "@medusajs/types"
import {
dynamicImport,
isString,
lowerCaseFirst,
normalizeImportPathWithSource,
@@ -44,7 +45,7 @@ export async function loadModuleProvider(
if (isString(provider.resolve)) {
const normalizedPath = normalizeImportPathWithSource(provider.resolve)
loadedProvider = await import(normalizedPath)
loadedProvider = await dynamicImport(normalizedPath)
}
} catch (error) {
throw new Error(

View File

@@ -11,11 +11,13 @@ import {
} from "@medusajs/types"
import {
ContainerRegistrationKeys,
DmlEntity,
MedusaModuleType,
ModulesSdkUtils,
createMedusaContainer,
defineJoinerConfig,
DmlEntity,
dynamicImport,
MedusaModuleType,
ModulesSdkUtils,
resolveExports,
toMikroOrmEntities,
} from "@medusajs/utils"
import { asFunction, asValue } from "awilix"
@@ -65,7 +67,7 @@ export async function loadInternalModule(
// If we want to benefit from the auto load mechanism, even if the module exports is provided, we need to ask for the module path
loadedModule = resolution.moduleExports
} else {
loadedModule = await import(modulePath)
loadedModule = await dynamicImport(modulePath)
loadedModule = (loadedModule as any).default
}
} catch (error) {
@@ -195,7 +197,8 @@ export async function loadModuleMigrations(
let loadedModule: ModuleExports
try {
loadedModule =
moduleExports ?? (await import(resolution.resolutionPath as string))
moduleExports ??
(await dynamicImport(resolution.resolutionPath as string))
let runMigrations = loadedModule.runMigrations
let revertMigration = loadedModule.revertMigration
@@ -263,7 +266,7 @@ async function importAllFromDir(path: string) {
return (
await Promise.all(filesToLoad.map((filePath) => import(filePath)))
).flatMap((value) => {
return Object.values(value)
return Object.values(resolveExports(value))
})
}
@@ -284,7 +287,9 @@ export async function loadResources(
}
const [moduleService, services, models, repositories] = await Promise.all([
import(modulePath).then((moduleExports) => moduleExports.default.service),
import(modulePath).then((moduleExports) => {
return resolveExports(moduleExports).default.service
}),
importAllFromDir(resolve(normalizedPath, "services")).catch(
defaultOnFail
),

View File

@@ -18,12 +18,13 @@ import {
} from "@medusajs/types"
import {
ContainerRegistrationKeys,
createMedusaContainer,
dynamicImport,
isObject,
isString,
MedusaError,
Modules,
ModulesSdkUtils,
createMedusaContainer,
isObject,
isString,
promiseAll,
} from "@medusajs/utils"
import type { Knex } from "@mikro-orm/knex"
@@ -36,7 +37,7 @@ import {
RegisterModuleJoinerConfig,
} from "./medusa-module"
import { RemoteLink } from "./remote-link"
import { RemoteQuery, createQuery } from "./remote-query"
import { createQuery, RemoteQuery } from "./remote-query"
import { MODULE_RESOURCE_TYPE, MODULE_SCOPE } from "./types"
import { cleanGraphQLSchema } from "./utils"
@@ -171,7 +172,7 @@ async function initializeLinks({
}) {
try {
const { initialize, getMigrationPlanner } =
moduleExports ?? (await import(LinkModulePackage))
moduleExports ?? (await dynamicImport(LinkModulePackage))
const linkResolution = await initialize(
config,
@@ -298,9 +299,9 @@ async function MedusaApp_({
const modules: MedusaModuleConfig =
modulesConfig ??
(
await import(
modulesConfigPath ??
process.cwd() + (modulesConfigFileName ?? "/modules-config")
await dynamicImport(
await (modulesConfigPath ??
process.cwd() + (modulesConfigFileName ?? "/modules-config"))
)
).default

View File

@@ -1,28 +1,3 @@
{
"compilerOptions": {
"lib": ["es2021"],
"target": "es2021",
"outDir": "./dist",
"esModuleInterop": true,
"declarationMap": true,
"declaration": true,
"module": "commonjs",
"moduleResolution": "node",
"noUnusedLocals": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"forceConsistentCasingInFileNames": true,
"sourceMap": true,
"noImplicitReturns": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"noImplicitThis": true,
"allowJs": true,
"skipLibCheck": true
},
"include": ["src"],
"exclude": [
"dist",
"node_modules"
]
"extends": "../../../_tsconfig.base.json"
}

View File

@@ -1,24 +1,2 @@
module.exports = {
transform: {
"^.+\\.[jt]s$": [
"@swc/jest",
{
jsc: {
parser: {
syntax: "typescript",
decorators: true,
},
transform: {
useDefineForClassFields: false,
legacyDecorator: true,
decoratorMetadata: true,
},
target: "ES2021",
},
},
],
},
testPathIgnorePatterns: [`dist/`, `node_modules/`],
testEnvironment: `node`,
moduleFileExtensions: [`js`, `ts`],
}
const defineJestConfig = require("../../../define_jest_config")
module.exports = defineJestConfig()

View File

@@ -1,28 +1,3 @@
{
"compilerOptions": {
"lib": ["es2021"],
"target": "es2021",
"outDir": "./dist",
"esModuleInterop": true,
"declarationMap": true,
"declaration": true,
"module": "commonjs",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"noUnusedLocals": true,
"forceConsistentCasingInFileNames": true,
"sourceMap": true,
"noImplicitReturns": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"noImplicitThis": true,
"allowJs": true,
"skipLibCheck": true
},
"include": ["src"],
"exclude": [
"dist",
"node_modules"
]
"extends": "../../../_tsconfig.base.json"
}

View File

@@ -1,24 +1,2 @@
module.exports = {
transform: {
"^.+\\.[jt]s$": [
"@swc/jest",
{
jsc: {
parser: {
syntax: "typescript",
decorators: true,
},
transform: {
useDefineForClassFields: false,
legacyDecorator: true,
decoratorMetadata: true,
},
target: "ES2021",
},
},
],
},
testPathIgnorePatterns: [`dist/`, `node_modules/`],
testEnvironment: `node`,
moduleFileExtensions: [`js`, `ts`],
}
const defineJestConfig = require("../../../define_jest_config")
module.exports = defineJestConfig()

View File

@@ -4,6 +4,7 @@ import {
} from "../modules-sdk"
import type { RedisOptions } from "ioredis"
// @ts-ignore
import type { InlineConfig } from "vite"
/**

View File

@@ -1,28 +1,3 @@
{
"compilerOptions": {
"lib": ["es2021"],
"target": "es2021",
"outDir": "./dist",
"esModuleInterop": true,
"declarationMap": true,
"declaration": true,
"module": "commonjs",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"noUnusedLocals": true,
"forceConsistentCasingInFileNames": true,
"sourceMap": true,
"noImplicitReturns": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"noImplicitThis": true,
"allowJs": true,
"skipLibCheck": true
},
"include": ["src"],
"exclude": [
"dist",
"node_modules"
]
"extends": "../../../_tsconfig.base.json"
}

View File

@@ -1,24 +1,2 @@
module.exports = {
transform: {
"^.+\\.[jt]s$": [
"@swc/jest",
{
jsc: {
parser: {
syntax: "typescript",
decorators: true,
},
transform: {
useDefineForClassFields: false,
legacyDecorator: true,
decoratorMetadata: true,
},
target: "ES2021",
},
},
],
},
testPathIgnorePatterns: [`dist/`, `node_modules/`],
testEnvironment: `node`,
moduleFileExtensions: [`js`, `ts`],
}
const defineJestConfig = require("../../../define_jest_config")
module.exports = defineJestConfig()

View File

@@ -0,0 +1,17 @@
import { resolveExports } from "./resolve-exports"
/**
* Utility that should be used instead of either await import() or require()
* to avoid bundling issues. That way we have a single place
* where we manage the strategy to dynamically import a module.
*
* This issue arise from migration to Node16 or NodeNext module resolution as well
* as ts-node not being maintained anymore and throwing deprecation warnings.
* all over the place.
*
* @param path
*/
export async function dynamicImport(path: string): Promise<any> {
const module = require(path)
return resolveExports(module)
}

View File

@@ -72,3 +72,5 @@ export * from "./trim-zeros"
export * from "./upper-case-first"
export * from "./validate-handle"
export * from "./wrap-handler"
export * from "./resolve-exports"
export * from "./dynamic-import"

View File

@@ -0,0 +1,6 @@
export function resolveExports(moduleExports) {
if ("default" in moduleExports && "default" in moduleExports.default) {
return resolveExports(moduleExports.default)
}
return moduleExports
}

View File

@@ -1,7 +1,9 @@
import { ModuleServiceInitializeOptions } from "@medusajs/types"
import { Filter as MikroORMFilter } from "@mikro-orm/core"
import { TSMigrationGenerator } from "@mikro-orm/migrations"
import { ModuleServiceInitializeOptions } from "@medusajs/types"
import { isString } from "../../common"
import { FilterDef } from "@mikro-orm/core/typings"
type FilterDef = Parameters<typeof MikroORMFilter>[0]
export class CustomTsMigrationGenerator extends TSMigrationGenerator {
createStatement(sql: string, padLeft: number): string {

View File

@@ -1,7 +1,11 @@
import { EntityClass, EntityProperty } from "@mikro-orm/core/typings"
import { EntityMetadata, EntitySchema, ReferenceType } from "@mikro-orm/core"
import { SqlEntityManager } from "@mikro-orm/postgresql"
import type { FindOneOptions, FindOptions } from "@mikro-orm/core/drivers"
import type {
FindOptions,
EntityClass,
EntityProperty,
FindOneOptions,
} from "@mikro-orm/core"
export const FreeTextSearchFilterKey = "freeTextSearch"

View File

@@ -16,13 +16,13 @@ import {
ReferenceType,
RequiredEntityData,
} from "@mikro-orm/core"
import { FindOptions as MikroOptions } from "@mikro-orm/core/drivers/IDatabaseDriver"
import {
EntityClass,
EntityName,
EntityProperty,
FindOptions as MikroOptions,
FilterQuery as MikroFilterQuery,
} from "@mikro-orm/core/typings"
} from "@mikro-orm/core"
import { SqlEntityManager } from "@mikro-orm/postgresql"
import {
MedusaError,

View File

@@ -8,10 +8,10 @@ import {
Platform,
Reference,
ReferenceType,
SerializeOptions,
SerializationContext,
Utils,
} from "@mikro-orm/core"
import { SerializeOptions } from "@mikro-orm/core/serialization/EntitySerializer"
function isVisible<T extends object>(
meta: EntityMetadata<T>,

View File

@@ -0,0 +1,8 @@
export * from "./apply-searchable"
export * from "./build-indexes"
export * from "./create-big-number-properties"
export * from "./create-default-properties"
export * from "./define-property"
export * from "./define-relationship"
export * from "./parse-entity-name"
export * from "./query-builder"

View File

@@ -1,3 +1,6 @@
export * from "./entity-builder"
export * from "./entity"
export * from "./helpers/entity-builder/index"
export * from "./helpers/create-mikro-orm-entity"
export * from "./relations/index"
export * from "./properties/index"

View File

@@ -0,0 +1,12 @@
export * from "./array"
export * from "./base"
export * from "./big-number"
export * from "./boolean"
export * from "./date-time"
export * from "./enum"
export * from "./id"
export * from "./json"
export * from "./nullable"
export * from "./number"
export * from "./primary-key"
export * from "./text"

View File

@@ -1,5 +1,5 @@
import { BaseRelationship } from "./base"
import { NullableModifier } from "./nullable"
import { RelationNullableModifier } from "./nullable"
export class BelongsTo<T> extends BaseRelationship<T> {
type = "belongsTo" as const
@@ -12,6 +12,6 @@ export class BelongsTo<T> extends BaseRelationship<T> {
* Apply nullable modifier on the schema
*/
nullable() {
return new NullableModifier<T, BelongsTo<T>>(this)
return new RelationNullableModifier<T, BelongsTo<T>>(this)
}
}

View File

@@ -1,5 +1,5 @@
import { BaseRelationship } from "./base"
import { NullableModifier } from "./nullable"
import { RelationNullableModifier } from "./nullable"
/**
* HasOne relationship defines a relationship between two entities
@@ -22,6 +22,6 @@ export class HasOne<T> extends BaseRelationship<T> {
* Apply nullable modifier on the schema
*/
nullable() {
return new NullableModifier<T, HasOne<T>>(this)
return new RelationNullableModifier<T, HasOne<T>>(this)
}
}

View File

@@ -0,0 +1,6 @@
export * from "./base"
export * from "./belongs-to"
export * from "./has-many"
export * from "./has-one"
export * from "./many-to-many"
export * from "./nullable"

View File

@@ -6,7 +6,7 @@ const IsNullableModifier = Symbol.for("isNullableModifier")
/**
* Nullable modifier marks a schema node as nullable
*/
export class NullableModifier<T, Relation extends RelationshipType<T>>
export class RelationNullableModifier<T, Relation extends RelationshipType<T>>
implements RelationshipType<T | null>
{
[IsNullableModifier]: true = true;
@@ -14,7 +14,7 @@ export class NullableModifier<T, Relation extends RelationshipType<T>>
static isNullableModifier<T>(
modifier: any
): modifier is NullableModifier<T, any> {
): modifier is RelationNullableModifier<T, any> {
return !!modifier?.[IsNullableModifier]
}

View File

@@ -17,3 +17,5 @@ export * from "./mikro-orm-cli-config-builder"
export * from "./module"
export * from "./query-context"
export * from "./query-filter"
export * from "./types/links-config"
export * from "./types/medusa-service"

View File

@@ -9,8 +9,7 @@ import {
PerformedActions,
UpsertWithReplaceConfig,
} from "@medusajs/types"
import { EntitySchema } from "@mikro-orm/core"
import { EntityClass } from "@mikro-orm/core/typings"
import type { EntitySchema, EntityClass } from "@mikro-orm/core"
import {
doNotForceTransaction,
isDefined,

View File

@@ -4,6 +4,7 @@ import { EOL } from "os"
import { resolve } from "path"
import { mikroOrmCreateConnection } from "../../dal"
import { loadDatabaseConfig } from "../load-module-database-config"
import { dynamicImport } from "../../common"
/**
* Utility function to build a seed script that will insert the seed data.
@@ -42,12 +43,14 @@ export function buildSeedScript({
const logger_ = (logger ?? console) as unknown as Logger
logger_.info(`Loading seed data from ${path}...`)
const dataSeed = await import(resolve(process.cwd(), path)).catch((e) => {
logger_.error(
`Failed to load seed data from ${path}. Please, provide a relative path and check that you export the following productCategoriesData, productsData, variantsData.${EOL}${e}`
)
throw e
})
const dataSeed = await dynamicImport(resolve(process.cwd(), path)).catch(
(e) => {
logger_.error(
`Failed to load seed data from ${path}. Please, provide a relative path and check that you export the following productCategoriesData, productsData, variantsData.${EOL}${e}`
)
throw e
}
)
const dbData = loadDatabaseConfig(moduleName, options)!
const entities = Object.values(models) as unknown as EntitySchema[]

View File

@@ -1,12 +1,12 @@
import { MikroORMOptions } from "@mikro-orm/core/utils/Configuration"
import { DmlEntity, toMikroOrmEntities } from "../dml"
import { CustomTsMigrationGenerator } from "../dal"
import type {
AnyEntity,
EntityClass,
EntitySchema,
MikroORMOptions,
EntityClassGroup,
} from "@mikro-orm/core/typings"
import type { EntitySchema } from "@mikro-orm/core/metadata/EntitySchema"
} from "@mikro-orm/core"
import { kebabCase } from "../common"
type Options = Partial<Omit<MikroORMOptions, "entities" | "entitiesTs">> & {

View File

@@ -1,28 +1,3 @@
{
"compilerOptions": {
"lib": ["es2021"],
"target": "es2021",
"outDir": "./dist",
"esModuleInterop": true,
"declaration": true,
"noUnusedLocals": true,
"declarationMap": true,
"module": "commonjs",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"sourceMap": true,
"noImplicitReturns": true,
"forceConsistentCasingInFileNames": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"noImplicitThis": true,
"allowJs": true,
"skipLibCheck": true
},
"include": ["src"],
"exclude": [
"dist",
"node_modules"
]
"extends": "../../../_tsconfig.base.json"
}

View File

@@ -1,24 +1,2 @@
module.exports = {
transform: {
"^.+\\.[jt]s$": [
"@swc/jest",
{
jsc: {
parser: {
syntax: "typescript",
decorators: true,
},
transform: {
useDefineForClassFields: false,
legacyDecorator: true,
decoratorMetadata: true,
},
target: "ES2021",
},
},
],
},
testPathIgnorePatterns: [`dist/`, `node_modules/`],
testEnvironment: `node`,
moduleFileExtensions: [`js`, `ts`],
}
const defineJestConfig = require("../../../define_jest_config")
module.exports = defineJestConfig()

View File

@@ -1,25 +1,3 @@
{
"compilerOptions": {
"lib": ["es2021"],
"target": "es2021",
"outDir": "./dist",
"esModuleInterop": true,
"declaration": true,
"noUnusedLocals": true,
"declarationMap": true,
"module": "commonjs",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"sourceMap": true,
"noImplicitReturns": true,
"forceConsistentCasingInFileNames": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"noImplicitThis": true,
"allowJs": true,
"skipLibCheck": true
},
"include": ["src"],
"exclude": ["dist", "node_modules"]
"extends": "../../../_tsconfig.base.json"
}

View File

@@ -4,6 +4,7 @@ import path from "path"
import { existsSync } from "fs"
import { logger } from "@medusajs/framework"
import { ExecArgs } from "@medusajs/types"
import { dynamicImport } from "@medusajs/utils"
type Options = {
file: string
@@ -22,7 +23,7 @@ export default async function exec({ file, args }: Options) {
throw new Error(`File ${filePath} doesn't exist.`)
}
const scriptToExec = (await import(path.resolve(filePath))).default
const scriptToExec = (await dynamicImport(path.resolve(filePath))).default
if (!scriptToExec || typeof scriptToExec !== "function") {
throw new Error(`File doesn't default export a function to execute.`)

View File

@@ -1,22 +1,9 @@
module.exports = {
const defineJestConfig = require("../../../define_jest_config")
module.exports = defineJestConfig({
moduleNameMapper: {
"^@models": "<rootDir>/src/models",
"^@services": "<rootDir>/src/services",
"^@repositories": "<rootDir>/src/repositories",
"^@types": "<rootDir>/src/types",
},
transform: {
"^.+\\.[jt]s$": [
"@swc/jest",
{
jsc: {
parser: { syntax: "typescript", decorators: true },
transform: { decoratorMetadata: true },
},
},
],
},
testEnvironment: `node`,
moduleFileExtensions: [`js`, `ts`],
modulePathIgnorePatterns: ["dist/"],
}
})

View File

@@ -5,7 +5,10 @@
"main": "dist/index.js",
"types": "dist/index.d.ts",
"files": [
"dist"
"dist",
"!dist/**/__tests__",
"!dist/**/__mocks__",
"!dist/**/__fixtures__"
],
"engines": {
"node": ">=20"
@@ -23,7 +26,8 @@
"scripts": {
"watch": "tsc --build --watch",
"watch:test": "tsc --build tsconfig.spec.json --watch",
"build": "rimraf dist && tsc --build && tsc-alias -p tsconfig.json",
"resolve:aliases": "tsc --showConfig -p tsconfig.json > tsconfig.resolved.json && tsc-alias -p tsconfig.resolved.json && rimraf tsconfig.resolved.json",
"build": "rimraf dist && tsc --build && npm run resolve:aliases",
"test": "jest --runInBand --bail --forceExit -- src/**/__tests__/**/*.ts",
"test:integration": "jest --forceExit -- integration-tests/**/__tests__/**/*.ts",
"migration:generate": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:generate",
@@ -40,7 +44,7 @@
"rimraf": "^3.0.2",
"ts-node": "^10.9.1",
"tsc-alias": "^1.8.6",
"typescript": "^5.1.6"
"typescript": "^5.6.2"
},
"dependencies": {
"@medusajs/utils": "^1.11.9"

View File

@@ -1,38 +1,11 @@
{
"extends": "../../../_tsconfig.base.json",
"compilerOptions": {
"lib": ["es2021"],
"target": "es2021",
"outDir": "./dist",
"esModuleInterop": true,
"declarationMap": true,
"declaration": true,
"module": "commonjs",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"sourceMap": false,
"noImplicitReturns": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"noImplicitThis": true,
"allowJs": true,
"skipLibCheck": true,
"downlevelIteration": true, // to use ES5 specific tooling
"baseUrl": ".",
"resolveJsonModule": true,
"paths": {
"@models": ["./src/models"],
"@services": ["./src/services"],
"@repositories": ["./src/repositories"],
"@types": ["./src/types"]
}
},
"include": ["src"],
"exclude": [
"dist",
"./src/**/__tests__",
"./src/**/__mocks__",
"./src/**/__fixtures__",
"node_modules"
]
}
}

View File

@@ -1,8 +0,0 @@
{
"extends": "./tsconfig.json",
"include": ["src", "integration-tests"],
"exclude": ["node_modules", "dist"],
"compilerOptions": {
"sourceMap": true
}
}

View File

@@ -1,22 +1,9 @@
module.exports = {
const defineJestConfig = require("../../../define_jest_config")
module.exports = defineJestConfig({
moduleNameMapper: {
"^@models": "<rootDir>/src/models",
"^@services": "<rootDir>/src/services",
"^@repositories": "<rootDir>/src/repositories",
"^@types": "<rootDir>/src/types",
},
transform: {
"^.+\\.[jt]s$": [
"@swc/jest",
{
jsc: {
parser: { syntax: "typescript", decorators: true },
transform: { decoratorMetadata: true },
},
},
],
},
testEnvironment: `node`,
moduleFileExtensions: [`js`, `ts`],
modulePathIgnorePatterns: ["dist/"],
}
})

View File

@@ -5,7 +5,10 @@
"main": "dist/index.js",
"types": "dist/index.d.ts",
"files": [
"dist"
"dist",
"!dist/**/__tests__",
"!dist/**/__mocks__",
"!dist/**/__fixtures__"
],
"engines": {
"node": ">=20"
@@ -23,7 +26,8 @@
"scripts": {
"watch": "tsc --build --watch",
"watch:test": "tsc --build tsconfig.spec.json --watch",
"build": "rimraf dist && tsc --build && tsc-alias -p tsconfig.json",
"resolve:aliases": "tsc --showConfig -p tsconfig.json > tsconfig.resolved.json && tsc-alias -p tsconfig.resolved.json && rimraf tsconfig.resolved.json",
"build": "rimraf dist && tsc --build && npm run resolve:aliases",
"test": "jest --runInBand --bail --passWithNoTests --forceExit -- src",
"test:integration": "jest --forceExit -- integration-tests/**/__tests__/**/*.ts",
"migration:generate": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:generate",
@@ -40,7 +44,7 @@
"medusa-test-utils": "^1.1.42",
"rimraf": "^3.0.2",
"tsc-alias": "^1.8.6",
"typescript": "^5.1.6"
"typescript": "^5.6.2"
},
"dependencies": {
"@medusajs/modules-sdk": "^1.12.11",

View File

@@ -1,39 +1,11 @@
{
"extends": "../../../_tsconfig.base.json",
"compilerOptions": {
"lib": ["es2021"],
"target": "es2021",
"outDir": "./dist",
"esModuleInterop": true,
"declarationMap": true,
"declaration": true,
"module": "commonjs",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"sourceMap": false,
"noImplicitReturns": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"noImplicitThis": true,
"allowJs": true,
"skipLibCheck": true,
"downlevelIteration": true,
// to use ES5 specific tooling
"baseUrl": ".",
"resolveJsonModule": true,
"paths": {
"@models": ["./src/models"],
"@services": ["./src/services"],
"@repositories": ["./src/repositories"],
"@types": ["./src/types"]
}
},
"include": ["src"],
"exclude": [
"dist",
"./src/**/__tests__",
"./src/**/__mocks__",
"./src/**/__fixtures__",
"node_modules"
]
}
}

View File

@@ -1,8 +0,0 @@
{
"extends": "./tsconfig.json",
"include": ["src", "integration-tests"],
"exclude": ["node_modules", "dist"],
"compilerOptions": {
"sourceMap": true
}
}

View File

@@ -1,15 +1,2 @@
module.exports = {
transform: {
"^.+\\.[jt]s$": [
"@swc/jest",
{
jsc: {
parser: { syntax: "typescript", decorators: true },
transform: { decoratorMetadata: true },
},
},
],
},
testEnvironment: `node`,
moduleFileExtensions: [`js`, `ts`],
}
const defineJestConfig = require("../../../define_jest_config")
module.exports = defineJestConfig({})

View File

@@ -15,7 +15,10 @@
"access": "public"
},
"files": [
"dist"
"dist",
"!dist/**/__tests__",
"!dist/**/__mocks__",
"!dist/**/__fixtures__"
],
"author": "Medusa",
"license": "MIT",
@@ -24,7 +27,7 @@
"cross-env": "^5.2.1",
"jest": "^29.7.0",
"rimraf": "^5.0.1",
"typescript": "^5.1.6"
"typescript": "^5.6.2"
},
"scripts": {
"watch": "tsc --build --watch",

View File

@@ -1,30 +1,3 @@
{
"compilerOptions": {
"lib": ["es2021"],
"target": "es2021",
"outDir": "./dist",
"esModuleInterop": true,
"declarationMap": true,
"declaration": true,
"module": "commonjs",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"sourceMap": true,
"noImplicitReturns": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"noImplicitThis": true,
"allowJs": true,
"skipLibCheck": true,
"downlevelIteration": true // to use ES5 specific tooling
},
"include": ["src"],
"exclude": [
"dist",
"./src/**/__tests__",
"./src/**/__mocks__",
"./src/**/__fixtures__",
"node_modules"
]
"extends": "../../../_tsconfig.base.json"
}

View File

@@ -1,5 +0,0 @@
{
"extends": "./tsconfig.json",
"include": ["src", "integration-tests"],
"exclude": ["node_modules"]
}

View File

@@ -1,15 +1,2 @@
module.exports = {
transform: {
"^.+\\.[jt]s$": [
"@swc/jest",
{
jsc: {
parser: { syntax: "typescript", decorators: true },
transform: { decoratorMetadata: true },
},
},
],
},
testEnvironment: `node`,
moduleFileExtensions: [`js`, `ts`],
}
const defineJestConfig = require("../../../define_jest_config")
module.exports = defineJestConfig({})

View File

@@ -15,7 +15,10 @@
"node": ">=20"
},
"files": [
"dist"
"dist",
"!dist/**/__tests__",
"!dist/**/__mocks__",
"!dist/**/__fixtures__"
],
"author": "Medusa",
"license": "MIT",
@@ -24,7 +27,7 @@
"cross-env": "^5.2.1",
"jest": "^29.7.0",
"rimraf": "^5.0.1",
"typescript": "^5.1.6"
"typescript": "^5.6.2"
},
"scripts": {
"watch": "tsc --build --watch",

View File

@@ -1,30 +1,3 @@
{
"compilerOptions": {
"lib": ["es2021"],
"target": "es2021",
"outDir": "./dist",
"esModuleInterop": true,
"declarationMap": true,
"declaration": true,
"module": "commonjs",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"sourceMap": true,
"noImplicitReturns": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"noImplicitThis": true,
"allowJs": true,
"skipLibCheck": true,
"downlevelIteration": true // to use ES5 specific tooling
},
"include": ["src"],
"exclude": [
"dist",
"./src/**/__tests__",
"./src/**/__mocks__",
"./src/**/__fixtures__",
"node_modules"
]
"extends": "../../../_tsconfig.base.json"
}

View File

@@ -1,5 +0,0 @@
{
"extends": "./tsconfig.json",
"include": ["src"],
"exclude": ["node_modules"]
}

View File

@@ -1,23 +1,9 @@
module.exports = {
const defineJestConfig = require("../../../define_jest_config")
module.exports = defineJestConfig({
moduleNameMapper: {
"^@models": "<rootDir>/src/models",
"^@services": "<rootDir>/src/services",
"^@repositories": "<rootDir>/src/repositories",
"^@types": "<rootDir>/src/types",
"^@utils": "<rootDir>/src/utils",
},
transform: {
"^.+\\.[jt]s$": [
"@swc/jest",
{
jsc: {
parser: { syntax: "typescript", decorators: true },
transform: { decoratorMetadata: true },
},
},
],
},
testEnvironment: `node`,
moduleFileExtensions: [`js`, `ts`],
modulePathIgnorePatterns: ["dist/"],
}
})

View File

@@ -5,7 +5,10 @@
"main": "dist/index.js",
"types": "dist/index.d.ts",
"files": [
"dist"
"dist",
"!dist/**/__tests__",
"!dist/**/__mocks__",
"!dist/**/__fixtures__"
],
"engines": {
"node": ">=20"
@@ -23,7 +26,8 @@
"scripts": {
"watch": "tsc --build --watch",
"watch:test": "tsc --build tsconfig.spec.json --watch",
"build": "rimraf dist && tsc --build && tsc-alias -p tsconfig.json",
"resolve:aliases": "tsc --showConfig -p tsconfig.json > tsconfig.resolved.json && tsc-alias -p tsconfig.resolved.json && rimraf tsconfig.resolved.json",
"build": "rimraf dist && tsc --build && npm run resolve:aliases",
"test": "jest --runInBand --bail --passWithNoTests --forceExit -- src",
"test:integration": "jest --forceExit -- integration-tests/**/__tests__/**/*.ts",
"migration:generate": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:generate",
@@ -41,7 +45,7 @@
"rimraf": "^3.0.2",
"ts-node": "^10.9.1",
"tsc-alias": "^1.8.6",
"typescript": "^5.1.6"
"typescript": "^5.6.2"
},
"dependencies": {
"@medusajs/utils": "^1.11.9"

View File

@@ -16,6 +16,12 @@ import {
type OptionalAddressProps = DAL.SoftDeletableModelDateColumns
const PgIndex = createPsqlIndexStatementHelper({
tableName: "cart_address",
columns: "deleted_at",
where: "deleted_at IS NOT NULL",
})
@Entity({ tableName: "cart_address" })
@Filter(DALUtils.mikroOrmSoftDeletableFilterOptions)
export default class Address {
@@ -75,11 +81,7 @@ export default class Address {
})
updated_at: Date
@createPsqlIndexStatementHelper({
tableName: "cart_address",
columns: "deleted_at",
where: "deleted_at IS NOT NULL",
}).MikroORMIndex()
@PgIndex.MikroORMIndex()
@Property({ columnType: "timestamptz", nullable: true })
deleted_at: Date | null = null

View File

@@ -1,38 +1,11 @@
{
"extends": "../../../_tsconfig.base.json",
"compilerOptions": {
"lib": ["es2021"],
"target": "es2021",
"outDir": "./dist",
"esModuleInterop": true,
"declarationMap": true,
"declaration": true,
"module": "commonjs",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"sourceMap": false,
"noImplicitReturns": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"noImplicitThis": true,
"allowJs": true,
"skipLibCheck": true,
"downlevelIteration": true, // to use ES5 specific tooling
"baseUrl": ".",
"resolveJsonModule": true,
"paths": {
"@models": ["./src/models"],
"@services": ["./src/services"],
"@repositories": ["./src/repositories"],
"@types": ["./src/types"]
}
},
"include": ["src"],
"exclude": [
"dist",
"./src/**/__tests__",
"./src/**/__mocks__",
"./src/**/__fixtures__",
"node_modules"
]
}
}

View File

@@ -1,8 +0,0 @@
{
"extends": "./tsconfig.json",
"include": ["src", "integration-tests"],
"exclude": ["node_modules", "dist"],
"compilerOptions": {
"sourceMap": true
}
}

View File

@@ -1,22 +1,9 @@
module.exports = {
const defineJestConfig = require("../../../define_jest_config")
module.exports = defineJestConfig({
moduleNameMapper: {
"^@models": "<rootDir>/src/models",
"^@services": "<rootDir>/src/services",
"^@repositories": "<rootDir>/src/repositories",
"^@types": "<rootDir>/src/types",
},
transform: {
"^.+\\.[jt]s$": [
"@swc/jest",
{
jsc: {
parser: { syntax: "typescript", decorators: true },
transform: { decoratorMetadata: true },
},
},
],
},
testEnvironment: `node`,
moduleFileExtensions: [`js`, `ts`],
modulePathIgnorePatterns: ["dist/"],
}
})

View File

@@ -5,7 +5,10 @@
"main": "dist/index.js",
"types": "dist/index.d.ts",
"files": [
"dist"
"dist",
"!dist/**/__tests__",
"!dist/**/__mocks__",
"!dist/**/__fixtures__"
],
"engines": {
"node": ">=20"
@@ -23,7 +26,8 @@
"scripts": {
"watch": "tsc --build --watch",
"watch:test": "tsc --build tsconfig.spec.json --watch",
"build": "rimraf dist && tsc --build && tsc-alias -p tsconfig.json",
"resolve:aliases": "tsc --showConfig -p tsconfig.json > tsconfig.resolved.json && tsc-alias -p tsconfig.resolved.json && rimraf tsconfig.resolved.json",
"build": "rimraf dist && tsc --build && npm run resolve:aliases",
"test": "jest --runInBand --bail --forceExit -- src/**/__tests__/**/*.ts",
"test:integration": "jest --forceExit -- integration-tests/**/__tests__/**/*.ts",
"migration:generate": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:generate",
@@ -41,7 +45,7 @@
"rimraf": "^3.0.2",
"ts-node": "^10.9.1",
"tsc-alias": "^1.8.6",
"typescript": "^5.1.6"
"typescript": "^5.6.2"
},
"dependencies": {
"@medusajs/utils": "^1.11.9"

View File

@@ -1,38 +1,11 @@
{
"extends": "../../../_tsconfig.base.json",
"compilerOptions": {
"lib": ["es2021"],
"target": "es2021",
"outDir": "./dist",
"esModuleInterop": true,
"declarationMap": true,
"declaration": true,
"module": "commonjs",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"sourceMap": false,
"noImplicitReturns": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"noImplicitThis": true,
"allowJs": true,
"skipLibCheck": true,
"downlevelIteration": true, // to use ES5 specific tooling
"baseUrl": ".",
"resolveJsonModule": true,
"paths": {
"@models": ["./src/models"],
"@services": ["./src/services"],
"@repositories": ["./src/repositories"],
"@types": ["./src/types"]
}
},
"include": ["src"],
"exclude": [
"dist",
"./src/**/__tests__",
"./src/**/__mocks__",
"./src/**/__fixtures__",
"node_modules"
]
}
}

View File

@@ -1,8 +0,0 @@
{
"extends": "./tsconfig.json",
"include": ["src", "integration-tests"],
"exclude": ["node_modules", "dist"],
"compilerOptions": {
"sourceMap": true
}
}

View File

@@ -1,21 +1,9 @@
module.exports = {
const defineJestConfig = require("../../../define_jest_config")
module.exports = defineJestConfig({
moduleNameMapper: {
"^@models": "<rootDir>/src/models",
"^@services": "<rootDir>/src/services",
"^@repositories": "<rootDir>/src/repositories",
"^@types": "<rootDir>/src/types",
},
transform: {
"^.+\\.[jt]s$": [
"@swc/jest",
{
jsc: {
parser: { syntax: "typescript", decorators: true },
transform: { decoratorMetadata: true },
},
},
],
},
testEnvironment: `node`,
moduleFileExtensions: [`js`, `ts`],
modulePathIgnorePatterns: ["dist/"],
}
})

View File

@@ -5,7 +5,10 @@
"main": "dist/index.js",
"types": "dist/index.d.ts",
"files": [
"dist"
"dist",
"!dist/**/__tests__",
"!dist/**/__mocks__",
"!dist/**/__fixtures__"
],
"engines": {
"node": ">=20"
@@ -23,7 +26,8 @@
"scripts": {
"watch": "tsc --build --watch",
"watch:test": "tsc --build tsconfig.spec.json --watch",
"build": "rimraf dist && tsc --build && tsc-alias -p tsconfig.json",
"resolve:aliases": "tsc --showConfig -p tsconfig.json > tsconfig.resolved.json && tsc-alias -p tsconfig.resolved.json && rimraf tsconfig.resolved.json",
"build": "rimraf dist && tsc --build && npm run resolve:aliases",
"test": "jest --runInBand --bail --passWithNoTests --forceExit -- src",
"test:integration": "jest --forceExit -- integration-tests/**/__tests__/**/*.ts",
"migration:generate": "MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:generate",
@@ -41,7 +45,7 @@
"rimraf": "^3.0.2",
"ts-node": "^10.9.1",
"tsc-alias": "^1.8.6",
"typescript": "^5.1.6"
"typescript": "^5.6.2"
},
"dependencies": {
"@medusajs/utils": "^1.11.9"

View File

@@ -1,38 +1,11 @@
{
"extends": "../../../_tsconfig.base.json",
"compilerOptions": {
"lib": ["es2021"],
"target": "es2021",
"outDir": "./dist",
"esModuleInterop": true,
"declarationMap": true,
"declaration": true,
"module": "commonjs",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"sourceMap": false,
"noImplicitReturns": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"noImplicitThis": true,
"allowJs": true,
"skipLibCheck": true,
"downlevelIteration": true, // to use ES5 specific tooling
"baseUrl": ".",
"resolveJsonModule": true,
"paths": {
"@models": ["./src/models"],
"@services": ["./src/services"],
"@repositories": ["./src/repositories"],
"@types": ["./src/types"]
}
},
"include": ["src"],
"exclude": [
"dist",
"./src/**/__tests__",
"./src/**/__mocks__",
"./src/**/__fixtures__",
"node_modules"
]
}
}

View File

@@ -1,8 +0,0 @@
{
"extends": "./tsconfig.json",
"include": ["src", "integration-tests"],
"exclude": ["node_modules", "dist"],
"compilerOptions": {
"sourceMap": true
}
}

View File

@@ -1,15 +1,2 @@
module.exports = {
transform: {
"^.+\\.[jt]s$": [
"@swc/jest",
{
jsc: {
parser: { syntax: "typescript", decorators: true },
transform: { decoratorMetadata: true },
},
},
],
},
testEnvironment: `node`,
moduleFileExtensions: [`js`, `ts`],
}
const defineJestConfig = require("../../../define_jest_config")
module.exports = defineJestConfig({})

View File

@@ -4,7 +4,10 @@
"description": "Local Event Bus Module for Medusa",
"main": "dist/index.js",
"files": [
"dist"
"dist",
"!dist/**/__tests__",
"!dist/**/__mocks__",
"!dist/**/__fixtures__"
],
"repository": {
"type": "git",
@@ -24,7 +27,7 @@
"cross-env": "^5.2.1",
"jest": "^29.7.0",
"rimraf": "^5.0.1",
"typescript": "^5.1.6"
"typescript": "^5.6.2"
},
"scripts": {
"watch": "tsc --build --watch",

View File

@@ -1,30 +1,3 @@
{
"compilerOptions": {
"lib": ["es2021"],
"target": "es2021",
"outDir": "./dist",
"esModuleInterop": true,
"declarationMap": true,
"declaration": true,
"module": "commonjs",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"sourceMap": true,
"noImplicitReturns": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"noImplicitThis": true,
"allowJs": true,
"skipLibCheck": true,
"downlevelIteration": true // to use ES5 specific tooling
},
"include": ["src"],
"exclude": [
"dist",
"./src/**/__tests__",
"./src/**/__mocks__",
"./src/**/__fixtures__",
"node_modules"
]
"extends": "../../../_tsconfig.base.json"
}

View File

@@ -1,5 +0,0 @@
{
"extends": "./tsconfig.json",
"include": ["src"],
"exclude": ["node_modules"]
}

View File

@@ -1,15 +1,2 @@
module.exports = {
transform: {
"^.+\\.[jt]s$": [
"@swc/jest",
{
jsc: {
parser: { syntax: "typescript", decorators: true },
transform: { decoratorMetadata: true },
},
},
],
},
testEnvironment: `node`,
moduleFileExtensions: [`js`, `ts`],
}
const defineJestConfig = require("../../../define_jest_config")
module.exports = defineJestConfig({})

View File

@@ -4,7 +4,10 @@
"description": "Redis Event Bus Module for Medusa",
"main": "dist/index.js",
"files": [
"dist"
"dist",
"!dist/**/__tests__",
"!dist/**/__mocks__",
"!dist/**/__fixtures__"
],
"repository": {
"type": "git",
@@ -25,7 +28,7 @@
"jest": "^29.7.0",
"medusa-test-utils": "^1.1.44",
"rimraf": "^5.0.1",
"typescript": "^5.1.6"
"typescript": "^5.6.2"
},
"scripts": {
"watch": "tsc --build --watch",

View File

@@ -339,8 +339,6 @@ describe("RedisEventBusService", () => {
})
describe("worker_", () => {
let result!: any
describe("Successfully processes the jobs", () => {
beforeEach(async () => {
jest.clearAllMocks()
@@ -395,7 +393,7 @@ describe("RedisEventBusService", () => {
return Promise.reject("fail2")
})
result = await eventBus.worker_({
await eventBus.worker_({
name: "eventName",
data: { data: { test: 1 } },
opts: { attempts: 1 },
@@ -434,7 +432,7 @@ describe("RedisEventBusService", () => {
}
)
result = await eventBus
await eventBus
.worker_({
name: "eventName",
data: {
@@ -473,7 +471,7 @@ describe("RedisEventBusService", () => {
}
)
result = await eventBus
await eventBus
.worker_({
name: "eventName",
data: {

View File

@@ -1,30 +1,3 @@
{
"compilerOptions": {
"lib": ["es2021"],
"target": "es2021",
"outDir": "./dist",
"esModuleInterop": true,
"declarationMap": true,
"declaration": true,
"module": "commonjs",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"sourceMap": true,
"noImplicitReturns": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"noImplicitThis": true,
"allowJs": true,
"skipLibCheck": true,
"downlevelIteration": true // to use ES5 specific tooling
},
"include": ["src"],
"exclude": [
"dist",
"./src/**/__tests__",
"./src/**/__mocks__",
"./src/**/__fixtures__",
"node_modules"
]
"extends": "../../../_tsconfig.base.json"
}

View File

@@ -1,5 +0,0 @@
{
"extends": "./tsconfig.json",
"include": ["src"],
"exclude": ["node_modules"]
}

View File

@@ -1,22 +1,9 @@
module.exports = {
const defineJestConfig = require("../../../define_jest_config")
module.exports = defineJestConfig({
moduleNameMapper: {
"^@models": "<rootDir>/src/models",
"^@services": "<rootDir>/src/services",
"^@repositories": "<rootDir>/src/repositories",
"^@types": "<rootDir>/src/types",
},
transform: {
"^.+\\.[jt]s$": [
"@swc/jest",
{
jsc: {
parser: { syntax: "typescript", decorators: true },
transform: { decoratorMetadata: true },
},
},
],
},
testEnvironment: `node`,
moduleFileExtensions: [`js`, `ts`],
modulePathIgnorePatterns: ["dist/"],
}
})

View File

@@ -5,7 +5,10 @@
"main": "dist/index.js",
"types": "dist/index.d.ts",
"files": [
"dist"
"dist",
"!dist/**/__tests__",
"!dist/**/__mocks__",
"!dist/**/__fixtures__"
],
"engines": {
"node": ">=20"
@@ -23,7 +26,8 @@
"scripts": {
"watch": "tsc --build --watch",
"watch:test": "tsc --build tsconfig.spec.json --watch",
"build": "rimraf dist && tsc --build && tsc-alias -p tsconfig.json",
"resolve:aliases": "tsc --showConfig -p tsconfig.json > tsconfig.resolved.json && tsc-alias -p tsconfig.resolved.json && rimraf tsconfig.resolved.json",
"build": "rimraf dist && tsc --build && npm run resolve:aliases",
"test": "jest --passWithNoTests --runInBand --bail --forceExit -- src/**/__tests__/**/*.ts",
"test:integration": "jest --passWithNoTests --forceExit -- integration-tests/**/__tests__/**/*.ts",
"migration:generate": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:generate",
@@ -43,7 +47,7 @@
"rimraf": "^3.0.2",
"ts-node": "^10.9.1",
"tsc-alias": "^1.8.6",
"typescript": "^5.1.6"
"typescript": "^5.6.2"
},
"dependencies": {
"@medusajs/modules-sdk": "^1.12.11",

View File

@@ -1,38 +1,11 @@
{
"extends": "../../../_tsconfig.base.json",
"compilerOptions": {
"lib": ["es2021"],
"target": "es2021",
"outDir": "./dist",
"esModuleInterop": true,
"declarationMap": true,
"declaration": true,
"module": "commonjs",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"sourceMap": false,
"noImplicitReturns": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"noImplicitThis": true,
"allowJs": true,
"skipLibCheck": true,
"downlevelIteration": true, // to use ES5 specific tooling
"baseUrl": ".",
"resolveJsonModule": true,
"paths": {
"@models": ["./src/models"],
"@services": ["./src/services"],
"@repositories": ["./src/repositories"],
"@types": ["./src/types"]
}
},
"include": ["src"],
"exclude": [
"dist",
"./src/**/__tests__",
"./src/**/__mocks__",
"./src/**/__fixtures__",
"node_modules"
]
}
}

View File

@@ -1,8 +0,0 @@
{
"extends": "./tsconfig.json",
"include": ["src", "integration-tests"],
"exclude": ["node_modules", "dist"],
"compilerOptions": {
"sourceMap": true
}
}

View File

@@ -1,4 +1,5 @@
module.exports = {
const defineJestConfig = require("../../../define_jest_config")
module.exports = defineJestConfig({
moduleNameMapper: {
"^@models": "<rootDir>/src/models",
"^@services": "<rootDir>/src/services",
@@ -6,19 +7,4 @@ module.exports = {
"^@types": "<rootDir>/src/types",
"^@utils": "<rootDir>/src/utils",
},
transform: {
"^.+\\.[jt]s$": [
"@swc/jest",
{
jsc: {
parser: { syntax: "typescript", decorators: true },
transform: { decoratorMetadata: true },
},
},
],
},
testEnvironment: `node`,
moduleFileExtensions: [`js`, `ts`],
modulePathIgnorePatterns: ["dist/"],
/*setupFilesAfterEnv: ["<rootDir>/integration-tests/setup.js"],*/
}
})

View File

@@ -5,7 +5,10 @@
"main": "dist/index.js",
"types": "dist/index.d.ts",
"files": [
"dist"
"dist",
"!dist/**/__tests__",
"!dist/**/__mocks__",
"!dist/**/__fixtures__"
],
"engines": {
"node": ">=20"
@@ -23,7 +26,8 @@
"scripts": {
"watch": "tsc --build --watch",
"watch:test": "tsc --build tsconfig.spec.json --watch",
"build": "rimraf dist && tsc --build && tsc-alias -p tsconfig.json",
"resolve:aliases": "tsc --showConfig -p tsconfig.json > tsconfig.resolved.json && tsc-alias -p tsconfig.resolved.json && rimraf tsconfig.resolved.json",
"build": "rimraf dist && tsc --build && npm run resolve:aliases",
"test": "jest --runInBand --bail --forceExit --passWithNoTests -- src",
"test:integration": "jest --forceExit -- integration-tests/**/__tests__/**/*.spec.ts",
"migration:generate": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:generate",
@@ -42,7 +46,7 @@
"rimraf": "^3.0.2",
"ts-node": "^10.9.1",
"tsc-alias": "^1.8.6",
"typescript": "^5.1.6"
"typescript": "^5.6.2"
},
"dependencies": {
"@medusajs/modules-sdk": "^1.12.11",

View File

@@ -26,12 +26,6 @@ const DeletedAtIndex = createPsqlIndexStatementHelper({
where: "deleted_at IS NOT NULL",
})
const ShippingOptionIdIndex = createPsqlIndexStatementHelper({
tableName: "shipping_option_type",
columns: "shipping_option_id",
where: "deleted_at IS NULL",
})
@Entity()
@Filter(DALUtils.mikroOrmSoftDeletableFilterOptions)
export default class ShippingOptionType {

View File

@@ -1,25 +1,6 @@
{
"extends": "../../../_tsconfig.base.json",
"compilerOptions": {
"lib": ["es2021"],
"target": "es2021",
"outDir": "./dist",
"esModuleInterop": true,
"declarationMap": true,
"declaration": true,
"module": "commonjs",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"sourceMap": false,
"noImplicitReturns": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"noImplicitThis": true,
"allowJs": true,
"skipLibCheck": true,
"downlevelIteration": true, // to use ES5 specific tooling
"baseUrl": ".",
"resolveJsonModule": true,
"paths": {
"@models": ["./src/models"],
"@services": ["./src/services"],
@@ -27,13 +8,5 @@
"@types": ["./src/types"],
"@utils": ["./src/utils"]
}
},
"include": ["src"],
"exclude": [
"dist",
"./src/**/__tests__",
"./src/**/__mocks__",
"./src/**/__fixtures__",
"node_modules"
]
}
}

View File

@@ -1,8 +0,0 @@
{
"extends": "./tsconfig.json",
"include": ["src", "integration-tests"],
"exclude": ["node_modules", "dist"],
"compilerOptions": {
"sourceMap": true
}
}

View File

@@ -1,22 +1,10 @@
module.exports = {
const defineJestConfig = require("../../../define_jest_config")
module.exports = defineJestConfig({
moduleNameMapper: {
"^@models": "<rootDir>/src/models",
"^@services": "<rootDir>/src/services",
"^@repositories": "<rootDir>/src/repositories",
"^@types": "<rootDir>/src/types",
"^@utils": "<rootDir>/src/utils",
},
transform: {
"^.+\\.[jt]s$": [
"@swc/jest",
{
jsc: {
parser: { syntax: "typescript", decorators: true },
transform: { decoratorMetadata: true },
},
},
],
},
testEnvironment: `node`,
moduleFileExtensions: [`js`, `ts`],
modulePathIgnorePatterns: ["dist/"],
}
})

View File

@@ -5,7 +5,10 @@
"main": "dist/index.js",
"types": "dist/index.d.ts",
"files": [
"dist"
"dist",
"!dist/**/__tests__",
"!dist/**/__mocks__",
"!dist/**/__fixtures__"
],
"engines": {
"node": ">=20"
@@ -23,7 +26,8 @@
"scripts": {
"watch": "tsc --build --watch",
"watch:test": "tsc --build tsconfig.spec.json --watch",
"build": "rimraf dist && tsc -p ./tsconfig.spec.json --noEmit && tsc -p ./tsconfig.build.json && tsc-alias -p ./tsconfig.build.json",
"resolve:aliases": "tsc --showConfig -p tsconfig.json > tsconfig.resolved.json && tsc-alias -p tsconfig.resolved.json && rimraf tsconfig.resolved.json",
"build": "rimraf dist && tsc --build && npm run resolve:aliases",
"test": "jest --passWithNoTests ./src",
"test:integration": "jest --runInBand --forceExit -- integration-tests/**/__tests__/**/*.ts",
"migration:generate": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:generate",
@@ -41,7 +45,7 @@
"rimraf": "^3.0.2",
"ts-node": "^10.9.1",
"tsc-alias": "^1.8.6",
"typescript": "^5.1.6"
"typescript": "^5.6.2"
},
"dependencies": {
"@medusajs/utils": "^1.11.9"

View File

@@ -116,9 +116,7 @@ export class QueryBuilder {
const isList = graphqlType.endsWith("[]")
graphqlType = graphqlType.replace("[]", "")
return (
(graphqlToPostgresTypeMap[graphqlType] ?? "") + (isList ? "[]" : "") ?? ""
)
return (graphqlToPostgresTypeMap[graphqlType] ?? "") + (isList ? "[]" : "")
}
private parseWhere(

View File

@@ -1,11 +0,0 @@
{
"extends": "./tsconfig.json",
"include": ["src"],
"exclude": [
"dist",
"src/**/__tests__",
"src/**/__mocks__",
"src/**/__fixtures__",
"node_modules"
]
}

View File

@@ -1,35 +1,12 @@
{
"extends": "../../../_tsconfig.base.json",
"compilerOptions": {
"lib": ["es2021"],
"target": "es2021",
"outDir": "./dist",
"esModuleInterop": true,
"declarationMap": true,
"declaration": true,
"module": "commonjs",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"sourceMap": false,
"noImplicitReturns": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"noImplicitThis": true,
"allowJs": true,
"skipLibCheck": true,
"downlevelIteration": true, // to use ES5 specific tooling
"baseUrl": ".",
"resolveJsonModule": true,
"paths": {
"@models": ["./src/models"],
"@services": ["./src/services"],
"@repositories": ["./src/repositories"],
"@types": ["./src/types"]
"@types": ["./src/types"],
"@utils": ["./src/utils"]
}
},
"include": ["src"],
"exclude": [
"dist",
"node_modules"
],
}
}

View File

@@ -1,8 +0,0 @@
{
"extends": "./tsconfig.json",
"include": ["src", "integration-tests"],
"exclude": ["node_modules", "dist"],
"compilerOptions": {
"sourceMap": true
}
}

View File

@@ -1,21 +1,10 @@
module.exports = {
const defineJestConfig = require("../../../define_jest_config")
module.exports = defineJestConfig({
moduleNameMapper: {
"^@models": "<rootDir>/src/models",
"^@services": "<rootDir>/src/services",
"^@repositories": "<rootDir>/src/repositories",
"^@types": "<rootDir>/src/types",
"^@utils": "<rootDir>/src/utils",
},
transform: {
"^.+\\.[jt]s$": [
"@swc/jest",
{
jsc: {
parser: { syntax: "typescript", decorators: true },
transform: { decoratorMetadata: true },
},
},
],
},
testEnvironment: `node`,
moduleFileExtensions: [`js`, `ts`],
}
})

View File

@@ -12,7 +12,10 @@
"access": "public"
},
"files": [
"dist"
"dist",
"!dist/**/__tests__",
"!dist/**/__mocks__",
"!dist/**/__fixtures__"
],
"engines": {
"node": ">=20"
@@ -28,7 +31,7 @@
"rimraf": "^5.0.1",
"ts-node": "^10.9.1",
"tsc-alias": "^1.8.6",
"typescript": "^5.1.6"
"typescript": "^5.6.2"
},
"dependencies": {
"@medusajs/utils": "^1.11.9"
@@ -42,7 +45,8 @@
"scripts": {
"watch": "tsc --build --watch",
"watch:test": "tsc --build tsconfig.spec.json --watch",
"build": "rimraf dist && tsc --build && tsc-alias -p tsconfig.json",
"resolve:aliases": "tsc --showConfig -p tsconfig.json > tsconfig.resolved.json && tsc-alias -p tsconfig.resolved.json && rimraf tsconfig.resolved.json",
"build": "rimraf dist && tsc --build && npm run resolve:aliases",
"test": "jest --runInBand --bail --forceExit -- src/**/__tests__/**/*.ts",
"test:integration": "jest --runInBand --forceExit -- integration-tests/**/__tests__/**/*.spec.ts",
"migration:generate": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts mikro-orm migration:generate",

Some files were not shown because too many files have changed in this diff Show More