Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions lib/common/index.ts
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
export * from './mongoose.decorators';
export { getConnectionToken, getModelToken } from './mongoose.utils';
export * from './mongoose.decorators.js';
export { getConnectionToken, getModelToken } from './mongoose.utils.js';
2 changes: 1 addition & 1 deletion lib/common/mongoose.decorators.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Inject } from '@nestjs/common';
import { getConnectionToken, getModelToken } from './mongoose.utils';
import { getConnectionToken, getModelToken } from './mongoose.utils.js';

/**
* @publicApi
Expand Down
2 changes: 1 addition & 1 deletion lib/common/mongoose.utils.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { Logger } from '@nestjs/common';
import { Observable } from 'rxjs';
import { delay, retryWhen, scan } from 'rxjs/operators';
import { DEFAULT_DB_CONNECTION } from '../mongoose.constants';
import { DEFAULT_DB_CONNECTION } from '../mongoose.constants.js';

/**
* @publicApi
Expand Down
6 changes: 3 additions & 3 deletions lib/decorators/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
export * from './prop.decorator';
export * from './schema.decorator';
export * from './virtual.decorator';
export * from './prop.decorator.js';
export * from './schema.decorator.js';
export * from './virtual.decorator.js';
6 changes: 3 additions & 3 deletions lib/decorators/prop.decorator.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import * as mongoose from 'mongoose';
import { CannotDetermineTypeError } from '../errors';
import { RAW_OBJECT_DEFINITION } from '../mongoose.constants';
import { TypeMetadataStorage } from '../storages/type-metadata.storage';
import { CannotDetermineTypeError } from '../errors/index.js';
import { RAW_OBJECT_DEFINITION } from '../mongoose.constants.js';
import { TypeMetadataStorage } from '../storages/type-metadata.storage.js';

const TYPE_METADATA_KEY = 'design:type';
/**
Expand Down
2 changes: 1 addition & 1 deletion lib/decorators/schema.decorator.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import * as mongoose from 'mongoose';
import { TypeMetadataStorage } from '../storages/type-metadata.storage';
import { TypeMetadataStorage } from '../storages/type-metadata.storage.js';

/**
* Interface defining schema options that can be passed to `@Schema()` decorator.
Expand Down
2 changes: 1 addition & 1 deletion lib/decorators/virtual.decorator.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { VirtualTypeOptions } from 'mongoose';
import { TypeMetadataStorage } from '../storages/type-metadata.storage';
import { TypeMetadataStorage } from '../storages/type-metadata.storage.js';

/**
* Interface defining the options that can be passed to the `@Virtual()` decorator.
Expand Down
2 changes: 1 addition & 1 deletion lib/errors/index.ts
Original file line number Diff line number Diff line change
@@ -1 +1 @@
export * from './cannot-determine-type.error';
export * from './cannot-determine-type.error.js';
7 changes: 4 additions & 3 deletions lib/factories/definitions.factory.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
import { Type } from '@nestjs/common';
import { isUndefined } from '@nestjs/common/utils/shared.utils';
import * as mongoose from 'mongoose';
import { PropOptions } from '../decorators';
import { TypeMetadataStorage } from '../storages/type-metadata.storage';
import { PropOptions } from '../decorators/index.js';
import { TypeMetadataStorage } from '../storages/type-metadata.storage.js';

const BUILT_IN_TYPES: Function[] = [
Boolean,
Expand All @@ -14,6 +13,8 @@ const BUILT_IN_TYPES: Function[] = [
BigInt,
];

const isUndefined = (value: unknown): value is undefined => value === undefined;

export class DefinitionsFactory {
static createForClass(target: Type<unknown>): mongoose.SchemaDefinition {
if (!target) {
Expand Down
6 changes: 3 additions & 3 deletions lib/factories/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
export * from './definitions.factory';
export * from './schema.factory';
export * from './virtuals.factory';
export * from './definitions.factory.js';
export * from './schema.factory.js';
export * from './virtuals.factory.js';
6 changes: 3 additions & 3 deletions lib/factories/schema.factory.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { Type } from '@nestjs/common';
import * as mongoose from 'mongoose';
import { SchemaDefinition, SchemaDefinitionType } from 'mongoose';
import { TypeMetadataStorage } from '../storages/type-metadata.storage';
import { DefinitionsFactory } from './definitions.factory';
import { VirtualsFactory } from './virtuals.factory';
import { TypeMetadataStorage } from '../storages/type-metadata.storage.js';
import { DefinitionsFactory } from './definitions.factory.js';
import { VirtualsFactory } from './virtuals.factory.js';

/**
* @publicApi
Expand Down
5 changes: 3 additions & 2 deletions lib/factories/virtuals.factory.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import { Type } from '@nestjs/common';
import { isUndefined } from '@nestjs/common/utils/shared.utils';
import * as mongoose from 'mongoose';
import { TypeMetadataStorage } from '../storages/type-metadata.storage';
import { TypeMetadataStorage } from '../storages/type-metadata.storage.js';

const isUndefined = (value: unknown): value is undefined => value === undefined;

/**
* @publicApi
Expand Down
20 changes: 12 additions & 8 deletions lib/index.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
export * from './common';
export * from './decorators';
export * from './errors';
export * from './factories';
export * from './interfaces';
export * from './mongoose.module';
export * from './pipes';
export * from './utils';
export * from './common/index.js';
export * from './decorators/index.js';
export * from './errors/index.js';
export * from './factories/index.js';
export * from './interfaces/index.js';
export * from './metadata/property-metadata.interface.js';
export * from './metadata/schema-metadata.interface.js';
export * from './metadata/virtual-metadata.interface.js';
export * from './mongoose.module.js';
export * from './pipes/index.js';
export * from './storages/type-metadata.storage.js';
export * from './utils/index.js';
2 changes: 1 addition & 1 deletion lib/interfaces/async-model-factory.interface.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { ModuleMetadata } from '@nestjs/common';
import { ModelDefinition } from './model-definition.interface';
import { ModelDefinition } from './model-definition.interface.js';

/**
* @publicApi
Expand Down
6 changes: 3 additions & 3 deletions lib/interfaces/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
export * from './async-model-factory.interface';
export * from './model-definition.interface';
export * from './mongoose-options.interface';
export * from './async-model-factory.interface.js';
export * from './model-definition.interface.js';
export * from './mongoose-options.interface.js';
2 changes: 1 addition & 1 deletion lib/metadata/property-metadata.interface.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { PropOptions } from '../decorators/prop.decorator';
import { PropOptions } from '../decorators/prop.decorator.js';

export interface PropertyMetadata {
target: Function;
Expand Down
2 changes: 1 addition & 1 deletion lib/metadata/schema-metadata.interface.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import * as mongoose from 'mongoose';
import { PropertyMetadata } from './property-metadata.interface';
import { PropertyMetadata } from './property-metadata.interface.js';

export interface SchemaMetadata {
target: Function;
Expand Down
6 changes: 3 additions & 3 deletions lib/mongoose-core.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,17 @@ import * as mongoose from 'mongoose';
import { ConnectOptions, Connection } from 'mongoose';
import { defer, lastValueFrom } from 'rxjs';
import { catchError } from 'rxjs/operators';
import { getConnectionToken, handleRetry } from './common/mongoose.utils';
import { getConnectionToken, handleRetry } from './common/mongoose.utils.js';
import {
MongooseModuleAsyncOptions,
MongooseModuleFactoryOptions,
MongooseModuleOptions,
MongooseOptionsFactory,
} from './interfaces/mongoose-options.interface';
} from './interfaces/mongoose-options.interface.js';
import {
MONGOOSE_CONNECTION_NAME,
MONGOOSE_MODULE_OPTIONS,
} from './mongoose.constants';
} from './mongoose.constants.js';

@Global()
@Module({})
Expand Down
8 changes: 4 additions & 4 deletions lib/mongoose.module.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
import { DynamicModule, flatten, Module } from '@nestjs/common';
import { AsyncModelFactory, ModelDefinition } from './interfaces';
import { AsyncModelFactory, ModelDefinition } from './interfaces/index.js';
import {
MongooseModuleAsyncOptions,
MongooseModuleOptions,
} from './interfaces/mongoose-options.interface';
import { MongooseCoreModule } from './mongoose-core.module';
} from './interfaces/mongoose-options.interface.js';
import { MongooseCoreModule } from './mongoose-core.module.js';
import {
createMongooseAsyncProviders,
createMongooseProviders,
} from './mongoose.providers';
} from './mongoose.providers.js';

/**
* @publicApi
Expand Down
4 changes: 2 additions & 2 deletions lib/mongoose.providers.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { Provider } from '@nestjs/common';
import { Connection, Document, Model } from 'mongoose';
import { getConnectionToken, getModelToken } from './common/mongoose.utils';
import { AsyncModelFactory, ModelDefinition } from './interfaces';
import { getConnectionToken, getModelToken } from './common/mongoose.utils.js';
import { AsyncModelFactory, ModelDefinition } from './interfaces/index.js';

export function createMongooseProviders(
connectionName?: string,
Expand Down
4 changes: 2 additions & 2 deletions lib/pipes/index.ts
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
export * from './is-object-id.pipe';
export * from './parse-object-id.pipe';
export * from './is-object-id.pipe.js';
export * from './parse-object-id.pipe.js';
8 changes: 4 additions & 4 deletions lib/storages/type-metadata.storage.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { Type } from '@nestjs/common';
import { PropertyMetadata } from '../metadata/property-metadata.interface';
import { SchemaMetadata } from '../metadata/schema-metadata.interface';
import { VirtualMetadataInterface } from '../metadata/virtual-metadata.interface';
import { isTargetEqual } from '../utils/is-target-equal-util';
import { PropertyMetadata } from '../metadata/property-metadata.interface.js';
import { SchemaMetadata } from '../metadata/schema-metadata.interface.js';
import { VirtualMetadataInterface } from '../metadata/virtual-metadata.interface.js';
import { isTargetEqual } from '../utils/is-target-equal-util.js';

export class TypeMetadataStorageHost {
private schemas = new Array<SchemaMetadata>();
Expand Down
2 changes: 1 addition & 1 deletion lib/utils/index.ts
Original file line number Diff line number Diff line change
@@ -1 +1 @@
export * from './raw.util';
export * from './raw.util.js';
2 changes: 1 addition & 1 deletion lib/utils/raw.util.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { RAW_OBJECT_DEFINITION } from '../mongoose.constants';
import { RAW_OBJECT_DEFINITION } from '../mongoose.constants.js';

export function raw(definition: Record<string, any>) {
Object.defineProperty(definition, RAW_OBJECT_DEFINITION, {
Expand Down
7 changes: 7 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,15 @@
"author": "Kamil Mysliwiec",
"repository": "https://github.com/nestjs/mongoose.git",
"license": "MIT",
"type": "module",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"exports": {
".": {
"types": "./dist/index.d.ts",
"import": "./dist/index.js"
}
},
"scripts": {
"lint": "oxlint --config oxlint.json lib/",
"format": "prettier \"lib/**/*.ts\" --write",
Expand Down
10 changes: 5 additions & 5 deletions tests/e2e/discriminator.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,17 @@ import { DynamicModule, HttpStatus, INestApplication } from '@nestjs/common';
import { Test } from '@nestjs/testing';
import { Server } from 'http';
import request from 'supertest';
import { MongooseModule } from '../../lib';
import { EventModule } from '../src/event/event.module';
import { MongooseModule } from '../../lib/index.js';
import { EventModule } from '../src/event/event.module.js';
import {
ClickLinkEvent,
ClieckLinkEventSchema,
} from '../src/event/schemas/click-link-event.schema';
import { Event, EventSchema } from '../src/event/schemas/event.schema';
} from '../src/event/schemas/click-link-event.schema.js';
import { Event, EventSchema } from '../src/event/schemas/event.schema.js';
import {
SignUpEvent,
SignUpEventSchema,
} from '../src/event/schemas/sign-up-event.schema';
} from '../src/event/schemas/sign-up-event.schema.js';

