feat(storage-fs): adapt to the new storage option and rename the package

This commit is contained in:
Joakim Carlstein 2023-11-22 11:25:05 +01:00
parent 8e87ade5c0
commit 7d8ac9b185
8 changed files with 52 additions and 41 deletions

View file

@ -0,0 +1,5 @@
---
'@emigrate/storage-fs': minor
---
Adapt to the new plugin structure and rename from "@emigrate/plugin-storage-fs" to just "@emigrate/storage-fs"

View file

@ -1,24 +0,0 @@
# @emigrate/plugin-storage-fs
A file system storage plugin for Emigrate, suitable for simple migration setups. To support containerized environments, it is recommended to use a database storage plugin instead.
## Installation
Install the plugin in your project, alongside the Emigrate CLI:
```bash
npm install --save-dev @emigrate/cli @emigrate/plugin-storage-fs
```
## Usage
Configure the plugin in your `emigrate.config.js` file:
```js
import storageFs from '@emigrate/plugin-storage-fs';
export default {
directory: 'migrations',
plugins: [storageFs({ filename: '.migrated.json' })],
};
```

View file

@ -1,4 +1,4 @@
# @emigrate/plugin-storage-fs # @emigrate/storage-fs
## 0.1.1 ## 0.1.1

View file

@ -0,0 +1,30 @@
# @emigrate/storage-fs
A file system storage plugin for Emigrate, suitable for simple migration setups. To support containerized environments, it is recommended to use a database storage plugin instead.
## Installation
Install the storage plugin in your project, alongside the Emigrate CLI:
```bash
npm install --save-dev @emigrate/cli @emigrate/storage-fs
```
## Usage
Configure the storage in your `emigrate.config.js` file:
```js
import storageFs from '@emigrate/storage-fs';
export default {
directory: 'migrations',
storage: storageFs({ filename: '.migrated.json' }),
};
```
Or use the CLI option `--storage` (or `-s`):
```bash
emigrate up --storage fs # the @emigrate/storage- prefix is optional
```

View file

@ -1,5 +1,5 @@
{ {
"name": "@emigrate/plugin-storage-fs", "name": "@emigrate/storage-fs",
"version": "0.1.1", "version": "0.1.1",
"publishConfig": { "publishConfig": {
"access": "public" "access": "public"
@ -24,14 +24,14 @@
}, },
"keywords": [ "keywords": [
"emigrate", "emigrate",
"emigrate-plugin", "emigrate-storage",
"plugin", "plugin",
"migrations", "migrations",
"storage" "storage"
], ],
"author": "Aboviq AB <dev@aboviq.com> (https://www.aboviq.com)", "author": "Aboviq AB <dev@aboviq.com> (https://www.aboviq.com)",
"homepage": "https://github.com/aboviq/emigrate/tree/main/packages/plugin-storage-fs#readme", "homepage": "https://github.com/aboviq/emigrate/tree/main/packages/storage-fs#readme",
"repository": "https://github.com/aboviq/emigrate/tree/main/packages/plugin-storage-fs", "repository": "https://github.com/aboviq/emigrate/tree/main/packages/storage-fs",
"bugs": "https://github.com/aboviq/emigrate/issues", "bugs": "https://github.com/aboviq/emigrate/issues",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {

View file

@ -1,7 +1,7 @@
import fs from 'node:fs/promises'; import fs from 'node:fs/promises';
import path from 'node:path'; import path from 'node:path';
import process from 'node:process'; import process from 'node:process';
import { type StoragePlugin, type MigrationStatus } from '@emigrate/plugin-tools/types'; import { type EmigrateStorage, type MigrationStatus } from '@emigrate/plugin-tools/types';
export type StorageFsOptions = { export type StorageFsOptions = {
filename: string; filename: string;
@ -13,7 +13,7 @@ type SerializedError = {
stack?: string; stack?: string;
}; };
export default function storageFs({ filename }: StorageFsOptions): StoragePlugin { export default function storageFs({ filename }: StorageFsOptions): EmigrateStorage {
const filePath = path.resolve(process.cwd(), filename); const filePath = path.resolve(process.cwd(), filename);
const lockFilePath = `${filePath}.lock`; const lockFilePath = `${filePath}.lock`;

20
pnpm-lock.yaml generated
View file

@ -95,16 +95,6 @@ importers:
specifier: workspace:* specifier: workspace:*
version: link:../tsconfig version: link:../tsconfig
packages/plugin-storage-fs:
dependencies:
'@emigrate/plugin-tools':
specifier: workspace:*
version: link:../plugin-tools
devDependencies:
'@emigrate/tsconfig':
specifier: workspace:*
version: link:../tsconfig
packages/plugin-tools: packages/plugin-tools:
dependencies: dependencies:
import-from-esm: import-from-esm:
@ -115,6 +105,16 @@ importers:
specifier: workspace:* specifier: workspace:*
version: link:../tsconfig version: link:../tsconfig
packages/storage-fs:
dependencies:
'@emigrate/plugin-tools':
specifier: workspace:*
version: link:../plugin-tools
devDependencies:
'@emigrate/tsconfig':
specifier: workspace:*
version: link:../tsconfig
packages/tsconfig: {} packages/tsconfig: {}
packages: packages: