diff --git a/.changeset/few-dryers-remain.md b/.changeset/few-dryers-remain.md new file mode 100644 index 0000000..33e8d78 --- /dev/null +++ b/.changeset/few-dryers-remain.md @@ -0,0 +1,5 @@ +--- +'@emigrate/plugin-generate-js': minor +--- + +First version. A simple JavaScript migration file generator. diff --git a/packages/plugin-generate-js/package.json b/packages/plugin-generate-js/package.json new file mode 100644 index 0000000..13b364a --- /dev/null +++ b/packages/plugin-generate-js/package.json @@ -0,0 +1,36 @@ +{ + "name": "@emigrate/plugin-generate-js", + "version": "0.0.0", + "publishConfig": { + "access": "public" + }, + "description": "An Emigrate plugin for generating new migration files in JavaScript.", + "main": "dist/index.js", + "types": "dist/index.d.js", + "type": "module", + "exports": { + ".": { + "import": "./dist/index.js", + "types": "./dist/index.d.ts" + } + }, + "scripts": { + "build": "tsc --pretty", + "build:watch": "tsc --pretty --watch" + }, + "keywords": [ + "emigrate", + "emigrate-plugin", + "plugin", + "migrations", + "generate" + ], + "author": "Aboviq AB (https://www.aboviq.com)", + "license": "MIT", + "dependencies": { + "@emigrate/plugin-tools": "workspace:*" + }, + "devDependencies": { + "@emigrate/tsconfig": "workspace:*" + } +} diff --git a/packages/plugin-generate-js/src/index.ts b/packages/plugin-generate-js/src/index.ts new file mode 100644 index 0000000..b94f80e --- /dev/null +++ b/packages/plugin-generate-js/src/index.ts @@ -0,0 +1,12 @@ +import { createGeneratorPlugin, getTimestampPrefix, sanitizeMigrationName } from '@emigrate/plugin-tools'; + +export default createGeneratorPlugin(async (name) => { + return { + filename: `${getTimestampPrefix()}_${sanitizeMigrationName(name)}.js`, + content: `// ${name} +export default async () => { + +}; +`, + }; +}); diff --git a/packages/plugin-generate-js/tsconfig.json b/packages/plugin-generate-js/tsconfig.json new file mode 100644 index 0000000..1cfcebb --- /dev/null +++ b/packages/plugin-generate-js/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "@emigrate/tsconfig/build.json", + "compilerOptions": { + "outDir": "dist" + }, + "include": ["src"], + "exclude": ["node_modules", "dist"] +}