Thurs, 3 Nov 2022 10:25:00 GMT
This release includes major upgrades to dependencies.
Thurs, 3 Nov 2022 10:23:00 GMT
This release includes major upgrades to dependencies.
Mon, 18 Oct 2022 20:23:00 GMT
Includes a bug fix to the development webpack config in order to remove the deprecated inline
argument.
Mon, 18 Oct 2022 14:53:00 GMT
This release includes major upgrades to many dependencies including Webpack (4 -> 5), typescript (3.9.x -> 4.8.x). tslint has been migrated to eslint, meaning @misk/tslint
has been removed. dayjs, immutable, react-hot-loader, styled-components have been removed as vendored packages.
Wed, 28 Sep 2022 17:07:22 GMT
- #1828 Ensure parseOnChangeArgs handles null arguments
Tue, 15 Feb 2022 04:27:39 GMT
#1798 Update dependencies to work with node 16
Thu, 05 Aug 2021 05:38:01 GMT
Bug fixes for the 0.3.1 release.
Thu, 05 Aug 2021 04:40:22 GMT
- #1645 Add a red banner for production
- #1649 Bundle new tab in CLI
Tue, 27 Jul 2021 00:04:10 GMT
Release based on 0.1.27, but with non-major dependency updates applied.
DD Jan 2021 14:14:00 GMT
Stable release including all the changes of 0.2.1-*
alpha releases.
22 Jan 2021 14:14:00 GMT
Major upgrade to many dependencies including Webpack (4 => 5) and Emotion (10 => 11). Automatic code migration has been added to the $ miskweb
CLI to assist in migrating your tabs from 0.1.*
to 0.2.0
but you may need to lean into the above linked migration guides for more complex issues.
18 Jan 2021 14:14:00 GMT
Stable release including all the changes of 0.1.28-*
alpha releases.
18 Jan 2021 14:14:00 GMT
Stable release including all the changes of 0.1.27-*
alpha releases.
28 Apr 2020 14:14:00 GMT
Stable release including all the changes of 0.1.26-*
alpha releases.
14 Jan 2020 14:36:00 GMT
Stable release including all the changes of 0.1.25-*
alpha releases.
14 Jan 2020 14:36:00 GMT
Stable release including all the changes of 0.1.24-*
alpha releases.
4 Nov 2019 14:36:00 GMT
Stable release including all the changes of 0.1.23-*
alpha releases.
4 Nov 2019 14:23:00 GMT
- Update Misk Admin Dashboard multibindings generated in CLI
misk
command
29 Oct 2019 19:58:00 GMT
- Add max workers to Jest configuration to prevent CircleCI out of memory errors
16 Oct 2019 14:40:00 GMT
- Plumb out
failureSaga
option for similar purpose tomergeSaga
except for in failure cases - For example, a
failureSaga
could be added to asimpleHttpPost
call that on call failure, issues a network request retry or other action
15 Oct 2019 17:24:00 GMT
- Update
DashboardMetadataAction
path to/api/dashboard/{dashboardId}/metadata
15 Oct 2019 17:24:00 GMT
- Update
MiskContainer
to support Misk API changes toDashboardMetadataAction
andServiceMetadataAction
1 Oct 2019 15:24:00 GMT
Fix bug in handler
parsing of options.overrideArgs
.
1 Oct 2019 15:24:00 GMT
Update handler
functions to accept overrideArgs
in the options object, instead of as a seperate function parameter. This specifically improves the usage for onClick functions as outlined below where empty options object no longer need to be used to reach the overrideArgs
parameter.
// Old
<Button onClick={handler.simpleMergeData(props, "my-tag", {}, data)}/>
// New
<Button onClick={handler.simpleMergeData(props, "my-tag", { overrideArgs: data })}/>
25 Sept 2019 16:24:00 GMT
Stable release including all the changes of 0.1.20-*
alpha releases.
25 Sept 2019 15:24:00 GMT
- Fix more bugs found using
mergeSagaMapKeysToTags
in different use cases.
25 Sept 2019 14:24:00 GMT
- New dedicated
mergeSaga
file for all library provided genericmergeSaga
that can optionally be used indispatchSimpleRedux
calls to add post call asynchronous functionality - Rename
mapMergeSaga
tomergeSagaMapKeysToTags
and move to separatemergeSaga
file - Add documentation and stub out test for
mergeSagaMapKeysToTags
27 Sept 2019 11:24:00 GMT
Table
component now takes a range[start: number, end: number]
to signify the rows to display. This replaces themaxRows
props.
simpleSelectorPickTransform
extends existingsimpleSelectorPick
(which matches Lodash's Pick API) to allow for reshaping the object with picked keys.dispatchSimpleRedux
functions now take an options object that allows for named passing in ofrequestConfig
andmergeSaga
.mergeSaga
accepts a generator function Saga that will run after the dispatch function's action is executed. This means that asimpleHttpGet
will execute first and then the response will be included in the payload that themergeSaga
has access to.mergeSaga
is then responsible to choose whether to emit any additional state update events or handle other asynchronous computation. Since it is a full saga and a generating function, the block of computation is asynchronous and follow up network requests or large computation can be done without risk of blocking render. See a full example of this in the newExampleMergeSagaContainer
inpalette-exemplar
.- Universal
handler
. Many components allow for passing in anonChange
handler that is a function accepting user event driven input and executing side effects. For example, an<InputGroup/>
returns the latest text in the text box, and a simpleonChange
handler would persist the latest text in a tagged spot in Redux. Components though do not have a universal form of input they provide to theironChange
handler. Instead of developers having to keep track of what function signature the componentonChange
props is expecting,@misk/simpleredux
now has a universalhandler
that provides the same function names asdispatchSimpleRedux
(ie.handler.simpleMergeData
,handler.simpleHttpGet
...) but can handle directly input from an componentonChange
oronClick
props. - The universal
handler
can handle input from anyonChange
oronClick
props because of a newparseOnChangeArgs
engine that identifies the format of input fromonChange
and returns it in a format that thedispatchSimpleRedux
functions can use. See examples ofhandler
in bothstarter-basic
andpalette-exemplar
tabs. onFn[Click,Change,Toggle,Tags]Call
functions are deprecated in favor ofhandler
.
25 Sept 2019 20:40:00 GMT
new
command now accepts two positional arguments fortitleCase
andslugCase
names for the new tab to be generated. The Misk-Web CLI no longer requires manual invocation of./new-tab.sh
!
- Add support to
./new-tab-starter-basic.sh
that allowstarter-basic
to be used in docs site demo and as template for new tabs - Add
Palette-Exemplar
andPalette-LTS
tabs to docs site example demos
25 Sept 2019 20:40:00 GMT
- Upstream new
<Table data={data} maxRows={5} />
component from palette-exemplar tab for tables that autogenerate from a list of objects.
- New
starter-basic
tab for use inmiskweb new
creation of new tabs. Much simpler bare bones structure making for a less overwhelming start for new tab developers. palette-exemplar
will remain to showcase more advanced features and use cases
17 Sept 2019 19:19:00 GMT
Stable release including all the changes of 0.1.19-*
alpha releases.
- Bug fixes for
0.1.18
release of@misk/simpleredux
- New
MiskNavbarContainer
in@misk/core
17 Sept 2019 18:25:00 GMT
- Upstream from Misk, the
MiskNavbarContainer
that can be extended to support front end dashboards for any Misk service
16 Sept 2019 18:34:00 GMT
- Reverse changes from
0.1.19-1
- Add new dispatch function
simpleMergeData
that does the similar encapsulation instead to provide that functionality to call sites that aren't usingon*FnCall
utilities - Deprecated
simpleFormInput
now resolves tosimpleMergeData
instead ofsimpleMerge
16 Sept 2019 15:55:00 GMT
- Update
onChangeFnCall
,onChangeToggleFnCall
andonChangeTagFnCall
to call functions with data enclosed in an object with adata
key. This will fix outstanding bugs from the new simpleMerge` functionality. No migration should be required.- Old
export const onChangeFnCall = (callFn: any, ...args: any) => (event: any) => { callFn(...args, event.target.value); };
- New
export const onChangeFnCall = (callFn: any, ...args: any) => (event: any) => { callFn(...args, { data: event.target.value }); };
13 Sept 2019 20:16:00 GMT
- Move
HTTPMethodDispatch
from@misk/core
to@misk/simpleredux
to fix and prevent future API drift
13 Sept 2019 17:52:00 GMT
Stable release including all the changes of 0.1.18-*
alpha releases.
13 Sept 2019 15:18:00 GMT
- Update Yargs library usage. There should no longer be deprecation warnings!
12 Sept 2019 15:18:00 GMT
- Unified SimpleRedux flow merging together SimpleForm and SimpleNetwork
- Extensive test coverage across new flow
- Usage of old SimpleForm and SimpleNetwork Redux elements now call out to the new SimpleRedux flow and log deprecation warnings encouraging upgrading to the unified flow.
12 Sept 2019 14:57:00 GMT
- Add
ResponsiveAppContainer
that extendsResponsiveContainer
with styling to keep it below the Navbar - Make
environmentToColor
theme configuration easier with lookup table now as a parameter to create the function - See examples in the Custom Styling docs
11 Sept 2019 20:17:00 GMT
- Navbar is now themable!
- Override the default theme by providing a new theme through props
- Take advantage of the
defaultTheme
if you only want to change one of the theme values - See examples in the Custom Styling docs
10 Sept 2019 20:59:00 GMT
- Added new props to Navbar to allow customization of MenuButton. All are optional and have sane defaults for the default interaction of showing the menu with respective icons.
menuIcon?: IconName | JSX.Element | string
: Set the icon that shows when the menu is closed. It can be a BlueprintJS IconName, a React JSX.Element, or a string URL to an image.menuOpenIcon?: IconName | JSX.Element | string
: Set the icon that shows when the menu is open. It can be a BlueprintJS IconName, a React JSX.Element, or a string URL to an image.menuButtonAsLink?: boolean
: Show the menuIcon and onClick go to thehomeUrl
instead of opening the menu.menuShowButton?: boolean
: Hide the MenuButton entirely.
- Add
@testing-library/dom
library for easier tests that check for certain rendered elements or text
22 Aug 2019 22:18:00 GMT
- Move around files in library
- There should be no change in functionality
22 Aug 2019 19:54:00 GMT
- Deprecate
simpleSelect
in favor of two new functions:simpleSelectorGet
andsimpleSelectorPick
- Both new functions have the same API and under the hood use Lodash corresponding functions
get
andpick
- Update
simpleSelect
calls to either of the two new functions soon assimpleSelect
will be removed in a future release - See more in
@misk/simpleredux
documentation
-
Allows for single-key cached selection from Redux state
-
Most directly equivalent to deprecated
simpleSelect
// OLD const field1 = simpleSelect(props.simpleForm, "Dino::Field1", "data") const tagsField = simpleSelect(props.simpleForm, "Dino::Tags", "data", simpleType.array) // NEW const field1 = simpleSelectorGet(props.simpleForm, ["Dino::Field1", "data"]) const tagsField = simpleSelectorGet(props.simpleForm, ["Dino::Tags", "data"], [])
-
Allows for multi-key cached selection from Redux state
// OLD const fields = [ "Name", "Price", "Itemized Receipt", "CheckAlice", "CheckBob", "CheckEve", "CheckMallory", "CheckTrent", "Meal", "Tags" ].map((f: string) => `Dino::${f}`) const fieldsData = fields .map((key: string) => { const value = simpleSelect(props.simpleForm, key, "data") return { [key]: value } }) .reduce((prev, current) => ({...prev, ...current}), {}) // New const fields = [ "Name", "Price", "Itemized Receipt", "CheckAlice", "CheckBob", "CheckEve", "CheckMallory", "CheckTrent", "Meal", "Tags" ].map((f: string) => `Dino::${f}.data`) const fieldsData = simpleSelectorPick(props.simpleForm, fields)
20 Aug 2019 14:00:00 GMT
- Stable release
15 Aug 2019 14:00:00 GMT
- Use webpack
alias
forsrc/
andtests/
imports
- Use
moduleNameMapper
injest
forsrc/
andtests/
imports
14 Aug 2019 16:15:27 GMT
- Use ShellJS instead of process.exit to pass through exit code
14 Aug 2019 16:05:27 GMT
- Exit with failure codes from executed scripts so that CLI fails if downstream tasks fail
14 Aug 2019 14:16:27 GMT
- Bump
react
andreact-dom
from16.8.6
to16.9.0
- Migrate from
react-testing-library
to@testing-library/react
(package was renamed) - Bump
@testing-library/react
from6.1.2
to9.1.1
- All test files with imports from
react-testing-library
will need to be changed to import from@testing-library/react
14 Aug 2019 13:39:27 GMT
- Two new keys added to
miskTab.json
for expanded configuration of the Webpack build provided by@misk/dev
rawIndex
option stops injecting unused Script tags in Misk Loader tab, instead copies the index.html from src as is without any processinguseWebpackBundleAnalyzer
allows turning off or on in non-production environments Webpack Bundler Analyzer reports
- New
IRouterProvidedProps
interface to be uesd to access the optionally injected React-Router props of history, location, and match. Useful for handling path parameters, see the docs for more.
15 Jul 2019 12:29:37 GMT
- New
SimpleReduxSaga
type to alias the type of arootSaga
in a tab'ssrc/ducks/index.ts
to support bumpingredux-sagas
library. It looks as follows.export function* rootSaga(): SimpleReduxSaga { yield all([ fork(watchPaletteSagas), ...
-
2019-02-21: First stable release of
@misk/simpleredux
at0.1.4
. -
2019-02-20: Move
ducks
out of@misk/common
and@misk/core
into@misk/simpleredux
for better centralized, isolated functionality. Effective as of@misk/*@0.1.4-4^
. -
2019-02-20: All interfaces, functions, colors, and code in
@misk/common
has been moved to@misk/core
.@misk/common
now only has styles and vendors library creation. Update any broken references to point to@misk/core
. Effective as of@misk/*@0.1.4-3^
. -
2019-02-14:
simpleNetworkResponse
renamed togetSimpleNetwork
. Many other potential breaking changes in refactor and release ofSimpleNetworkDucks
andSimpleFormDucks
. API not stable and may be changed in upcoming releases for simplicity. Effective as of@misk/[email protected]^
. -
2019-02-07:
response
insimpleNetwork
library renamed tosimpleNetworkResponse
for less ambiguity when devs call it and to match prefixed function idiom established in0.1.3-15
. Effective as of@misk/[email protected]^
. -
2019-02-07:
simpleNetwork
library functions in props are now all prefixed such thatthis.props.get
is nowthis.props.simpleNetworkGet
to prevent collisions with other dispatcher objects. Effective as of@misk/[email protected]^
. -
2018-11-30:
@misk/components
renamed to@misk/core
. All versions and Docker at0.1.0
. -
2018-11-08:
@misk/[email protected]
,@misk/[email protected]
,@misk/[email protected]
. Import styles as a css file instead of JS. New version required parameter in package.json:miskTab.Update
src/index.html
to include the following<!-- Misk Libraries --> <link rel="stylesheet" type="text/css" href="/@misk/common/styles.css" /> <script type="text/javascript" src="/@misk/common/vendors.js" preload></script> <script type="text/javascript" src="/@misk/common/common.js" preload></script> <script type="text/javascript" src="/@misk/core/components.js" preload></script>
-
2018-11-05:
@misk/common@^0.0.59
,@misk/core@^0.0.76
,@misk/dev@^0.0.60
,@misk/tslint^@0.0.10
. Revert back to StyledComponents because of difficulties in downstream migrations. Upgrade toconnected-react-router@^5.0.0
.Replace all imports of
react-emotion
withstyled-components
.In
src/ducks/index.ts
updaterootReducer
andIState
to the followingimport { connectRouter, LocationChangeAction, RouterState } from "connected-react-router" import { History } from "history" import { combineReducers, Reducer } from "redux" ... export interface IState { loader: ILoaderState router: Reducer<RouterState, LocationChangeAction> } ... export const rootReducer = (history: History) => combineReducers({ loader: LoaderReducer, router: connectRouter(history) })
-
2018-11-01:
@misk/dev@^0.0.47
and@misk/common@^0.0.52
. Prettier integration, Slug now injected intoindex.html
.Replace
src/index.html
with the following:<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> </head> <body> <div id="<%= htmlWebpackPlugin.options.slug %>"></div> <!-- Misk Libraries --> <script type="text/javascript" src="/@misk/common/styles.js" async></script> <script type="text/javascript" src="/@misk/common/vendors.js" preload></script> <script type="text/javascript" src="/@misk/common/common.js" preload></script> <script type="text/javascript" src="/@misk/core/components.js" preload></script> </body> </html>
Create a file
prettier.config.js
with the following:const { createPrettierConfig } = require("@misk/dev") module.exports = createPrettierConfig()
This was reverted on 2018-11-05: Replace all imports of
styled-components
withreact-emotion
.Add the following to
package.json
and add it as a prerequisite tobuild
andstart
steps."lint": "prettier --write --config prettier.config.js \"./src/**/*.{md,css,sass,less,json,js,jsx,ts,tsx}\"",
Change
miskTabBuilder
tocreateTabWebpack
inwebpack.config.js
.Change
makeExternals
tocreateExternals
inwebpack.config.js
. -
2018-10-28:
@misk/common@^0.0.52
.createApp()
andcreateIndex()
Replace
src/index.tsx
with the following:import { createApp, createIndex } from "@misk/core" import * as Ducks from "./ducks" import routes from "./routes" export * from "./components" export * from "./containers" createIndex("config", createApp(routes), Ducks)
Delete
src/App.tsx
.