nuxt-easy-typeorm
Nuxt EasyTypeORM
This Nuxt module is aimed for a seamless integration of TypeORM.
Installation
npx nuxi@latest module add nuxt-easy-typeorm
Configuration
In your Nuxt project, configure the module options inside nuxt.config.js:
export default defineNuxtConfig({
modules: ['nuxt-easy-typeorm'],
typeorm: {
directory: 'my-typeorm-folder', // optional: defaults to 'typeorm' if not specified
}
})
Setup
- Create the
typeormDirectory: Inside the root of your project, create a typeorm directory (or the directory specified in your config). This is where you'll organize TypeORM-related files, such as entities and migrations. - Organize with Subdirectories: To keep the folder organized, create subdirectories like
entitiesfor entity files andmigrationsfor migration files. - Define a Data Source: Create a file (e.g.,
useDatabase.ts) in thetypeormdirectory. Use the provideddefineDataSourcefunction to configure your TypeORM data source.
export const useDatabase = defineDataSource({
type: 'sqlite',
database: './typeorm/database.sqlite',
entities: [],
migrations: [],
synchronize: true,
})
[!NOTE] You can add all entities and migrations here without additional imports.
Usage
After setting up, the data source will be auto-imported and ready for use in your Nitro routes. Here’s a simple example of using useDatabase to interact with an entity called User.
Example: Fetching Users
// server/api/user/list/index.get.ts
export default defineEventHandler(async (event) => {
const database = await useDatabase()
const UserRepository = database.getRepository(User)
return UserRepository.find()
})
In this example, useDatabase() initializes the database connection and retrieves the repository for the User entity, allowing you to perform operations like .find().
Contribution
Local development
# Install dependencies
npm install
# Generate type stubs
npm run dev:prepare
# Develop with the playground
npm run dev
# Build the playground
npm run dev:build
# Run ESLint
npm run lint
# Run Vitest
npm run test
npm run test:watch
# Release new version
npm run release
Version History
| Version | Released | Vue | License |
|---|---|---|---|
| 3.0.0 | MIT | ||
| 2.1.0 | MIT | ||
| 2.0.0 | MIT | ||
| 1.2.0 | MIT | ||
| 1.1.3 | MIT | ||
| 1.1.2 | MIT | ||
| 1.1.1 | ^3.0 | MIT | |
| 1.1.0 | ^3.0 | MIT |