const testCase: [string, DynamicModule][] = [
[
Expand Down
2 changes: 1 addition & 1 deletion tests/e2e/mongoose-lazy-connection.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { INestApplication } from '@nestjs/common';
import { Test } from '@nestjs/testing';
import { Server } from 'http';
import request from 'supertest';
import { LazyAppModule } from '../src/lazy-app.module';
import { LazyAppModule } from '../src/lazy-app.module.js';

describe('Mongoose lazy connection', () => {
let server: Server;
Expand Down
6 changes: 3 additions & 3 deletions tests/e2e/mongoose.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ import { INestApplication } from '@nestjs/common';
import { Test } from '@nestjs/testing';
import { Server } from 'http';
import request from 'supertest';
import { AppModule } from '../src/app.module';
import { CreateCatDto } from '../src/cats/dto/create-cat.dto';
import { Cat } from '../src/cats/schemas/cat.schema';
import { AppModule } from '../src/app.module.js';
import { CreateCatDto } from '../src/cats/dto/create-cat.dto.js';
import { Cat } from '../src/cats/schemas/cat.schema.js';

describe('Mongoose', () => {
let server: Server;
Expand Down
9 changes: 7 additions & 2 deletions tests/e2e/schema-definitions.factory.spec.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
import mongoose from 'mongoose';
import { DefinitionsFactory, Prop, raw, Schema } from '../../lib';
import { CannotDetermineTypeError } from '../../lib/errors';
import {
CannotDetermineTypeError,
DefinitionsFactory,
Prop,
raw,
Schema,
} from '../../lib/index.js';

@Schema()
class RefClass {
Expand Down
2 changes: 1 addition & 1 deletion tests/e2e/schema.factory.spec.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { vi } from 'vitest';
import { Prop, Schema, SchemaFactory, Virtual } from '../../lib';
import { Prop, Schema, SchemaFactory, Virtual } from '../../lib/index.js';

@Schema({ validateBeforeSave: false, _id: true, autoIndex: true })
class ChildClass {
Expand Down
8 changes: 5 additions & 3 deletions tests/e2e/virtual.factory.spec.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
import { vi } from 'vitest';
import { VirtualsFactory } from '../../lib';
import { VirtualMetadataInterface } from '../../lib/metadata/virtual-metadata.interface';
import { TypeMetadataStorage } from '../../lib/storages/type-metadata.storage';
import {
TypeMetadataStorage,
VirtualMetadataInterface,
VirtualsFactory,
} from '../../lib/index.js';

describe('VirtualsFactory', () => {
const setVirtualSetterFunctionMock = vi.fn();
Expand Down
6 changes: 3 additions & 3 deletions tests/src/app.module.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { Module } from '@nestjs/common';
import { MongooseModule } from '../../lib';
import { CatsModule } from './cats/cats.module';
import { CatModule } from './cats/cat.module';
import { MongooseModule } from '../../lib/index.js';
import { CatsModule } from './cats/cats.module.js';
import { CatModule } from './cats/cat.module.js';

@Module({
imports: [
Expand Down
4 changes: 2 additions & 2 deletions tests/src/cats/cat.controller.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { Controller, Get, Param } from '@nestjs/common';
import { CatService } from './cat.service';
import { Cat } from './schemas/cat.schema';
import { CatService } from './cat.service.js';
import { Cat } from './schemas/cat.schema.js';

@Controller('cat')
export class CatController {
Expand Down
8 changes: 4 additions & 4 deletions tests/src/cats/cat.module.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { Module } from '@nestjs/common';
import { MongooseModule } from '../../../lib';
import { Cat, CatSchema } from './schemas/cat.schema';
import { CatController } from './cat.controller';
import { CatService } from './cat.service';
import { MongooseModule } from '../../../lib/index.js';
import { Cat, CatSchema } from './schemas/cat.schema.js';
import { CatController } from './cat.controller.js';
import { CatService } from './cat.service.js';

@Module({
imports: [MongooseModule.forFeature([{ name: Cat.name, schema: CatSchema }])],
Expand Down
4 changes: 2 additions & 2 deletions tests/src/cats/cat.service.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { Injectable } from '@nestjs/common';
import { Model } from 'mongoose';
import { InjectModel } from '../../../lib';
import { Cat } from './schemas/cat.schema';
import { InjectModel } from '../../../lib/index.js';
import { Cat } from './schemas/cat.schema.js';

@Injectable()
export class CatService {
Expand Down
6 changes: 3 additions & 3 deletions tests/src/cats/cats.controller.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { Body, Controller, Get, Post } from '@nestjs/common';
import { CatsService } from './cats.service';
import { CreateCatDto } from './dto/create-cat.dto';
import { Cat } from './schemas/cat.schema';
import { CatsService } from './cats.service.js';
import { CreateCatDto } from './dto/create-cat.dto.js';
import { Cat } from './schemas/cat.schema.js';

@Controller('cats')
export class CatsController {
Expand Down
8 changes: 4 additions & 4 deletions tests/src/cats/cats.module.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { Module } from '@nestjs/common';
import { MongooseModule } from '../../../lib';
import { CatsController } from './cats.controller';
import { CatsService } from './cats.service';
import { Cat, CatSchema } from './schemas/cat.schema';
import { MongooseModule } from '../../../lib/index.js';
import { CatsController } from './cats.controller.js';
import { CatsService } from './cats.service.js';
import { Cat, CatSchema } from './schemas/cat.schema.js';

@Module({
imports: [MongooseModule.forFeature([{ name: Cat.name, schema: CatSchema }])],
Expand Down
Loading