GithubHelp home page GithubHelp logo

angular-ru / angular-ru-sdk Goto Github PK

View Code? Open in Web Editor NEW
73.0 5.0 16.0 16.83 MB

๐Ÿ…ฐ๏ธ ngular-RU Software Development Kit

License: MIT License

JavaScript 2.84% TypeScript 87.30% Shell 0.01% HTML 7.90% CSS 0.17% SCSS 1.78%
angular sdk libraries development-kit typescript cdk components utils

angular-ru-sdk's Issues

๐Ÿš€[FEATURE]: directive-selector and component-selector

 // ORIGINAL tslint.json -> "directive-selector": [true, "attribute", "app", "camelCase"],
    '@angular-eslint/directive-selector': [
      'error',
      { type: 'attribute', prefix: 'hc', style: 'camelCase' },
    ],

    // ORIGINAL tslint.json -> "component-selector": [true, "element", "app", "kebab-case"],
    '@angular-eslint/component-selector': [
      'error',
      { type: 'element', prefix: 'hc', style: 'kebab-case' },
    ],

๐Ÿš€[FEATURE]: context menu item in table builder

<ngx-context-menu-item
                (onClick)="showDisputeCycleByArn()"
                [disable]="!$any(item)?.state?.item || table.selection.selectionModel.size > 1">

new behaviour

<ngx-context-menu-item 
    disable-when-item-is-empty
    disable-when-multiple-selected 
    (onClick)="showDisputeCycleByArn()">

๐Ÿš€[FEATURE]: Material Extensions

    protected readonly multiEditModal: ModalHandler<PosShop> = dialog()
        .setComponent(MultiEditShopLimitsModalComponent)
        .setFullOverlay()
        .setWidth('500px');

๐Ÿž[BUG]: https://github.com/Angular-RU/angular-ru-sdk/pull/490

class Cd {}

@InjectContext()
class IceCream {
    @Authowired() cd?: Cd;
}

function Authowired() {
  return function(target: Object, key: string | symbol) {
    let val = target[key];

    Promise.resolve().then(() => {
        console.log('emoji', target);
    });

    const getter = () =>  {
        return val;
    };
    const setter = (next) => {
        val = `๐Ÿฆ ${next} ๐Ÿฆ`;
    };

    Object.defineProperty(target, key, {
      get: getter,
      set: setter,
      enumerable: true,
      configurable: true,
    });

  };
}

function AuthowireContext(constructor: Function) {
  console.log('constructor.prototype', constructor.prototype)
}

image

#490

๐Ÿš€[FEATURE]: Support deep keyof in exclude pattern

type PropType<T, Path extends string> =
    string extends Path ? unknown :
    Path extends keyof T ? T[Path] :
    Path extends `${infer K}.${infer R}` ? K extends keyof T ? PropType<T[K], R> : unknown :
    unknown;

declare function getPropValue<T, P extends string>(obj: T, path: P): PropType<T, P>;
declare const s: string;

const obj = { a: { b: {c: 42, d: 'hello' }}};
getPropValue(obj, 'a');  // { b: {c: number, d: string } }
getPropValue(obj, 'a.b');  // {c: number, d: string }
getPropValue(obj, 'a.b.d');  // string
getPropValue(obj, 'a.b.x');  // unknown
getPropValue(obj, s);  // unknown

๐Ÿš€[FEATURE]: improved tsconfig

"tsBuildInfoFile": "./node_modules/.ts-buildcache/tsconfig.buildinfo",
    "incremental": true,
"exclude": ["node_modules", "dist/**", "__tests__/**"]

Roadmap 2021

ROADMAP

Q1 Jan - Mar

Features or fixes

  • Support Angular 10/11

Q2 Apr - Jun

Features or fixes

  • Support Jest@27, ts-jest@27, jest-preset-angular@9
  • Support Angular 12

Q3 Jul - Sep

Feature

BREAKING CHANGES

  • Rename packages for align version with Angular:
    • @angular-ru/common -> move to@angular-ru/cdk
      • @angular-ru/http -> move to @angular-ru/cdk/http
      • @angular-ru/logger -> move to @angular-ru/cdk/logger
      • @angular-ru/flex-layout -> move to @angular-ru/cdk/flex-layout
      • @angular-ru/stream -> move to @angular-ru/cdk/stream
      • @angular-ru/webscoket -> move to @angular-ru/cdk/websocket
      • @angular-ru/ng-excel-builder -> move to @angular-ru/cdk/excel
    • Create common package to enterprise configs package
      • @angular-ru/tsconfig -> move to @angular-ru/configs/tsconfig.json
      • @angular-ru/eslint-config -> move to @angular-ru/configs/eslint
      • @angular-ru/renovate-config -> move to @angular-ru/configs/renovate
      • @angular-ru/commitlint-config -> move to @angular-ru/configs/commitlint
      • @angular-ru/prettier-config -> move to @angular-ru/configs/prettier
    • @angular-ru/eslint-plugin -> move to @angular-ru/eslint-plugin-enterprise
    • @angular-ru/jest-utils -> move to @angular-ru/jest-builder
    • @angular-ru/ng-table-builder -> move to @angular-ru/table-grid
    • @angular-ru/build-tools -> move to @angular-ru/dev-dependencies

