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 Introduction

Angular-RU SDK

gitbook LICENSE codecov CI Build Maintainability CI Integrations CI Lint CI Release CI Test

The Angular-RU Software Development Kit (SDK) is a set of tool chain that implement common interaction patterns whilst being un opinionated about their presentation for Angular. It represents an abstraction of the core functionalities found in the Angular.


Development kit

Package Version README Downloads
@angular-ru/cdk
@angular-ru/ngxs

Infra

Sharable configs

Package Version README Downloads
@angular-ru/typescript
@angular-ru/renovate
@angular-ru/prettier
@angular-ru/commitlint

Jest

Package Version README Downloads
@angular-ru/jest

ESLint

Package Version README Downloads
@angular-ru/eslint-plugin-enterprise
@angular-ru/eslint-config-enterprise

Useful dev dependencies for many project

Package Version README Downloads
@angular-ru/dev-dependencies

angular-ru-sdk's People

Contributors

al-mart avatar angular-ru-bot avatar chuguev avatar dependabot[bot] avatar enima-dema avatar gromon42 avatar hakimio avatar halynsky avatar imxmv avatar kingofferelden avatar krtek4 avatar lightllord avatar malvill avatar mansurishmuhametov avatar markiewic avatar nikitasadchikov avatar pleshakovalexander avatar r3tep avatar renovate-bot avatar renovate[bot] avatar splincode avatar stepazol avatar yamaha252 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

angular-ru-sdk's Issues

๐Ÿš€[FEATURE]: Material Extensions

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

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

๐Ÿš€[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' },
    ],

๐Ÿž[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]: Material extensions

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

๐Ÿš€[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;
}

๐Ÿš€[FEATURE]: improved tsconfig

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

๐Ÿš€[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]: 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

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

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

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.

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.