Skip to content

Latest commit

 

History

History
1591 lines (907 loc) · 83 KB

File metadata and controls

1591 lines (907 loc) · 83 KB

1.0.3 (2026-04-10)

Patch Changes

  • c49d82e: Re-release after process fixes

1.0.2 (2026-04-08)

Patch Changes

  • f87e120: Re-release: fix of release jobs

1.0.1 (2026-04-08)

Patch Changes

  • 60c8489: Re-release after infrastructure fix

1.0.0 (2026-04-08)

Major Changes

  • 54606aa: Improve TypeScript type definitions in plugin-component, plugin-event-emitter, and plugin-http-client.

    • What setState and setProps in plugin-component now accept updater functions and return Promise<void>; event callbacks in plugin-event-emitter now include the widget argument; plugin-http-client adds proper HttpRequest, HttpTransformer, and HttpResult interfaces and switches from the removed HttpClientWidget class to module augmentation.
    • Why The previous types were inaccurate or incomplete, causing TypeScript errors when passing updater functions to setState/setProps, missing the widget parameter in event callbacks, and lacking proper interfaces for HTTP client operations.
    • How Nothing.
  • 19c2bf2: Remove the @merkur/preact/webpack export and its associated peer dependencies.

    • What The @merkur/preact/webpack subpath export and its two helpers, applyBabelLoader and applyPreactConfig, have been deleted. The peer dependencies @merkur/tool-webpack, babel-loader, and @babel/preset-react are no longer declared or required by this package.
    • Why Webpack-based tooling was superseded by the Vite/esbuild pipeline. Maintaining a parallel Webpack integration added complexity and prevented simplifying the package's dependency surface. Removing it reduces install size and eliminates the need to keep Babel peer deps in sync.
    • How Remove any import of applyBabelLoader or applyPreactConfig from @merkur/preact/webpack. If you still need webpack, configure the Preact Babel preset manually in your webpack.config.js using babel-loader with @babel/preset-react set to runtime: 'automatic' and importSource: 'preact'. Alternatively, migrate to the Vite-based Storybook setup provided by @merkur/tool-storybook, which requires no webpack or Babel configuration. Remove @merkur/tool-webpack, babel-loader, and @babel/preset-react from your project's dependencies if they were pulled in solely for this integration.

Minor Changes

  • 19c2bf2: Add vanilla JS widget support and preview configuration helpers to Storybook tooling.
    • What New createPreviewConfig(options) helper provides a simplified Storybook preview.mjs setup with automatic widget name/version validation via @esmj/schema and HMR-safe registration (skips getMerkur().register if the widget is already registered). New createVanillaRenderer() (no arguments) creates a render/update pair for vanilla JavaScript widgets; stories supply the view via args.component as a function returning an HTML string; before each re-render the renderer calls widget.unbindEventListeners?.(container), sets container.innerHTML, and then calls widget.bindEventListeners?.(container) to rebind events. A per-widget WeakMap stores the container and view function, keeping state isolated across concurrent stories without touching the sealed widget object. createWidgetLoader reuses the existing widget instance when the story args are deeply equal (snapshot comparison), and unmounts and remounts only when args differ or the story changes. state and props are applied after widget.mount() so the load() lifecycle cannot silently discard story-provided values. All exported functions are documented with JSDoc.
    • Why Previously only Preact-based widgets had first-class Storybook support. Vanilla JS widgets had no renderer, forcing teams to wire up lifecycle management by hand. The missing createPreviewConfig abstraction caused boilerplate duplication across projects, and the lifecycle bugs in createWidgetLoader led to stale widget instances between story navigations.
    • How Import the helpers from @merkur/tool-storybook. Call createVanillaRenderer() in .storybook/preview.mjs and spread createPreviewConfig({ widgetProperties, createWidget, render }) into your preview object; pass component: MyViewFn in story args, where MyViewFn is a function that receives the widget and returns an HTML string. Define bindEventListeners(widget, container) (and optionally unbindEventListeners(widget, container)) directly on the widget inside its createWidget factory for automatic event binding and cleanup between renders — widget is auto-injected as the first argument by Merkur's bindWidgetToFunctions, so the renderer calls widget.bindEventListeners(container) and the underlying function receives (widget, container). Requires Storybook >= 10: this package imports storybook/preview-api and storybook/internal/core-events at runtime; using it with Storybook < 10 will cause a module-not-found error at load time.

