{"id":41857,"library":"redux-vertical","title":"Redux-Vertical","description":"A utility library for building large Redux applications using vertically separated features. Current version 2.1.0 provides action type namespacing to prevent naming collisions, with key exports like `createTypes` and `createAction`. It is a derivative of redux-actions but removes Symbol support for broader compatibility. The library is stable with infrequent releases. It differs from redux-actions by enforcing string action types and adding a namespace mechanism.","status":"active","version":"2.1.0","language":"javascript","source_language":"en","source_url":"https://github.com/BerkeleyTrue/redux-vertical","tags":["javascript","react","redux","redux-actions","types"],"install":[{"cmd":"npm install redux-vertical","lang":"bash","label":"npm"},{"cmd":"yarn add redux-vertical","lang":"bash","label":"yarn"},{"cmd":"pnpm add redux-vertical","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"Supports both ESM and CommonJS. Default import is not the correct pattern.","wrong":"const createTypes = require('redux-vertical').createTypes","symbol":"createTypes","correct":"import { createTypes } from 'redux-vertical'"},{"note":"Must be a named import. No default export provided.","wrong":"import createAction from 'redux-vertical'","symbol":"createAction","correct":"import { createAction } from 'redux-vertical'"},{"note":"Actions is a class. In TypeScript, you may need to import type separately.","wrong":"const { Actions } = require('redux-vertical')","symbol":"Actions","correct":"import { Actions } from 'redux-vertical'"}],"quickstart":{"code":"import { createTypes, createAction } from 'redux-vertical';\n\nconst namespace = 'myFeature';\nconst types = createTypes(namespace, ['fetch', 'success', 'failure']);\n// types = { fetch: 'myFeature.fetch', success: 'myFeature.success', failure: 'myFeature.failure' }\n\nconst fetchAction = createAction(types.fetch);\nconst action = fetchAction({ data: true });\n// action = { type: 'myFeature.fetch', payload: { data: true } }","lang":"typescript","description":"Shows how to create namespaced action types and actions with createTypes and createAction."},"warnings":[{"fix":"Use strings only for action types. Do not pass Symbol values to createTypes or createAction.","message":"Action types must be strings. Symbol types are not supported.","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"Use array syntax: createTypes('ns', ['type1', 'type2'])","message":"createTypes can be called with a second argument that is a string array; older syntax with multiple arguments may be removed in future versions.","severity":"deprecated","affected_versions":"<2.1.0"},{"fix":"Use named imports like `import { createTypes } from 'redux-vertical'`.","message":"The library does not export a default export. Using `import reduxVertical from 'redux-vertical'` will result in undefined.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"search_vec":"'2.1.0':18 'action':20,41,61,65,77 'ad':68 'applic':11 'broader':47 'build':8 'collis':26 'compat':48 'createact':33 'createtyp':31 'current':16 'deriv':37 'differ':57 'enforc':63 'export':29 'featur':15 'infrequ':54 'javascript':72 'key':28 'larg':9 'librari':6,50 'like':30 'mechan':71 'name':25 'namespac':22,70 'prevent':24 'provid':19 'react':73 'redux':2,10,40,60,74,76 'redux-act':39,59,75 'redux-vert':1 'releas':55 'remov':43 'separ':14 'stabl':52 'string':64 'support':45 'symbol':44 'type':21,66,78 'use':12 'util':5 'version':17 'vertic':3,13","created_at":"2026-06-04T18:54:26.643251+00:00","updated_at":"2026-06-04T18:54:26.643251+00:00","problems":[{"fix":"Change to `import { createTypes } from 'redux-vertical'`.","cause":"Importing incorrectly, likely using default import instead of named import.","error":"Uncaught TypeError: (0 , redux_vertical.createTypes) is not a function"},{"fix":"Ensure action types are strings and use createAction to generate payload correctly.","cause":"Trying to dispatch an action with a Symbol type or non-string payload.","error":"Actions must be plain objects. Use custom middleware for async actions."},{"fix":"Pass an array of strings as the second argument: createTypes('ns', ['type1','type2'])","cause":"Calling createTypes without an array of types as second argument.","error":"Cannot read property '0' of undefined"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/BerkeleyTrue/redux-vertical#readme","github":"https://github.com/BerkeleyTrue/redux-vertical","docs":null,"changelog":null,"pypi":null,"npm":"redux-vertical","openapi_spec":null,"status_page":null,"smithery":null,"categories":["testing"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-04","next_check":"2026-09-02","install_tag":null}}