Skip to content

Latest commit

 

History

History
2096 lines (1662 loc) · 146 KB

CHANGELOG.md

File metadata and controls

2096 lines (1662 loc) · 146 KB

12.0.0-beta.2 (2024-05-23)

Features

  • showcase: update showcase to angular 15 (a0ef5ef)
  • stark-all: prepare angular 15 update by upgrading @ngrx/* and @uirouter/angular dependencies (1e1bf48)
  • stark-all: update @nationalbankbelgium/eslint-config : 15.0.0 (afbf819)
  • stark-all: upgrade to angular 15 thanks to the schematics (43b4294)
  • stark-build: update dependencies after angular 15 update (9d025e1)
  • stark-core: add new StarkArrayIsValid validation decorator (8560439)
  • stark-core: update dependencies after angular 15 update (898aa00)
  • stark-core: upgrade class-validator dependency (50d54f5), closes #3708
  • stark-testing: update dependencies after angular 15 update (826df9d)
  • stark-ui: update dependencies after angular 15 update (61c8dbc)
  • starter: update starter to angular 15 (13b992f)

12.0.0-beta.1 (2024-03-05)

Bug Fixes

  • release: set stark-versions to next for the starter (a96138f)
  • stark-core: update rxjs and [@ngrx](https://github.com/ngrx) (cd9c317)
  • stark-ui: update rxjs and [@ngrx](https://github.com/ngrx) (e08c19d)

Features

  • showcase: update Angular from 13.0.0 to 14.0.0 (16b4ca4)
  • showcase: update rxjs (4339893)
  • stark-all: update Angular from 13.0.0 to 14.0.0 (0caa789)
  • stark-all: update rxjsand [@ngrx](https://github.com/ngrx) (ead28b1)
  • stark-build: update Angular from 13.0.0 to 14.0.0 (4cd9c6a)
  • stark-core: update Angular from 13.0.0 to 14.0.0 (74cdee4)
  • stark-rbac: update Angular from 13.0.0 to 14.0.0 (6275964)
  • stark-testing: update Angular from 13.0.0 to 14.0.0 (adf96ff)
  • stark-testing: upgrade karma and jasmine dependencies (202cfd8)
  • stark-ui: update Angular from 13.0.0 to 14.0.0 (5a4b14c)
  • starter: update Angular from 13.0.0 to 14.0.0 (204696e)
  • starter: update rxjs (e5d9b74)

12.0.0-beta.0 (2024-01-24)

Bug Fixes

  • build-main: fix npm run commit script in order to fix the usage on Windows OS (ec74726)
  • build-main: remove wrong spaces in .editorconfig file (58d3c26)
  • stark-all: disable emitDecoratorMetadata in tsconfig of stark-* packages in order to solve build warnings (d37ba9f), closes ng-packagr/ng-packagr#2056
  • stark-all: fix compodoc dependency to v1.1.13 (bfcd2f3)
  • stark-all: remove vulnerable event-source-polyfill dependency (713239f)
  • stark-build: fix index-html transform script to support ng12 production build (aab9a4f)
  • stark-build: remove csp 'plugin-types' rule and adapt 'object-src' rule (0fd48d1), closes #3086
  • stark-build: remove support for obsolete webpack-monitor (095117c)
  • stark-core: add support for http 204 status code when persisting logs (e24d92b)
  • stark-testing: remove useless coveralls dependency (df5bed4)
  • stark-ui: dropdown - fix click event not working around the mat-select element (cd29848)
  • stark-ui: fix ViewDestroyedError issue linked to formControl usage (f0857e8), closes #2874
  • stark-ui: handles paste and drop event on the restrict-input directive (28791f3), closes #1905
  • stark-ui: minimap - fix [class.open]="minimapMenuTrigger.menuOpen" not changing when menu closed (50034b3)
  • stark-ui: pretty-print - add support for uppercase extension names (9e1e837)
  • stark-ui: remove KeybordEvent.char (c25fec8), closes #3634
  • stark-ui: table action column do not works when language is NL (20c010e), closes #3391

chore

  • stark-all: upgrade project engine from NodeJS-12_npm-7 to NodeJS-14_npm-8 (ca333ce)
  • stark-ui: change linting engine from TSLint to ESLint (781d133)

Features

  • build-main: adapt husky configuration after husky upgrade (b784013)
  • build-main: upgrade npm to v7 and NodeJS to v12 (37d400a)
  • showcase: adapt generic-search demo to use public results$ variable directly in template (b8ca98f)
  • showcase: add the ngx-form-errors demo to the showcase (4a98d3c), closes #1195
  • showcase: update generic-search actions style (7dd7c09)
  • showcase: upgrade to Angular 12 (26327e0)
  • stark-all: remove ngrx-store-freeze dependency thanks to @ngrx/store 8.x upgrade (4af3e25)
  • stark-all: upgrade npm to v7 and NodeJS to v12 (1e127a1)
  • stark-build: add Stylelint plugin in build configuration (30a191d)
  • stark-build: enable writeToDisk in webpack-dev-server configuration (95dcf2c)
  • stark-build: merge webpack configurations into a single new webpack.config.js file (7791bc2), closes #2558
  • stark-build: replace ContextReplacementPlugin by MomentLocalesPlugin to reduce Moment.js size (68c6489)
  • stark-build: update TSLint to v6.1.3 (f77d719)
  • stark-build: upgrade to Angular 12 (44502de)
  • stark-build: upgrade to Angular 8 (c3c83b6)
  • stark-core: add support for httpOnly cookie in StarkXSRFService (9fe3907), closes #3136
  • stark-core: removed Throw Error to create stack trace for IE (c58408f), closes #3636
  • stark-core: update class-validator dependency to version ~0.13.1 (1fd6700)
  • stark-core: update uuid and @types/uuid dependencies to version "^8.3.0" (15b5c08), closes #2759 #2760
  • stark-core: update error handling actions style (727c244)
  • stark-core: update logging actions style (3dd57d2)
  • stark-core: update routing actions style (97b067d)
  • stark-core: update session actions style (810bbc1)
  • stark-core: update settings actions style (f1803a8)
  • stark-core: update user actions style (8418efc)
  • stark-core: upgrade to Angular 12 (367c2b2)
  • stark-core: upgrade to Angular 8 (3d0b6ea)
  • stark-rbac: update rbac actions style (c4efd6a)
  • stark-rbac: upgrade to Angular 12 (d07c680)
  • stark-testing: bump @types/jasmine in /packages/stark-testing/package.json from 3.6.4 to 3.8.2 (758bc2c)
  • stark-testing: improve karma config for ng test usage (82d0bac)
  • stark-testing: replace karma-typescript by karma + @angular/devkit:build-angular (a9e06dc)
  • stark-testing: upgrade to Angular 12 + karma 6 (2fed5d6)
  • stark-ui: add support for Angular html templates in pretty-print component (b9e2aa2)
  • stark-ui: generic-search - adapt results$ variable visibility to public (99d1ae8), closes #3082
  • stark-ui: keep highlight the menu when go to child state (4f55b60), closes #3521
  • stark-ui: replace pretty-data by prettier+@sqltools/formatter in pretty-print component (286556e), closes #2543
  • stark-ui: split stark-ui modules in different chunks to reduce bundle size of applications (205f136)
  • stark-ui: update message-pane actions style (3ff099f)
  • stark-ui: update prettier to version 3.1 (227e46b)
  • stark-ui: update progress-indicator actions style (374c429)
  • stark-ui: update styles for Sass v8 usage (1be66d3)
  • stark-ui: update styles to allow theme customization (5a2a1fb)
  • stark-ui: upgrade to Angular 12 (4869f11)
  • stark-ui: upgrade to Angular 8 (e19d4a8)
  • starter: adapt husky configuration after husky upgrade (9af712d)
  • starter: upgrade to Angular 12 (6754a96)

Reverts

  • Revert "chore(release): release 12.0.0-beta.0" (743bbb7)
  • Revert "chore(release): release 12.0.0-beta.0" (6cb7370)
  • Revert "chore(release): release 12.0.0-beta.0" (00763da)

BREAKING CHANGES

  • stark-ui: The selector of the StarkSessionTimeoutWarningDialogComponent component has been changed from "session-timeout-warning-dialog" to "stark-session-timeout-warning-dialog".

  • stark-all: The minimum versions for NodeJS and npm are now:

    • NodeJS: v14.20.0
    • npm: v8.19.1
  • stark-testing: Adapt test ci script in "package.json":

    // BEFORE
    "test-fast:ci": "cross-env CI=1 npm run ng test --code-coverage",
    
    // AFTER
    "test-fast:ci": "npm run ng test -- --watch=false --code-coverage",
    
  • stark-ui: Due to upgrade to @angular/material v12, SCSS files should be adapted to use the new @use word instead of @import.

    Your current "src/styles/_theme.scss" should look like this:

    @import "variables";
    @import "~@nationalbankbelgium/stark-ui/assets/theming";

    After upgrading to Stark v12, you should update the file as following:

    @use "variables";
    @use "sass:map";
    
    @use "~@angular/material" as mat;
    @use "~@nationalbankbelgium/stark-ui" as stark-ui;
    
    @include mat.core();
    @include stark-ui.set-stark-ui-styles();

    As all the stark-ui styles are configured thanks to set-stark-ui-styles method, you should remove @import "~@nationalbankbelgium/stark-ui/assets/stark-ui-bundle"; import in "src/styles/styles.scss".

    If you use Stark media queries variables such as $tablet-query, $mobile-only-query...

    You should add the following @use rule at the top of your files:

    @use "~@nationalbankbelgium/stark-ui/styles/media-queries" as *;
  • stark-build: Remove useless babel-loader dependency + remove IE 11 support in development mode

  • stark-build: Due to Angular upgrade, "angular.json" file has to be updated as following:

    1. Edit projects.<project_name>.architect.build.options:

    Before:

    {
      // ...
      "projects": {
        "<project_name>": {
          // ...
          "architect": {
            "build": {
              "builder": "@angular-builders/custom-webpack:browser",
              "options": {
                "customWebpackConfig": {
                  "path": "./node_modules/@nationalbankbelgium/stark-build/config/webpack-partial.dev.js",
                  "mergeStrategies": {
                    "modules.rules": "prepend",
                    "plugins": "prepend",
                    "devServer": "prepend",
                    "replaceDuplicatePlugins": false
                  }
                },
                // ...
              },
            }
          }
        }
      }
    }

    After:

    {
      // ...
      "projects": {
        "<project_name>": {
          // ...
          "architect": {
            "build": {
              "builder": "@angular-builders/custom-webpack:browser",
              "options": {
                "customWebpackConfig": {
                  "path": "./node_modules/@nationalbankbelgium/stark-build/config/webpack.config.js"
                },
                // /!\ Add following line
                "indexTransform": "./node_modules/@nationalbankbelgium/stark-build/config/index-html.transform.js",
                // ...
              },
            }
          }
        }
      }
    }
    1. Edit projects.<project_name>.architect.build.configurations.<environment>:

    In Stark 12, there is only one "webpack.config.js" file. Thanks to this, this is no longer needed to have specific configurations for other environment.

    You need to remove the following lines in projects.<project_name>.architect.build.configurations.<environment>:

    Before:

    {
      // ...
      "projects": {
        "<project_name>": {
          // ...
          "architect": {
            "build": {
              "configurations": {
                "production": {
                  // Remove all the "customWebpackConfig"
                  "customWebpackConfig": {
                    "path": "./node_modules/@nationalbankbelgium/stark-build/config/webpack-partial.prod.js",
                    "mergeStrategies": {
                      "modules.rules": "prepend",
                      "plugins": "prepend",
                      "devServer": "prepend",
                      "replaceDuplicatePlugins": false
                    }
                  },
                  // ...
                },
                // ...
              },
            }
          }
        }
      }
    }

    After:

    {
      //...
      "projects": {
        "<project_name>": {
          // ...
          "architect": {
            "build": {
              "configurations": {
                "production": {
                  // "customWebpackConfig" is entirely removed
                  // ...
                },
                // ...
              },
            }
          }
        }
      }
    }
    1. Edit projects.<project_name>.architect.serve.builder:

    Before:

    {
      //...
      "projects": {
        "<project_name>": {
          // ...
          "architect": {
            "serve": {
              "builder": "@angular-builders/dev-server:generic",
              "options": {
                "browserTarget": "<project_name>:build",
                "port": 3000,
                "open": true
              },
              // ...
            }
          }
        }
      }
    }

    After:

    {
      //...
      "projects": {
        "<project_name>": {
          // ...
          "architect": {
            "serve": {
              // /!\ Edit following line
              "builder": "@angular-builders/custom-webpack:dev-server",
              "options": {
                "browserTarget": "<project_name>:build",
                "port": 3000,
                "open": true
              },
              // ...
            }
          }
        }
      }
    }
    1. Edit projects.<project_name>.architect.test.builder:

    Add support for stark-testing karma config with command ng test

    Before:

    {
      //...
      "projects": {
        "<project_name>": {
          // ...
          "architect": {
            "test": {
              "builder": "@angular-devkit/build-angular:karma",
              "options": {
                "main": "base.spec.ts",
                "karmaConfig": "./karma.conf.js",
                "tsConfig": "tsconfig.spec.json"
              }
            }
          }
        }
      }
    }

    After:

    {
      //...
      "projects": {
        "<project_name>": {
          // ...
          "architect": {
            "test": {
              // /!\ Edit following line
              "builder": "@angular-builders/custom-webpack:karma",
              "options": {
                "main": "base.spec.ts",
                "karmaConfig": "./karma.conf.js",
                "tsConfig": "tsconfig.spec.json"
              }
            }
          }
        }
      }
    }
    1. Edit projects.<project_name>.architect.build.configurations.hmr:

    Add support for CSS Hot Reloading by setting extractCss property to false in hmr configuration.

    Before:

    {
      // ...
      "projects": {
        "<project_name>": {
          // ...
          "architect": {
            "build": {
              "configurations": {
                "hmr": {
                  "fileReplacements": [
                    {
                      "replace": "src/environments/environment.ts",
                      "with": "src/environments/environment.hmr.ts"
                    }
                  ]
                },
                // ...
              },
            }
          }
        }
      }
    }

    After:

    {
      // ...
      "projects": {
        "<project_name>": {
          // ...
          "architect": {
            "build": {
              "configurations": {
                "hmr": {
                  "extractCss": false, // <-- Line to add
                  "fileReplacements": [
                    {
                      "replace": "src/environments/environment.ts",
                      "with": "src/environments/environment.hmr.ts"
                    }
                  ]
                },
                // ...
              },
            }
          }
        }
      }
    }
  • stark-build: Adapt "src/index.html" file

    1. Adapt stark variables usage As htmlWebpackPlugin is no longer supported by Angular CLI, the options related to this plugin have been changed. Instead of using htmlWebpackPlugin, you need to use starkOptions like this:

    Before:

    <%= htmlWebpackPlugin.options.starkAppMetadata.name %>
    <!-- or -->
    <%= htmlWebpackPlugin.options.starkAppConfig.defaultLanguage %>
    <!-- or -->
    <%= htmlWebpackPlugin.options.metadata.TITLE %>

    After:

    <%= starkOptions.starkAppMetadata.name %>
    <!-- or -->
    <%= starkOptions.starkAppConfig.defaultLanguage %>
    <!-- or -->
    <%= starkOptions.metadata.TITLE %>

    Thanks to the following search & replace:

    • search: htmlWebpackPlugin.options.
    • replace: starkOptions.

    It should be easy to adapt the index.html file.

    1. Remove obsolete code related to webpack-dev-server

    Remove the following piece of code in "src/index.html"

    <!-- move the block of webpack dev server to the <head> section and change the IF conditions -->
    <% if (starkOptions.starkAppMetadata.IS_DEV_SERVER && starkOptions.starkAppMetadata.HMR !== true) { %>
    <!-- Webpack Dev Server reload -->
    <script src="/webpack-dev-server.js"></script>
    <% } %>
  • stark-build: Adapt "package.json" file. Remove scripts with MONITOR

    Due to Angular upgrade, webpack-monitor stopped working. Since the package was no longer maintained (4 years), we decided to remove the support from stark-build.

    The following scripts should be removed from "package.json" file:

    {
      "scripts": {
        "build:dev:monitor": "npx mkdirp reports && cross-env MONITOR=1 npm run build:dev",
        "server:dev:monitor": "npm run clean:dist && cross-env MONITOR=1 npm run ng -- serve",
        "start:monitor": "npx mkdirp reports && cross-env MONITOR=1 npm run server:dev"
      }
    }
  • stark-build: Due to Angular upgrade, webpack-monitor stopped working. Since the package was no longer maintained (4 years), we decided to remove the support from stark-build.

    The following scripts should be removed from "package.json" file:

    {
      "scripts": {
        "build:dev:monitor": "npx mkdirp reports && cross-env MONITOR=1 npm run build:dev",
        "server:dev:monitor": "npm run clean:dist && cross-env MONITOR=1 npm run ng -- serve",
        "start:monitor": "npx mkdirp reports && cross-env MONITOR=1 npm run server:dev"
      }
    }
  • stark-all: Stark framework now requires:

    • NodeJS >= 12.22.1
    • npm >= 7.12.1
  • stark-build: Due to TSLint update, it is required to adapt the usage in "tslint.json" file at the root of the project:

    // Before
    {
      "extends": [
        // ...
        "@nationalbankbelgium/code-style/tslint/5.20.x",
        // ...
      ]
      // ...
    }
    
    // After
    {
      "extends": [
        // ...
        "@nationalbankbelgium/code-style/tslint/6.1.x",
        // ...
      ]
      // ...
    }
  • stark-core: Due to class-validator update:

    • Validatorjs releases contain some breaking changes e.g. IsMobileNumber or IsHexColor. Please check validatorjs CHANGELOG

    • Validation functions was removed from Validator class to enable tree shaking.

      BEFORE:

      import { Validator } from 'class-validator';
      
      const validator = new Validator();
      validator.isNotIn(value, possibleValues);
      validator.isBoolean(value);

      AFTER:

      import { isNotIn, isBoolean } from 'class-validator';
      
      isNotIn(value, possibleValues);
      isBoolean(value);
    • IsNumberString decorator arguments changed to @IsNumberString(ValidatorJS.IsNumericOptions, ValidationOptions).

  • stark-testing: Adapt angular.json, package.json and base.spec.ts files.

    Check test config in "angular.json":

    // ...
    "test": {
      "builder": "@angular-builders/custom-webpack:karma",
      "options": {
        "main": "base.spec.ts",
        "karmaConfig": "./karma.conf.js",
        "tsConfig": "tsconfig.spec.json"
      }
    }
    

    Check tests scripts in "package.json":

    // BEFORE
    "test-fast": "karma start",
    "test-fast:ci": "karma start karma.conf.ci.js",
    
    // AFTER
    "test-fast": "npm run ng test",
    "test-fast:ci": "cross-env CI=1 npm run ng test --code-coverage",
    

    Adapt "base.spec.ts" file as follows:

    "use strict";
    
    import "core-js/es";
    import "core-js/proposals/reflect-metadata";
    
    // IE polyfills
    
    // See https://developer.mozilla.org/en-US/docs/Web/API/Element/matches#Polyfill
    /* tslint:disable:no-unbound-method */
    if (!Element.prototype.matches) {
    	Element.prototype.matches = (<any>Element.prototype).msMatchesSelector ||
    	  Element.prototype.webkitMatchesSelector;
    }
    /* tslint:enable:no-unbound-method */
    
    // See: https://developer.mozilla.org/en-US/docs/Web/API/NodeList/forEach#Polyfill
    if ((<any>window).NodeList && !NodeList.prototype.forEach) {
    	(<any>NodeList.prototype).forEach = Array.prototype.forEach;
    }
    
    /* tslint:disable:no-import-side-effect */
    import "zone.js/dist/zone";
    import "zone.js/dist/zone-testing";
    import "zone.js/dist/long-stack-trace-zone";
    /* tslint:enable:no-import-side-effect */
    
    // define global environment variable (used in some places in stark-core and stark-ui)
    global["ENV"] = "development";
    
    import { getTestBed } from "@angular/core/testing";
    import {
      BrowserDynamicTestingModule,
      platformBrowserDynamicTesting
    } from "@angular/platform-browser-dynamic/testing";
    
    // tslint:disable:completed-docs bool-param-default
    declare const require: {
    	context(path: string, deep?: boolean, filter?: RegExp): {
    		keys(): string[];
    		<T>(id: string): T;
    	};
    };
    getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting());
    
    // Then we find all the tests.
    const context = require.context('./src', true, /\.spec\.ts$/);
    // And load the modules.
    context.keys().forEach(context);
  • stark-all: Remove ngrx-store-freeze dependency in favor of new built-in runtime checks in @ngrx/store@8.x.

    Adapt code as follows:

    // Before
    import { storeFreeze } from "ngrx-store-freeze";
    //...
    export const metaReducers: MetaReducer<State>[] =
      ENV === "development" ? [logger, storeFreeze] : [];
    
    @NgModule({
        imports: [
          CommonModule,
          StoreModule.forRoot(reducer, {
            metaReducers: metaReducers
          }),
        ]
      })
      export class AppModule {}
    
    // After
    export const metaReducers: MetaReducer<State>[] = ENV === "development" ? [logger] : [];
    
    @NgModule({
      imports: [
        CommonModule,
        StoreModule.forRoot(rootReducer, {
          metaReducers: metaReducers,
          runtimeChecks: {
            strictStateImmutability: true,
            strictActionImmutability: true
          }
        }),
      ]
    })
    export class AppModule {}

    See: https://ngrx.io/guide/migration/v8#deprecation-of-ngrx-store-freeze

  • stark-rbac: Due to an improvement on how actions are defined, the enum StarkRBACAuthorizationActionsTypes became obsolete so it has been removed.

As a result, the following actions have been changed:

  • StarkUserNavigationUnauthorized(public targetState: string) -> StarkRBACAuthorizationActions.userNavigationUnauthorized({ targetState: string })
  • StarkUserNavigationUnauthorizedRedirected(public targetState: string, public redirectionState: string) -> StarkRBACAuthorizationActions.userNavigationUnauthorizedRedirected({ targetState: string; redirectionState: string })

And also the previous union type has been replaced: StarkRBACAuthorizationActions -> StarkRBACAuthorizationActions.Types.

Change in effect:

// Before
@Effect({ dispatch: false })
public starkRBACNavigationUnauthorized$(): Observable<void> {
    return this.actions$.pipe(
        ofType<StarkUserNavigationUnauthorized>(
            StarkRBACAuthorizationActionsTypes.RBAC_USER_NAVIGATION_UNAUTHORIZED
        ),
        map((action: StarkUserNavigationUnauthorized) => {
            // some logic
        })
    );
}

// After
public starkRBACNavigationUnauthorizedRedirected$ = createEffect(
    () => this.actions$.pipe(
        ofType(StarkRBACAuthorizationActions.userNavigationUnauthorized),
        map((action) => {
            // some logic
        })
    ),
    { dispatch: false }
);

Change in action usage:

// Before
this.store.dispatch(new StarkUserNavigationUnauthorized(transition.targetState().name()));

// After
this.store.dispatch(StarkRBACAuthorizationActions.userNavigationUnauthorized({
    targetState: transition.targetState().name()
}));
  • stark-ui: Due to an improvement on how actions are defined, the enum StarkMessagePaneActionsTypes became obsolete so it has been removed.

As a result, the following actions have been changed:

  • StarkAddMessages(public messages: StarkMessage[]) -> StarkMessagePaneActions.addMessages({ messages: StarkMessage[] })
  • StarkRemoveMessages(public messages: StarkMessage[]) -> StarkMessagePaneActions.removeMessages({ messages: StarkMessage[] })
  • StarkClearMessages() -> StarkMessagePaneActions.clearMessages()
  • StarkGetAllMessages() -> StarkMessagePaneActions.getAllMessages()

And also the previous union type has been replaced: StarkMessagePaneActions -> StarkMessagePaneActions.Types.

Change in effect:

// Before
@Effect({ dispatch: false })
public starkAddMessages$(): Observable<void> {
    return this.actions$.pipe(
        ofType<StarkAddMessages>(StarkMessagePaneActionsTypes.ADD_MESSAGES),
        map((action: StarkAddMessages) => {
            // some logic
        })
    );
}

// After
public starkAddMessages$ = createEffect(
    () => this.actions$.pipe(
        ofType(StarkMessagePaneActions.addMessages),
        map((action) => {
            // some logic
        })
    ),
    { dispatch: false }
);

Change in action usage:

// Before
this.store.dispatch(new StarkAddMessages(messages));

// After
this.store.dispatch(StarkMessagePaneActions.addMessages({ messages: messages }));
  • stark-ui: Due to an improvement on how actions are defined, the enum StarkProgressIndicatorActionsTypes became obsolete so it has been removed.

As a result, the following actions have been changed:

  • StarkProgressIndicatorRegister(public progressIndicatorConfig: StarkProgressIndicatorFullConfig ) -> StarkProgressIndicatorActions.register({ progressIndicatorConfig: StarkProgressIndicatorFullConfig })
  • StarkProgressIndicatorDeregister(public topic: string) -> StarkProgressIndicatorActions.deregister({ topic: string })
  • StarkProgressIndicatorHide(public topic: string) -> StarkProgressIndicatorActions.hide({ topic: string })
  • StarkProgressIndicatorShow(public topic: string) -> StarkProgressIndicatorActions.show({ topic: string })

And also the previous union type has been replaced: StarkProgressIndicatorActions -> StarkProgressIndicatorActions.Types.

Change in effect:

// Before
@Effect({ dispatch: false })
public starkProgressIndicatorShow$(): Observable<void> {
    return this.actions$.pipe(
        ofType<StarkProgressIndicatorShow>(
            StarkProgressIndicatorActionsTypes.PROGRESS_INDICATOR_SHOW
        ),
        map((action: StarkProgressIndicatorShow) => {
            // some logic
        })
    );
}

// After
public starkProgressIndicatorShow$ = createEffect(
    () => this.actions$.pipe(
        ofType(StarkProgressIndicatorActions.show),
        map((action) => {
            // some logic
        })
    ),
    { dispatch: false }
);

Change in action usage:

// Before
this.store.dispatch(new StarkProgressIndicatorShow(topic));

// After
this.store.dispatch(StarkProgressIndicatorActions.show({ topic: topic }));
  • stark-core: Due to an improvement on how actions are defined, the enum StarkRoutingActionsTypes became obsolete so it has been removed.

As a result, the following actions have been changed:

  • StarkNavigate(public currentState: string, public newState: string, public params?: RawParams, public options?: TransitionOptions) -> StarkRoutingActions.navigate({ currentState: string; newState: string; params?: RawParams; options?: TransitionOptions })
  • StarkNavigateSuccess(public previousState: string, public currentState: string, public params?: RawParams) -> StarkRoutingActions.navigateSuccess({ previousState: string; currentState: string; params?: RawParams })
  • StarkNavigateFailure(public currentState: string, public newState: string, public params: RawParams, public error: string) -> StarkRoutingActions.navigateFailure({ currentState: string; newState: string; params?: RawParams; error: string })
  • StarkNavigateRejection(public currentState: string, public newState: string, public params: RawParams, public reason: string) -> StarkRoutingActions.navigateRejection({ currentState: string; newState: string; params: RawParams; reason: string })
  • StarkNavigationHistoryLimitReached() -> StarkRoutingActions.navigationHistoryLimitReached()
  • StarkReload(public state: string) -> StarkRoutingActions.reload({ state: string })
  • StarkReloadSuccess(public state: string, public params: RawParams) -> StarkRoutingActions.reloadSuccess({ state: string; params: RawParams })
  • StarkReloadFailure(public state: string, public params: RawParams) -> StarkRoutingActions.reloadFailure({ state: string; params: RawParams })

And also the previous union type has been replaced: StarkRoutingActions -> StarkRoutingActions.Types.

Change in effect:

// Before
@Effect({ dispatch: false })
public starkNavigateSuccess$(): Observable<void> {
    return this.actions$.pipe(
        ofType<StarkNavigateSuccess>(StarkRoutingActionsTypes.NAVIGATE_SUCCESS),
        map((action: StarkNavigateSuccess) => {
            // some logic
        })
    );
}

// After
public starkNavigateSuccess$ = createEffect(
    () => this.actions$.pipe(
        ofType(StarkRoutingActions.navigateSuccess),
        map((action) => {
            // some logic
        })
    ),
    { dispatch: false }
);

Change in action usage:

// Before
this.store.dispatch(new StarkNavigateSuccess(previousState, currentState, params));

// After
this.store.dispatch(StarkRoutingActions.navigateSuccess({
    previousState: previousState,
    currentState: currentState,
    params: params
}));
  • stark-core: Due to an improvement on how actions are defined, the enum StarkLoggingActionsTypes became obsolete so it has been removed.

As a result, the following actions have been changed:

  • StarkSetLoggingApplicationId(public applicationId: string) -> StarkLoggingActions.setLoggingApplicationId({ applicationId: string })
  • StarkLogMessageAction(public message: StarkLogMessage) -> StarkLoggingActions.logMessage({ message: StarkLogMessage })
  • StarkFlushLogMessages(public numberOfMessagesToFlush: number) -> StarkLoggingActions.flushLogMessages({ numberOfMessagesToFlush: number })

And aso the previous union type has been replaced: StarkLoggingActions -> StarkLoggingActions.Types.

Change in effect:

// Before
@Effect({ dispatch: false })
public starkLogMessageAction$(): Observable<void> {
    return this.actions$.pipe(
        ofType<StarkLogMessageAction>(StarkLoggingActionsTypes.LOG_MESSAGE),
        map((action: StarkLogMessageAction) => {
            // some logic
        })
    );
}

// After
public starkLogMessageAction$ = createEffect(
    () => this.actions$.pipe(
        ofType(StarkLoggingActions.logMessage),
        map((action) => {
            // some logic
        })
    ),
    { dispatch: false }
);

