mgechev

mgechev

Working on Angular at Google. Previously co-founder & CTO of Rhyme.com (acquired by Coursera) 🇧🇬🇺🇸

Member Since 10 years ago

Google,

Experience Points
8.2k
follower
Lessons Completed
1
follow
Lessons Completed
149
stars
Best Reply Awards
352
repos

1399 contributions in the last year

Pinned
⚡ The modern web developer’s platform
⚡ 💻 JavaScript implementations of computer science algorithms
⚡ 🔮 Libraries & tools for enabling Machine Learning driven user-experiences on the web
⚡ 📚 Community-driven set of best practices for AngularJS application development
⚡ ⚡ Cheatsheet for developing lightning fast progressive Angular applications
⚡ 🔥 ~6x faster, stricter, configurable, extensible, and beautiful drop-in replacement for golint
Activity
Oct
21
20 hours ago
Activity icon
delete

mgechev in rangle/angular-devtools delete branch renovate/webpack-5.x

deleted time in 4 hours ago
push

mgechev push rangle/angular-devtools

mgechev
mgechev

build(deps): update dependency webpack to v5.59.1

commit sha: ab887204d396c6014af111e316a47f71b2a8596f

push time in 4 hours ago
pull request

mgechev pull request rangle/angular-devtools

mgechev
mgechev

build(deps): update dependency webpack to v5.59.1

WhiteSource Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
webpack 5.58.2 -> 5.59.1 age adoption passing confidence

Release Notes

webpack/webpack

v5.59.1

Compare Source

Bugfixes

  • fix regexp in managedPaths
  • fix hanging when trying to write lockfile for experiments.buildHttp

v5.59.0

Compare Source

Features

  • add /*#__PURE__*/ for Object() in generated code
  • add RegExp and function support for managed/immutablePaths
  • add hooks for multiple phases in module build
  • improvements to experiments.buildHttp
    • allow to share cache
    • add allowlist
  • add splitChunks.minSizeReduction option

Bugfixes

  • fix memory caching for Data URLs
  • fix crash in waitFor when modules are unsafe cached
  • fix bug in build cycle detection

Configuration

📅 Schedule: "after 10pm every weekday,before 5am every weekday,every weekend" in timezone America/Tijuana.

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, click this checkbox.

This PR has been generated by WhiteSource Renovate. View repository job log here.

pull request

mgechev merge to rangle/angular-devtools

mgechev
mgechev

build(deps): update dependency webpack to v5.59.1

WhiteSource Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
webpack 5.58.2 -> 5.59.1 age adoption passing confidence

Release Notes

webpack/webpack

v5.59.1

Compare Source

Bugfixes

  • fix regexp in managedPaths
  • fix hanging when trying to write lockfile for experiments.buildHttp

v5.59.0

Compare Source

Features

  • add /*#__PURE__*/ for Object() in generated code
  • add RegExp and function support for managed/immutablePaths
  • add hooks for multiple phases in module build
  • improvements to experiments.buildHttp
    • allow to share cache
    • add allowlist
  • add splitChunks.minSizeReduction option

Bugfixes

  • fix memory caching for Data URLs
  • fix crash in waitFor when modules are unsafe cached
  • fix bug in build cycle detection

Configuration

📅 Schedule: "after 10pm every weekday,before 5am every weekday,every weekend" in timezone America/Tijuana.

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, click this checkbox.

This PR has been generated by WhiteSource Renovate. View repository job log here.

Oct
18
3 days ago
pull request

mgechev pull request rangle/angular-devtools

mgechev
mgechev