CI

  • Add integration with Nx Platform
  • Remove ng-packagr builder, prefer @angular-devkit/build-angular -
    #628
  • Improved CI: should be checked is included package name in commit message

Documentation

  • Improved documentation with Docusaurus

Features or fixes

  • Improved HTTP statuses - #466
  • Create new package @angular-ru/ngxs-data-plugin
  • Create new package @angular-ru/cdk/material-extensions -
    #516
  • Add eslint-plugin-unicorn - #13
  • Add @angular-eslint/sort-ngmodule-metadata-arrays - #523
  • Add eslint-plugin-rxjs - #370
  • Add prefer-template - #63

Q4 Oct - Dec

Coming soon

๐Ÿš€[FEATURE]: Material extensions

@ModalTitle(MULTI_EDIT)
    @Modal(MultiEditModalComponent)
    @ModalOptions({ ...FULL_OVERLAY_CONFIG, width: '500px' })
    protected readonly multiEditModalRef!: ModalHandler<Model>;

MyBug

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

๐Ÿš€[FEATURE]: Create form builder

instead

public formGroup: FormGroup = this.fb.group({
        systemName: new FormControl(null, Validators.required),
        fullName: new FormControl(null, Validators.required),
        alertTypeId: new FormControl(null, [Validators.required, isIntegerValidator()]),
        instructionId: new FormControl(null, [Validators.required, isIntegerValidator()]),
        priorityId: new FormControl(null, [
            Validators.required,
            isIntegerValidator(),
            Validators.min(this.minPriority),
            Validators.max(this.maxPriority)
        ]),
        onCallTeam: new FormControl(null, Validators.required),
        id: new FormControl(null),
        parentAlertId: new FormControl(null)
    });
@Form()
export class AlertInfo {
    @FormField() public id?: number = null!;
    @FormField() public systemName: string = null!;
    @FormField() public fullName: string = null!;
    @FormField() public alertTypeId?: number = null!;
    @FormField() public parentAlertId?: number = null!;
    @FormField() public instructionId?: number = null!;
    @FormField() public priorityId?: number = null!;
    @FormField() public onCallTeam?: string = null!;
}

@Component({})
class Component {
  @FormGroup(AlertInfo) formGroup!: FormGroup;
}

Dependency Dashboard

This issue contains a list of Renovate updates and their statuses.

Pending Approval

These branches will be created by Renovate only once you click their checkbox below.

  • build: update dependency @types/node to v15.14.2
  • build: update dependency karma-jasmine-html-reporter to v1.7.0
  • build: update dependency ts-node to v10.1.0
  • build: update dependency rxjs to v7

Edited/Blocked

These updates have been manually edited so Renovate will no longer make changes. To discard all commits and start over, check the box below.


  • Check this box to trigger a request for Renovate to run again on this repository

Dependency Dashboard

Discussed in https://github.com/Angular-RU/angular-ru-sdk/discussions/736

Originally posted by renovate[bot] June 19, 2020
This issue contains a list of Renovate updates and their statuses.

Pending Approval

These branches will be created by Renovate only once you click their checkbox below.

  • build: update dependency @types/jest to v26.0.24
  • build: update dependency ng-packagr to v12.1.1
  • build: update dependency prettier to v2.3.2
  • build: update dependency typescript to v4.3.5
  • build: update eslint (@types/eslint, @typescript-eslint/eslint-plugin, @typescript-eslint/parser, eslint, eslint-plugin-sonarjs)
  • build: update dependency @types/jasmine to v3.8.1
  • build: update dependency @types/node to v15.14.1
  • build: update dependency @types/node to v16
  • build: update dependency husky to v7
  • build: update dependency rxjs to v7
  • build: update eslint (major) (@angular-eslint/eslint-plugin, @angular-eslint/eslint-plugin-template, @angular-eslint/template-parser, eslint-plugin-jsdoc)

  • Check this box to trigger a request for Renovate to run again on this repository

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.