Change in action usage:

// Before
this.store.dispatch(new StarkLogMessageAction(message));

// After
this.store.dispatch(StarkLoggingActions.logMessage({ message: message }));
  • stark-core: Due to an improvement on how actions are defined, the enum StarkSettingsActionsTypes became obsolete so it has been removed.

As a result, the following actions have been changed:

  • StarkPersistPreferredLanguage(public language: string) -> StarkSettingsActions.persistPreferredLanguage({ language: string })
  • StarkPersistPreferredLanguageSuccess() -> StarkSettingsActions.persistPreferredLanguageSuccess()
  • StarkPersistPreferredLanguageFailure(public error: any) -> StarkSettingsActions.persistPreferredLanguageFailure({ error: any })
  • StarkSetPreferredLanguage(public language: string) -> StarkSettingsActions.setPreferredLanguage({ language: string })

And also the previous union type has been replaced: StarkSettingsActions -> StarkSettingsActions.Types.

Change in effect:

// Before
@Effect({ dispatch: false })
public starkSetPreferredLanguage$(): Observable<void> {
    return this.actions$.pipe(
        ofType<StarkSetPreferredLanguage>(StarkSettingsActionsTypes.SET_PREFERRED_LANGUAGE),
        map((action: StarkSetPreferredLanguage) => {
            // some logic
        })
    );
}

// After
public starkSetPreferredLanguage$ = createEffect(
    () => this.actions$.pipe(
        ofType(StarkSettingsActions.setPreferredLanguage),
        map((action) => {
            // some logic
        })
    ),
    { dispatch: false }
);

Change in action usage:

// Before
this.store.dispatch(new StarkSetPreferredLanguage(language));

// After
this.store.dispatch(StarkSettingsActions.StarkSetPreferredLanguage({ language: language }));
  • stark-core: Due to an improvement on how actions are defined, the enum StarkSessionActionsTypes became obsolete so it has been removed.

As a result, the following actions have been changed:

  • StarkChangeLanguage(public languageId: string) -> StarkSessionActions.changeLanguage({ languageId: string })
  • StarkChangeLanguageSuccess(public languageId: string) -> StarkSessionActions.changeLanguageSuccess({ languageId: string })
  • StarkChangeLanguageFailure(public error: any) -> StarkSessionActions.changeLanguageFailure({ error: any })
  • StarkInitializeSession(public user: StarkUser) -> StarkSessionActions.initializeSession({ user: StarkUser })
  • StarkInitializeSessionSuccess() -> StarkSessionActions.initializeSessionSuccess()
  • StarkDestroySession() -> StarkSessionActions.destroySession()
  • StarkDestroySessionSuccess() -> StarkSessionActions.destroySessionSuccess()
  • StarkSessionTimeoutCountdownStart(public countdown: number) -> StarkSessionActions.sessionTimeoutCountdownStart({ countdown: number })
  • StarkSessionTimeoutCountdownStop() -> StarkSessionActions.sessionTimeoutCountdownStop()
  • StarkSessionTimeoutCountdownFinish() -> StarkSessionActions.sessionTimeoutCountdownFinish()
  • StarkSessionLogout() -> StarkSessionActions.sessionLogout()
  • StarkUserActivityTrackingPause() -> StarkSessionActions.userActivityTrackingPause()
  • StarkUserActivityTrackingResume() -> StarkSessionActions.userActivityTrackingResume()

And also the previous union type has been replaced: StarkSessionActions -> StarkSessionActions.Types.

Change in effect:

// Before
@Effect({ dispatch: false })
public starkChangeLanguageSuccess$(): Observable<void> {
    return this.actions$.pipe(
        ofType<StarkChangeLanguageSuccess>(StarkSessionActionsTypes.CHANGE_LANGUAGE_SUCCESS),
        map((action: StarkChangeLanguageSuccess) => {
            // some logic
        })
    );
}

// After
public starkChangeLanguageSuccess$ = createEffect(
    () => this.actions$.pipe(
        ofType(StarkSessionActions.changeLanguageSuccess),
        map((action) => {
            // some logic
        })
    ),
    { dispatch: false }
);

Change in action usage:

// Before
this.store.dispatch(new StarkChangeLanguageSuccess(languageId));

// After
this.store.dispatch(StarkSessionActions.changeLanguageSuccess({ languageId: languageId }));
  • stark-core: Due to an improvement on how actions are defined, the enum StarkErrorHandlingActionsTypes became obsolete so it has been removed.

As a result, the following actions have been changed:

  • StarkUnhandledError(public error: any) -> StarkErrorHandlingActions.unhandledError({ error: any })

And also the previous union type has been replaced: StarkErrorHandlingActions -> StarkErrorHandlingActions.Types.

Change in effect:

// Before
@Effect({ dispatch: false })
public starkUnhandledError$(): Observable<void> {
    return this.actions$.pipe(
        ofType<StarkUnhandledError>(StarkErrorHandlingActionTypes.UNHANDLED_ERROR),
        map((action: StarkUnhandledError) => {
            // some logic
        })
    );
}

// After
public starkUnhandledError$ = createEffect(
    () => this.actions$.pipe(
        ofType(StarkErrorHandlingActions.unhandledError),
        map((action) => {
            // some logic
        })
    ),
    { dispatch: false }
);

Change in action usage:

// Before
this.store.dispatch(new StarkUnhandledError(error));

// After
this.store.dispatch(StarkErrorHandlingActions.unhandledError({ error: error }));
  • stark-core: Due to an improvement on how actions are defined, the enum StarkUserActionsTypes became obsolete so it has been removed.

As a result, the following actions have been changed:

  • StarkFetchUserProfile() -> StarkUserActions.fetchUserProfile()
  • StarkFetchUserProfileSuccess(public user: StarkUser) -> StarkUserActions.fetchUserProfileSuccess({ user: StarkUser })
  • StarkFetchUserProfileFailure(public error: StarkHttpErrorWrapper | Error) -> StarkUserActions.fetchUserProfileFailure({ error: StarkHttpErrorWrapper | Error })
  • StarkGetAllUsers() -> StarkUserActions.getAllUsers()
  • StarkGetAllUsersSuccess(public users: StarkUser[]) -> StarkUserActions.getAllUsersSuccess({ users: StarkUser[] })
  • StarkGetAllUsersFailure(public message: string) -> StarkUserActions.getAllUsersFailure({ message: string })

And also the previous union type has been replaced: StarkUserActions -> StarkUserActions.Types.

Change in effect:

// Before
@Effect({ dispatch: false })
public starkFetchUserProfileSuccess$(): Observable<void> {
    return this.actions$.pipe(
        ofType<StarkFetchUserProfileSuccess>(StarkUserActionTypes.FETCH_USER_PROFILE_SUCCESS),
        map((action: StarkFetchUserProfileSuccess) => {
            // some logic
        })
    );
}

// After
public starkFetchUserProfileSuccess$ = createEffect(
    () => this.actions$.pipe(
        ofType(StarkUserActions.fetchUserProfileSuccess),
        map((action) => {
            // some logic
        })
    ),
    { dispatch: false }
);

Change in action usage:

// Before
this.store.dispatch(new StarkFetchUserProfileSuccess(starkUser));

