From ce4693d95788799a7b3a6091c82d00831d2eebe8 Mon Sep 17 00:00:00 2001 From: Joakim Carlstein Date: Thu, 9 Nov 2023 22:00:43 +0100 Subject: [PATCH] feat(plugin-generate-js): first version --- .changeset/few-dryers-remain.md | 5 ++++ packages/plugin-generate-js/package.json | 36 +++++++++++++++++++++++ packages/plugin-generate-js/src/index.ts | 12 ++++++++ packages/plugin-generate-js/tsconfig.json | 8 +++++ 4 files changed, 61 insertions(+) create mode 100644 .changeset/few-dryers-remain.md create mode 100644 packages/plugin-generate-js/package.json create mode 100644 packages/plugin-generate-js/src/index.ts create mode 100644 packages/plugin-generate-js/tsconfig.json 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"] +}