From 1ec9f604dee9a445d0d368559c841e3de233ec41 Mon Sep 17 00:00:00 2001 From: Jerko Steiner Date: Thu, 9 Jan 2020 15:15:29 +0100 Subject: [PATCH] Fix clean install --- packages/client/src/crud/CRUDReducer.ts | 6 +++--- packages/common/src/APIDef.ts | 3 +++ packages/jsonrpc/src/redux.test.ts | 2 +- packages/react-captcha/tsconfig.json | 8 ++++++-- packages/redux/src/store/createStore.ts | 4 ++-- packages/scripts/preinstall.js | 9 +++++++++ packages/server/src/middleware/CSRFMiddleware.ts | 2 +- packages/server/src/middleware/SessionMiddleware.ts | 2 +- packages/server/src/router/AsyncRouter.ts | 6 ++---- 9 files changed, 28 insertions(+), 14 deletions(-) create mode 100644 packages/scripts/preinstall.js diff --git a/packages/client/src/crud/CRUDReducer.ts b/packages/client/src/crud/CRUDReducer.ts index 85a5c6d..07c3468 100644 --- a/packages/client/src/crud/CRUDReducer.ts +++ b/packages/client/src/crud/CRUDReducer.ts @@ -250,12 +250,12 @@ export class CRUDReducer< } } - reduce = ( - state: CRUDState | undefined, + reduce = ( + _state: CRUDState | undefined, action: CRUDAction, ): CRUDState => { const {defaultState} = this - state = state || defaultState + const state = _state || defaultState if (action.type !== this.actionName) { return state diff --git a/packages/common/src/APIDef.ts b/packages/common/src/APIDef.ts index 8bfff06..74a00a8 100644 --- a/packages/common/src/APIDef.ts +++ b/packages/common/src/APIDef.ts @@ -12,12 +12,14 @@ export interface APIDef { 'post': { body: NewUser & { captcha: string } response: UserProfile + params: {} } } '/auth/login': { 'post': { body: Credentials response: UserProfile + params: {} } } '/auth/logout': { @@ -29,6 +31,7 @@ export interface APIDef { oldPassword: string newPassword: string } + params: {} } } } diff --git a/packages/jsonrpc/src/redux.test.ts b/packages/jsonrpc/src/redux.test.ts index 207d464..1c4537e 100644 --- a/packages/jsonrpc/src/redux.test.ts +++ b/packages/jsonrpc/src/redux.test.ts @@ -237,7 +237,7 @@ describe('createActions', () => { method: 'missingMethod', status: 'resolved', payload: null, - }) + } as any) }) }) }) diff --git a/packages/react-captcha/tsconfig.json b/packages/react-captcha/tsconfig.json index 94bb254..25d40a7 100644 --- a/packages/react-captcha/tsconfig.json +++ b/packages/react-captcha/tsconfig.json @@ -4,5 +4,9 @@ "outDir": "lib", "rootDir": "src" }, - "references": [] -} \ No newline at end of file + "references": [ + { + "path": "../react-test" + } + ] +} diff --git a/packages/redux/src/store/createStore.ts b/packages/redux/src/store/createStore.ts index ffcc1a8..25efe9a 100644 --- a/packages/redux/src/store/createStore.ts +++ b/packages/redux/src/store/createStore.ts @@ -1,4 +1,4 @@ -import { Action, applyMiddleware, createStore as create, Middleware, Reducer, DeepPartial } from 'redux' +import { Action, applyMiddleware, createStore as create, Middleware, PreloadedState, Reducer } from 'redux' import { PromiseMiddleware, ReduxLogger } from '../middleware' export interface CreateStoreParams { @@ -35,7 +35,7 @@ export function createStore( params.reducer, // stupid warning about how Partial | undefined cannot be used as // DeepPartial | undefined - params.state as DeepPartial | undefined, + params.state as PreloadedState | undefined, applyMiddleware(...middleware), ) } diff --git a/packages/scripts/preinstall.js b/packages/scripts/preinstall.js new file mode 100644 index 0000000..6f32368 --- /dev/null +++ b/packages/scripts/preinstall.js @@ -0,0 +1,9 @@ +const fs = require('fs') + +if (!fs.existsSync('lib')) { + fs.mkdirSync('lib') +} + +if (!fs.existsSync('lib/index.js')) { + fs.writeFileSync('lib/index.js', '') +} diff --git a/packages/server/src/middleware/CSRFMiddleware.ts b/packages/server/src/middleware/CSRFMiddleware.ts index c0e1ab0..0bd8879 100644 --- a/packages/server/src/middleware/CSRFMiddleware.ts +++ b/packages/server/src/middleware/CSRFMiddleware.ts @@ -18,7 +18,7 @@ export class CSRFMiddleware implements Middleware { httpOnly: true, sameSite: true, secure: params.baseUrl.protocol === 'https', - path: params.baseUrl.path, + path: params.baseUrl.path !== null ? params.baseUrl.path : undefined, key: params.cookieName, }, }) diff --git a/packages/server/src/middleware/SessionMiddleware.ts b/packages/server/src/middleware/SessionMiddleware.ts index 5c3fa82..db418bc 100644 --- a/packages/server/src/middleware/SessionMiddleware.ts +++ b/packages/server/src/middleware/SessionMiddleware.ts @@ -31,7 +31,7 @@ export class SessionMiddleware implements Middleware { httpOnly: true, sameSite: true, secure: params.baseUrl.protocol === 'https', - path: params.baseUrl.path, + path: params.baseUrl.path !== null ? params.baseUrl.path : undefined, }, store: new SessionStore({ cleanupDelay: 60 * 1000, diff --git a/packages/server/src/router/AsyncRouter.ts b/packages/server/src/router/AsyncRouter.ts index 8ee6900..2ea7a04 100644 --- a/packages/server/src/router/AsyncRouter.ts +++ b/packages/server/src/router/AsyncRouter.ts @@ -19,14 +19,12 @@ export class AsyncRouter { TypedHandler, ] ) { - const addRoute = this.router[method].bind(this.router as any) - if (handlers.length === 2) { const middleware = handlers[0] const handler = handlers[1] - addRoute(path, ...middleware, this.wrapHandler(handler)) + this.router[method](path, ...middleware, this.wrapHandler(handler)) } else { - addRoute(path, this.wrapHandler(handlers[0])) + this.router[method](path, this.wrapHandler(handlers[0])) } }