// After
this.store.dispatch(StarkUserActions.fetchUserProfileSuccess({ user: starkUser }));
  • stark-build: Simplify and improve integration of stark-build inside angular projects. Need to adapt "angular.json" file.

    Before:

    {
      //...
      "architect": {
        "build": {
          "builder": "@angular-builders/custom-webpack:browser",
          "options": {
            "customWebpackConfig": {
              "path": "./node_modules/@nationalbankbelgium/stark-build/config/webpack-partial.dev.js",
              "mergeStrategies": {
                "modules.rules": "prepend",
                "plugins": "prepend",
                "devServer": "prepend",
                "replaceDuplicatePlugins": false
              }
            },
            // ...
          },
          "configurations": {
            // ...
            "production": {
              "customWebpackConfig": {
                "path": "./node_modules/@nationalbankbelgium/stark-build/config/webpack-partial.prod.js",
                "mergeStrategies": {
                  "modules.rules": "prepend",
                  "plugins": "prepend",
                  "replaceDuplicatePlugins": false
                }
              },
              // ...
            }
          }
        }
      }
    }

    After:

    {
      //...
      "architect": {
        "build": {
          "builder": "@angular-builders/custom-webpack:browser",
          "options": {
            "customWebpackConfig": {
              "path": "./node_modules/@nationalbankbelgium/stark-build/config/webpack.config.js"
              // mergeStrategies property is removed
            },
            // ...
          },
          "configurations": {
            // ...
            "production": {
              // "customWebpackConfig" property is removed
              // ...
            }
          }
        }
      }
    }
  • stark-core: Related to "@uirouter/angular@6.0.2":

    Removed string based lazy module loading via loadChildren Previously, we supported loadChildren: './lazymodule/lazy.module.ts#LazyModule' This lazy load mechanism is deprecated in Angular 8 in favor of: loadChildren: (): any => import('./lazymodule/lazy.module).then(x => x.LazyModule)

    See: https://github.com/ui-router/angular/commit/2f1506c

    Due to this change, the following provider should be removed from "src/app/app.module.ts":

    @NgModule({
      // ...
      providers: [
        // ...
        // /!\ Remove the following line
        { provide: NgModuleFactoryLoader, useClass: SystemJsNgModuleLoader }, // needed for ui-router
      ]
    })
  • stark-build: Support for htmlWebpackPlugin.options has been removed. A new support for starkAppMetadata, starkAppConfig and metadata has been implemented. You can now use starkOptions instead of htmlWebpackPlugin.options. See the following example:

    Before:

    <%= htmlWebpackPlugin.options.starkAppMetadata.name %>
    <!-- or -->
    <%= htmlWebpackPlugin.options.starkAppConfig.defaultLanguage %>
    <!-- or -->
    <%= htmlWebpackPlugin.options.metadata.TITLE %>

    After:

    <%= starkOptions.starkAppMetadata.name %>
    <!-- or -->
    <%= starkOptions.starkAppConfig.defaultLanguage %>
    <!-- or -->
    <%= starkOptions.metadata.TITLE %>
  • stark-build: Adapt "angular.json" file as follows:

    {
      //...
      "projects": {
        "<project_name>": {
          "architect": {
            "build": {
              // ...
              // /!\ Add the following line
              "indexTransform": "./node_modules/@nationalbankbelgium/stark-build/config/index-html.transform.js",
              // ...
            },
            "serve": {
              // Edit the following line.
              // Before:
              // "builder": "@angular-builders/dev-server:generic",
              // Now:
              "builder": "@angular-builders/custom-webpack:dev-server",
              // ...
            }
          }
        }
      }
    }
    
  • stark-build: Adapt the "index.html" as follows:

    <html lang="en">
      <head>
        <!-- ... -->
        <!-- Adapt the title tag as follows -->
        <!-- Before: -->
        <title><%= htmlWebpackPlugin.options.starkAppMetadata.name %></title>
        <!-- After: -->
        <title>%starkAppMetadata.name%</title>
    
        <!-- /!\ Remove the following lines -->
        <meta name="description" content="<%= htmlWebpackPlugin.options.starkAppMetadata.description %>" />
        <% if (webpackConfig.htmlElements.headTags) { %>
          <!--Configured Head Tags  -->
        <%= webpackConfig.htmlElements.headTags %> <% } %>
        <!-- ... -->
      </head>
    
      <!-- -->
    </html>
  • stark-build: Add the "config/index-head-config.js" the "description" meta in as follows:

    {
      links: [
        // ...
      ],
      meta: [
        // ...
        { name: "description", content: "%starkAppMetadata.description%" },
      ]
    }
    

10.2.0 (2021-03-10)

Bug Fixes

  • stark-build: fix warning messages appearing at build time (d318519)
  • stark-core: fix "class-validator" dependency to version ~0.11.0 (ee9fc81)
  • stark-core: fix starkIsIBAN validation method after upgrade "ibantools" dependency (0fc2be3)
  • stark-testing: fix karma ci configuration for Chrome Headless after puppeteer upgrade to v7 (6d416a5)
  • stark-testing: fix the version of karma-typescript-es6-transform to 5.1.0 (a15d582)
  • stark-ui: rename MockAppSidebarService to MockStarkAppSidebarService in @nationalbankbelgium/stark-ui/testing subpackage (4b51363)

Features

  • docs: include the Stark UI testing subpackage and its classes in the API docs and Developer Guide (9e23744), closes #1600
  • stark-all: update Prettier to v2.2.1 (7db18b9)

Reverts

  • Revert "chore(deps): bump karma-typescript-es6-transform" (526f88e)

BREAKING CHANGES

  • stark-all: Due to Prettier update, it is required to adapt the import in ".prettierrc.js" file at the root of the project:
// Before
module.exports = require("@nationalbankbelgium/code-style/prettier/1.16.x");

// After
module.exports = require("@nationalbankbelgium/code-style/prettier/2.2.x");

10.1.0 (2020-07-24)

Bug Fixes

  • showcase: typo noopener in link rel (da1b365), closes #1971
  • stark-ui: remove all overlays by destroying the Angular CDK OverlayContainer when navigating to an 'exit' state (8d3dee3), closes #1570
  • starter: typo noopener in link rel (6111f5d), closes #1971

Features

  • docs: include the Stark Core testing subpackage and its classes in the API docs and Developer Guide (5563d2a), closes #1600
  • docs: include the Stark RBAC testing subpackage and its classes in the API docs and Developer Guide (3b040dc), closes #1600
  • stark-testing: upgrade karma-typescript packages to version 5.0.0. Replace karma-coverage and karma-coverage-istanbul-reporter by karma-typescript reporter. (9d98e62)
  • stark-ui: add the possibility to custom the rendering of a cell in tables (0aab82a)
  • stark-ui: added collapsible table rows (05a2792), closes #1637

Reverts

  • Revert "chore(deps): bump @mdi/angular-material in /packages/stark-ui" (30dfa4b), closes #1762

10.0.0 (2020-03-10)

10.0.0-rc.5 (2020-02-21)

Bug Fixes

  • build-main: npm run install:starter is now working well on every platform (MacOS, Windows, Linux) (c7590b2), closes #1617
  • stark-ui: enhance styling of date time picker component to display the 'clear' button correctly aligned in IE 11 (3a3e832), closes #1430
  • stark-ui: remove wrong [@internal](https://github.com/internal) decorator on _globalFilterFormCtrl in table component (e85b810), closes #1644

Features

10.0.0-rc.4 (2020-02-06)

Bug Fixes

  • build-main: changed expected node version to 10 in gh-deploy script (ce3819b), closes #1485
  • build-main: fix sync scripts for starter + add 'showcase' in scopes of commitlint (798094c)
  • stark-build: don't parse Prettier Typescript parser in Webpack to prevent "Can't resolve '@microsoft/typescript-etw'" warning (9ebe868), closes #1483
  • stark-showcase: add missing hammerjs dependency (c19f4c0)
  • stark-starter: add missing hammerjs dependency (b781c02)
  • stark-ui: app-data - fixed issues with detail-slot not displayed correctly on small screens (155509a), closes #1555
  • stark-ui: app-sidebar - header is now visible on iOS devices (iTouch, iPhone, iPad) (e107c71), closes #1338
  • stark-ui: session - prevent click outside the Session Timeout Warning Dialog (8283216)
  • stark-ui: table - Multisort - fix order issue when adding/removing sort criteria (d113d05), closes #1478

Features

  • stark-ui: add footer to table component (159b245), closes #1540
  • stark-ui: route-search - add support for partial matching (c9802d7), closes #1335
  • starter: configure husky and lint-staged properly (ce600d1)

10.0.0-rc.3 (2020-01-10)

Bug Fixes

  • stark-testing: don't parse 'prettier/parser-typescript.js' with karma-typescript to prevent uncaught exception thrown as from Prettier 1.19 (a290eb9), closes #1434
  • stark-ui: add missing componentName and ":" in debug messages in StarkAppData and StarkAppSidebar components (79ac571)
  • stark-ui: add support for onClickCallback column properties in Table component (c5e3847), closes #1466
  • stark-ui: change the Multisort component to display the label instead of the column (fc3863c), closes #1397
  • stark-ui: fixed column issue when rawValue is undefined, cellFormatter is not called (815ac6c), closes #1465
  • stark-ui: table actions column is not displayed anymore if no row actions are defined (b1ec04e), closes #1462

Features

  • stark-ui: add support for displaying the "items per page" dropdown also in Pagination on "compact" mode (705bb23), closes #1248

10.0.0-rc.2 (2019-10-28)

Bug Fixes

  • docs: update BrowserStack badge to display correctly from README.md (f102bed), closes #1387
  • stark-core: add missing correlation-id header in the HTTP request sent to flush the logs (4cf5f87), closes #1319
  • stark-demo: replace encapsulated styles of Table Regular Component by global styles since they depend on Angular Material theming (97b969e), closes #1311
  • stark-ui: fix missing width in the "items per page" dropdown of StarkPagination component (7962c25), closes #1345

10.0.0-rc.1 (2019-09-25)

Bug Fixes

  • stark-ui: app-data, set top postion of the detail pane to 100% (abc8962), closes #1341
  • stark-ui: change the Multisort component to display the label instead of the name of the column (fc47144), closes #1397
  • stark-ui: fix side navigation rendering behind header (ed580f1), closes #1338
  • stark-ui: reset line-height of input (7289ec7), closes #1374
  • stark-ui: select only available rows with select all on table (6bfe4e2), closes #1392

Features

  • stark-core: include url hash part when landing on site (ba6985a)
  • stark-demo: add anchors to example viewer component (29afe52), closes #1214
  • stark-demo: add ids to examples (5b86433), closes #1214
  • stark-ui: add the possibility to display the filter of the table and the filter of their columns above or below the title (86137fc), closes #1352

10.0.0-rc.0 (2019-08-08)

Bug Fixes

  • stark-demo: enhance script to replace baseHref and deployUrl in any JS, CSS and JS.MAP file in Showcase when deploying to GhPages (54ea128), closes #1328
  • stark-demo: move header outside of sidenav-content (f7ab74b), closes #1338
  • stark-ui: change table actions when input changes (0fdd43e), closes #1315
  • stark-ui: dropdown - fix container click + badly floating label in multiSelect (b29c762), closes #1369 #1370
  • stark-ui: ui dropdown: not taking into account option emitEvent (15eea33), closes #1364

Features

  • stark-demo: add back Grid Layout example to Layout demo page (e2b8e55)
  • stark-ui: table - add support for angular CDK selection model (a20da4f), closes #1366

Performance Improvements

  • stark-demo: set ChangeDetectionStrategy.OnPush to ExampleViewer component to prevent Angular from running unnecessary change detection cycles (709c261)
  • stark-ui: set ChangeDetectionStrategy.OnPush to UI components to prevent Angular from running unnecessary change detection cycles (dff48b9)

10.0.0-beta.8 (2019-06-06)

Bug Fixes

  • build-main: fix travis branches (before alpha/beta, now alpha/beta/rc) (53987ae)
  • stark-demo: enhance change language logic in Showcase and Starter to also change Moment and date pickers locale (75420fd)
  • stark-demo: remove workaround added in #788 for basscss missing PCSS variables (solved in latest version: 8.1.0) (80b7734)
  • stark-ui: coerce 'required' input in StarkDatePicker to properly show the asterisk on the field (0fd9fca), closes #1255
  • stark-ui: display the invalid status only when the datepicker is touched. Adapt HTML in demo examples (9a8318d), closes #1257
  • stark-ui: enable 'keepCharPositions' option in internal mask config of timestamp mask directive. Fix wrong max and min values in date parts. (e126260), closes #1260
  • stark-ui: fix regression in ProgressIndicator directive introduced in #1218 (2f378fd)
  • stark-ui: fix wrong code coverage report generation path in karma CI config (bug introduced in #1147) (8d656e6)
  • stark-ui: fix wrong imports 'from "@nationalbankbelgium/stark-ui"' in Table module (e0b3ee0)
  • stark-ui: overwrite viewBox value when using starkSvgViewBox directive (63f82e1), closes #1216
  • stark-ui: properly size .stark-main-container on different screen sizes (f8e4441)
  • stark-ui: table - Add support to show row index (37af1c7), closes #1283
  • stark-ui: table - fix sorting + fix onChanges on columnProperties (b7f374d), closes #1241

Code Refactoring

  • stark-ui: remove 'StarkComponentUtil.isInputEnabled' in favor of Angular CDK function 'coerceBooleanProperty' (3889c88), closes #1190

Features

  • build: update TypeScript configuration and TSLint configuration (f3d00eb), closes #1144
  • stark-all: upgrade to TypeScript 3.2 (latest version supported in Angular 7.2) (600f88e), closes #1234
  • stark-build: enable all strict type checking options in tsconfig.json file. Remove obsolete options (ae3fccc)
  • stark-build: enhance/enable stricter rules in TSLint/codelyzer config to improve code style and consistency (1cad77d)
  • stark-build: tslintLoader - Disable typecheck rules to remove warnings since typeCheck is false (ab61379), closes #405
  • stark-core: allow configuring the User profile resource path used by the User Repository (8698970), closes #956
  • stark-core: upgrade 'class-validator' to the latest version (0.9.1). Fix breaking changes in validations on ApplicationConfig and Backend entities (ce4f3fb), closes #1237
  • stark-demo: adapt polyfills (app and tests) according to the new structure in core-js 3.0.0 (8da6515)
  • stark-ui: change color of global filter icon to indicate when the global filter is applied (69d0d05), closes #1303
  • stark-ui: implement ControlValueAccessor on DateRangePicker component (0e78064), closes #1197
  • stark-ui: implement stark-date-time-picker module/component (6075e6a), closes #587
  • stark-ui: table - Add support to show rows counter (bdad94f), closes #1244

BREAKING CHANGES

  • stark-ui: StarkComponentUtil.isInputEnabled() function has been removed. To coerce boolean inputs in your components you can use the coerceBooleanProperty() function from @angular/cdk/coercion instead.

10.0.0-beta.7 (2019-04-02)

Bug Fixes

  • release: enhance check for stark versions in Starter to skip those packages that are not listed as dependencies (b1b50dd)
  • showcase: fix subscription issue in dropdown demo page (95bbf75)
  • stark-demo: change default behaviour of collapsible icon (3737371), closes #1013
  • stark-demo: fix route-search-component tests failing with Uncaught TypeError: Cannot read property 'focus' of null thrown (1d39083)
  • stark-demo: fix reference border (3bd81e4)
  • stark-demo: fix wrong reference links in Dialogs demo page (0fe2e77)
  • stark-ui: change background-color of .search-field .mat-form-field-wrapper to variable $offWh (87aa706), closes #1181
  • stark-ui: change default behaviour of collapsible icon (552461f)
  • stark-ui: date-picker - disabled stark-date-picker not focusable anymore (ac3e673)

Features

  • build: add lodash es imports and lodash types (7d8b2e5), closes #1129 monounity/karma-typescript#320 #1145 #150
  • stark-rbac: implement new Stark-RBAC package including StarkRBACAuthorization module. Add demos for RBAC features in Showcase (53d3f33), closes #105
  • stark-ui: date-picker - add support to translate placeholder internally (63545f8), closes #1204
  • stark-ui: date-range-picker - add support for timestamp mask (0403dea), closes #1231
  • stark-ui: dropdown - add support for ControlValueAccessor, MatFormFieldControl and Validator (dbbcd65), closes #1193

10.0.0-beta.6 (2019-03-18)

Bug Fixes

  • release: set npm tags 'latest' and 'next' correctly after every release. Fix nightly builds versioning (e747fd0), closes #420 #468
  • stark-demo: fix for links in table-of-contents (01257d9)
  • stark-demo: fix warning about deprecated property (77cbca4)
  • stark-demo: update usage examples of stark table (fd06086), closes #1012
  • stark-ui: fix table error when data not initialized (d78ac80), closes #1087
  • stark-ui: keep table paginator in sync with (filtered) data (3c3a4ca), closes #1090 #1012
  • stark-ui: update some component styling to fix bugs (ad12b5a), closes #1169

Features

  • stark-ui: add stark-session-card component (4a1db25), closes #718
  • stark-ui: date-picker - add support for ControlValueAccessor, MatFormFieldControl, Validator and starkTimestampMask directive (81dcd18), closes #1146
  • stark-ui: implement stark-session-card in stark session pages (debe387), closes #718
  • stark-ui: implement Material dialogs presets: alert, confirm and prompt (a38d24a), closes #793

Performance Improvements

  • build: add "extractCss": true to build options (e212d71)

BREAKING CHANGES

  • stark-ui: stark-date-picker now integrates ControlValueAccessor and Validator:

    • The following Input have been changed:
      • date is now value
      • maxDate is now max
      • minDate is now min
      • label is now placeholder (the date-picker does not translate the placeholder anymore, it has to be done by the developer when passing the value --> [placeholder]="'MY_TRANSLATION_KEY' | translate")
      • isDisabled is now disabled
    • The output dateChanged is now dateChange
    • dateInput Output has been added and now the date-picker Input/Output are similar to the ones of MatDatepicker component
    • We respect now the Constraint validation standards. See: https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/HTML5/Constraint_validation#Validation-related_attributes
  • stark-ui: Refactor of Session Pages (login / logout / sessionExpired / preloading).

    • stark-ui: css on these components to change the default Stark logo will no longer work and should be refactored. For example adding this to src/styles/styles.scss
.stark-app-logo i {
  background-image: url("/assets/path-to-your-logo.png");
  background-size: contain;
}

10.0.0-beta.5 (2019-03-01)

Bug Fixes

  • release: remove all files from 'latest' folders before copying the new ones (bce59d0), closes #1138
  • stark-demo: change import to relative path (468a3f1)
  • stark-demo: remove transform from table-of-contents component (03b8954), closes #1137
  • stark-ui: add methods to create/reset the search form in the Generic Search. Fix the Generic Search demo page in Showcase. (128d8bf), closes #1125

Features

  • stark-build: implement integration with Angular CLI via @angular-builders (9a26c00), closes #883 #146 #114
  • stark-testing: add browser launchers for karma: Firefox, Edge and IE (754d0fd)
  • stark-ui: add show/hide functionality to tables (69b56f0), closes #522
  • stark-ui: add sticky action column to stark-table (0904e94), closes #1143

BREAKING CHANGES

  • stark-ui: new methods added to StarkSearchFormComponent interface:

    • createSearchForm: method that should contain the necessary logic to create the FormGroup to be bound to the search form.
    • resetSearchForm: method that should contain the necessary logic to reset the FormGroup bound to the search form.
  • stark-build: stark-build now integrates with Angular CLI:

    • stark-build: now provides partial Webpack configurations to override default configuration from Angular CLI. The application's angular.json file must be adapted to use this partial configs from stark-build via @angular-builders. See Stark-Build: Ng CLI Customizations
    • stark-core: the application's angular.json file must be adapted to add the assets from stark-core to be copied to the application's assets folder. See Stark-Core: Getting Started
    • stark-ui: the application's angular.json file must be adapted to add the assets from stark-ui to be copied to the application's assets folder. See Stark-UI: Getting Started

10.0.0-beta.4 (2019-02-15)

Bug Fixes

Features

  • stark-ui: add directive for transforming input value before passing it to a ngControl (0cf396c), closes #1099
  • stark-ui: implement directives for email, number and timestamp masks (3452894), closes #681 #682 #683
  • stark-ui: implement text-mask directive (f430ad0), closes #680

BREAKING CHANGES

  • stark-ui: new typings folder in the package containing typings for some libraries used by Stark-UI components/directives. This must be included in the typeRoots of your app tsconfig.json: "typeRoots": ["./node_modules/@nationalbankbelgium/stark-ui/typings", ...]

10.0.0-beta.3 (2019-02-06)

Bug Fixes

  • build-main: adapt regex pattern to include 'resolved' in package-lock.json replacement (e07108f)
  • docs: fix typo (c15e0cd)
  • stark-core: export StarkMessageImpl in public_api.ts (6c2546b)
  • stark-core: update typing in accordance with rxjs 6.4.0 (2aa37d4)
  • stark-demo: fix 404 error when loading pre-load-style.css (6fa246f), closes #1037
  • stark-demo: fix icons not displaying correctly (8bd9b4a), closes #504 #1030
  • stark-ui: add missing @angular/forms peerDependency (28866cf)
  • stark-ui: fix table filter implementation (73b40b3), closes #1071

Features

  • stark-all: prefix all (dev)dependencies with '^' in all Stark's packages + in starter & showcase (40c4dd6), closes #1053
  • stark-all: refine exports for the services (1bf950e), closes #1112
  • stark-build: adapt build utils and webpack config to read global styles from angular.json to align with Angular CLI (d0876f0), closes #1070
  • stark-demo: add styleguide/layout page for documenting the use of Angular Flex-layout (e1d157c), closes #668
  • stark-ui: expose single file (src/assets/stark-ui-bundle.scss) to import all component styles/theming (b86e190), closes #103
  • stark-ui: implement generic search component in generic module (68f7d24), closes #794
  • stark-ui: implement Route Search component (f3dda15), closes #207
  • stark-ui: implementation of progress-indicator component (5240bee), closes #126

BREAKING CHANGES

  • stark-ui: changed the following Output return types in Table module:
    • Table Column component:
      • filterChanged now emits StarkColumnFilterChangedOutput object instead of StarkTableColumnComponent
      • sortChanged now emits StarkColumnSortChangedOutput object instead of StarkTableColumnComponent
    • Table component:
      • filterChanged now emits StarkTableFilter object instead of a string
  • stark-build: global styles must be included in the angular.json (standard Angular CLI behavior) instead of importing them directly in the app

10.0.0-beta.2 (2019-01-14)

Bug Fixes

  • stark-all: fix dependency issues in stark-ui + add hammerjs dep in stark root to fix warning during tests + improve stark-language-selector component (47c2b4a)
  • stark-build: enhance regex for 3rd party libs to be transpiled to ES5 in Linux, Mac and Windows (c4a4c36), closes #918
  • stark-build: ignore 'System.import()' messages due to @angular/core (8ee3938)
  • stark-build: transpile certain third party libs to ES5 only in DEV to prevent breaking support for IE 11 (c762f8d), closes #900
  • stark-core: avoid circular dependencies by moving state names in a constants file (abe7fe2)
  • stark-core: refactor Http Request builder, Http service and Session service to prevent undefined and null header values to be added to Angular Http headers. (c728f9c), closes #856
  • stark-demo: add deployUrl to fix issue with lazy modules. Replace referenced icon asset in translations by in HTML. (d112acd), closes #849
  • stark-demo: add polyfill for web.dom.iterable (f57c47b), closes #732
  • stark-demo: fix overflow issue of message pane demo on mobile and IE11 (904c919), closes #732
  • stark-demo: fix the 404 error on github pages (d96ac1f), closes #859
  • stark-demo: update usage of stark-dropdown component in pretty-print demo page (e73766a), closes #732
  • stark-ui: add padding to table filter component (7f73477), closes #732
  • stark-ui: change location of minimap to right (2fb8a16), closes #732
  • stark-ui: fix circular dependencies due to wrong import in minimap (9a712fa)
  • stark-ui: fix filter issue + not translated column header issue in (746f675), closes #954 #955
  • stark-ui: fix overflow of calendar items (4eb2acd), closes #732
  • stark-ui: fix table refresh issue when data changes. (dd2eac0), closes #1003
  • stark-ui: implement workaround for mat-select bug in IE11 (f2887ad), closes #732
  • stark-ui: keep scroll position after closing sidenav (7d55a3e), closes #750
  • stark-ui: properly scale svg from mat-icon (f6a6258), closes #732
  • stark-ui: remove -apple-system from default font-family for correct rendering in IE11 (71ca177), closes #732
  • stark-ui: remove value property from li in pagination component (15a4a17), closes #732

Features

  • stark-all: update to Angular 7 + TypeScript 3.1 (edd108d), closes #871
  • stark-demo: add browserstack test script (5a490a3), closes #274
  • stark-starter: add preloading screens (844e0fe), closes #840 #596 #597
  • stark-ui: add custom styling to stark table component (dd91254), closes #523
  • stark-ui: add option to close sidebar after navigation (431f1e0), closes #995
  • stark-ui: add rowClick event emitter to table component (0182344), closes #795
  • stark-ui: add stark form util (1f94d93)
  • stark-ui: implementation of a session timeout warning (578b8a2)
  • stark-ui: implementation of app data component (e87c30a)
  • stark-ui: make dropdown component working with reactive form (b183e72)

10.0.0-beta.1 (2018-11-09)

Bug Fixes

  • package: update @mdi/angular-material to version 3.0.39 (457d2a5)
  • package: update @ngrx/effects to version 6.1.1 (1e7f887)
  • package: update @ngrx/effects to version 6.1.2 (1e898ac)
  • package: update @ngrx/store to version 6.1.1 (3ac98ab)
  • package: update @ngrx/store to version 6.1.2 (529448b)
  • package: update @ngrx/store-devtools to version 6.1.1 (1e5758b)
  • package: update @ngrx/store-devtools to version 6.1.2 (146a636)
  • package: update @types/uglify-js to version 3.0.4 (fce3a1d)
  • package: update @types/webpack to version 4.4.17 (24833c6)
  • package: update @types/webpack to version 4.4.18 (ec39709)
  • package: update add-asset-html-webpack-plugin to version 3.1.2 (727791f)
  • package: update angular-in-memory-web-api to version 0.7.0 (44e800e)
  • package: update copy-webpack-plugin to version 4.5.4 (ab76952)
  • package: update copy-webpack-plugin to version 4.6.0 (a4aac38)
  • package: update css-loader to version 1.0.1 (8bbc642)
  • package: update event-source-polyfill to version 1.0.0 (a62cf49)
  • package: update event-source-polyfill to version 1.0.0 (32a0ec6)
  • package: update event-source-polyfill to version 1.0.3 (ce41d15), closes #791
  • package: update event-source-polyfill to version 1.0.3 (2dffcb0), closes #791
  • package: update event-source-polyfill to version 1.0.4 (0df420c)
  • package: update event-source-polyfill to version 1.0.4 (aca911f)
  • package: update jasmine-core to version 3.3.0 (7fec286)
  • package: update karma to version 3.1.1 (548103e)
  • package: update nouislider to version 12.1.0 (6fd6337)
  • package: update stylelint to version 9.7.0 (f13de52)
  • package: update stylelint to version 9.7.1 (8bd786d)
  • package: update webpack to version 4.21.0 (6ac6104)
  • package: update webpack to version 4.22.0 (cceb258)
  • package: update webpack to version 4.23.1 (3fb70e5), closes #790
  • stark-build: add cspFontSrc as configurable property to webpack dev server (5367f69)
  • stark-core: include inherited params from ancestor routing states in navigation history. Adapt Routing Service isCurrentUiState() to take into account inherited params. (1131acf), closes #769
  • stark-core: re-create the last entry in the state history rather than add it again when a transition is dynamic. (2af2657), closes #773
  • stark-starter: add polyfill for String.prototype.trimRight (ef51f3c), closes #213
  • stark-ui: perform the session login in the Preloading page after fetching the user profile (7cc9572), closes #726
  • stark-ui: style fix: footer, header and table. Adapt Showcase and Starter. (553f0f8), closes #696 #715 #723

Features

  • stark-core: add support for deep state navigation for states from lazy loaded modules. Adapt Showcase to make DemoModule and NewsModule lazy loaded (6589846), closes #810
  • stark-core: allow customizing Login and Preloading states via the StarkSessionConfig (f8112cb), closes #727
  • stark-core: implementation of a custom error handler (74d98d0)
  • stark-demo: creation of a getting started page (8c98965), closes #720
  • stark-demo: improvement of the showcase (76a7d67)
  • stark-demo: integrate "angular-in-memory-web-api" to mock backend (needed for GitHub pages) (f698865)
  • stark-demo: reimplementation of the buttons in the header (4df6fdf)
  • stark-ui: add fixed header feature to table component (73b4756), closes #196
  • stark-ui: app Menu Component (5f662fa), closes #240 #710
  • stark-ui: implement Message Pane component (33bf233), closes #593
  • stark-ui: implementation of minimap component (4148d7d), closes #758
  • stark-ui: implementation of reference-block component (17e250f), closes #622
  • stark-ui: integrate translation support in AppMenu component (42a6b73), closes #755
  • stark-ui: split translations from UI components in the different modules they belong to. Split common Core and common UI translations. (bd6fbb6), closes #511
  • stark-ui: stark logo added to showcase and in app-logo component (c680d2a), closes #738

Performance Improvements

  • stark-build: remove deprecated Angular PurifyPlugin. Enhance UglifyJs options to improve performance. (ff621c5), closes #623

10.0.0-beta.0 (2018-09-27)

Bug Fixes

  • stark-core: fix failing XSRF service test (c3d2589)

Features

  • all: add session pages (4d13687), closes #407 #408 #409 #410
  • showcase: improve showcase and move styles from showcase to stark-ui _base (be80748)
  • stark-core: implement Stark XSRF module (e82ed0d), closes #115
  • stark-ui: cards standardization (87da0ef), closes #646
  • stark-ui: color settings (fcd12d5), closes #662
  • stark-ui: implement collapsible feature (44669a1), closes #595
  • stark-ui: implement Pagination component. Integrate pagination in Table component (96ae7b2), closes #539 #514
  • stark-ui: implement toast notification feature (98390c2)
  • stark-ui: implements footer component (2fca5c8)
  • stark-ui: language-selector: implement component/module (38cbd68), closes #564
  • stark-ui: typography + Spaces (8a5675d), closes #475 #671
  • starter: update Starter to keep in sync with Showcase (b0ffd95)

10.0.0-alpha.5 (2018-09-07)

Bug Fixes

  • build-main: fix version of greenkeeper-lockfile which is installed during travis build (1970b71)
  • build-main: remove custom value for TRAVIS variable (f00d63a), closes #605
  • build: add an argument for build prod when it is a Test CI. Adapt travis.yml to use it (b954903), closes #572 #566
  • greenkeeper: fix greenkeeper for updating package-lock (000a4a5)
  • greenkeeper: fix greenkeeper-lockfile (865fee0)
  • release: add "package-lock.json" to the set of files to be updated by release-it (ac7c85c), closes #574
  • release: fix wrong pushRepo option in release-it according to the latest version (5992603), closes #669
  • stark-all: change BrowserModule for CommonModule. Rearrange styles in showcase. Improve build script (83cf5c9)
  • stark-all: upgrade lint-staged to 7.2.2 to fix weird validation warning (62b0b4a), closes #666
  • stark-core: added lodash dependency (649ce6e), closes #630
  • stark-demo: adapt ExampleViewer to fetch example fiiles targeting the right url. Rename title input to prevent weird tooltip. (491fd99), closes #575 #580
  • stark-demo: add AppLogo back in the header after being accidentally removed (4a13249)
  • stark-demo: add missing files and regex to the showcase url auto-replace script (3db3270), closes #571
  • stark-demo: hTML highlighting and 'Try it yourself' (f5114f7), closes #601
  • stark-ui: button - align icon vertically (f9015fb), closes #619
  • stark-ui: modify CSS and add App-Logo to Showcase (90e2e05), closes #583
  • stark-ui: removed TranslateService from breadcrumb component (f40027f)

Features

  • stark-core: use the browser language as the default language (561d288), closes #578
  • stark-demo: add Slider component to the Showcase Demo (0c75595), closes #561
  • stark-demo: style header in the showcase (1804ca3), closes #570
  • stark-ui: added white theme and full width for dropdown component (c8c998e), closes #642 #640
  • stark-ui: date Picker Component (705358c), closes #542
  • stark-ui: implement date range picker (ab06b73), closes #586
  • stark-ui: implement the logout domponent/module (74c2bba), closes #588
  • stark-ui: implementation of breadcrumb component (8f2f129), closes #591
  • stark-ui: implementation of stark dropdown component (40adf24), closes #447
  • stark-ui: implementation of the app sidebar (09eeeea), closes #592

10.0.0-alpha.4 (2018-07-30)

Bug Fixes

  • build: adding quotes arround the Prettier parameters to fix an issue on MacOS. (ff1188b)
  • stark-core: fix circular dependencies detected by Rollup (0620d7b), closes #530
  • stark-core: refactor AbstractStarkMain to enable Angular prod mode before bootstraping the app (bb319fa)
  • stark-demo: add baseHref dynamically via Angular provider to fix Showcase when published in GitHub pages (cfc8592), closes #466
  • stark-demo: adding StarkLoggingService to the ExampleViewer tests (380a60d), closes #484
  • stark-demo: fix baseHref in angular.json file (2a36276)
  • stark-demo: fix pretty-print demo translations (3999ff9)
  • stark-demo: revert PR #471. Adapt baseHref/deployUrl automatically via Node script to fix Showcase when published in GitHub pages (f9dadfd)
  • stark-ui: fix unresolved dependencies detected by Rollup (a1d9487), closes #532
  • stark-ui: include only "src" and "assets" folders in "lint-css" command on stark-ui and stark-core (a1c3a4f)
  • stark-ui: tooltip translation + table translation (12dd3b3), closes #502

Features

  • core: integrated bootstrap (97ca29e), closes #112 #412
  • stark-all: enable npm ci for travis + add package-lock.json + force registry.npmjs.org as registry (f47d610), closes #43
  • stark-build: add support for environment variables at runtime (importing environment.ts file) and at compilation time (using webpack Define plugin) (c29e36b), closes #50
  • stark-build: added html-element-webpack-plugin to handle head section in index.html (ce089c8), closes #60
  • stark-core: add @ngrx-store-devtools package. Integrate store dev tools in showcase and starter (b9c9179), closes #81 #117
  • stark-core: http-service: isolate NBB specifics (e58afa7), closes #257
  • stark-demo: add pretty-print component to Showcase Demo (93557cb), closes #496
  • stark-ui: action Bar Component (d1dd733), closes #481
  • stark-ui: add Prettier and use it for all the supported types of data (5b06aef), closes #500
  • stark-ui: add stark-action-bar into stark-table (d3a2c6d), closes #512
  • stark-ui: example Viewer + basic showcase layout (ff675c8), closes #458 #459
  • stark-ui: implement OnEnterKey directive. Create KeyboardDirectives module (0696959), closes #538
  • stark-ui: implement RestrictInput directive and module (b8bd5be), closes #546 #550
  • stark-ui: implement the Stark-Pretty-Print component (22f84b6), closes #494 #496
  • stark-ui: implement the Stark-Slider component (fd6d03d), closes #448
  • stark-ui: implementation of the button's theme (c49b6ef), closes #476
  • stark-ui: import old stark ui global theming (9ac8dde), closes #456 #472
  • stark-ui: improve example viewer styling (bad3746), closes #515
  • stark-ui: initial implementation of Stark Table component (supporting nested data, sorting and filtering) (80e86c3)

Performance Improvements

  • build-main: adapt "npm install" commands to prevent optional dependencies from being installed. Enable parallelization in webpack prod config. (020a5f4)

10.0.0-alpha.3 (2018-06-26)

Bug Fixes

  • build-main: add support for circular dependency warning. Fix rollup external dependencies (ebd0fd1)
  • build-main: move ng dependencies to ROOT of Stark. Fix issue in build process. Rename tsconfig (c7fecdb), closes #361 #362
  • build: adapted the perl command to specify the backup file extension. This was necessary for some perl versions (ec4afc6)
  • build: fix issue in build-utils with environment. Environment file was not replaced as it should. (d21a837), closes #439
  • build: fix sourcemaps in PROD and in DEV (c8c5696), closes #401
  • build: fixed webpack config and circular-dependency-plugin config. Closes #397, #315 (ea9c264)
  • release: adapt release-it.json and commitlint scopes to fix "release" command failure (0e05826)
  • stark-all: add npx for the remaining script calling global rimraf package (3ce0dac)
  • stark-all: fix nightly build release on Travis (2c2445c), closes #357
  • stark-all: fix some imports and remove obsolete fixme's. Format code with Prettier. Fix stark-ui linting. (daf258b)
  • stark-all: packages: building the stark-core and stark-ui packages with the ncg script fails (139e47b), closes #441
  • stark-build) fix(stark-starter: fix webpack monitor issues with reports folder and HMR (78c799f)
  • stark-build: include postcss loader+plugins to the Webpack css and scss files processing (ffd60e7)
  • stark-core: add missing barrel for common folder. Fix stark-core translations utils imports. (febb69b)
  • stark-starter: fix blocking issue for reports folder (1b7d492), closes #356
  • stark-ui) fix(stark-testing: add stark-ui package to the npm install:all script. Simplify customization of default Karma config. (4f77730)

Features

  • build: add support for custom baseHref and deployUrl in angular-cli.json file with BaseHrefWebpackPlugin (cf941bd), closes #148
  • build: add support for publishing api docs and showcase using Travis. Closes #282 (f38ff86)
  • build: add webpackMonitor (ee46bef), closes #322
  • build: added changelog generation. Closes #335 (e06ba53)
  • core: validate the AppConfig in every service where it is injected (dd41aa5), closes #382
  • docs: added API docs generation to packages and starter. Closes #127 (50c610f)
  • docs: added TSlint rules and adapted documentation for the project (14cb90f), closes #424 #389
  • docs: improved API docs generation with watch mode and coverage checks (60701c8)
  • showcase: added showcase, cleaned up start and got rid of old testing cfg. Closes #395 #353. Contributes to #130 and #63 (abeefe7)
  • stark-all: add commitizen + commitlint with scripts, config & dependencies (1cb59c2), closes #290
  • stark-all: enable resourcesInlining once we have Angular 6 for inlining template in components (9b33ccd), closes #376
  • stark-all: integrate SonarTS to current TSLint checks. Refactor code to fix TSLint violations. (8627ab4), closes #331
  • stark-all: move dev dependencies from packages to ROOT of project + Fix source-map-loader issue (98d2bc0), closes #371
  • stark-all: update to Angular 6, Rxjs 6, Webpack 4, TypeScript 2.7.2 (862d10a), closes #359 #258 #19
  • stark-demo: cleanup of Stark Showcase application (c0a0163), closes #422
  • stark-starter: add NgIdleKeepAlive module in app module (305989b), closes #261
  • stark-ui: implement SvgViewBox directive to enable resizing of Angular Material's mat-icon directive (b4dc8ec), closes #455
  • translation: add functionality to enable the use of translations in Stark modules (fbdfc25)
  • ui: add material theming (9b03c06)
  • ui: create stark-ui package. Implement AppLogo module in Stark. (ffaeacd), closes #101
  • ui: integrate @mdi/angular-material icons (1e30ab7), closes #123

10.0.0-alpha.2 (2018-04-25)

Bug Fixes

  • build: Disable i18n rule for Codelyzer (50a203d)
  • build: Fix Import bracket rule for prettier and tslint (41562db)
  • build: fixed issue with prettier config name with webpack plugin and added new scripts at root (51be4f6)
  • core: fix for validation module related to requested changes (09a388d)
  • core: fix ngc issues and clean-up code in stark-core. Integrate AppMetadata in Starter (5299842)
  • http: fix unit tests. Enhance http demo in Starter (#268) (6d609b8), closes #68 #68 #84 #93 angular/zone.js#1015 #96
  • lazy-loading: Remove PreloadAllModules preloading strategy from routing coneiguration to make lazy-loaded modules to be actually lazy loaded :) (9634dac)
  • lazy-loading: Remove PreloadAllModules preloading strategy from routing coneiguration tz makz lazz-loaded modules to be actually lazy loaded :) (80d09ce)
  • linting: clean stark-build/tslint.json. Remove obsolete options for 'ban' rule (86ed26c)
  • linting: fix some TS linting issues (8d5d6a8)
  • logging: uncomment reducer implementation in logging.module.ts (07a5f0e)
  • ngrx-store: use ngrx store feature selectors in Stark Core modules. Use store-freeze and store-logger meta-reducers in Starter (916c435)
  • rollup: add ibantools to external dependencies (9606ecc)
  • Use latest rxjs forward-compat to solve ErrorObservable issues (28c7ceb)

Features

  • build: added .gitattributes. Closes #144. (b4c3ef2)
  • build: added release and publish support. Closes #54. Closes #24. Closes #27 (101ceab)
  • build: added support for building a subset of the packages (55ec4c1)
  • coverage: add support for code coverage with Coveralls (72aefce)
  • http: correction for imports (464566a)
  • http: create StarkHttp module. Fixed imports. Implemented small demo in Starter [#96] (201edb8)
  • http: implement Stark Http in stark-core (unit tests to be completed) [#96] (579c59b)
  • http: implement Stark Http in stark-core (unit tests to be completed) [#96] (719d92d)
  • logging: create StarkLogging module. Fixed imports (f3684db)
  • logging: implement STARK_APP_CONFIG token and implement Stark logging in Starter (ec09736)
  • polyfills: Update polyfills.browser.ts with the relevant polyfills needed only for IE11 and some special features from Angular. Add needed npm dependencies for those polyfils (2b6a160)
  • routing: adapt CSP style-src directive to allow inline styles from UI Router visualizer (8a1a8fa)
  • routing: add UI Router visualizer. Adapt CSP img-src directive to allow png images from UI Router visualizer (3bc995b)
  • routing: replace Angular Router by UI Router (24b70d4)
  • session: add actions, entities, reducers and services for session module (2dad18c)
  • session: Correction relative to PR requested changes for session module (4290029)
  • stark-testing: create separate stark-testing package and use it in all stark packages and starter (#267) (204dc35), closes #68 #68 #84 #93 angular/zone.js#1015
  • user: add entities for user module (38c48fe)