fix: Support Electron (#849)

Fix (#849).

In the electron chrome.browserAction is not available. Added condition in the bacground.ts file.

push

mgechev push rangle/angular-devtools

mgechev
mgechev

fix: Support Electron (#849)

Following suggestion from the issue thread, created an empty polyfills to the chrome.browserAction calls, which are not available in the electron.

commit sha: 3efa7a2063a616c69d7451bec877f6ac8ffbcc41

push time in 2 days ago
pull request

mgechev merge to rangle/angular-devtools

mgechev
mgechev

fix: Support Electron (#849)

Fix (#849).

In the electron chrome.browserAction is not available. Added condition in the bacground.ts file.

mgechev
mgechev

LGTM, thanks for the PR!

pull request

mgechev merge to rangle/angular-devtools

mgechev
mgechev

fix: Support Electron (#849)

Fix (#849).

In the electron chrome.browserAction is not available. Added condition in the bacground.ts file.

Activity icon
issue

mgechev issue comment rangle/angular-devtools

mgechev
mgechev

Bump typescript version

build(devtools): bump typescript version to keep angular devtools compatible with the angular compiler.

See build failure that prompted this version bump.

mgechev
mgechev

Can we move this forward?

Activity icon
delete

mgechev in mgechev/angular-devtools delete branch trusted-types

deleted time in 2 days ago
pull request

mgechev pull request rangle/angular-devtools

mgechev
mgechev

Introduce trusted types support

Fix #949

Activity icon
issue

mgechev issue rangle/angular-devtools

mgechev
mgechev

Trusted types support

What feature do you want to see?

Support for trusted types in development mode.

Why is it important to you?

Folks who want to experiment with trusted types and ng serve may want to debug their apps with Angular DevTools. Making sure Angular DevTools supports trusted types is nice to have.

Describe functionality in details. Apply mocks if applicable:

  1. Declare a security policy that's shared between different DevTools unsafe operations (i.e. script injection, overlay, etc.)
  2. Ensure we don't import Angular within the backend so that we don't cause redeclaration of the Angular security policies
push

mgechev push angular/angular-update-guide

mgechev
mgechev

Updates warning about multi-major migrations to state that this is not supported any more. (#144)

Also updates all the ng update commands to use npx @angular/[email protected] update, so the instructions are still usable since the user will only upgrade one major at a time and they will use the correct CLI version for the migration.

commit sha: d35fdba54384aa3c4e05b0be874fdba8fd4e7747

push time in 2 days ago
pull request

mgechev pull request angular/angular-update-guide

mgechev
mgechev

Updates warning about multi-major migrations to state that this is not supported any more in v13+

Also updates all the ng update commands to use npx @angular/[email protected] update, so the instructions are still usable since the user will only upgrade one major at a time and they will use the correct CLI version for the migration.

pull request

mgechev merge to angular/angular-update-guide

mgechev
mgechev

Updates warning about multi-major migrations to state that this is not supported any more in v13+

Also updates all the ng update commands to use npx @angular/[email protected] update, so the instructions are still usable since the user will only upgrade one major at a time and they will use the correct CLI version for the migration.

open pull request

mgechev wants to merge rangle/angular-devtools

mgechev
mgechev

Introduce trusted types support

Fix #949

mgechev
mgechev

Only two, there should be no performance penalty.

Activity icon
issue

mgechev issue comment rangle/angular-devtools

mgechev
mgechev

Duplicate `ChangeDetectionStrategy`

Duplicates ChangeDetectionStrategy for the devtools backend so that we can avoid pulling in the entire @angular/core package.

Activity icon
issue

mgechev issue comment angular/angular-update-guide

mgechev
mgechev

Add recommendation for Angular 12

mgechev
mgechev
Oct
15
6 days ago
pull request

mgechev merge to mgechev/revive

mgechev
mgechev

Memoization of rule arguments

In the current implementation of rules, the configuration of rules is read and checked each time the rule is applied to a file.

For example in https://github.com/mgechev/revive/blob/b331445a16a40a0745d8d38dc399e045f41af055/rule/banned-characters.go#L17-L33

lines 20 and 21 will be executed for each file with the very same arguments argument, thus the function calls will return always the same result.

This PR modifies the way argument of rules are handled by memoizing them and avoid checking and analyzing them for each file.

mgechev
mgechev

LGTM. Left minor comments. Both > 1 and == 0 sound good. To me == 0 is a bit better, more deterministic.

pull request

mgechev merge to mgechev/revive

mgechev
mgechev

Memoization of rule arguments

In the current implementation of rules, the configuration of rules is read and checked each time the rule is applied to a file.

For example in https://github.com/mgechev/revive/blob/b331445a16a40a0745d8d38dc399e045f41af055/rule/banned-characters.go#L17-L33

lines 20 and 21 will be executed for each file with the very same arguments argument, thus the function calls will return always the same result.

This PR modifies the way argument of rules are handled by memoizing them and avoid checking and analyzing them for each file.

open pull request

mgechev wants to merge mgechev/revive

mgechev
mgechev

Memoization of rule arguments

In the current implementation of rules, the configuration of rules is read and checked each time the rule is applied to a file.

For example in https://github.com/mgechev/revive/blob/b331445a16a40a0745d8d38dc399e045f41af055/rule/banned-characters.go#L17-L33

lines 20 and 21 will be executed for each file with the very same arguments argument, thus the function calls will return always the same result.

This PR modifies the way argument of rules are handled by memoizing them and avoid checking and analyzing them for each file.

mgechev
mgechev

Maybe == 0 for consistency?

pull request

mgechev merge to mgechev/revive

mgechev
mgechev

Memoization of rule arguments

In the current implementation of rules, the configuration of rules is read and checked each time the rule is applied to a file.

For example in https://github.com/mgechev/revive/blob/b331445a16a40a0745d8d38dc399e045f41af055/rule/banned-characters.go#L17-L33

lines 20 and 21 will be executed for each file with the very same arguments argument, thus the function calls will return always the same result.

This PR modifies the way argument of rules are handled by memoizing them and avoid checking and analyzing them for each file.

open pull request

mgechev wants to merge mgechev/revive

mgechev
mgechev

Memoization of rule arguments

In the current implementation of rules, the configuration of rules is read and checked each time the rule is applied to a file.

For example in https://github.com/mgechev/revive/blob/b331445a16a40a0745d8d38dc399e045f41af055/rule/banned-characters.go#L17-L33

lines 20 and 21 will be executed for each file with the very same arguments argument, thus the function calls will return always the same result.

This PR modifies the way argument of rules are handled by memoizing them and avoid checking and analyzing them for each file.

mgechev
mgechev

Maybe == 0 for consistency?

pull request

mgechev merge to mgechev/revive

mgechev
mgechev

Memoization of rule arguments

In the current implementation of rules, the configuration of rules is read and checked each time the rule is applied to a file.

For example in https://github.com/mgechev/revive/blob/b331445a16a40a0745d8d38dc399e045f41af055/rule/banned-characters.go#L17-L33

lines 20 and 21 will be executed for each file with the very same arguments argument, thus the function calls will return always the same result.

This PR modifies the way argument of rules are handled by memoizing them and avoid checking and analyzing them for each file.

open pull request

mgechev wants to merge mgechev/revive

mgechev
mgechev

Memoization of rule arguments

In the current implementation of rules, the configuration of rules is read and checked each time the rule is applied to a file.

For example in https://github.com/mgechev/revive/blob/b331445a16a40a0745d8d38dc399e045f41af055/rule/banned-characters.go#L17-L33

lines 20 and 21 will be executed for each file with the very same arguments argument, thus the function calls will return always the same result.

This PR modifies the way argument of rules are handled by memoizing them and avoid checking and analyzing them for each file.

mgechev
mgechev

Maybe == 0 for consistency?

Previous