diff --git a/package.json b/package.json index 68282a357..a04f1b11d 100644 --- a/package.json +++ b/package.json @@ -1,16 +1,32 @@ { "name": "root", "private": true, - "workspaces": ["packages/*"], + "workspaces": [ + "packages/*" + ], "scripts": { "bootstrap": "lerna bootstrap --use-workspaces", "dev": "lerna exec yarn dev", "build": "lerna exec yarn build", "test": "lerna exec yarn test", "lint": "lerna exec yarn lint", - "deploy": "yarn bootstrap && yarn build" + "deploy": "yarn bootstrap && yarn build", + "release:validate": "yarn test && yarn build", + "release:initial": "yarn release:validate && standard-version --first-release", + "release:minor": "yarn release:validate && standard-version --release-as minor", + "release:alpha:minor": "yarn release:validate && standard-version --release-as minor --prerelease alpha", + "release:beta:minor": "yarn release:validate && standard-version --release-as minor --prerelease beta", + "release:patch": "yarn release:validate && standard-version --release-as patch", + "release:alpha:patch": "yarn release:validate && standard-version --release-as patch --prerelease alpha", + "release:beta:patch": "yarn release:validate && standard-version --release-as patch --prerelease beta", + "release:major": "yarn release:validate && standard-version --release-as major", + "release:alpha:major": "yarn release:validate && standard-version --release-as major --prerelease alpha", + "release:beta:major": "yarn release:validate && standard-version --release-as major --prerelease beta", + "release:alpha": "yarn release:validate && standard-version --prerelease alpha", + "release:beta": "yarn release:validate && standard-version --prerelease beta" }, "devDependencies": { - "lerna": "4.0.0" + "lerna": "4.0.0", + "standard-version": "^9.3.2" } } diff --git a/packages/better-write-app/src/plugin/logger/index.ts b/packages/better-write-app/src/plugin/logger/index.ts index 656d1b05c..87b008fd5 100644 --- a/packages/better-write-app/src/plugin/logger/index.ts +++ b/packages/better-write-app/src/plugin/logger/index.ts @@ -1,19 +1,7 @@ import { PluginTypes } from 'better-write-types' import { PluginLoggerActions } from './actions' import { PluginLoggerProject } from './project' +import { createPlugin } from 'better-write-plugin-core' -export const LoggerPlugin = (): PluginTypes.Plugin => { - const defines = { - name: 'logger', - } as PluginTypes.PluginDefines - - const init = ( - emitter: PluginTypes.PluginEmitter, - stores: PluginTypes.PluginStores - ) => { - PluginLoggerActions(emitter, stores) - PluginLoggerProject(emitter, stores) - } - - return { init, defines } -} +export const LoggerPlugin = () => + createPlugin({ name: 'logger' }, [PluginLoggerActions, PluginLoggerProject]) diff --git a/packages/better-write-app/src/plugin/theme/index.ts b/packages/better-write-app/src/plugin/theme/index.ts index 7b3cd3048..235853eb4 100644 --- a/packages/better-write-app/src/plugin/theme/index.ts +++ b/packages/better-write-app/src/plugin/theme/index.ts @@ -1,17 +1,5 @@ -import { PluginTypes } from 'better-write-types' +import { createPlugin } from 'better-write-plugin-core' import { PluginThemeSet } from './set' -export const ThemePlugin = (): PluginTypes.Plugin => { - const defines = { - name: 'theme', - } as PluginTypes.PluginDefines - - const init = ( - emitter: PluginTypes.PluginEmitter, - stores: PluginTypes.PluginStores - ) => { - PluginThemeSet(emitter, stores) - } - - return { init, defines } -} +export const ThemePlugin = () => + createPlugin({ name: 'theme' }, [PluginThemeSet]) diff --git a/packages/better-write-app/test/raw/raw_v1.test.ts b/packages/better-write-app/test/raw/raw_v1.test.ts index dda976e22..062199365 100644 --- a/packages/better-write-app/test/raw/raw_v1.test.ts +++ b/packages/better-write-app/test/raw/raw_v1.test.ts @@ -4,7 +4,7 @@ import { useFormat } from '../../src/use/format' import { bold, italic, link, useRaw } from '../../src/use/raw' -import { Entity } from '../../src/types/context' +import { Entity } from 'better-write-types' describe('Editor Converter - v1', () => { beforeEach(() => {}) diff --git a/packages/better-write-entity/package.json b/packages/better-write-entity/package.json index 2956315a9..7fb2c6486 100644 --- a/packages/better-write-entity/package.json +++ b/packages/better-write-entity/package.json @@ -14,6 +14,7 @@ "types": "dist/index.d.ts", "scripts": { "dev": "rimraf ./dist && unbuild", + "test": "echo \"Error: no test specified\"", "build": "rimraf ./dist && unbuild", "lint": "prettier --write src/" }, diff --git a/packages/better-write-plugin-core/package.json b/packages/better-write-plugin-core/package.json index 1668b001c..50bc6fb57 100644 --- a/packages/better-write-plugin-core/package.json +++ b/packages/better-write-plugin-core/package.json @@ -9,6 +9,7 @@ "scripts": { "dev": "rimraf ./dist && unbuild", "build": "rimraf ./dist && unbuild", + "test": "echo \"Error: no test specified\"", "lint": "prettier --write src/" }, "files": [ diff --git a/packages/better-write-plugin-core/src/index.ts b/packages/better-write-plugin-core/src/index.ts index 01e63e2b1..e4298a9ea 100644 --- a/packages/better-write-plugin-core/src/index.ts +++ b/packages/better-write-plugin-core/src/index.ts @@ -34,5 +34,18 @@ export function createPluginCore(options?: PluginTypes.CoreOption): PluginTypes. return plugin; } +export const createPlugin = ( + defines: PluginTypes.PluginDefines, + cb: Array +): PluginTypes.Plugin => { + const init = (emitter: PluginTypes.PluginEmitter, stores: PluginTypes.PluginStores) => { + cb.forEach((fn) => { + fn && fn(emitter, stores); + }); + }; + + return { init, defines }; +}; + export * as Cycle from './cycle'; export * as On from './on'; diff --git a/packages/better-write-types/package.json b/packages/better-write-types/package.json index f3204fe9b..37b32f9dd 100644 --- a/packages/better-write-types/package.json +++ b/packages/better-write-types/package.json @@ -14,6 +14,7 @@ "types": "dist/index.d.ts", "scripts": { "dev": "rimraf ./dist && unbuild", + "test": "echo \"Error: no test specified\"", "build": "rimraf ./dist && unbuild", "lint": "prettier --write src/" }, diff --git a/yarn.lock b/yarn.lock index 8402a4d2b..6439fe5a1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9492,7 +9492,7 @@ stack-utils@^2.0.3: dependencies: escape-string-regexp "^2.0.0" -standard-version@9.3.2: +standard-version@9.3.2, standard-version@^9.3.2: version "9.3.2" resolved "https://registry.yarnpkg.com/standard-version/-/standard-version-9.3.2.tgz#28db8c1be66fd2d736f28f7c5de7619e64cd6dab" integrity sha512-u1rfKP4o4ew7Yjbfycv80aNMN2feTiqseAhUhrrx2XtdQGmu7gucpziXe68Z4YfHVqlxVEzo4aUA0Iu3VQOTgQ==