Patch Changes

  • 97aec26: Migrate monorepo build and publish tooling from Lerna to NX and Changesets.

    • What The internal monorepo toolchain for versioning and publishing all @merkur/* packages has been replaced. Lerna is removed; NX is used for task orchestration and Changesets is used for versioning and changelog generation.
    • Why Lerna's versioning model was difficult to maintain for independent package releases and offered limited caching. NX provides better incremental build support and task pipelines, while Changesets gives contributors a structured, PR-friendly workflow for describing and grouping version bumps.
    • How No changes required for consumers of @merkur/* packages — the published API is unaffected. Internal contributors should use npm run changeset to record changes and npm run release to publish new versions. See the CONTRIBUTING.md for detailed instructions on the new workflow.
  • b71808a: Fix the widget parameter type in bindWidgetToFunctions from Widget to WidgetPartial.

    • What The widget parameter of bindWidgetToFunctions() in @merkur/core is now typed as WidgetPartial instead of Widget.
    • Why bindWidgetToFunctions is called during plugin setup() and create() methods, which receive a WidgetPartial — the fully resolved Widget type is the result of the binding operation, not the input. The previous typing caused TypeScript errors when calling the function from those contexts.
    • How Nothing.
  • 7c52a11: Use @esmj/schema for input validation in createWidgetLoader and createPreviewConfig

    • What Replaced manual if/throw validation guards in createWidgetLoader and createPreviewConfig (in packages/tool-storybook/src/index.js) with declarative @esmj/schema schemas. Added @esmj/schema as a runtime dependency in packages/tool-storybook/package.json. Updated affected test expectations in indexSpec.js to match the new schema-generated error messages. Exported the existing isRegistered function from packages/core/src/merkur.js via packages/core/src/index.js so tool-storybook can use it directly instead of duplicating the registration-key logic.
    • Why Manual type checks were verbose and inconsistent. Using @esmj/schema centralises validation in named schemas (createWidgetLoaderOptionsSchema, createPreviewConfigOptionsSchema, widgetPropertiesSchema), making the rules easier to read, extend, and keep consistent across both functions.
    • How Nothing.
  • efb49df: Fix createVanillaRenderer to store the DOM container in a WeakMap instead of on the widget.

    • What In createVanillaRenderer (packages/tool-storybook/src/index.js), the renderer-created DOM container is now stored in a dedicated widgetContainerMap WeakMap instead of being assigned directly as widget.container. The update function retrieves the container from this map rather than from widget.container.
    • Why createMerkurWidget calls Object.seal(widget) after construction, which prevents adding new properties to the widget object. Attempting to assign widget.container after sealing threw TypeError: Cannot add property container, object is not extensible, causing vanilla widget stories to fail to render in Storybook.
    • How Nothing.
  • d657698: Use hookMethod to intercept widget.update instead of patching internal lifecycle.

    • What mountNewWidget in packages/tool-storybook/src/index.js now uses hookMethod(widget, 'update', ...) from @merkur/core to intercept widget.update, replacing the previous approach of directly mutating widget.$in.component.lifeCycle.update.
    • Why The previous approach reached into internal implementation details ($in.component.lifeCycle) which was fragile and could break silently if the internal structure changed. Using the public hookMethod API is more robust, correctly preserves and returns the original call's result, and follows the established pattern for extending widget behaviour.
    • How Nothing.

Change Log

All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.

0.47.2 (2026-03-19)

Note: Version bump only for package merkur-monorepo

0.47.1 (2026-03-19)

Note: Version bump only for package merkur-monorepo

0.47.0 (2026-03-19)

Bug Fixes

Features

  • 🎸 add batch for props from attributeChangedCallbacks (2b05e71)
  • 🎸 Add internalCacheTransformer (b829ec0)
  • 🎸 Add transformError transfomer (b503c15)
  • 🎸 Add transformError transfomer (39f73c6)
  • 🎸 add validation plugin for props schema validation (095dd2d)
  • 🎸 disconnectedCallback method unmount widget (5c45c30)
  • 🎸 Race condition between load and setState (03b62ff)

BREAKING CHANGES

  • 🧨 The attributeChangedCallback batches attribute values to props and ensures that widget.setProps() is called only once with all accumulated changes. This callback is not invoked for default attribute values during element initialization.
  • 🧨 The disconnectedCallback method call widget.unmount method. Remove code with widget.unmount() from your disconnectedCallback method.

0.46.2 (2026-03-05)

Bug Fixes

  • 🐛 Update plugin API method types for Widget (820112f)

0.46.1 (2026-03-04)

Note: Version bump only for package merkur-monorepo

0.46.0 (2026-03-04)

Bug Fixes

  • 🐛 Better type Widget lifecycle changes (029faf3)
  • 🐛 Invent a way to turn any WidgetDefinition keys required (d20e95b)
  • 🐛 Update Widget/WidgetPartial types (a71f6ff)

Features

  • 🎸 Add basic types to plugin-router (8a29ad3)

BREAKING CHANGES

  • 🧨 Widget and WidgetDefinition interfaces drastically changed; new WidgetPartial interface added and used in loading methods. Move interface extensions to either WidgetDescription or WidgetPartial, and then you can remove method overloads for bound widget functions (the typing now does it automatically). See types.d.ts for specifics.

0.45.2 (2026-03-03)

Note: Version bump only for package merkur-monorepo

0.45.1 (2026-03-03)

Note: Version bump only for package merkur-monorepo

0.45.0 (2026-02-01)

Bug Fixes

  • 🐛 remove non-standard exports which cause error in next.js (1c42f80)

0.44.1 (2025-12-17)

Bug Fixes

0.44.0 (2025-12-17)

Features

  • 🎸 Add quiet and silent logging levels (f9c2cfc)
  • 🎸 Add command to render static playground (a9e92ca)

0.43.1 (2025-12-05)

Note: Version bump only for package merkur-monorepo

0.43.0 (2025-12-05)

Features

  • custom project commands (78ac868)

0.42.0 (2025-11-28)

Features

  • 🎸 Add helper function addServerConfig (58a480e)

BREAKING CHANGES

  • 🧨 Resolving order for dev server config changed

0.41.1 (2025-11-19)

Note: Version bump only for package merkur-monorepo

0.41.0 (2025-11-04)

Features

  • 🎸 Add HTTP cache revalidation (a217e3b)

0.40.0 (2025-10-27)

Features

  • 🎸 add support for default build es15 (d0bb082)

0.39.0 (2025-10-27)

Bug Fixes

  • 🐛 Fix HMR when the task's build.write is true (b0907a2)

Features

  • 🎸 Added support for loading 'module' assets (6e985ce)
  • 🎸 allow HMR in integratied application (6465454)
  • 🎸 setErrorInfo emit Error event, remove death code (0fd8716)

BREAKING CHANGES

  • 🧨 Removed playgroundErrorMiddleware from server exports: The playgroundErrorMiddleware function has been removed from @merkur/plugin-error/server. If you were using this middleware in your playground setup, you'll need to implement custom error handling for your playground pages. The setErrorInfo function sets error information on the widget and automatically emits the ERROR_EVENTS.ERROR event. Useful when you need to manually trigger error handling outside of lifecycle methods.
  • 🧨 REMOVE @merkur/tools dependencies from @merkur/cli. All assets integrated by merkur have always data-merkur-asset-name attribute.

0.38.2 (2025-09-11)

Bug Fixes

  • 🐛 Fix missing package in tests (a3dfbf1)

Features

0.38.1 (2025-07-24)

Bug Fixes

  • 🐛 add tag parameter for npm publish (0b14b90)
  • 🐛 Force es build NOT TO shorthand css rules into inset rul (9f4cbbe)

Features

  • 🎸 update dependencies (da83591)

0.38.0 (2025-07-12)

Bug Fixes

  • 🐛 don't mutate original object for props (2b08271)
  • allow dynamic key in props (6b321d6)

chore

  • 🤖 update dependencies (eb593bc)

Features

  • 🎸 auto convert attribute name to camelCase and add parser (aff53c1)
  • 🎸 custom element attributes are propagated as widget prop (01ee0b3)
  • 🎸 plugin-component is optional for custom-element (741d421)

BREAKING CHANGES

  • 🧨 Update production dependencies
  • 🧨 We changing default behaviour which current do nothing but was possible implemented it with callbacks. We repeated code with propagating custom element attributes to widget.props in several widgets. So propagating is now default and it looks that is usefull.

0.37.12 (2025-05-14)

Bug Fixes

  • 🐛 error only URLs with a scheme in: file and data for esm (1ba3ac1)

Features

0.37.11 (2025-04-29)

Note: Version bump only for package merkur-monorepo

0.37.10 (2025-04-27)

Features

  • 🎸 start command is configurable by cli config for servers (469980b)

0.37.9 (2025-04-25)

Bug Fixes

  • 🐛 add default ErrorView to viewFactory (5c4d2fb)
  • 🐛 passing ErrorView to callback in mapResolvedViews (e4a21ad)

0.37.8 (2025-04-23)

Bug Fixes

  • 🐛 widgetHandler use final merkurConfig (#224) (6136dd8)

Features

  • 🎸 Added new templateFolders for ejs template dirs (ade306d)

0.37.7 (2025-03-19)

Features

  • 🎸 Multiple gql plugin instances (99b7af2)
  • 🎸 small changes (5070d59)
  • 🎸 support for set methods (d6b0947)

0.37.6 (2025-03-14)

Bug Fixes

  • 🐛 devServer propagete status code from error (71ef8d6)

0.37.5 (2025-03-03)

Features

  • 🎸 added gzip meta information to build command (3e470e2)

0.37.4 (2025-01-24)

Bug Fixes

  • 🐛 error message missing status in http2 (181302a)

Features

  • 🎸 added import alias #src/ which works in node by default (8247e2f)
  • 🎸 added possibility for presets return extending hooks (94215d7)

0.37.3 (2024-11-18)

Bug Fixes

  • 🐛 exclude only js files (keep *.less and others) (efa24c4)

0.37.2 (2024-11-15)

Bug Fixes

  • 🐛 lifecycle callbacks are called after creating widget (45b4c21)

0.37.1 (2024-11-14)

Bug Fixes

  • 🐛 add better error message for undefined Merkur (a2095c3)
  • 🐛 add better error message for undefined Merkur (48407e0)
  • 🐛 attach devClientHook only if entry point exists (0152316)
  • 🐛 definition of custom tasks (de74901)

0.37.0 (2024-11-12)

Bug Fixes

  • 🐛 create folder structure for copied file (a345b06)
  • 🐛 custom element caveats (2c06691)
  • 🐛 HMR works only for memory mode (d8baf8e)
  • 🐛 Merkur CLI show options for --help argument (ec156f1)
  • 🐛 playground template for defined containerSelector (60427ac)
  • 🐛 regular for test:all (833db58)
  • 🐛 resolve path for projectFoler and cliFolder (bf61497)
  • 🐛 setDefaultValueForUndefined clone defined value (1387e99)

Code Refactoring

  • 💡 cli option runTask is replaced with runTasks (f2b872d)

Features

  • 🎸 add @/_ alias for ./src/_ (98fae2b)
  • 🎸 add cors options to widgetServer configuration (70e4d4a)
  • 🎸 add new --analyze CLI flags for build task (16e9ec4)
  • 🎸 add new custom command for extendability (a8990d4)
  • 🎸 add new getCurrentContext method (bcc94c1)
  • 🎸 allow define containerSelector for slot from widget API (dfeb3b0)
  • 🎸 dev servers listen on ipv4 and ipv6 (6408c24)
  • 🎸 first integration of testing-library (0f47141), closes #63
  • 🎸 http.request returns error for rejected promise (b1427af)
  • 🎸 sourcemap exclude vendors and auto turn on only for dev (f0e8cd1)
  • 🎸 support for other tasks with different entries (ef462f8)
  • 🎸 support for other tasks with different entries (6aabcf8)
  • 🎸 update body.ejs and footer.ejs template (acca4ef)

BREAKING CHANGES

  • 🧨 The JS part of playground was moved from body.ejs to footer.ejs template.
  • 🧨 CLI option runTask is replaced with runTasks.

0.36.5 (2024-07-30)

Features

  • 🎸 add possibility to generate absolute url address (b2c01dd)

0.36.4 (2024-07-26)

Bug Fixes

  • 🐛 security improvements (42212a5)

0.36.3 (2024-06-02)

Features

  • 🎸 add css bundle support to custom element (753915d)

0.36.2 (2024-05-28)

Bug Fixes

  • 🐛 creating merkur widget in playground (6b639ed)

Features

  • 🎸 turn off HMR for custom element (5340b95)

0.36.1 (2024-05-23)

Bug Fixes

  • 🐛 auto appendChild works only for not defined remount (a4a761a)

0.36.0 (2024-05-21)

Bug Fixes

  • 🐛 devPlugin is only supported for dev command (1f058ae)

Features

  • 🎸 better support for new @merkur/{framework} (e197b95)

0.35.13 (2024-05-10)

Bug Fixes

  • 🐛 exclude object internals (85bb3b7)
  • 🐛 tree shaking for package.json (ec29152)

Features

  • 🎸 allow async getSingleton function (9f5401a)

0.35.12 (2024-05-08)

Bug Fixes

  • 🐛 all callbacks are optional (52e7b99)

0.35.11 (2024-05-08)

Features

  • 🎸 add getSingleton method to callbacks (3b33e89)

0.35.10 (2024-05-08)

Bug Fixes

  • 🐛 clone registerCustomElement options (c8c30cb)

0.35.9 (2024-05-08)

Features

  • 🎸 clear build folder before dev and build commands (6add7e3)

0.35.8 (2024-05-03)

Bug Fixes

  • 🐛 allow easy override part playground templates (cb08339)

0.35.7 (2024-05-02)

Bug Fixes

  • 🐛 emit CLI_CONFIG event after loaded merkur.config.mjs (107f317)
  • 🐛 filter only node task (82a9b3b)

Features

  • 🎸 allow override body part in playground template (2375d4d)

0.35.6 (2024-04-29)

Bug Fixes

  • 🐛 remove node_modules path (d4dc7d4)

0.35.5 (2024-04-28)

Bug Fixes

  • 🐛 keep types file in published module (4288098)
  • 🐛 support for inlineScript, inline source with writeToDisk (0141f6e)

Features

  • 🎸 add support test command for monorepo (415a941)

0.35.4 (2024-04-23)

Features

  • 🎸 add playgroud.widgetParams function to merkur (a0a0e9c)

0.35.3 (2024-04-14)

Bug Fixes

  • 🐛 preact template (9be091e)
  • 🐛 template for inlineStyle assets (f0fa8d6)

Features

  • 🎸 add base cli types (6ab6983)
  • 🎸 playground template allow empty slots (3863f69)

0.35.2 (2024-04-10)

Bug Fixes

  • 🐛 template for empty slots (71e03ca)

0.35.1 (2024-04-09)

Bug Fixes

0.35.0 (2024-04-09)

Bug Fixes

  • 🐛 build in CI (5f26ec1)
  • 🐛 change snapshots to toMatchSnapshot due to prettier@3 (f48f315)
  • 🐛 empty merkur config extends field (02fd41a)
  • 🐛 Fixed optional slotFactories prop in createWidgetFactory (a818e18)
  • 🐛 Fixed tests (8082933)
  • 🐛 remove watch mode (b63c145)
  • 🐛 require module (865f6bc)
  • 🐛 Type fxies (848c468)
  • 🐛 uhtml build, mark ucontent as external dependency (9d2f522)

Features

  • 🎸 add svelte esbuild configuration (6706746)
  • 🎸 Added @merkur/preact (36ec4ca)
  • 🎸 Added mapViews helper to plugin-component (52e5551)
  • 🎸 Added new @merkur/uhtml integration package (5bf180a)
  • 🎸 Added support for custom entry points (e74b055)
  • 🎸 Added svelte package (f55463f)
  • 🎸 change exports to @merkur/cli/server (ae7b9e5)
  • 🎸 initial commit @merkur/cli (12e54dc)
  • 🎸 test command return corrrect exit code (b3cf4c7)

0.34.6 (2024-02-16)

Features

  • 🎸 add support for client config and assets (66f3a23)

0.34.5 (2024-02-04)

Features

  • 🎸 new integration-custom-element (209dc88)

0.34.4 (2023-10-26)

Bug Fixes

  • 🐛 ES-check problem with Optional chaining (eea274a)

0.34.3 (2023-10-24)

Features

  • 🎸 Add url from error params to widget.error (ff05048)

0.34.2 (2023-10-18)

Note: Version bump only for package merkur-monorepo

0.34.1 (2023-10-12)

Bug Fixes

  • 🐛 Remove ?. syntax from plugin-session-storage (7a500f7)

0.34.0 (2023-10-11)

Features

  • 🎸 Add maxAge option to saved items (expiration) (d103bf5)

0.33.0 (2023-08-10)

Bug Fixes

  • 🐛 Fix assigning to widget object (6a89efa)

Features

  • 🎸 Add assignMissingKeys function (2960ff2)

0.32.1 (2023-07-14)

Bug Fixes

  • 🐛 Hotfix sessionStorage.get() (92fe9fa)

0.32.0 (2023-07-14)

Bug Fixes

  • 🐛 Fix failing unit tests (0bef94b)
  • 🐛 Fix package-lock.json (36a293e)
  • 🐛 Wrap sessionStorage.setItem() call into try-catch block (9ebb678)

Code Refactoring

  • 💡 Remove plugin-login (439ae7d)

Features

  • 🎸 add suspending mechanism to setProps and update methods (f8ed5ff)
  • 🎸 Login plugin (a21407f)
  • 🎸 remove ES5 Javascript (cc782ad)
  • 🎸 Session Storage plugin (a10ff26)

BREAKING CHANGES

  • 🧨 Remove plugin-login
  • 🧨 Remove supports for old browsers(IE11, etc.). Minimal supported browsers use ES9.

0.31.1 (2023-04-28)

Note: Version bump only for package merkur-monorepo

0.31.0 (2023-04-25)

Features

  • 🎸 Add support of OpenSSL 3 in Node.js >= 17 (a8f3385)

0.30.1 (2023-02-21)

Bug Fixes

  • 🐛 create instance of class for nested entites (#152) (b6327b0)

0.30.0 (2022-11-28)

Features

  • 🎸 MerkurWidget props.onError can stop error propagation (5583f0f)
  • 🎸 Scripts without source will cause promise rejection (bd82c6e)

0.29.5 (2022-09-23)

Bug Fixes

  • 🐛 mapViews is async only for mounting methods (a5a965a)

0.29.4 (2022-09-13)

Bug Fixes

  • 🐛 resolving merkur integration for node@18 (67a344d), closes #133

0.29.3 (2022-09-13)

Note: Version bump only for package merkur-monorepo

0.29.2 (2022-09-07)

Note: Version bump only for package merkur-monorepo

0.29.1 (2022-09-06)

Note: Version bump only for package merkur-monorepo

0.29.0 (2022-08-08)

Bug Fixes

  • 🐛 check http client presence (dd105cb)

Features

  • 🎸 graphql client (2535543)
  • 🎸 upgrade merkur dependencies (20f3bbc)

0.28.2 (2022-04-23)

Bug Fixes

  • 🐛 CSP for resource integrating to host app (f88a8cc)

0.28.1 (2022-04-21)

Bug Fixes

  • 🐛 donwgrade node-fetch to 2.6.7 (fb4deb2)

0.28.0 (2022-04-20)

Bug Fixes

  • 🐛 keep assets property immutable (2d99c83)
  • 🐛 peer dependencies warning and error (228537c)

Code Refactoring

  • 💡 move liveReloadServer to merkur/tools (f81e0e8)

Features

  • 🎸 Optional script assets (a301b80)

BREAKING CHANGES

  • 🧨 The liveReloadServer.cjs file is moved to @merkur/tools. The @merkur/tool-webpack re-export createLiveReloadServer for keeping backward compatability.

0.27.6 (2021-11-22)

Bug Fixes

  • 🐛 correct binding of widget to methods (#116) (2adc6a6)
  • 🐛 storybook integration for react and preact (757ff64)

Features

  • 🎸 basic implementation of GenericError (fb43403)
  • 🎸 close server properly (5e40a09)

0.27.5 (2021-10-14)

Bug Fixes

Features

  • 🎸 allow set Content-Type header as lowercase (98a62b6)

0.27.4 (2021-10-06)

Features

  • 🎸 Allow CssMinimizerPlugin options override (#114) (c02dd0b)

0.27.3 (2021-10-04)

Bug Fixes

  • 🐛 Windows babel es5 build issue with exclude pattern (#113) (26387ea)
  • build widget before running tests (5de74c7)

0.27.2 (2021-09-30)

Bug Fixes

0.27.1 (2021-09-30)

Bug Fixes

  • 🐛 Removed unused @merkur/tools pkg dependencies (#109) (c1a28b0)

0.27.0 (2021-09-29)

Features

  • 🎸 Added default support for asset image resources (bd94f8d)
  • 🎸 Added direct entry points for RouterEvents export (#107) (9d10d46)
  • 🎸 Added eslint plugin import and eslint react-hooks plugi (#108) (db8ca75)
  • 🎸 Automatically generate free port for livereload server (#101) (a083a1b)

BREAKING CHANGES

  • 🧨 createLiveReloadServer() function must be promise chained in webpack.config.js before returning any config array.

0.26.1 (2021-08-30)

Bug Fixes

  • 🐛 Fixed condition when loading scripts (#102) (f5664f5)

0.26.0 (2021-08-27)

Bug Fixes

  • 🐛 Fixed fallback to lower ES versions when loading scripts (#97) (d52da56)

  • 🐛 use es11 source for playground page (9256133)

  • link (069615b)

  • Slot (#96) (ec4d528), closes #96

Features

  • 🎸 add cjs file for es9 (#98) (6b0a4a1)
  • 🎸 Added callback functions to setState and setProps (#100) (2bbee18)
  • 🎸 create new module tool-webpack (#99) (111fda7)

BREAKING CHANGES

  • 🧨 Extract webpack to alone module merkur/tool-webpack from merkur/tools module

  • ci: 🎡 add lock file for new module

  • feat: 🎸 add new module merkur/tool-webpack to dev dependencies

  • 🧨 The property slots from widget structure is renamed to slot

  • fix: 🐛 import paths

0.25.0 (2021-08-20)

chore

Features

  • 🎸 integration fn can load assets to shadow root (#95) (9381315)
  • 🎸 set es11 as default for esm modules (#94) (e841b89)
  • 🎸 transformer can intercept request (7fb1ecc)

BREAKING CHANGES

  • 🧨 Change default for ems modules from es9 to es11.

  • feat: 🎸 add polyfill for es9 version

  • feat: 🎸 add isES11Supported method to testScript

  • docs: ✏️ add es11 build to widget endpoint

  • chore: 🤖 remove useless dependencies

  • fix: 🐛 add webpack alias for plugin-css-scrambler to es5,es9

  • feat: 🎸 add lib/index.es9.mjs to exports

  • feat: 🎸 add missing modules for umd config

  • chore: 🤖 update dependencies

  • 🧨 Request and response transformers accept and return request and response. Request promise is rejected for status code greater than 299.

  • 🧨 Jest@27 https://github.com/facebook/jest/blob/master/CHANGELOG.md#2700

0.24.4 (2021-06-11)

Bug Fixes

  • 🐛 Fixed issue, where Components might receive empty object in widgetProperties (#87) (5d9b8c5)

0.24.3 (2021-06-10)

Note: Version bump only for package merkur-monorepo

0.24.2 (2021-06-07)

Note: Version bump only for package merkur-monorepo

0.24.1 (2021-06-06)

Features

0.24.0 (2021-05-28)

Bug Fixes

  • 🐛 Fixed svelte template (d7356f1)
  • 🐛 Merkur template fixes (cd6f85d)

Features

  • 🎸 Added MerkurSlot component to integration-react (6f1b05f)
  • 🎸 Added support for slots (19d5451)

0.23.12 (2021-04-16)

Note: Version bump only for package merkur-monorepo

0.23.11 (2021-04-14)

Bug Fixes

  • 🐛 prevent errors for fully specified files (#73) (4d890f4)

0.23.10 (2021-04-12)

Bug Fixes

  • 🐛 eslint config to reflect chosen view (#71) (c1bfb4a), closes #69

Features

  • 🎸 add brotli and gzip compression to webpack build (#70) (3a454fd)

0.23.9 (2021-04-12)

Bug Fixes

0.23.8 (2021-03-21)

Bug Fixes

  • 🐛 reloading page after build (01d4c61)
  • 🐛 restarting nodemone after build (52166d5)

Features

0.23.7 (2021-02-25)

Bug Fixes

  • 🐛 check presence of inlineStyles just in head (#64) (4042311)

0.23.6 (2021-02-17)

Note: Version bump only for package merkur-monorepo

0.23.5 (2021-02-17)

Bug Fixes

  • 🐛 ignore build folder for linter (63d2cd3)

0.23.4 (2021-02-04)

Note: Version bump only for package merkur-monorepo

0.23.3 (2021-02-04)

Bug Fixes

  • 🐛 default value 'auto' in publicPath for manifest.json (08f5fef)
  • 🐛 npm run dev command start dev:server (45fa9ac)

0.23.2 (2021-02-01)

Note: Version bump only for package merkur-monorepo

0.23.1 (2021-02-01)

Note: Version bump only for package merkur-monorepo

0.23.0 (2021-02-01)

Bug Fixes

chore

Code Refactoring

  • 💡 error event is emitted with error property (cee7d4a)
  • 💡 replace webpack-shell-plugin (ea89a9f)

Features

  • 🎸 added @merkur/plugin-error to widget template (c778c3f)
  • 🎸 exported new error express middleware (bde836a)
  • 🎸 widget load method is called for every route (#52) (b628e83), closes #21

BREAKING CHANGES

  • 🧨 Update peer dependencies, dev dependencies and dependencies.

  • feat: 🎸 added storybook integration module

  • test: 💍 fix es-check test

  • docs: ✏️ added documentation for merkur integrtion to Storybook

  • ci: 🎡 added check for all supported templates

  • fix: 🐛 removed using named exports from JSON modules

  • fix: 🐛 typo in filename

  • Update docs/docs/tool-storybook.md

Co-authored-by: Anna Frankova corvidism@users.noreply.github.com

  • Update docs/docs/tool-storybook.md

Co-authored-by: Anna Frankova corvidism@users.noreply.github.com

  • Update docs/docs/tool-storybook.md

Co-authored-by: Anna Frankova corvidism@users.noreply.github.com

  • Update packages/tool-storybook/README.md

Co-authored-by: Anna Frankova corvidism@users.noreply.github.com

  • Update docs/docs/tool-storybook.md

Co-authored-by: Anna Frankova corvidism@users.noreply.github.com

  • Update docs/docs/tool-storybook.md

Co-authored-by: Anna Frankova corvidism@users.noreply.github.com

  • Update packages/tool-storybook/src/tests/indexSpec.js

Co-authored-by: Anna Frankova corvidism@users.noreply.github.com

Co-authored-by: Anna Frankova corvidism@users.noreply.github.com

  • 🧨 Update peer dependencies, dev dependencies and dependencies.
  • 🧨 We replace webpack-shell-plugin for webpack-shell-plugin-next which is maintained and support webpack5.
  • 🧨 The logUnhandledPromises method was removed from module.
  • 🧨 Error event is emitted with error property instead of thrownError property.
  • 🧨 Widget load method is called for every route.
  • 🧨 The values of main and module properties were change without file extension in package.json.

0.22.0 (2020-10-15)

Bug Fixes

  • 🐛 es version tests (86d3604)
  • 🐛 fixed state resetting while unmounting and changing widg (#49) (9bef7f8)

Features

  • 🎸 export umd file in integration module (3a75802)

0.21.3 (2020-10-01)

Bug Fixes

  • 🐛 Fixed unintentional render of placeholder after SSR (#43) (64ec121)

0.21.2 (2020-10-01)

Bug Fixes

  • 🐛 Fixed SSR in MerkurComponent (was rendering placeholder) (#42) (7e76e13)

0.21.1 (2020-09-30)

Features

  • Option to open links in newTab in router.redirect (#41) (2719173)

0.21.0 (2020-09-30)

Bug Fixes

  • 🐛 Fixed babel-loader config to re-enable tree-shaking (e125818)
  • 🐛 Fixed FOUC and unnecessary component re-renderings (#39) (0b8d90f)
  • Calling update on unmounted widget (#40) (6ce9c65)

Features

  • 🎸 preact use hydrate for aliving widget (354ddb0)

0.20.0 (2020-09-11)

Bug Fixes

  • 🐛 added browser field to package.json (85cf4a1)

BREAKING CHANGES

  • 🧨 new browser field in pakckage.json

0.19.3 (2020-09-10)

Note: Version bump only for package merkur-monorepo

0.19.2 (2020-09-09)

Bug Fixes

  • 🐛 jest integration tests for widget with server.cjs file (4e213cd)

0.19.1 (2020-09-07)

Bug Fixes

  • 🐛 name of umd version for @merkur/plugin-event-emitter (3c0709a)
  • 🐛 package exports for server (a36a5e2)
  • 🐛 set webpack to handle .mjs files for both envs (131b06d)

0.19.0 (2020-09-07)

Code Refactoring

  • 💡 remove default export (92301e3)

Features

  • 🎸 add file extension in package.json (7b8f8b3)
  • 🎸 bundle analyzer show tree shakeable version for dev env (29c5bcd)

BREAKING CHANGES

  • 🧨 removed default export from @merkur/integration and keep only named exports in all @merkur modules
  • 🧨 remove useless files from lib folder and defined exports in package.json

0.18.1 (2020-09-04)

Bug Fixes

0.18.0 (2020-09-03)

Bug Fixes

  • 🐛 added check for object destructuring in ES9 supported fn (952cd8c)
  • 🐛 keep controller after changing props with same pathname (27266c7)
  • 🐛 optional event-emitter (5f0edd1)
  • 🐛 run bootstrap life cycle method before resolving route (c3172c2)
  • 🐛 skip loading missing script asset in playground (127f39b)
  • 🐛 umd version of module (e90b6b1)
  • Double slash in assets path (#25) (bebb81e)

Code Refactoring

  • 💡 rename ecmaversions option to folders (54d62aa)

Features

  • 🎸 added polyfill file (b2b2a99)
  • 🎸 added terser for minification umd version of modules (192c9b2)
  • 🎸 added timeout transformer (9ff3dc7)
  • 🎸 handling client side error (96c736f)
  • 🎸 pipe allow async function (97f6aa5)
  • 🎸 polyfill is downloaded only for falsy result from test (b65b4c8)
  • 🎸 removed containerSelector from API call (e54303d)

BREAKING CHANGES

  • 🧨 yes
  • 🧨 yes
  • 🧨 yes
  • 🧨 yes
  • 🧨 yes
  • 🧨 yes

0.17.0 (2020-08-27)

Features

  • 🎸 base integration package (8320b22)
  • 🎸 integration-react using base integration pkg (a3aef85)

0.16.2 (2020-08-25)

Note: Version bump only for package merkur-monorepo

0.16.1 (2020-08-14)

Note: Version bump only for package merkur-monorepo

0.16.0 (2020-08-14)

Bug Fixes

Features

  • 🎸 added hook method to module base (66d122c)
  • 🎸 using hookMethod and isFunction in plugin (b1b08e5)

0.15.2 (2020-08-07)

Bug Fixes

0.15.1 (2020-08-06)

Bug Fixes

  • 🐛 resolving @merkur/* modules to es5 version (802a952)

0.15.0 (2020-08-06)

Bug Fixes

  • 🐛 running integration tests (c2cfb3c)
  • 🐛 Support for ES5/ES9 scripts (#15) (0334cda)

chore

  • 🤖 update dependencies (9d5f3eb)

Features

  • 🎸 Ability to override node_modules dir in ES5 transformer (#14) (253a443)
  • 🎸 added jest-watch-typeahead plugin (f0de4e7)
  • 🎸 allow tree shaking for merkur (731371e)

BREAKING CHANGES

  • 🧨 yes

0.14.1 (2020-07-28)

Bug Fixes

  • 🐛 added missing clean-webpack-plugin dependency (1cb754d)
  • 🐛 fixed typo in template for playground page (5ff6493)

0.14.0 (2020-07-28)

Features

  • 🎸 added new base integration module (6b4328a)
  • 🎸 added support for new assets structure (dfbce3f)
  • 🎸 new assets structure for es5 and es9 scripts (54d7dce)

BREAKING CHANGES

  • 🧨 yes

0.13.1 (2020-07-13)

Bug Fixes

0.13.0 (2020-07-09)

Features

  • 🎸 added vanilla template (7ae2676)

0.12.0 (2020-06-28)

Features

  • 🎸 added es5 version of lib files for older browsers (5fbf920)

0.11.3 (2020-06-23)

Bug Fixes

  • 🐛 Fixed duplicate call to init and unintentional destroy (b3bf3d9)
  • 🐛 Fixed query transformer, route is resolved before mount (c5d5109)

0.11.2 (2020-06-21)

Features

  • 🎸 added µhtml template engine (5d5cd9a)

0.11.1 (2020-06-21)

Bug Fixes

  • 🐛 load method must to be always called for mounted widget (820a993)

0.11.0 (2020-06-19)

Bug Fixes

  • 🐛 removed content-type header from default config (8570964)
  • 🐛 removed trailing ? and & from request url (8b60298)

Features

  • 🎸 allow define setup, create methods in widgetProperties (5a1b918)

BREAKING CHANGES

  • 🧨 yes
  • 🧨 yes

0.10.0 (2020-06-17)

Bug Fixes

  • 🐛 Removed duplicate setting of widgetEnvironment (bc87bc6)

Features

  • 🎸 Added getCurrentRoute method to plugin-router (73007b3)
  • 🎸 export default http client transformers (1f1f4d3)

0.9.4 (2020-06-08)

Note: Version bump only for package merkur-monorepor

0.9.3 (2020-06-08)

Bug Fixes

  • 🐛 preact template (b59294b)
  • 🐛 Skeleton template fixes, added widget environment (d64f35d)

0.9.2 (2020-06-04)

Code Refactoring

  • 💡 request method is in widget.http (2619120)

Features

  • 🎸 added plugin-router (323d36f)
  • 🎸 allow mount method to be async (1056090)
  • 🎸 export bindWidgetToFunctions from module for plugins (1b5425f)

BREAKING CHANGES

  • 🧨 yes

0.9.1 (2020-06-04)

Code Refactoring

  • 💡 request method is in widget.http (2619120)

Features

  • 🎸 added plugin-router (323d36f)
  • 🎸 allow mount method to be async (1056090)
  • 🎸 export bindWidgetToFunctions from module for plugins (1b5425f)

BREAKING CHANGES

  • 🧨 yes

0.9.0 (2020-06-04)

Code Refactoring

  • 💡 request method is in widget.http (2619120)

Features

  • 🎸 added plugin-router (323d36f)
  • 🎸 allow mount method to be async (1056090)
  • 🎸 export bindWidgetToFunctions from module for plugins (1b5425f)

BREAKING CHANGES

  • 🧨 yes

0.8.1 (2020-05-20)

Features

  • 🎸 added query and body transformers (4aaad6c)

0.8.0 (2020-05-15)

Features

  • 🎸 added containerSelector and widgetClassName properties (d2b9ad2)

BREAKING CHANGES

  • 🧨 yes

0.7.1 (2020-05-14)

Note: Version bump only for package merkur-monorepor

0.7.0 (2020-05-14)

Bug Fixes

  • 🐛 restart server after changing json, jsx and mjs files (6f0fb06)

Features

  • 🎸 added config module for environment configuration (2ecacee)
  • 🎸 added new http client plugin (66dbb2e)
  • 🎸 assign properties name,version,container to merkur (699ccb2)

BREAKING CHANGES

  • 🧨 yes

0.6.2 (2020-05-10)

Features

  • 🎸 added cors middleware (6d18601)
  • 🎸 added enzyme testing to react template (f8c3f84)
  • 🎸 added new module for integration with react (8455f28)
  • 🎸 select container through querySelector (8c6f322)

0.6.1 (2020-05-04)

Bug Fixes

  • 🐛 missing babel.config.js file in module for preact (82bcf54)

0.6.0 (2020-05-04)

Bug Fixes

  • 🐛 setDefaultValueForUndefined not modified original object (3b14160)

Features

  • 🎸 liveroload without modifing app.js file (5c51173)

BREAKING CHANGES

  • 🧨 yes
  • 🧨 yes

0.5.7 (2020-05-04)

Bug Fixes

  • 🐛 running integration tests (50662d6)

0.5.6 (2020-05-02)

Note: Version bump only for package merkur-monorepor

0.5.5 (2020-05-02)

Note: Version bump only for package merkur-monorepor

0.5.4 (2020-05-01)

Note: Version bump only for package merkur-monorepor

0.5.3 (2020-05-01)

Features

  • 🎸 added livereloading for dev (fde5d8c)

0.5.2 (2020-04-25)

Note: Version bump only for package merkur-monorepor

0.5.1 (2020-04-25)

Bug Fixes

0.5.0 (2020-04-25)

Bug Fixes

  • 🐛 added missing dev dependencies (c4edb26)

Features

  • 🎸 added new @mekur/tools module (e8ba8ba)
  • 🎸 change folders structure (22425e0)

BREAKING CHANGES

  • 🧨 yes

0.4.2 (2020-04-22)

Bug Fixes

  • 🐛 all template and views files must be in module (a737891)

0.4.1 (2020-04-22)

Bug Fixes

  • 🐛 files from template folder must be in module (8899bd3)

0.4.0 (2020-04-20)

chore

  • 🤖 rename createCustomWidget to createMerkurWidget (d076f70)

Code Refactoring

  • 💡 move plugins to alone modules (8c56557)

Features

  • 🎸 change arguments for createMerkur method (e255c7f)
  • 🎸 setProps method call load life cycle method (b349c5d)

BREAKING CHANGES

  • 🧨 yes
  • 🧨 yes
  • 🧨 yes
  • 🧨 yes

0.3.1 (2020-04-07)

Bug Fixes

  • 🐛 creating widget on client side (7470462)

0.3.0 (2020-04-03)

Features

  • 🎸 simplify merkur interface (e681679)

0.2.2 (2020-04-02)

Note: Version bump only for package merkur-monorepor

0.2.1 (2020-03-29)

Note: Version bump only for package merkur-monorepor

0.2.0 (2020-03-29)

Features

  • 🎸 added eslint and jest configuration (b7123fa)

0.1.2 (2020-03-27)

Note: Version bump only for package merkur-monorepor

0.1.1 (2020-03-26)

Note: Version bump only for package merkur-monorepor

0.1.0 (2020-03-26)

Bug Fixes

  • 🐛 rename create-merkur-app to create-widget (3c5791d)
  • 🐛 renamed merkur core module (b055fef)

Features

  • 🎸 renamed package and added create-widget (bde4759)
  • merkur: added base merkur interface (7d7f5d8)

0.0.1 (2020-03-03)

Features