1
0
mirror of https://github.com/XFox111/PasswordGeneratorExtension.git synced 2026-07-02 19:52:43 +03:00

Compare commits

...

27 Commits

Author SHA1 Message Date
Eugene Fox 4a11ebbb45 Patch 2.2.5 (#177)
* Bump @types/react from 18.0.32 to 18.0.33 (#160)

Bumps [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) from 18.0.32 to 18.0.33.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* CodeQL URL sanitization fix (#162)

* Redone feedback link determination (CodeQL#7, CodeQL#8)

* Removed unused import to fix CI pipeline

* Changed RNG method for password generator (CodeQL#1, CodeQL#2) (#163)

* Bump @fluentui/react-components from 9.18.6 to 9.19.1 (#168)

Bumps [@fluentui/react-components](https://github.com/microsoft/fluentui) from 9.18.6 to 9.19.1.
- [Release notes](https://github.com/microsoft/fluentui/releases)
- [Changelog](https://github.com/microsoft/fluentui/blob/master/azure-pipelines.release-fluentui.yml)
- [Commits](https://github.com/microsoft/fluentui/compare/@fluentui/react-components_v9.18.6...@fluentui/react-components_v9.19.1)

---
updated-dependencies:
- dependency-name: "@fluentui/react-components"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump typescript from 5.0.3 to 5.0.4 (#167)

Bumps [typescript](https://github.com/Microsoft/TypeScript) from 5.0.3 to 5.0.4.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v5.0.3...v5.0.4)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump webpack from 5.77.0 to 5.81.0 (#166)

Bumps [webpack](https://github.com/webpack/webpack) from 5.77.0 to 5.81.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.77.0...v5.81.0)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @types/react from 18.0.33 to 18.2.0 (#165)

Bumps [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) from 18.0.33 to 18.2.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @types/react-dom from 18.0.11 to 18.2.1 (#164)

Bumps [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) from 18.0.11 to 18.2.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)

---
updated-dependencies:
- dependency-name: "@types/react-dom"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eugene Fox <eugene.xfox@outlook.com>

* Update package.json

* Bump @types/node from 18.15.11 to 20.2.5 (#176)

Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 18.15.11 to 20.2.5.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump html-webpack-plugin from 5.5.0 to 5.5.1 (#175)

Bumps [html-webpack-plugin](https://github.com/jantimon/html-webpack-plugin) from 5.5.0 to 5.5.1.
- [Release notes](https://github.com/jantimon/html-webpack-plugin/releases)
- [Changelog](https://github.com/jantimon/html-webpack-plugin/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jantimon/html-webpack-plugin/compare/v5.5.0...v5.5.1)

---
updated-dependencies:
- dependency-name: html-webpack-plugin
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump webpack from 5.81.0 to 5.85.0 (#174)

Bumps [webpack](https://github.com/webpack/webpack) from 5.81.0 to 5.85.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.81.0...v5.85.0)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @types/react-dom from 18.2.1 to 18.2.4 (#172)

Bumps [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) from 18.2.1 to 18.2.4.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)

---
updated-dependencies:
- dependency-name: "@types/react-dom"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @types/jest from 29.5.0 to 29.5.2 (#173)

Bumps [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) from 29.5.0 to 29.5.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest)

---
updated-dependencies:
- dependency-name: "@types/jest"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eugene Fox <eugene.xfox@outlook.com>

* Update package.json

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-02 19:57:23 +03:00
Eugene Fox 86c4e0498b Patch 2.2.4 (#169)
* Bump @types/react from 18.0.32 to 18.0.33 (#160)

Bumps [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) from 18.0.32 to 18.0.33.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* CodeQL URL sanitization fix (#162)

* Redone feedback link determination (CodeQL#7, CodeQL#8)

* Removed unused import to fix CI pipeline

* Changed RNG method for password generator (CodeQL#1, CodeQL#2) (#163)

* Bump @fluentui/react-components from 9.18.6 to 9.19.1 (#168)

Bumps [@fluentui/react-components](https://github.com/microsoft/fluentui) from 9.18.6 to 9.19.1.
- [Release notes](https://github.com/microsoft/fluentui/releases)
- [Changelog](https://github.com/microsoft/fluentui/blob/master/azure-pipelines.release-fluentui.yml)
- [Commits](https://github.com/microsoft/fluentui/compare/@fluentui/react-components_v9.18.6...@fluentui/react-components_v9.19.1)

---
updated-dependencies:
- dependency-name: "@fluentui/react-components"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump typescript from 5.0.3 to 5.0.4 (#167)

Bumps [typescript](https://github.com/Microsoft/TypeScript) from 5.0.3 to 5.0.4.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v5.0.3...v5.0.4)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump webpack from 5.77.0 to 5.81.0 (#166)

Bumps [webpack](https://github.com/webpack/webpack) from 5.77.0 to 5.81.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.77.0...v5.81.0)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @types/react from 18.0.33 to 18.2.0 (#165)

Bumps [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) from 18.0.33 to 18.2.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @types/react-dom from 18.0.11 to 18.2.1 (#164)

Bumps [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) from 18.0.11 to 18.2.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)

---
updated-dependencies:
- dependency-name: "@types/react-dom"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eugene Fox <eugene.xfox@outlook.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-02 14:21:42 +03:00
Eugene Fox c7869010b6 Patch 2.2.3 (#159)
* Bump @types/node from 18.14.6 to 18.15.1 (#141)

Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 18.14.6 to 18.15.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @fluentui/react-icons from 2.0.195 to 2.0.196 (#140)

Bumps [@fluentui/react-icons](https://github.com/microsoft/fluentui-system-icons) from 2.0.195 to 2.0.196.
- [Release notes](https://github.com/microsoft/fluentui-system-icons/releases)
- [Commits](https://github.com/microsoft/fluentui-system-icons/commits)

---
updated-dependencies:
- dependency-name: "@fluentui/react-icons"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eugene Fox <eugene.xfox@outlook.com>

* Bump sass from 1.58.3 to 1.59.2 (#139)

Bumps [sass](https://github.com/sass/dart-sass) from 1.58.3 to 1.59.2.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.58.3...1.59.2)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eugene Fox <eugene.xfox@outlook.com>

* Bump @fluentui/react-components from 9.15.6 to 9.17.1 (#138)

Bumps [@fluentui/react-components](https://github.com/microsoft/fluentui) from 9.15.6 to 9.17.1.
- [Release notes](https://github.com/microsoft/fluentui/releases)
- [Changelog](https://github.com/microsoft/fluentui/blob/master/azure-pipelines.release-fluentui.yml)
- [Commits](https://github.com/microsoft/fluentui/compare/@fluentui/react-components_v9.15.6...@fluentui/react-components_v9.17.1)

---
updated-dependencies:
- dependency-name: "@fluentui/react-components"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @craco/craco from 6.4.5 to 7.1.0 (#137)

* Bump @craco/craco from 6.4.5 to 7.1.0

Bumps [@craco/craco](https://github.com/dilanx/craco/tree/HEAD/packages/craco) from 6.4.5 to 7.1.0.
- [Release notes](https://github.com/dilanx/craco/releases)
- [Commits](https://github.com/dilanx/craco/commits/v7.1.0/packages/craco)

---
updated-dependencies:
- dependency-name: "@craco/craco"
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Fixed CRACO upgrade

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eugene Fox <eugene.xfox@outlook.com>

* Security patches (#142)

* Added dependency resolutions for:
- CVE-2022-37603
- CVE-2022-37599
- CVE-2022-46175

* Added fix for vulnerabilities:
- CVE-2022-3517
- CVE-2021-3803

* Bump sass from 1.59.2 to 1.59.3 (#145)

Bumps [sass](https://github.com/sass/dart-sass) from 1.59.2 to 1.59.3.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.59.2...1.59.3)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @fluentui/react-components from 9.17.1 to 9.18.2 (#146)

Bumps [@fluentui/react-components](https://github.com/microsoft/fluentui) from 9.17.1 to 9.18.2.
- [Release notes](https://github.com/microsoft/fluentui/releases)
- [Changelog](https://github.com/microsoft/fluentui/blob/master/azure-pipelines.release-fluentui.yml)
- [Commits](https://github.com/microsoft/fluentui/compare/@fluentui/react-components_v9.17.1...@fluentui/react-components_v9.18.2)

---
updated-dependencies:
- dependency-name: "@fluentui/react-components"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eugene Fox <eugene.xfox@outlook.com>

* Bump @types/jest from 29.4.0 to 29.5.0 (#147)

Bumps [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) from 29.4.0 to 29.5.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest)

---
updated-dependencies:
- dependency-name: "@types/jest"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump typescript from 4.9.5 to 5.0.2 (#144)

Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.9.5 to 5.0.2.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.9.5...v5.0.2)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump webpack from 5.76.1 to 5.76.2 (#148)

Bumps [webpack](https://github.com/webpack/webpack) from 5.76.1 to 5.76.2.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.76.1...v5.76.2)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @types/react from 18.0.28 to 18.0.29 (#153)

Bumps [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) from 18.0.28 to 18.0.29.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump webpack from 5.76.2 to 5.76.3 (#152)

Bumps [webpack](https://github.com/webpack/webpack) from 5.76.2 to 5.76.3.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.76.2...v5.76.3)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump sass from 1.59.3 to 1.60.0 (#150)

Bumps [sass](https://github.com/sass/dart-sass) from 1.59.3 to 1.60.0.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.59.3...1.60.0)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @fluentui/react-components from 9.18.2 to 9.18.6 (#151)

Bumps [@fluentui/react-components](https://github.com/microsoft/fluentui) from 9.18.2 to 9.18.6.
- [Release notes](https://github.com/microsoft/fluentui/releases)
- [Changelog](https://github.com/microsoft/fluentui/blob/master/azure-pipelines.release-fluentui.yml)
- [Commits](https://github.com/microsoft/fluentui/compare/@fluentui/react-components_v9.18.2...@fluentui/react-components_v9.18.6)

---
updated-dependencies:
- dependency-name: "@fluentui/react-components"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @fluentui/react-icons from 2.0.196 to 2.0.198 (#149)

Bumps [@fluentui/react-icons](https://github.com/microsoft/fluentui-system-icons) from 2.0.196 to 2.0.198.
- [Release notes](https://github.com/microsoft/fluentui-system-icons/releases)
- [Commits](https://github.com/microsoft/fluentui-system-icons/commits)

---
updated-dependencies:
- dependency-name: "@fluentui/react-icons"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @types/node from 18.15.1 to 18.15.11 (#158)

Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 18.15.1 to 18.15.11.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump typescript from 5.0.2 to 5.0.3 (#157)

Bumps [typescript](https://github.com/Microsoft/TypeScript) from 5.0.2 to 5.0.3.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/commits)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eugene Fox <eugene.xfox@outlook.com>

* Disabled dependabot auto rebase

* Bump webpack from 5.76.3 to 5.77.0 (#156)

Bumps [webpack](https://github.com/webpack/webpack) from 5.76.3 to 5.77.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.76.3...v5.77.0)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @types/react from 18.0.29 to 18.0.32 (#155)

Bumps [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) from 18.0.29 to 18.0.32.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @fluentui/react-icons from 2.0.198 to 2.0.199 (#154)

Bumps [@fluentui/react-icons](https://github.com/microsoft/fluentui-system-icons) from 2.0.198 to 2.0.199.
- [Release notes](https://github.com/microsoft/fluentui-system-icons/releases)
- [Commits](https://github.com/microsoft/fluentui-system-icons/commits)

---
updated-dependencies:
- dependency-name: "@fluentui/react-icons"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* - Updated package.json version
- Changed dependabot check interval to monthly

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-04 11:04:39 +03:00
Eugene Fox 6f9c13587d Patch 2.2.2 (#135)
* Bump @types/jest from 29.2.3 to 29.4.0 (#119)

Bumps [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) from 29.2.3 to 29.4.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest)

---
updated-dependencies:
- dependency-name: "@types/jest"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @types/react from 18.0.26 to 18.0.27 (#118)

Bumps [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) from 18.0.26 to 18.0.27.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump sass from 1.56.1 to 1.58.0 (#116)

Bumps [sass](https://github.com/sass/dart-sass) from 1.56.1 to 1.58.0.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.56.1...1.58.0)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @fluentui/react-components from 9.13.0 to 9.14.0 (#115)

Bumps [@fluentui/react-components](https://github.com/microsoft/fluentui) from 9.13.0 to 9.14.0.
- [Release notes](https://github.com/microsoft/fluentui/releases)
- [Changelog](https://github.com/microsoft/fluentui/blob/master/azure-pipelines.release-fluentui.yml)
- [Commits](https://github.com/microsoft/fluentui/compare/@fluentui/react-components_v9.13.0...@fluentui/react-components_v9.14.0)

---
updated-dependencies:
- dependency-name: "@fluentui/react-components"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @types/node from 18.11.19 to 18.13.0 (#114)

Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 18.11.19 to 18.13.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eugene Fox <eugene.xfox@outlook.com>

* Bump typescript from 4.9.4 to 4.9.5 (#124)

Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.9.4 to 4.9.5.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.9.4...v4.9.5)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @fluentui/react-icons from 2.0.193 to 2.0.194 (#123)

Bumps [@fluentui/react-icons](https://github.com/microsoft/fluentui-system-icons) from 2.0.193 to 2.0.194.
- [Release notes](https://github.com/microsoft/fluentui-system-icons/releases)
- [Commits](https://github.com/microsoft/fluentui-system-icons/commits)

---
updated-dependencies:
- dependency-name: "@fluentui/react-icons"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @types/react from 18.0.27 to 18.0.28 (#121)

Bumps [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) from 18.0.27 to 18.0.28.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @types/webextension-polyfill from 0.9.2 to 0.10.0 (#120)

Bumps [@types/webextension-polyfill](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/webextension-polyfill) from 0.9.2 to 0.10.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/webextension-polyfill)

---
updated-dependencies:
- dependency-name: "@types/webextension-polyfill"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @fluentui/react-components from 9.14.0 to 9.15.1 (#125)

* Bump @fluentui/react-components from 9.14.0 to 9.15.1

Bumps [@fluentui/react-components](https://github.com/microsoft/fluentui) from 9.14.0 to 9.15.1.
- [Release notes](https://github.com/microsoft/fluentui/releases)
- [Changelog](https://github.com/microsoft/fluentui/blob/master/azure-pipelines.release-fluentui.yml)
- [Commits](https://github.com/microsoft/fluentui/compare/@fluentui/react-components_v9.14.0...@fluentui/react-components_v9.15.1)

---
updated-dependencies:
- dependency-name: "@fluentui/react-components"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Updated imports for FluentUI table

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eugene Fox <eugene.xfox@outlook.com>

* Bump @testing-library/react from 13.4.0 to 14.0.0 (#130)

Bumps [@testing-library/react](https://github.com/testing-library/react-testing-library) from 13.4.0 to 14.0.0.
- [Release notes](https://github.com/testing-library/react-testing-library/releases)
- [Changelog](https://github.com/testing-library/react-testing-library/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/react-testing-library/compare/v13.4.0...v14.0.0)

---
updated-dependencies:
- dependency-name: "@testing-library/react"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump sass from 1.58.0 to 1.58.3 (#129)

Bumps [sass](https://github.com/sass/dart-sass) from 1.58.0 to 1.58.3.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.58.0...1.58.3)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @types/node from 18.13.0 to 18.14.0 (#126)

Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 18.13.0 to 18.14.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @types/react-dom from 18.0.10 to 18.0.11 (#127)

Bumps [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) from 18.0.10 to 18.0.11.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)

---
updated-dependencies:
- dependency-name: "@types/react-dom"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @fluentui/react-components from 9.15.1 to 9.15.6 (#131)

Bumps [@fluentui/react-components](https://github.com/microsoft/fluentui) from 9.15.1 to 9.15.6.
- [Release notes](https://github.com/microsoft/fluentui/releases)
- [Changelog](https://github.com/microsoft/fluentui/blob/master/azure-pipelines.release-fluentui.yml)
- [Commits](https://github.com/microsoft/fluentui/compare/@fluentui/react-components_v9.15.1...@fluentui/react-components_v9.15.6)

---
updated-dependencies:
- dependency-name: "@fluentui/react-components"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @types/node from 18.14.0 to 18.14.2 (#132)

Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 18.14.0 to 18.14.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @fluentui/react-icons from 2.0.194 to 2.0.195 (#133)

Bumps [@fluentui/react-icons](https://github.com/microsoft/fluentui-system-icons) from 2.0.194 to 2.0.195.
- [Release notes](https://github.com/microsoft/fluentui-system-icons/releases)
- [Commits](https://github.com/microsoft/fluentui-system-icons/commits)

---
updated-dependencies:
- dependency-name: "@fluentui/react-icons"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eugene Fox <eugene.xfox@outlook.com>

* Bump @types/node from 18.14.2 to 18.14.6 (#134)

Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 18.14.2 to 18.14.6.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update package.json

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[botdirect: developmentthub.com>
2023-03-07 13:12:30 +03:00
Eugene Fox 5d4088dd1a Patch 2.2.1 (#113)
* Updated workflows for #110

* Bump @fluentui/react-components from 9.7.2 to 9.13.0 (#112)

Bumps [@fluentui/react-components](https://github.com/microsoft/fluentui) from 9.7.2 to 9.13.0.
- [Release notes](https://github.com/microsoft/fluentui/releases)
- [Changelog](https://github.com/microsoft/fluentui/blob/master/azure-pipelines.release-fluentui.yml)
- [Commits](https://github.com/microsoft/fluentui/compare/@fluentui/react-components_v9.7.2...@fluentui/react-components_v9.13.0)

---
updated-dependencies:
- dependency-name: "@fluentui/react-components"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eugene Fox <eugene.xfox@outlook.com>

* Bump @types/node from 18.11.9 to 18.11.19 (#111)

Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 18.11.9 to 18.11.19.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eugene Fox <eugene.xfox@outlook.com>

* Bump TheDoctor0/zip-release from 0.6.2 to 0.7.1 (#107)

Bumps [TheDoctor0/zip-release](https://github.com/TheDoctor0/zip-release) from 0.6.2 to 0.7.1.
- [Release notes](https://github.com/TheDoctor0/zip-release/releases)
- [Commits](https://github.com/TheDoctor0/zip-release/compare/0.6.2...0.7.1)

---
updated-dependencies:
- dependency-name: TheDoctor0/zip-release
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eugene Fox <eugene.xfox@outlook.com>

* Update README.md (#101)

Co-authored-by: Eugene Fox <eugene.xfox@outlook.com>

* Bump json5 from 1.0.1 to 1.0.2 (#100)

Bumps [json5](https://github.com/json5/json5) from 1.0.1 to 1.0.2.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v1.0.1...v1.0.2)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eugene Fox <eugene.xfox@outlook.com>

* Bump actions/upload-artifact from 3.1.1 to 3.1.2 (#98)

Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3.1.1 to 3.1.2.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v3.1.1...v3.1.2)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eugene Fox <eugene.xfox@outlook.com>

* Bump @types/react-dom from 18.0.9 to 18.0.10 (#92)

Bumps [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) from 18.0.9 to 18.0.10.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)

---
updated-dependencies:
- dependency-name: "@types/react-dom"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eugene Fox <eugene.xfox@outlook.com>

* Bump @fluentui/react-icons from 2.0.186 to 2.0.193 (#109)

Bumps [@fluentui/react-icons](https://github.com/microsoft/fluentui-system-icons) from 2.0.186 to 2.0.193.
- [Release notes](https://github.com/microsoft/fluentui-system-icons/releases)
- [Commits](https://github.com/microsoft/fluentui-system-icons/commits)

---
updated-dependencies:
- dependency-name: "@fluentui/react-icons"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eugene Fox <eugene.xfox@outlook.com>

* Updated version in package.json

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Maison da Silva <maisonmdsgreen@hotmail.com>
2023-02-07 19:48:25 +03:00
Maison da Silva 917884b883 Last commit badge link fix (#96)
Fixes commits list link for the last commit badge in README.md
2023-01-05 19:49:35 +03:00
Eugene Fox 33b3df7433 Minor 2.2.0 (#90)
* Bump @types/react from 18.0.24 to 18.0.26 (#85)

Bumps [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) from 18.0.24 to 18.0.26.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump typescript from 4.8.4 to 4.9.4 (#84)

Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.8.4 to 4.9.4.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.8.4...v4.9.4)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @types/webextension-polyfill from 0.9.1 to 0.9.2 (#83)

Bumps [@types/webextension-polyfill](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/webextension-polyfill) from 0.9.1 to 0.9.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/webextension-polyfill)

---
updated-dependencies:
- dependency-name: "@types/webextension-polyfill"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @fluentui/react-components from 9.7.1 to 9.7.2 (#82)

Bumps [@fluentui/react-components](https://github.com/microsoft/fluentui) from 9.7.1 to 9.7.2.
- [Release notes](https://github.com/microsoft/fluentui/releases)
- [Changelog](https://github.com/microsoft/fluentui/blob/master/azure-pipelines.release-fluentui.yml)
- [Commits](https://github.com/microsoft/fluentui/compare/@fluentui/react-components_v9.7.1...@fluentui/react-components_v9.7.2)

---
updated-dependencies:
- dependency-name: "@fluentui/react-components"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Fixed tooltip trigger area #81 (#87)

* PT-BR translation correction (#88)

* Update "Repeating"

Update "Repeating"

* Update licence MIT

Update licence MIT

* Let it snow! (#89)

* Updated package.json version

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Maison da Silva <maisonmdsgreen@hotmail.com>
2022-12-26 04:26:12 +03:00
Eugene Fox 408d417c3f Minor 2.1.0 (#79)
* Bump @types/node from 18.11.8 to 18.11.9 (#65)

Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 18.11.8 to 18.11.9.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump sass from 1.55.0 to 1.56.1 (#73)

Bumps [sass](https://github.com/sass/dart-sass) from 1.55.0 to 1.56.1.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.55.0...1.56.1)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump loader-utils from 2.0.2 to 2.0.4 (#74)

Bumps [loader-utils](https://github.com/webpack/loader-utils) from 2.0.2 to 2.0.4.
- [Release notes](https://github.com/webpack/loader-utils/releases)
- [Changelog](https://github.com/webpack/loader-utils/blob/v2.0.4/CHANGELOG.md)
- [Commits](https://github.com/webpack/loader-utils/compare/v2.0.2...v2.0.4)

---
updated-dependencies:
- dependency-name: loader-utils
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @fluentui/react-components from 9.6.1 to 9.7.1 (#76)

Bumps [@fluentui/react-components](https://github.com/microsoft/fluentui) from 9.6.1 to 9.7.1.
- [Release notes](https://github.com/microsoft/fluentui/releases)
- [Changelog](https://github.com/microsoft/fluentui/blob/master/azure-pipelines.release-fluentui.yml)
- [Commits](https://github.com/microsoft/fluentui/compare/@fluentui/react-components_v9.6.1...@fluentui/react-components_v9.7.1)

---
updated-dependencies:
- dependency-name: "@fluentui/react-components"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @types/react-dom from 18.0.6 to 18.0.9 (#78)

Bumps [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) from 18.0.6 to 18.0.9.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)

---
updated-dependencies:
- dependency-name: "@types/react-dom"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @types/jest from 29.2.0 to 29.2.3 (#77)

Bumps [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) from 29.2.0 to 29.2.3.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest)

---
updated-dependencies:
- dependency-name: "@types/jest"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eugene Fox <eugene.xfox@outlook.com>

* Updated package.json version

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-06 15:43:19 +03:00
Maison da Silva f8a80d4a4c Lang PT-BR (#70)
* Create messages.json

Lang PT-br brasil

* Fixed pt-br locale path

* Update messages.json

* Updated language list in README.md

Co-authored-by: Eugene Fox <eugene@xfox111.net>
2022-12-06 15:18:16 +03:00
Eugene Fox 32bcdef7ec Patch 2.0.3 (#63)
* Bump @types/node from 18.11.0 to 18.11.8 (#62)

Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 18.11.0 to 18.11.8.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @fluentui/react-icons from 2.0.185 to 2.0.186 (#60)

Bumps [@fluentui/react-icons](https://github.com/microsoft/fluentui-system-icons) from 2.0.185 to 2.0.186.
- [Release notes](https://github.com/microsoft/fluentui-system-icons/releases)
- [Commits](https://github.com/microsoft/fluentui-system-icons/commits)

---
updated-dependencies:
- dependency-name: "@fluentui/react-icons"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump actions/upload-artifact from 3.1.0 to 3.1.1 (#55)

Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3.1.0 to 3.1.1.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v3.1.0...v3.1.1)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @types/react from 18.0.21 to 18.0.24 (#61)

Bumps [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) from 18.0.21 to 18.0.24.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eugene Fox <eugene.xfox@outlook.com>

* Bump @fluentui/react-components from 9.5.1 to 9.6.1 (#59)

Bumps [@fluentui/react-components](https://github.com/microsoft/fluentui) from 9.5.1 to 9.6.1.
- [Release notes](https://github.com/microsoft/fluentui/releases)
- [Changelog](https://github.com/microsoft/fluentui/blob/master/azure-pipelines.release-fluentui.yml)
- [Commits](https://github.com/microsoft/fluentui/compare/@fluentui/react-components_v9.5.1...@fluentui/react-components_v9.6.1)

---
updated-dependencies:
- dependency-name: "@fluentui/react-components"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eugene Fox <eugene.xfox@outlook.com>

* Bump @types/jest from 29.1.2 to 29.2.0 (#57)

Bumps [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) from 29.1.2 to 29.2.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest)

---
updated-dependencies:
- dependency-name: "@types/jest"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eugene Fox <eugene.xfox@outlook.com>

* Updated package.json version

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-01 16:06:05 +03:00
Eugene Fox 68aace475e Patch 2.0.2 (#53)
* Fix for issue #51 - Extension is not working on firefox (#52)

* Fix for issue #51 - Extension is not working on firefox

* Fix for issue #51 - Replaced @types/chrome with webextension-polyfill

* re-Added @types/chrome to allow development tests

* Moved local import after module imports

* Bump @types/node from 18.7.18 to 18.11.0 (#48)

Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 18.7.18 to 18.11.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @fluentui/react-icons from 2.0.183 to 2.0.185 (#50)

Bumps [@fluentui/react-icons](https://github.com/microsoft/fluentui-system-icons) from 2.0.183 to 2.0.185.
- [Release notes](https://github.com/microsoft/fluentui-system-icons/releases)
- [Commits](https://github.com/microsoft/fluentui-system-icons/commits)

---
updated-dependencies:
- dependency-name: "@fluentui/react-icons"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eugene Fox <eugene.xfox@outlook.com>

* Bump typescript from 4.8.3 to 4.8.4 (#47)

Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.8.3 to 4.8.4.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.8.3...v4.8.4)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eugene Fox <eugene.xfox@outlook.com>

* Bump @types/jest from 29.1.1 to 29.1.2 (#44)

Bumps [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) from 29.1.1 to 29.1.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest)

---
updated-dependencies:
- dependency-name: "@types/jest"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eugene Fox <eugene.xfox@outlook.com>

* Bump @fluentui/react-components from 9.3.2 to 9.5.1 (#49)

Bumps [@fluentui/react-components](https://github.com/microsoft/fluentui) from 9.3.2 to 9.5.1.
- [Release notes](https://github.com/microsoft/fluentui/releases)
- [Changelog](https://github.com/microsoft/fluentui/blob/master/azure-pipelines.release-fluentui.yml)
- [Commits](https://github.com/microsoft/fluentui/compare/@fluentui/react-components_v9.3.2...@fluentui/react-components_v9.5.1)

---
updated-dependencies:
- dependency-name: "@fluentui/react-components"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eugene Fox <eugene.xfox@outlook.com>

* - Updated craco.config.ts to improve extension's stability
- Renamed manifest.firefox.json to manifest.v2.json
- Added fallbacks for invalid password length
- Migrated FluentUI Dialog to stable release
- Updated WebExt compat API

* Updated project formatting

* Feedback button now navigates to webstore page

* Update code style guidelines

* Updated extension version to 2.0.2

* Fixed pipelines

* Fixed AboutSection.tsx

* Fixed CodeQL issues

* Fixed feedback link not working

* Fixed feedback button again

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Andry Herizo RAJOELISON <finalherizo@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-22 15:55:44 +03:00
Eugene Fox 4f578da227 Update README.md 2022-10-05 00:19:37 +03:00
Eugene Fox 5c49fc6b97 Patch 2.0.1 (#26)
* Bump @types/chrome from 0.0.195 to 0.0.196 (#21)

Bumps [@types/chrome](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chrome) from 0.0.195 to 0.0.196.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/chrome)

---
updated-dependencies:
- dependency-name: "@types/chrome"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @types/node from 18.7.15 to 18.7.16 (#22)

Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 18.7.15 to 18.7.16.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump typescript from 4.8.2 to 4.8.3 (#23)

Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.8.2 to 4.8.3.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.8.2...v4.8.3)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @fluentui/react-icons from 2.0.179 to 2.0.181 (#25)

Bumps [@fluentui/react-icons](https://github.com/microsoft/fluentui-system-icons) from 2.0.179 to 2.0.181.
- [Release notes](https://github.com/microsoft/fluentui-system-icons/releases)
- [Commits](https://github.com/microsoft/fluentui-system-icons/commits)

---
updated-dependencies:
- dependency-name: "@fluentui/react-icons"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @types/react from 18.0.17 to 18.0.19 (#24)

Bumps [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) from 18.0.17 to 18.0.19.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eugene Fox <eugene.xfox@outlook.com>

* Update package.json

* Bump @fluentui/react-components from 9.2.0 to 9.3.0 (#32)

Bumps [@fluentui/react-components](https://github.com/microsoft/fluentui) from 9.2.0 to 9.3.0.
- [Release notes](https://github.com/microsoft/fluentui/releases)
- [Changelog](https://github.com/microsoft/fluentui/blob/master/azure-pipelines.release-fluentui.yml)
- [Commits](https://github.com/microsoft/fluentui/compare/@fluentui/react-components_v9.2.0...@fluentui/react-components_v9.3.0)

---
updated-dependencies:
- dependency-name: "@fluentui/react-components"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eugene Fox <eugene.xfox@outlook.com>

* Bump @types/jest from 27.5.2 to 29.0.3 (#29)

Bumps [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) from 27.5.2 to 29.0.3.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest)

---
updated-dependencies:
- dependency-name: "@types/jest"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eugene Fox <eugene.xfox@outlook.com>

* Bump @types/react from 18.0.17 to 18.0.20 (#28)

Bumps [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) from 18.0.17 to 18.0.20.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eugene Fox <eugene.xfox@outlook.com>

* Bump @types/node from 18.7.15 to 18.7.18 (#30)

Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 18.7.15 to 18.7.18.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eugene Fox <eugene.xfox@outlook.com>

* Bump @fluentui/react-icons from 2.0.179 to 2.0.182 (#31)

Bumps [@fluentui/react-icons](https://github.com/microsoft/fluentui-system-icons) from 2.0.179 to 2.0.182.
- [Release notes](https://github.com/microsoft/fluentui-system-icons/releases)
- [Commits](https://github.com/microsoft/fluentui-system-icons/commits)

---
updated-dependencies:
- dependency-name: "@fluentui/react-icons"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eugene Fox <eugene.xfox@outlook.com>

* Bump @types/react from 18.0.17 to 18.0.21 (#37)

Bumps [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) from 18.0.17 to 18.0.21.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eugene Fox <eugene.xfox@outlook.com>

* Bump @types/jest from 27.5.2 to 29.1.1 (#40)

Bumps [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) from 27.5.2 to 29.1.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest)

---
updated-dependencies:
- dependency-name: "@types/jest"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eugene Fox <eugene.xfox@outlook.com>

* Bump @types/chrome from 0.0.195 to 0.0.197 (#39)

Bumps [@types/chrome](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chrome) from 0.0.195 to 0.0.197.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/chrome)

---
updated-dependencies:
- dependency-name: "@types/chrome"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eugene Fox <eugene.xfox@outlook.com>

* Bump @fluentui/react-icons from 2.0.179 to 2.0.183 (#38)

Bumps [@fluentui/react-icons](https://github.com/microsoft/fluentui-system-icons) from 2.0.179 to 2.0.183.
- [Release notes](https://github.com/microsoft/fluentui-system-icons/releases)
- [Commits](https://github.com/microsoft/fluentui-system-icons/commits)

---
updated-dependencies:
- dependency-name: "@fluentui/react-icons"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eugene Fox <eugene.xfox@outlook.com>

* Bump sass from 1.54.8 to 1.55.0 (#35)

Bumps [sass](https://github.com/sass/dart-sass) from 1.54.8 to 1.55.0.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.54.8...1.55.0)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eugene Fox <eugene.xfox@outlook.com>

* Bump @fluentui/react-components from 9.2.0 to 9.3.2 (#33)

Bumps [@fluentui/react-components](https://github.com/microsoft/fluentui) from 9.2.0 to 9.3.2.
- [Release notes](https://github.com/microsoft/fluentui/releases)
- [Changelog](https://github.com/microsoft/fluentui/blob/master/azure-pipelines.release-fluentui.yml)
- [Commits](https://github.com/microsoft/fluentui/compare/@fluentui/react-components_v9.2.0...@fluentui/react-components_v9.3.2)

---
updated-dependencies:
- dependency-name: "@fluentui/react-components"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eugene Fox <eugene.xfox@outlook.com>

* Added web-ext linting to PR workflow

* Bumped kewisch/action-web-ext to 1.2

* Update pr_pipeline.yaml

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-04 23:27:28 +03:00
Eugene Fox 9ade276977 Update SECURITY.md 2022-09-08 17:53:35 +03:00
Eugene Fox ed9ae670d8 Rename PRIVACY to PRIVACY.md 2022-09-08 17:38:35 +03:00
xfox111 3f38322056 Fixed issue templates 2022-09-08 14:36:44 +00:00
Eugene Fox 5e4a9f1699 Update README.md 2022-09-08 10:45:01 +03:00
Eugene Fox 4c2669632d CD workflow fix (#19)
* Fixed cd_pipeline.yaml
2022-09-07 23:00:52 +03:00
xfox111 19882e7907 Updated locales:
- Added Polish translation
- Fixed Ukranian translation
- Updated English and Russian translations
2022-09-07 19:38:16 +00:00
xfox111 928ec924c0 Fixed download-artifact task 2022-09-06 19:50:37 +00:00
xfox111 c01773f9ff Pipeline job dependency fix 2022-09-06 19:42:50 +00:00
xfox111 5831dd3dc5 Fixed action typo 2022-09-06 17:47:26 +00:00
Eugene Fox d31bc4090e Package version bump (#17)
* Bump TheDoctor0/zip-release from 0.4.1 to 0.6.2 (#9)

Bumps [TheDoctor0/zip-release](https://github.com/TheDoctor0/zip-release) from 0.4.1 to 0.6.2.
- [Release notes](https://github.com/TheDoctor0/zip-release/releases)
- [Commits](https://github.com/TheDoctor0/zip-release/compare/0.4.1...0.6.2)

---
updated-dependencies:
- dependency-name: TheDoctor0/zip-release
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump actions/checkout from 2 to 3 (#10)

Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump actions/upload-artifact from 2 to 3 (#11)

Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2 to 3.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @testing-library/react from 13.3.0 to 13.4.0 (#16)

Bumps [@testing-library/react](https://github.com/testing-library/react-testing-library) from 13.3.0 to 13.4.0.
- [Release notes](https://github.com/testing-library/react-testing-library/releases)
- [Changelog](https://github.com/testing-library/react-testing-library/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/react-testing-library/compare/v13.3.0...v13.4.0)

---
updated-dependencies:
- dependency-name: "@testing-library/react"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump typescript from 4.7.4 to 4.8.2 (#12)

Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.7.4 to 4.8.2.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.7.4...v4.8.2)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @types/node from 16.11.54 to 18.7.15 (#14)

Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 16.11.54 to 18.7.15.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump sass from 1.54.5 to 1.54.8 (#13)

Bumps [sass](https://github.com/sass/dart-sass) from 1.54.5 to 1.54.8.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.54.5...1.54.8)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eugene Fox <eugene.xfox@outlook.com>

* Bump @testing-library/user-event from 13.5.0 to 14.4.3 (#15)

Bumps [@testing-library/user-event](https://github.com/testing-library/user-event) from 13.5.0 to 14.4.3.
- [Release notes](https://github.com/testing-library/user-event/releases)
- [Changelog](https://github.com/testing-library/user-event/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/user-event/compare/v13.5.0...v14.4.3)

---
updated-dependencies:
- dependency-name: "@testing-library/user-event"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eugene Fox <eugene.xfox@outlook.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-06 19:32:26 +03:00
Eugene Fox 03d74f93d6 Major 2.0 (#8)
* Migrated to React 18 and FluentUI 9

* Added Ukranian translation

* Updated GitHub templates

* Updated CI/CD
- Added CodeQL and Dependabot pipelines
- Removed Whitesource Bolt integration
- Added PR pipeline
- Update release pipeline to meet ReactJS
- Added Edge publish to pipeline
- Updated PR checklist

* Updated repo docs

* Moved dependabot yml to the right place

* Update README.md

* Added path filters to pipelines
2022-09-06 19:12:02 +03:00
whitesource-bolt-for-github[bot] 8991884494 Add .whitesource configuration file (#7) 2021-03-22 15:32:36 +03:00
Michael Gordeev 8a1a2bc009 Minor 1.3 (#6)
- Added more special characters for password
- Increased minimal password length to 6 characters
- Fixed "Do not repeat characters" option
- Now passwords always include all types of characters
2021-03-06 12:16:00 +03:00
Michael Gordeev 5dd5b8876b Updated CI config 2021-03-03 16:52:28 +03:00
62 changed files with 12744 additions and 1133 deletions
+4 -3
View File
@@ -3,8 +3,7 @@ name: Bug report
about: Create a report to help us improve the extension
title: ''
labels: bug
assignees: ''
assignees: xfox111
---
### Description
@@ -30,4 +29,6 @@ Please provide the following information:
- Extension version: [e.g. 1.5]
### Additional context
Add any other context about the problem here.
Add any other context about the problem here.
- [ ] Are you willing to submit a pull request to implement this feature yourself?
+4 -3
View File
@@ -3,8 +3,7 @@ name: Feature request
about: Suggest an idea for this project
title: ''
labels: enhancement
assignees: ''
assignees: xfox111
---
**Is your feature request related to a problem? Please describe.**
@@ -17,4 +16,6 @@ A clear and concise description of what you want to happen.
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.
Add any other context or screenshots about the feature request here.
- [ ] Are you willing to submit a pull request to implement this feature yourself?
+31
View File
@@ -0,0 +1,31 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
# yaml-language-server: $schema=https://json.schemastore.org/dependabot-2.0.json
version: 2
updates:
- package-ecosystem: "npm" # See documentation for possible values
directory: "/" # Location of package manifests
target-branch: "next"
assignees:
- "xfox111"
reviewers:
- "xfox111"
schedule:
interval: monthly
rebase-strategy: disabled
- package-ecosystem: "github-actions"
directory: "/"
target-branch: "next"
assignees:
- "xfox111"
reviewers:
- "xfox111"
schedule:
interval: monthly
rebase-strategy: disabled
+8 -3
View File
@@ -1,9 +1,14 @@
fixes:
## Description
> Put short description of the pull request here
fixes: #issue_number
## Changelog
- Item 1
- Item 2
- Item 3
## PR Checklist
- [ ] Change extension version in the manifest
## PR Checklist (main branch)
- [ ] Update extension version in `package.json`
- [ ] [Post-merge] Create a release to publish the new version
- [ ] [Post-deploy] Update changelog for Firefox webstore
+175
View File
@@ -0,0 +1,175 @@
name: Release pipeline
on:
release:
types: [ released ]
workflow_dispatch:
jobs:
Build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Configure manifest
uses: Amadevus/pwsh-script@v2
with:
script: |
[PSCustomObject] $package = Get-Content "package.json" | ConvertFrom-Json;
[PSCustomObject] $manifest = Get-Content "public/manifest.json" | ConvertFrom-Json;
$manifest.version = $package.version;
$manifest | ConvertTo-Json -Depth 10 | Out-File "public/manifest.json"
$manifest = Get-Content "public/manifest.v2.json" | ConvertFrom-Json;
$manifest.version = $package.version;
$manifest | ConvertTo-Json -Depth 10 | Out-File "public/manifest.v2.json"
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: '16.x'
cache: yarn
- run: yarn install
- run: yarn build
- name: Drop artifacts (build)
uses: actions/upload-artifact@v3.1.2
with:
name: build
path: build
Pack-Chromium:
needs: Build
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v3
with:
name: build
- name: Configure manifest
uses: Amadevus/pwsh-script@v2
with:
script: Remove-Item "manifest.v2.json"
- name: Pack extension
uses: TheDoctor0/zip-release@0.7.1
with:
filename: PasswordGenerator-Chromium.zip
- name: Drop artifacts (Chromium)
uses: actions/upload-artifact@v3.1.2
with:
name: Chromium
path: PasswordGenerator-Chromium.zip
- name: Attach build to release
uses: xresloader/upload-to-github-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
file: PasswordGenerator-Chromium.zip
draft: false
update_latest_release: true
Pack-Firefox:
needs: Build
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v3
with:
name: build
- name: Configure manifest
uses: Amadevus/pwsh-script@v2
with:
script: |
Remove-Item "manifest.json"
Rename-Item "manifest.v2.json" "manifest.json"
- name: "web-ext lint"
uses: kewisch/action-web-ext@e0ea88d527a8a90bc10d600f80ac667d219e6bf1
with:
cmd: lint
source: .
channel: listed
- name: Pack extension
uses: TheDoctor0/zip-release@0.7.1
with:
filename: PasswordGenerator-Firefox.zip
- name: Drop artifacts (Firefox)
uses: actions/upload-artifact@v3.1.2
with:
name: Firefox
path: PasswordGenerator-Firefox.zip
- name: Attach build to release
uses: xresloader/upload-to-github-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
file: PasswordGenerator-Firefox.zip
draft: false
update_latest_release: true
Chrome:
needs: Pack-Chromium
runs-on: ubuntu-latest
steps:
- name: Download artifacts (Chromium)
uses: actions/download-artifact@v3
with:
name: Chromium
- name: Publish to Chrome Web Store
uses: wdzeng/chrome-extension@v1
with:
extension-id: jnjobgjobffgmgfnkpkjfjkkfhfikmfl
zip-path: PasswordGenerator-Chromium.zip
client-id: ${{ secrets.CHROME_CLIENT_ID }}
client-secret: ${{ secrets.CHROME_CLIENT_SECRET }}
refresh-token: ${{ secrets.CHROME_REFRESH_TOKEN }}
Edge:
needs: Pack-Chromium
runs-on: ubuntu-latest
steps:
- name: Download artifacts (Chromium)
uses: actions/download-artifact@v3
with:
name: Chromium
- name: Publish to Edge Addons
uses: wdzeng/edge-addon@v1
with:
product-id: ${{ secrets.EDGE_PRODUCT_ID }}
zip-path: PasswordGenerator-Chromium.zip
client-id: ${{ secrets.EDGE_CLIENT_ID }}
client-secret: ${{ secrets.EDGE_CLIENT_SECRET }}
access-token-url: ${{ secrets.EDGE_ACCESS_TOKEN_URL }}
Firefox:
needs: Pack-Firefox
runs-on: ubuntu-latest
steps:
- name: Download artifacts (Firefox)
uses: actions/download-artifact@v3
with:
name: Firefox
- name: Publish to Firefox
uses: wdzeng/firefox-addon@v1
with:
addon-guid: ${{ secrets.FIREFOX_EXT_UUID }}
xpi-path: PasswordGenerator-Firefox.zip
jwt-issuer: ${{ secrets.FIREFOX_API_KEY }}
jwt-secret: ${{ secrets.FIREFOX_CLIENT_SECRET }}
-70
View File
@@ -1,70 +0,0 @@
name: CI
on:
release:
types: [published]
jobs:
Firefox:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Build Extension for Firefox
id: web-ext-build
uses: kewisch/action-web-ext@v1
with:
cmd: build
- name: 'Sign & publish'
id: web-ext-sign
uses: kewisch/action-web-ext@v1
with:
cmd: sign
channel: listed
source: ${{ steps.web-ext-build.outputs.target }}
apiKey: ${{ secrets.FIREFOX_API_KEY }}
apiSecret: ${{ secrets.FIREFOX_CLIENT_SECRET }}
- name: Drop artifacts
uses: actions/upload-artifact@v2
with:
name: 'Firefox Artefacts'
path: ${{ steps.web-ext-build.outputs.target }}
Chrome:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Pack extension
uses: TheDoctor0/zip-release@0.4.1
with:
filename: ./PasswordGenerator.zip
exclusions: '.git/* .vscode/* .github/* *.md'
- name: Publish to Chrome Webstore
uses: SebastienGllmt/chrome-addon@v3
with:
extension: jnjobgjobffgmgfnkpkjfjkkfhfikmfl
zip: ./PasswordGenerator.zip
client-id: ${{ secrets.CHROME_CLIENT_ID }}
client-secret: ${{ secrets.CHROME_CLIENT_SECRET }}
refresh-token: ${{ secrets.CHROME_REFRESH_TOKEN }}
- name: Upload artifact
uses: xresloader/upload-to-github-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
file: ./PasswordGenerator.zip
tags: true
draft: true
- name: Drop artifacts
uses: actions/upload-artifact@v2
with:
name: 'Chrome Artifacts'
path: ./PasswordGenerator.zip
+86
View File
@@ -0,0 +1,86 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"
on:
push:
branches: [ "main", "next" ]
paths-ignore:
- '**.md'
- 'LICENSE'
- 'PRIVACY'
- '**/cd_pipeline.yaml'
- '**/dependabot.yml'
- '**/pr_pipeline.yaml'
pull_request:
# The branches below must be a subset of the branches above
branches: [ "main", "next" ]
paths-ignore:
- '**.md'
- 'LICENSE'
- 'PRIVACY'
- '**/cd_pipeline.yaml'
- '**/dependabot.yml'
- '**/pr_pipeline.yaml'
schedule:
- cron: '24 7 * * 3'
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
matrix:
language: [ 'javascript', 'typescript' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
steps:
- name: Checkout repository
uses: actions/checkout@v3
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# queries: security-extended,security-and-quality
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v2
# ️ Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
# If the Autobuild fails above, remove it and uncomment the following three lines.
# modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.
# - run: |
# echo "Run, Build Application using script"
# ./location_of_script_within_repo/buildscript.sh
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
+81
View File
@@ -0,0 +1,81 @@
name: PR check pipeline
on:
pull_request:
branches: [ "main", "next" ]
paths-ignore:
- '**.md'
- 'LICENSE'
- 'PRIVACY'
- '**/cd_pipeline.yaml'
- '**/dependabot.yml'
- '**/codeql-analysis.yml'
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Configure manifest
uses: Amadevus/pwsh-script@v2
with:
script: |
[PSCustomObject] $package = Get-Content "package.json" | ConvertFrom-Json;
[PSCustomObject] $manifest = Get-Content "public/manifest.json" | ConvertFrom-Json;
$manifest.version = $package.version;
$manifest | ConvertTo-Json -Depth 10 | Out-File "public/manifest.json"
$manifest = Get-Content "public/manifest.v2.json" | ConvertFrom-Json;
$manifest.version = $package.version;
$manifest | ConvertTo-Json -Depth 10 | Out-File "public/manifest.v2.json"
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: '16.x'
cache: yarn
- run: yarn install
- run: yarn build
- name: Drop artifacts (build)
uses: actions/upload-artifact@v3.1.2
with:
name: build
path: build
firefox-check:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v3
with:
name: build
- name: Configure manifest
uses: Amadevus/pwsh-script@v2
with:
script: |
Remove-Item "manifest.json"
Rename-Item "manifest.v2.json" "manifest.json"
- name: "web-ext lint"
uses: kewisch/action-web-ext@e0ea88d527a8a90bc10d600f80ac667d219e6bf1
with:
cmd: lint
source: .
channel: listed
- name: Pack extension
uses: TheDoctor0/zip-release@0.7.1
with:
filename: PasswordGenerator-Firefox.zip
- name: Drop artifacts (Firefox)
uses: actions/upload-artifact@v3.1.2
with:
name: Firefox
path: PasswordGenerator-Firefox.zip
+26 -1
View File
@@ -1 +1,26 @@
.vscode
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
# IDE files
.vscode
# dependencies
/node_modules
/.pnp
.pnp.js
# testing
/coverage
# production
/build
# misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local
npm-debug.log*
yarn-debug.log*
yarn-error.log*
+112 -23
View File
@@ -68,9 +68,9 @@ Please include the following with each issue:
### Final Checklist
Please remember to do the following:
- [ ] Search the issue repository to ensure your report is a new issue
- [ ] Separate issues reports
- [ ] Include as much information as you can to your report
- [*] Search the issue repository to ensure your report is a new issue
- [*] Separate issues reports
- [*] Include as much information as you can to your report
Don't feel bad if the developers can't reproduce the issue right away. They will simply ask for more information!
@@ -85,23 +85,34 @@ If you are interested in writing code to fix issues or implement new awesome fea
```
git clone https://github.com/xfox111/PasswordGeneratorExtension.git
```
2. Install [Node.js](https://nodejs.org/en/) and [Yarn](https://yarnpkg.com/)
3. Open terminal in project directory and run
```bash
yarn install
```
4. Build project
```bash
yarn build
```
2. Enable Developers mode on your browser extensions page
3. Click "Load unpacked" button and navigate to the extension root folder (contains `manifest.json`)
3. Click "Load unpacked" button and navigate to the `build` folder of the repo (contains `manifest.json`)
4. Done!
Next time you make any changes to the codebase, reload extension by toggling it off and on or by pressing "Reload" button on extensions list page
To run extension as standalone web application you can use `yarn start` command
Next time you make any changes to the codebase, rebuild extension with `yarn build` and reload extension by toggling it off and on or by pressing "Reload" button on extensions list page
### Development workflow
This section represents how contributors should interact with codebase implementing features and fixing bugs
1. Getting assigned to the issue
2. Creating a repository fork
3. Making changes to codebase
5. Creating a pull request to `master`
5. Creating a pull request to `main`
6. Reviewing & completing PR
7. Done
#### Release
Next stage is release. Release performs on every push to master (which makes functional changes to the source code). Release performs manually by @XFox111 into: Chrome webstore, Edge webstore and GitHub releases
Next stage is release. Release performs on every push to main (which makes functional changes to the source code). Release performs manually by @XFox111 into: Chrome, Firefox, Edge webstores as well as GitHub releases
### Coding guidelines
#### Indentation
@@ -110,7 +121,8 @@ We use tabs, not spaces.
#### Names
The project naming rules inherit [.NET Naming Guidelines](https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/naming-guidelines). Nevertheless there'is some distinction with the guidelines as well as additions to the one:
- Use `camelCase` for variables instead of `CamelCase` stated in [Capitalization Conventions](https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/capitalization-conventions#capitalization-rules-for-identifiers)
- Use `snake_case` for file names
- Use `camelCase` for files in `public` directory
- Use `PascalCase` for files in `src` directory
#### Comments
Leave as more comments as you can. Remember: the more detailed documentation your code has the less programmers will curse you in the future
@@ -120,43 +132,48 @@ Use "double quotes" wherever it's possible
#### Style
- Prefer to use lambda functions
- Put curly braces on new lines
- Always put curly braces on new lines
- Wrong:
```
```js
if (condition) {
...
}
```
- Correct:
```
```js
if (condition)
{
...
}
```
- Put spaces between operators and before braces in methods declarations, conditionals and loops
> **Note:** For JSON files put opening brace on the same line as the key
- Put spaces between operators, conditionals and loops
- Wrong:
- `y=k*x+b`
- `function FunctionName()`
```js
y=k*x+b;
if(condition) { ... }
```
- Correct:
- `y = k * x + b`
- `function FunctionName ()`
- Use ternary conditionals wherever it's possible
```js
y = k * x + b;
if (condition) { ... }
```
- Use ternary conditionals wherever it's possible, unless it's too long
- Wrong:
```
```js
var s;
if (condition)
s = "Life";
else
s = "Death"
s = "Death";
```
- Correct:
```
```js
var s = condition ? "Life" : "Death";
```
- Do not surround loop and conditional bodies with curly braces if they can be avoided
- Wrong:
```
```js
if (condition)
{
console.log("Hello, World!");
@@ -167,12 +184,84 @@ Use "double quotes" wherever it's possible
}
```
- Correct
```
```js
if (condition)
console.log("Hello, World!");
else
return;
```
- Prefer export modules as default
- Wrong:
```js
export class MyClass { ... }
```
- Correct:
```js
export default class MyClass { ... }
```
- Prefer export modules as classes unless it is excessive
- Wrong:
```ts
export function MyFunction1() { ... }
export function MyFunction2() { ... }
export default class MyClass2()
{
public static GetDate(timestamp: number): Date
{
return new Date(timestamp);
}
}
```
- Correct:
```js
export default class MyClass1
{
public static MyFunction1() { ... }
public static MyFunction2() { ... }
}
export default GetDate(timestamp: number): Date
{
return new Date(timestamp);
}
```
- When JSX attributes take too much space, put each attribute on a new line and put additional line before component's content
- Wrong:
```tsx
<HelloWorld attribute1="value" attribute2={ value } attribute3="value">My content here</HelloWorld>
<HelloWorld attribute1="value"
attribute2={ value }
attribute3="value">My content here</HelloWorld>
<HelloWorld attribute1="value"
attribute2={ value }
attribute3="value">
My content here
</HelloWorld>
<HelloWorld
attribute1="value"
attribute2={ value }
attribute3="value">
My content here
</HelloWorld>
```
- Correct:
```tsx
<HelloWorld
attribute1="value"
attribute2={ value }
attribute3="value">
My content here
</HelloWorld>
```
- If JSX component doesn't have content, put space before closing tag
- Wrong:
```tsx
<HelloWorld attribute1="value" attribute2={ value } attribute3="value"/>
```
- Correct:
```tsx
<HelloWorld attribute1="value" attribute2={ value } attribute3="value" />
```
### Finding an issue to work on
Check out the [full issues list](https://github.com/XFox111/PasswordGeneratorExtension/issues?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue) for a list of all potential areas for contributions. **Note** that just because an issue exists in the repository does not mean we will accept a contribution. There are several reasons we may not accept a pull request like:
@@ -201,4 +290,4 @@ Pull requests that fix typos are welcomed but please make sure it doesn't touch
Your contributions to open source, large or small, make great projects like this possible. Thank you for taking the time to contribute.
## Attribution
This Contribution Guidelines are adapted from the [Contributing to VS Code](https://github.com/microsoft/vscode/blob/master/CONTRIBUTING.md)
This Contribution Guidelines are adapted from the [Contributing to VS Code](https://github.com/microsoft/vscode/blob/master/CONTRIBUTING.md)
+1 -1
View File
@@ -1,6 +1,6 @@
MIT License
Copyright (c) 2020 Michael Gordeev
Copyright (c) 2022 Eugene Fox
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
-7
View File
@@ -1,7 +0,0 @@
Password generator Extension Privacy Policy
1. Developers of the extension don't affiliate with Google LLC, Mozilla Foundation or Microsoft Corporation in any way
2. This extension doesn't transfer any personal data (data which may be used to track your location or reveal your identity) to any remote or local server
3. This extension doesn't share any personal data with third parties
4. This extension stores following personal data:
- Browser tabs which have been saved for later by user via this extension (if user click "Set current tabs aside" button). This includes titles, favicons and web links
5. User can delete all saved personal data by removing this extension from his Browser
+4
View File
@@ -0,0 +1,4 @@
# Password Generator Extension Privacy Policy
1. Developers of the extension don't affiliate with Google LLC, Mozilla Foundation or Microsoft Corporation in any way
2. This extension doesn't store any personal data (data which may be used to track your location or reveal your identity)
3. This extension uses build-in cloud storage of your browser to store extension settings
+19 -16
View File
@@ -1,21 +1,12 @@
# Password generator
[![GitHub release (latest by date)](https://img.shields.io/github/v/release/xfox111/PasswordGeneratorExtension)](https://github.com/xfox111/PasswordGeneratorExtension/releases/latest)
![CI](https://github.com/XFox111/PasswordGeneratorExtension/workflows/CI/badge.svg)
[![Mozilla Add-on](https://img.shields.io/amo/rating/easy-password-generator?label=Firefox%20rating)](https://addons.mozilla.org/firefox/addon/easy-password-generator/)
[![Chrome Web Store](https://img.shields.io/chrome-web-store/users/jnjobgjobffgmgfnkpkjfjkkfhfikmfl?label=Chrome%20Webstore%20downloads)](https://chrome.google.com/webstore/detail/jnjobgjobffgmgfnkpkjfjkkfhfikmfl)
[![Mozilla Add-on](https://img.shields.io/amo/users/easy-password-generator?label=Firefox%20Webstore%20downloads)](https://addons.mozilla.org/firefox/addon/easy-password-generator/)
[![GitHub issues](https://img.shields.io/github/issues/xfox111/PasswordGeneratorExtension)](https://github.com/xfox111/PasswordGeneratorExtension/issues)
[![GitHub last commit](https://img.shields.io/github/last-commit/xfox111/PasswordGeneratorExtension)](https://github.com/xfox111/PasswordGeneratorExtension/commits/master)
[![GitHub repo size](https://img.shields.io/github/repo-size/xfox111/PasswordGeneratorExtension?label=repo%20size)](https://github.com/xfox111/PasswordGeneratorExtension)
[![MIT License](https://img.shields.io/github/license/xfox111/PasswordGeneratorExtension)](https://opensource.org/licenses/MIT)
[![GitHub last commit](https://img.shields.io/github/last-commit/xfox111/PasswordGeneratorExtension?label=Last+update)](https://github.com/XFox111/PasswordGeneratorExtension/commits/main)
[![Twitter Follow](https://img.shields.io/twitter/follow/xfox111?style=social)](https://twitter.com/xfox111)
[![GitHub followers](https://img.shields.io/github/followers/xfox111?label=Follow%20@xfox111&style=social)](https://github.com/xfox111)
[![Buy Me a Coffee](https://img.shields.io/badge/Buy%20Me%20a%20Coffee-%40xfox111-orange)](https://buymeacoffee.com/xfox111)
![Password generator](https://xfox111.net/ma4rop)
![Password generator](https://img1.teletype.in/files/4d/93/4d935519-814b-41b7-a3c0-54503eb4eac7.png)
Extension for web browsers which helps you to easily generate strong passwords in one click
@@ -25,15 +16,29 @@ Extension for web browsers which helps you to easily generate strong passwords i
- Clean and simple UI
- Dark mode
![Password generator demo](https://xfox111.net/1cj439)
## Languages
- English
- Ukrainian
- Polish
- Russian
- Portuguese (Brazil)
<img width="1136" alt="Password generator v2.0" src="https://user-images.githubusercontent.com/28831743/188680034-a673b1b4-3153-4054-bb0d-949568de1748.png">
## Download
[![Chrome Web Store](https://img.shields.io/chrome-web-store/users/jnjobgjobffgmgfnkpkjfjkkfhfikmfl?label=Chrome%20Webstore%20downloads)](https://chrome.google.com/webstore/detail/jnjobgjobffgmgfnkpkjfjkkfhfikmfl)
[![Mozilla Add-on](https://img.shields.io/amo/users/easy-password-generator?label=Firefox%20Webstore%20downloads)](https://addons.mozilla.org/firefox/addon/easy-password-generator/)
- [Google Chrome Webstore](https://chrome.google.com/webstore/detail/jnjobgjobffgmgfnkpkjfjkkfhfikmfl)
- [Microsoft Edge Add-ons Webstore](https://microsoftedge.microsoft.com/addons/detail/manimdhobjbkfpeeehlhhneookiokpbj)
- [Firefox Add-ons](https://addons.mozilla.org/en-US/firefox/addon/easy-password-generator/)
- [GitHub Releases](https://github.com/xfox111/PasswordGeneratorExtension/releases/latest)
## Contributing
[![GitHub issues](https://img.shields.io/github/issues/xfox111/PasswordGeneratorExtension)](https://github.com/xfox111/PasswordGeneratorExtension/issues)
[![CI](https://github.com/XFox111/PasswordGeneratorExtension/actions/workflows/cd_pipeline.yaml/badge.svg)](https://github.com/XFox111/PasswordGeneratorExtension/actions/workflows/cd_pipeline.yaml)
[![GitHub repo size](https://img.shields.io/github/repo-size/xfox111/PasswordGeneratorExtension?label=repo%20size)](https://github.com/xfox111/PasswordGeneratorExtension)
There are many ways in which you can participate in the project, for example:
- [Submit bugs and feature requests](https://github.com/xfox111/PasswordGeneratorExtension/issues), and help us verify as they are checked in
- Review [source code changes](https://github.com/xfox111/PasswordGeneratorExtension/pulls)
@@ -51,8 +56,6 @@ If you are interested in fixing issues and contributing directly to the code bas
This project has adopted the Contributor Covenant. For more information see the [Code of Conduct](https://github.com/XFox111/PasswordGeneratorExtension/blob/master/CODE_OF_CONDUCT.md)
## Copyrights
> ©2020 Michael "XFox" Gordeev
> ©2023 Eugene Fox
Font copyrights: Microsoft Corportation ©2019 (Additional ELUA applied)
Licensed under [MIT License](https://opensource.org/licenses/MIT)
[![MIT License](https://img.shields.io/github/license/xfox111/PasswordGeneratorExtension)](https://opensource.org/licenses/MIT)
+21
View File
@@ -0,0 +1,21 @@
# Security Policy
## Supported Versions
Password generator extension has a linear versioning system. The latest version is always the most secure one. If you are using an older version, please update it to the latest one.
We regularly run security audits and fix any security issues that are found. If you find a security issue, please report it to us as described below.
### 1.x EoL
With 2.0 release bringing substantial changes to the extension, 1.x versions are no longer supported. Please update to the latest version.
If you are willing to continue using 1.x version, you can sideload it from the [releases page](https://github.com/XFox111/PasswordGeneratorExtension/releases/tag/v1.3). Use outdated versions at your own risk.
| Version | Supported |
| ------- | ------------------ |
| 2.x.x | :white_check_mark: |
| < 2.0.0 | :x: |
## Reporting a Vulnerability
In case you find a security issue, please report it to us by [creating an issue](https://github.com/XFox111/PasswordGeneratorExtension/issues/new?assignees=xfox111&labels=security+vulnerability&template=bug_report.md&title=)
-160
View File
@@ -1,160 +0,0 @@
{
"name":
{
"message": "Password generator",
"description": "Extension name. Displayed in the manifest and pane header"
},
"description":
{
"message": "Password generator extension allows you to easily generate long and secure password in one click",
"description": "Extension description"
},
"author":
{
"message": "Michael \"XFox\" Gordeev",
"description": "Author's name"
},
"generate":
{
"message": "Generate password",
"description": "Main action label"
},
"success":
{
"message": "Password has been generated and copied to your clipboard",
"description": "Message which is shown after successful creation of a password"
},
"fail":
{
"message": "Invalid generator settings. No password was generated",
"description": "Message which is shown after a creation of password failed"
},
"notEnoughChars":
{
"message": "With your current settings, your password length should not exceed %MIN_CHARS% characters",
"description": "Message which is shown if there's no enough characters to create a password"
},
"lengthPrompt":
{
"message": "Set password length. Press OK to use default password length (%LEN% characters)",
"description": "A prompt message when user generates a password"
},
"generatorOptions":
{
"message": "Generator options",
"description": "Generator options group header"
},
"length":
{
"message": "Password length",
"description": "Input field header"
},
"hint":
{
"message": "Reccommended password length",
"description": "Password length field hint"
},
"includeSymbols":
{
"message": "Include symbols (e.g.",
"description": "Option checkbox label"
},
"includeNumbers":
{
"message": "Include numbers (e.g.",
"description": "Option checkbox label"
},
"includeLowercase":
{
"message": "Include lowercase characters (e.g.",
"description": "Option checkbox label"
},
"includeUppercase":
{
"message": "Include uppercase characters (e.g.",
"description": "Option checkbox label"
},
"excludeSimilar":
{
"message": "Exclude similar characters (e.g.",
"description": "Option checkbox label"
},
"excludeSpecial":
{
"message": "Exclude ambiguous characters (e.g.",
"description": "Option checkbox label"
},
"dontRepeatChars":
{
"message": "Do not repeat characters",
"description": "Option checkbox label"
},
"extOptions":
{
"message": "Extension options",
"description": "Extension options group header"
},
"showButton":
{
"message": "Insert \"Generate password\" button below password fields",
"description": "Option checkbox label"
},
"showContext":
{
"message": "Add \"Generate password\" action to context menu",
"description": "Option checkbox label"
},
"hideAlert":
{
"message": "Hide successful password generation message",
"description": "Option checkbox label"
},
"promptForLength":
{
"message": "Prompt for password length every time before generating",
"description": "Option checkbox label"
},
"more":
{
"message": "More",
"description": "About section toggle button caption"
},
"about":
{
"message": "About",
"description": "About info header"
},
"developed":
{
"message": "Developed by",
"description": ""
},
"website":
{
"message": "My website",
"description": "My website link caption"
},
"github":
{
"message": "Source code",
"description": "GitHub repo link caption"
},
"changelog":
{
"message": "Changelog",
"description": "Changelog link caption"
},
"feedback":
{
"message": "Leave feedback",
"description": "Feedback CTA button"
},
"bmc":
{
"message": "Buy me a coffee",
"description": "BMC CTA button cation"
}
}
-160
View File
@@ -1,160 +0,0 @@
{
"name":
{
"message": "Генератор паролей",
"description": "Extension name. Displayed in the manifest and pane header"
},
"description":
{
"message": "Расширение, позволяющее вам легко генерировать сложные и надежные пароли в один клик",
"description": "Extension description"
},
"author":
{
"message": "Михаил \"XFox\" Гордеев",
"description": "Author's name"
},
"generate":
{
"message": "Сгенерировать пароль",
"description": "Main action label"
},
"success":
{
"message": "Пароль сгенерирован и скопирован в ваш буфер обмена",
"description": "Message which is shown after successful creation of a password"
},
"fail":
{
"message": "Установлены неправильные настройки генератора. Ничего не было сгенерировано",
"description": "Message which is shown after a creation of password failed"
},
"notEnoughChars":
{
"message": "При текущих параметрах длина создаваемого пароля должна быть не больше %MIN_CHARS% знаков",
"description": "Message which is shown if there's no enough characters to create a password"
},
"lengthPrompt":
{
"message": "Укажите длину пароля. Нажмите ОК чтобы использовать длину по умолчанию (%LEN% символов)",
"description": "A prompt message when user generates a password"
},
"generatorOptions":
{
"message": "Настройки генератора",
"description": "Generator options group header"
},
"length":
{
"message": "Длина пароля",
"description": "Input field header"
},
"hint":
{
"message": "Рекомендованная длина пароля",
"description": "Password length field hint"
},
"includeSymbols":
{
"message": "Включить символы (например:",
"description": "Option checkbox label"
},
"includeNumbers":
{
"message": "Включить цифры (например:",
"description": "Option checkbox label"
},
"includeLowercase":
{
"message": "Включить буквы нижнего регистра (например:",
"description": "Option checkbox label"
},
"includeUppercase":
{
"message": "Включить буквы верхнего регистра (например:",
"description": "Option checkbox label"
},
"excludeSimilar":
{
"message": "Исключить похожие символы (например:",
"description": "Option checkbox label"
},
"excludeSpecial":
{
"message": "Исключить специальные символы (например:",
"description": "Option checkbox label"
},
"dontRepeatChars":
{
"message": "Не повторять символы",
"description": "Option checkbox label"
},
"extOptions":
{
"message": "Настройки расширения",
"description": "Extension options group header"
},
"showButton":
{
"message": "Добавлять кнопку \"Сгенерировать пароль\" рядом с каждым полем ввода пароля",
"description": "Option checkbox label"
},
"showContext":
{
"message": "Добавить действие \"Сгенерировать пароль\" в контекстное меню браузера",
"description": "Option checkbox label"
},
"hideAlert":
{
"message": "Не показывать сообщение при генерации пароля",
"description": "Option checkbox label"
},
"promptForLength":
{
"message": "Спрашивать длину пароля перед генерацией",
"description": "Option checkbox label"
},
"more":
{
"message": "Больше",
"description": "About section toggle button caption"
},
"about":
{
"message": "О расширении",
"description": "About info header"
},
"developed":
{
"message": "Разработал:",
"description": ""
},
"website":
{
"message": "Мой веб-сайт",
"description": "My website link caption"
},
"github":
{
"message": "Исходный код",
"description": "GitHub repo link caption"
},
"changelog":
{
"message": "Список изменений",
"description": "Changelog link caption"
},
"feedback":
{
"message": "Оставить отзыв",
"description": "Feedback CTA button"
},
"bmc":
{
"message": "Поддержать автора",
"description": "BMC CTA button cation"
}
}
+67
View File
@@ -0,0 +1,67 @@
import { CracoConfig, WebpackContext } from "@craco/types";
import { Configuration as WebpackConfig } from "webpack";
import HtmlWebapckPlugin, { MinifyOptions } from "html-webpack-plugin";
import { Configuration } from "webpack";
// Craco config file
// Craco is used to separate content and background scripts from the main JS bundle
const cracoConfig: CracoConfig =
{
webpack:
{
configure: ((webpackConfig: WebpackConfig, { env, paths }: WebpackContext): WebpackConfig =>
{
const isProduction: boolean = env === "production";
const config: WebpackConfig =
{
...webpackConfig,
entry:
{
main: paths!.appIndexJs,
background: "./src/Services/BackgroundService.ts",
contentScript: "./src/Services/ContentService.ts",
},
output:
{
...webpackConfig.output,
filename: "static/js/[name].js"
},
optimization:
{
...webpackConfig.optimization,
splitChunks: { cacheGroups: { default: false } },
runtimeChunk: false
}
};
const minifyOptions: MinifyOptions =
{
removeComments: true,
collapseWhitespace: true,
removeRedundantAttributes: true,
useShortDoctype: true,
removeEmptyAttributes: true,
removeStyleLinkTypeAttributes: true,
keepClosingSlash: true,
minifyJS: true,
minifyCSS: true,
minifyURLs: true
};
config.plugins = config.plugins?.filter((plugin: any) => plugin.constructor.name !== "HtmlWebpackPlugin") ?? [];
config.plugins.push(new HtmlWebapckPlugin({
inject: true,
chunks: ["main"],
template: paths!.appHtml,
filename: "index.html",
minify: isProduction && minifyOptions
}));
return config;
})
}
};
export default cracoConfig;
-238
View File
@@ -1,238 +0,0 @@
/* Fluent UI styles */
@font-face
{
font-family: "Segoe UI";
src: local("Segoe UI"),
url("fonts/segoeui.ttf") format("truetype"),
}
@font-face
{
font-family: "Segoe MDL2 Assets";
src: local("Segoe MDL2 Assets"),
url("fonts/segoemdl2.ttf") format("truetype"),
}
body
{
font-family: "Segoe UI";
user-select: none;
white-space: nowrap;
font-size: 14px;
line-height: 20px;
color: rgb(50, 49, 48);
border-radius: 2px;
}
h1, h2, h3
{
font-weight: 400;
margin: 0px;
}
h1
{
font-size: 28px;
font-weight: 400;
line-height: 36px;
}
h2
{
font-size: 20px;
font-weight: 400;
line-height: 28px;
}
.group
{
margin-bottom: 10px;
}
.group > *
{
display: block;
}
button.accent, a.button
{
font-weight: 600;
background-color: #0078d4;
cursor: pointer;
color: white !important;
border: 1px solid #0078d4;
border-radius: 2px;
padding: 0px 16px;
height: 32px;
min-width: 80px;
text-align: center;
outline: none !important;
text-decoration: none !important;
}
button.accent:hover, a.button:hover
{
background-color: rgb(16, 110, 190);
border: 1px solid rgb(16, 110, 190);
}
button.accent:active, a.button:active
{
background-color: rgb(0, 90, 158);
border: 1px solid rgb(0, 90, 158);
}
a.button
{
display: inline-block;
line-height: 28px;
vertical-align: bottom;
box-sizing: border-box;
}
button.link, a, a:visited
{
color: rgb(0, 120, 212);
background: none;
outline: none;
border: none;
cursor: pointer;
text-decoration: none;
}
button.link:hover, a:hover, a:visited:hover
{
color: rgb(0, 69, 120);
text-decoration: underline;
}
button.link:hover
{
text-decoration: none;
}
button.link:hover span
{
text-decoration: underline;
}
button.link i
{
font-family: "Segoe MDL2 Assets";
font-style: normal;
font-size: 16px;
margin-left: 4px;
vertical-align: bottom;
}
input[type=number]
{
padding-left: 9px;
padding-right: 9px;
height: 32px;
width: 100%;
border: 1px solid rgb(96, 94, 92);
box-sizing: border-box;
outline: none;
cursor: text;
}
input[type=number]:active, input[type=number]:focus
{
border: 2px solid rgb(0, 120, 212);
}
p
{
margin: 0px;
}
.control.checkbox
{
position: relative;
padding-left: 32px;
cursor: pointer;
margin-bottom: 5px;
}
.control.checkbox input
{
position: absolute;
opacity: 0;
width: 0;
height: 0;
}
.control.checkbox input + span
{
position: absolute;
left: 0;
height: 20px;
width: 20px;
border: 1px solid rgb(50, 49, 48);
border-radius: 2px;
transition-property: background, border, border-color;
transition-duration: 200ms;
transition-timing-function: cubic-bezier(0.4, 0, 0.23, 1);
}
.control.checkbox input + span::after
{
position: absolute;
color: rgb(96, 94, 92);
font-family: "Segoe MDL2 Assets";
content: "\E001";
width: 20px;
height: 20px;
text-align: center;
display: none;
}
.control.checkbox input:checked + span::after
{
display: block;
color: white;
}
.control.checkbox:hover input + span::after
{
display: block;
}
.control.checkbox input:checked + span
{
background-color: rgb(0, 120, 212);
border-color: rgb(0, 120, 212);
}
.control.checkbox:hover input:checked + span
{
background-color: rgb(0, 90, 158);
border-color: rgb(0, 90, 158);
}
/* Custom CSS */
.bmc
{
display: inline-grid !important;
grid-template-columns: auto 1fr;
grid-column-gap: 10px;
align-items: center;
background-color: #FF813F !important;
border-color: #FF813F !important;
color: white !important;
text-decoration: none;
height: 32px;
}
.bmc svg
{
height: 20px;
}
.bmc span
{
margin-bottom: 2px;
}
-42
View File
@@ -1,42 +0,0 @@
body, input
{
color: #EDEBE9;
background-color: rgb(51, 51, 51);
}
input[type=number]:active, input[type=number]:focus
{
border-color: rgb(40, 153, 245);
}
button.link, a, a:visited
{
color: rgb(40, 153, 245);
}
button.link:hover, a:hover, a:visited:hover
{
color: #7DBAE9;
}
.control.checkbox input + span
{
border-color: rgb(243, 242, 241);
}
.control.checkbox input:checked + span
{
background-color: rgb(40, 153, 245);
border-color: rgb(40, 153, 245);
}
.control.checkbox:hover input:checked + span
{
background-color: rgb(108, 184, 246);
border-color: rgb(108, 184, 246);
}
.control.checkbox:hover input + span:after
{
color: rgb(161, 159, 157);
}
.control.checkbox input:checked + span:after
{
color: rgb(27, 26, 25);
}
-1
View File
@@ -1 +0,0 @@
You may use the Segoe MDL2 Assets and Segoe UI fonts or glyphs included in this file (“Software”) solely to design, develop and test your programs for Microsoft Office. Microsoft Office includes but is not limited to any software product or service branded by trademark, trade dress, copyright or some other recognized means, as a product or service of Microsoft Office. This license does not grant you the right to distribute or sublicense all or part of the Software to any third party. By using the Software you agree to these terms. If you do not agree to these terms, do not use the Segoe MDL2 and Segoe UI Fonts or Glyphs.
Binary file not shown.
BIN
View File
Binary file not shown.
-35
View File
@@ -1,35 +0,0 @@
function AddContextMenu()
{
chrome.contextMenus.create(
{
id: "generate",
contexts: [ "all" ],
title: chrome.i18n.getMessage("generate")
}
);
}
// Setting up context menu event listener
chrome.contextMenus.onClicked.addListener(() => GeneratePassword(null));
// Adding context menu entry if needed
chrome.runtime.onInstalled.addListener(() =>
{
// Adding context menu option
chrome.storage.sync.get({ showContext: true }, (settings) =>
{
if (settings.showContext !== false)
AddContextMenu();
});
});
chrome.storage.onChanged.addListener((changes, area) =>
{
if (area != "sync" || changes["showContext"] == null)
return;
if (changes["showContext"].newValue === false)
chrome.contextMenus.removeAll();
else
AddContextMenu();
});
-73
View File
@@ -1,73 +0,0 @@
// Loading input fields states
chrome.storage.sync.get(
{
// Set of settings keys we retrieve and their default values
// Generator settings
length: 16,
includeSymbols: true,
includeNumbers: true,
includeLowercase: true,
includeUppercase: true,
excludeSimilar: true,
excludeSpecial: true,
dontRepeatChars: false,
// Extension settings
showButton: true,
showContext: true,
hideAlert: false,
promptForLength: false
},
(settings) =>
{
if (window.matchMedia("(prefers-color-scheme: dark)").matches) // Doesn't work on Fiefox
document.querySelector("#darkStylesheet").removeAttribute("disabled");
document.querySelector("#length").value = settings.length; // Setting length value
// Setting checkboxes
[
"includeSymbols",
"includeNumbers",
"includeLowercase",
"includeUppercase",
"excludeSimilar",
"excludeSpecial",
"dontRepeatChars",
"showButton",
"showContext",
"hideAlert",
"promptForLength"
].forEach(i => document.querySelector("#" + i).checked = settings[i]);
SetupEventHandlers();
document.querySelector("#version").textContent = "v" + chrome.runtime.getManifest()["version"]; // Updating display version
document.querySelectorAll("*[loc]").forEach(i => i.textContent = chrome.i18n.getMessage(i.getAttribute("loc"))); // Updating localization
});
function SetupEventHandlers()
{
document.querySelectorAll("input").forEach(i =>
i.addEventListener(
"input",
() => chrome.storage.sync.set(JSON.parse("{ \"" + i.id + "\": " + (i.type == "checkbox" ? i.checked : i.value) + " }"))
)
);
document.querySelector("#generate").addEventListener("click", () => GeneratePassword(null, true));
document.querySelector("#more").addEventListener("click", (s) =>
{
let group = document.querySelector("#about");
if (group.hasAttribute("hidden"))
{
group.removeAttribute("hidden");
s.currentTarget.querySelector("i").textContent = "\uE010";
}
else
{
group.setAttribute("hidden", "");
s.currentTarget.querySelector("i").textContent = "\uE011";
}
});
}
-135
View File
@@ -1,135 +0,0 @@
// Some constants
const upperCase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
const lowerCase = upperCase.toLowerCase();
const numbers = "1234567890";
const specialCharacters = "@#$%";
const ambiguousCharacters = "{}[]()/\\'\"`~,;:.<>";
const similarCharacters = "il1Lo0O";
chrome.storage.sync.get({ showButton: true },
(settings) =>
{
if (settings.showButton)
InsertButtons();
}
);
// Adding button below every password field
function InsertButtons()
{
document.querySelectorAll("input[type=password]").forEach(i =>
{
let actionLink = document.createElement("a");
actionLink.innerText = chrome.i18n.getMessage("generate");
actionLink.style.margin = "5px";
actionLink.style.display = "block";
// Since anchor without 'href' attrubute isn't shown as a hyperlink and '#' link potentially can break some sites logic, we add empty JS function
actionLink.href = "javascript:void(0);";
actionLink.addEventListener("click", GeneratePassword);
i.insertAdjacentElement("afterend", actionLink); // Adding button after a password field
});
}
function GeneratePassword(e, useDefaultLength = false)
{
// Generating password
let availableCharacters = ""; // Set of available characters to generate a password from
chrome.storage.sync.get(
{
length: 16,
includeSymbols: true,
includeNumbers: true,
includeLowercase: true,
includeUppercase: true,
excludeSimilar: true,
excludeSpecial: true,
hideAlert: false,
promptForLength: false,
dontRepeatChars: false,
},
(settings) =>
{
// Adding or excluding characters from the set
if (settings.includeSymbols)
availableCharacters += specialCharacters;
if (settings.includeNumbers)
availableCharacters += numbers;
if (settings.includeLowercase)
availableCharacters += lowerCase;
if (settings.includeUppercase)
availableCharacters += upperCase;
if (settings.excludeSimilar)
similarCharacters.split("").forEach(i => availableCharacters = availableCharacters.replace(i, ""));
if (settings.excludeSpecial === false)
availableCharacters += ambiguousCharacters;
if (availableCharacters.length < 1)
{
alert(chrome.i18n.getMessage("fail"));
return;
}
let password = "";
var pwdLength = settings.length;
if (settings.promptForLength && !useDefaultLength)
while(true)
{
var response = prompt(chrome.i18n.getMessage("lengthPrompt").replace("%LEN%", settings.length));
if (response === null) // If user clicked 'Cancel'
return;
if (parseInt(response) && response > 1)
{
pwdLength = response;
break;
}
else if (!response) // Continue with default length if no response is provided. Try again if input is invalid
break;
}
if (settings.dontRepeatChars && availableCharacters.length < pwdLength)
{
alert(chrome.i18n.getMessage("notEnoughChars").replace("%MIN_CHARS%", availableCharacters.length));
return;
}
for (k = 0; k < pwdLength; k++)
password += availableCharacters[GetRandomInt(0, availableCharacters.length)]; // Picking random characters
let field = e?.target.previousElementSibling;
// Creating a hidden field if called as standalone
if (!field)
{
field = document.createElement("input");
document.body.appendChild(field);
}
field.value = password; // Setting generated password to the field
field.setAttribute("type", "text"); // Since we cannot copy text from a password field, we'll make it temporarly simple field
// Some JS clipboard copying stuff
field.select();
document.execCommand("copy");
// Setting field type back to 'password'
field.setAttribute("type", "password");
if (!e)
field.remove();
if (settings.hideAlert === false)
alert(chrome.i18n.getMessage("success"));
});
}
// See https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Math/random
function GetRandomInt(min, max)
{
return Math.floor(Math.random() * (max - min)) + min;
}
-134
View File
File diff suppressed because one or more lines are too long
+60
View File
@@ -0,0 +1,60 @@
{
"name": "password-generator",
"version": "2.2.5",
"private": true,
"dependencies": {
"@craco/craco": "^7.1.0",
"@fluentui/react-components": "^9.19.1",
"@fluentui/react-icons": "^2.0.199",
"react": "^18.2.0",
"react-device-detect": "^2.2.3",
"react-dom": "^18.2.0",
"sass": "^1.60.0",
"typescript": "^5.0.4",
"webextension-polyfill": "^0.10.0"
},
"devDependencies": {
"@craco/types": "^7.1.0",
"@testing-library/jest-dom": "^5.14.1",
"@testing-library/react": "^14.0.0",
"@testing-library/user-event": "^14.4.3",
"@types/jest": "^29.5.2",
"@types/node": "^20.2.5",
"@types/react": "^18.2.0",
"@types/react-dom": "^18.2.4",
"@types/webextension-polyfill": "^0.10.0",
"html-webpack-plugin": "^5.5.1",
"react-scripts": "5.0.1",
"webpack": "^5.85.0"
},
"scripts": {
"start": "craco start",
"build": "craco build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
},
"resolutions": {
"json5": "1.0.2",
"loader-utils": "2.0.4",
"minimatch": "3.0.5",
"nth-check": "2.0.1"
}
}
+174
View File
@@ -0,0 +1,174 @@
{
"name": {
"message": "Password Generator",
"description": "manifest.json"
},
"description": {
"message": "Password generator extension allows you to easily generate long and secure password in one click",
"description": "manifest.json"
},
"author": {
"message": "Eugene Fox",
"description": "manifest.json"
},
"Password_generator": {
"message": "Password generator",
"description": "App.tsx"
},
"Copy": {
"message": "Copy",
"description": "PasswordView.tsx"
},
"Generate_new": {
"message": "Generate new",
"description": "PasswordView.tsx"
},
"Exclude_special_symbols_one_time": {
"message": "Generate password without special symbols",
"description": "PasswordView.tsx"
},
"Include_special_symbols_one_time": {
"message": "Generate password with special symbols",
"description": "PasswordView.tsx"
},
"Settings": {
"message": "Settings",
"description": "SettingsSection.tsx"
},
"Password_length": {
"message": "Password length",
"description": "SettingsSection.tsx"
},
"Recommended_password_length": {
"message": "Recommended password length",
"description": "SettingsSection.tsx"
},
"Character_options": {
"message": "Character options",
"description": "SettingsSection.tsx"
},
"Include": {
"message": "Include",
"description": "SettingsSection.tsx"
},
"Special_symbols": {
"message": "Special symbols",
"description": "SettingsSection.tsx"
},
"Numeric": {
"message": "Numeric",
"description": "SettingsSection.tsx"
},
"Uppercase": {
"message": "Uppercase",
"description": "SettingsSection.tsx"
},
"Lowercase": {
"message": "Lowercase",
"description": "SettingsSection.tsx"
},
"Exclude": {
"message": "Exclude",
"description": "SettingsSection.tsx"
},
"Similar": {
"message": "Similar",
"description": "SettingsSection.tsx"
},
"Ambiguous": {
"message": "Ambiguous",
"description": "SettingsSection.tsx"
},
"Repeating": {
"message": "Repeating",
"description": "SettingsSection.tsx"
},
"Add_shortcut_to_context_menu": {
"message": "Add shortcut to context menu",
"description": "SettingsSection.tsx"
},
"Right_click_password_field_to_quickly_generate_password": {
"message": "Right-click password field to quickly generate password",
"description": "SettingsSection.tsx"
},
"Automatically_copy_to_clipboard": {
"message": "Automatically copy to clipboard",
"description": "SettingsSection.tsx"
},
"About": {
"message": "About",
"description": "AboutSection.tsx"
},
"Developed_by_Eugene_Fox": {
"message": "Developed by Eugene Fox",
"description": "AboutSection.tsx"
},
"Licensed_under": {
"message": "Licensed under",
"description": "AboutSection.tsx"
},
"MIT_license": {
"message": "MIT license",
"description": "AboutSection.tsx"
},
"Want_to_contribute_translation_for_your_language_": {
"message": "Want to contribute translation for your language?",
"description": "AboutSection.tsx"
},
"Read_this_to_get_started": {
"message": "Read this to get started",
"description": "AboutSection.tsx"
},
"My_website": {
"message": "My website",
"description": "AboutSection.tsx"
},
"Source_code": {
"message": "Source code",
"description": "AboutSection.tsx"
},
"Changelog": {
"message": "Changelog",
"description": "AboutSection.tsx"
},
"Leave_feedback": {
"message": "Leave feedback",
"description": "AboutSection.tsx"
},
"Buy_me_a_coffee": {
"message": "Buy me a coffee",
"description": "AboutSection.tsx"
},
"Set_name": {
"message": "Name",
"description": "CharacterHelpDialog.tsx"
},
"Characters": {
"message": "Characters",
"description": "CharacterHelpDialog.tsx"
},
"__etc_": {
"message": ", etc.",
"description": "CharacterHelpDialog.tsx"
},
"OK": {
"message": "OK",
"description": "CharacterHelpDialog.tsx"
},
"Either_lowercase_or_uppercase_characters_must_be_included": {
"message": "Either lowercase or uppercase characters must be included",
"description": "Generator.tsx"
},
"Selected_length_is_too_long_to_exclude_repeating_characters": {
"message": "Selected length is too long to exclude repeating characters",
"description": "Generator.tsx"
},
"Quick_generator_is_only_available_on_password_fields": {
"message": "Quick generator is only available on password fields",
"description": "ContentService.tsx"
},
"Quick_generate_password": {
"message": "Quick generate password",
"description": "BackgroundService.tsx"
}
}
+174
View File
@@ -0,0 +1,174 @@
{
"name": {
"message": "Generator haseł",
"description": "manifest.json"
},
"description": {
"message": "Rozszerzenie, które pozwala na łatwe generowanie trudnych i bezpiecznych haseł w jednym kliknięciu",
"description": "manifest.json"
},
"author": {
"message": "Jewgienij Lis",
"description": "manifest.json"
},
"Password_generator": {
"message": "Generator haseł",
"description": "App.tsx"
},
"Copy": {
"message": "Kopiuj",
"description": "PasswordView.tsx"
},
"Generate_new": {
"message": "Utwórz nowy",
"description": "PasswordView.tsx"
},
"Exclude_special_symbols_one_time": {
"message": "Wygeneruj hasło bez znaków specjalnych",
"description": "PasswordView.tsx"
},
"Include_special_symbols_one_time": {
"message": "Wygeneruj hasło z znakami specjalnymi",
"description": "PasswordView.tsx"
},
"Settings": {
"message": "Ustawienia",
"description": "SettingsSection.tsx"
},
"Password_length": {
"message": "Długość hasła",
"description": "SettingsSection.tsx"
},
"Recommended_password_length": {
"message": "Zalecana długość hasła",
"description": "SettingsSection.tsx"
},
"Character_options": {
"message": "Ustawienia symboli",
"description": "SettingsSection.tsx"
},
"Include": {
"message": "Włącz",
"description": "SettingsSection.tsx"
},
"Special_symbols": {
"message": "Znaki specjalne",
"description": "SettingsSection.tsx"
},
"Numeric": {
"message": "Liczby",
"description": "SettingsSection.tsx"
},
"Uppercase": {
"message": "Wielkie litery",
"description": "SettingsSection.tsx"
},
"Lowercase": {
"message": "Małe litery",
"description": "SettingsSection.tsx"
},
"Exclude": {
"message": "Wyłącz",
"description": "SettingsSection.tsx"
},
"Similar": {
"message": "Podobne",
"description": "SettingsSection.tsx"
},
"Ambiguous": {
"message": "Niebezpieczne",
"description": "SettingsSection.tsx"
},
"Repeating": {
"message": "Powtarzające się",
"description": "SettingsSection.tsx"
},
"Add_shortcut_to_context_menu": {
"message": "Dodaj rozszerzenie do menu kontekstowego",
"description": "SettingsSection.tsx"
},
"Right_click_password_field_to_quickly_generate_password": {
"message": "Kliknij prawym przyciskiem myszy w pole hasła, aby szybko wygenerować hasło",
"description": "SettingsSection.tsx"
},
"Automatically_copy_to_clipboard": {
"message": "Automatycznie kopiuj do schowka",
"description": "SettingsSection.tsx"
},
"About": {
"message": "O rozszerzeniu",
"description": "AboutSection.tsx"
},
"Developed_by_Eugene_Fox": {
"message": "Autor: Jewgienij Lis",
"description": "AboutSection.tsx"
},
"Licensed_under": {
"message": "Licencja",
"description": "AboutSection.tsx"
},
"MIT_license": {
"message": "MIT",
"description": "AboutSection.tsx"
},
"Want_to_contribute_translation_for_your_language_": {
"message": "Chcesz pomóc z tłumaczeniem na swój język?",
"description": "AboutSection.tsx"
},
"Read_this_to_get_started": {
"message": "Przeczytaj ten artykuł",
"description": "AboutSection.tsx"
},
"My_website": {
"message": "Moja strona internetowa",
"description": "AboutSection.tsx"
},
"Source_code": {
"message": "Kod źródłowy",
"description": "AboutSection.tsx"
},
"Changelog": {
"message": "Lista zmian",
"description": "AboutSection.tsx"
},
"Leave_feedback": {
"message": "Zostaw opinię",
"description": "AboutSection.tsx"
},
"Buy_me_a_coffee": {
"message": "Wesprzyj",
"description": "AboutSection.tsx"
},
"Set_name": {
"message": "Nazwa",
"description": "CharacterHelpDialog.tsx"
},
"Characters": {
"message": "Znaki",
"description": "CharacterHelpDialog.tsx"
},
"__etc_": {
"message": " itp.",
"description": "CharacterHelpDialog.tsx"
},
"OK": {
"message": "OK",
"description": "CharacterHelpDialog.tsx"
},
"Either_lowercase_or_uppercase_characters_must_be_included": {
"message": "Muszą być uwzględnione małe lub wielkie litery",
"description": "Generator.tsx"
},
"Selected_length_is_too_long_to_exclude_repeating_characters": {
"message": "Wybrana długość jest zbyt długa, aby wykluczyć powtarzające się znaki",
"description": "Generator.tsx"
},
"Quick_generator_is_only_available_on_password_fields": {
"message": "Szybki generator jest dostępny tylko dla pól hasła",
"description": "ContentService.tsx"
},
"Quick_generate_password": {
"message": "Wygeneruj hasło",
"description": "BackgroundService.tsx"
}
}
+174
View File
@@ -0,0 +1,174 @@
{
"name": {
"message": "Gerador de Senhas",
"description": "manifest.json"
},
"description": {
"message": "A extensão do gerador de senhas permite gerar facilmente uma senha longa e segura em um clique",
"description": "manifest.json"
},
"author": {
"message": "Eugene Fox",
"description": "manifest.json"
},
"Password_generator": {
"message": "Gerador de senhas",
"description": "App.tsx"
},
"Copy": {
"message": "Copiar",
"description": "PasswordView.tsx"
},
"Generate_new": {
"message": "Gerar nova",
"description": "PasswordView.tsx"
},
"Exclude_special_symbols_one_time": {
"message": "Gerar senha sem símbolos especiais",
"description": "PasswordView.tsx"
},
"Include_special_symbols_one_time": {
"message": "Gerar senha com símbolos especiais",
"description": "PasswordView.tsx"
},
"Settings": {
"message": "Configurações",
"description": "SettingsSection.tsx"
},
"Password_length": {
"message": "Comprimento da senha",
"description": "SettingsSection.tsx"
},
"Recommended_password_length": {
"message": "Comprimento recomendado da senha",
"description": "SettingsSection.tsx"
},
"Character_options": {
"message": "Opções de caracteres",
"description": "SettingsSection.tsx"
},
"Include": {
"message": "Incluir",
"description": "SettingsSection.tsx"
},
"Special_symbols": {
"message": "Símbolos especiais",
"description": "SettingsSection.tsx"
},
"Numeric": {
"message": "Numérico",
"description": "SettingsSection.tsx"
},
"Uppercase": {
"message": "Maiúsculas",
"description": "SettingsSection.tsx"
},
"Lowercase": {
"message": "Minúsculas",
"description": "SettingsSection.tsx"
},
"Exclude": {
"message": "Excluir",
"description": "SettingsSection.tsx"
},
"Similar": {
"message": "Semelhante",
"description": "SettingsSection.tsx"
},
"Ambiguous": {
"message": "Ambíguo",
"description": "SettingsSection.tsx"
},
"Repeating": {
"message": "Repetido",
"description": "SettingsSection.tsx"
},
"Add_shortcut_to_context_menu": {
"message": "Adicionar atalho ao menu de contexto",
"description": "SettingsSection.tsx"
},
"Right_click_password_field_to_quickly_generate_password": {
"message": "Clique com o botão direito do mouse no campo de senha para gerar a senha rapidamente",
"description": "SettingsSection.tsx"
},
"Automatically_copy_to_clipboard": {
"message": "Copiar automaticamente para a área de transferência",
"description": "SettingsSection.tsx"
},
"About": {
"message": "Sobre",
"description": "AboutSection.tsx"
},
"Developed_by_Eugene_Fox": {
"message": "Desenvolvido por Eugene Fox",
"description": "AboutSection.tsx"
},
"Licensed_under": {
"message": "Licenciado sob",
"description": "AboutSection.tsx"
},
"MIT_license": {
"message": "Licença MIT",
"description": "AboutSection.tsx"
},
"Want_to_contribute_translation_for_your_language_": {
"message": "Quer contribuir com a tradução para o seu idioma?",
"description": "AboutSection.tsx"
},
"Read_this_to_get_started": {
"message": "Leia isto para começar",
"description": "AboutSection.tsx"
},
"My_website": {
"message": "Meu website",
"description": "AboutSection.tsx"
},
"Source_code": {
"message": "Código fonte",
"description": "AboutSection.tsx"
},
"Changelog": {
"message": "Registro de alterações",
"description": "AboutSection.tsx"
},
"Leave_feedback": {
"message": "Deixar feedback",
"description": "AboutSection.tsx"
},
"Buy_me_a_coffee": {
"message": "Compre-me um café",
"description": "AboutSection.tsx"
},
"Set_name": {
"message": "Nome",
"description": "CharacterHelpDialog.tsx"
},
"Characters": {
"message": "Caracteres",
"description": "CharacterHelpDialog.tsx"
},
"__etc_": {
"message": ", etc.",
"description": "CharacterHelpDialog.tsx"
},
"OK": {
"message": "OK",
"description": "CharacterHelpDialog.tsx"
},
"Either_lowercase_or_uppercase_characters_must_be_included": {
"message": "Caracteres minúsculos ou maiúsculos devem ser incluídos",
"description": "Generator.tsx"
},
"Selected_length_is_too_long_to_exclude_repeating_characters": {
"message": "O comprimento selecionado é muito longo para excluir caracteres repetidos",
"description": "Generator.tsx"
},
"Quick_generator_is_only_available_on_password_fields": {
"message": "O gerador rápido está disponível apenas em campos de senha",
"description": "ContentService.tsx"
},
"Quick_generate_password": {
"message": "Gerar senha rápida",
"description": "BackgroundService.tsx"
}
}
+174
View File
@@ -0,0 +1,174 @@
{
"name": {
"message": "Генератор паролей",
"description": "manifest.json"
},
"description": {
"message": "Расширение, позволяющее легко генерировать сложные и надежные пароли в один клик",
"description": "manifest.json"
},
"author": {
"message": "Евгений Лис",
"description": "manifest.json"
},
"Password_generator": {
"message": "Генератор паролей",
"description": "App.tsx"
},
"Copy": {
"message": "Копировать",
"description": "PasswordView.tsx"
},
"Generate_new": {
"message": "Создать новый",
"description": "PasswordView.tsx"
},
"Exclude_special_symbols_one_time": {
"message": "Сгенерировать пароль без спецсимволов",
"description": "PasswordView.tsx"
},
"Include_special_symbols_one_time": {
"message": "Сгенерировать пароль со спецсимволами",
"description": "PasswordView.tsx"
},
"Settings": {
"message": "Настройки",
"description": "SettingsSection.tsx"
},
"Password_length": {
"message": "Длина пароля",
"description": "SettingsSection.tsx"
},
"Recommended_password_length": {
"message": "Рекомендуемая длина пароля",
"description": "SettingsSection.tsx"
},
"Character_options": {
"message": "Настройки символов",
"description": "SettingsSection.tsx"
},
"Include": {
"message": "Включить",
"description": "SettingsSection.tsx"
},
"Special_symbols": {
"message": "Специальные символы",
"description": "SettingsSection.tsx"
},
"Numeric": {
"message": "Цифры",
"description": "SettingsSection.tsx"
},
"Uppercase": {
"message": "Прописные буквы",
"description": "SettingsSection.tsx"
},
"Lowercase": {
"message": "Строчные буквы",
"description": "SettingsSection.tsx"
},
"Exclude": {
"message": "Исключить",
"description": "SettingsSection.tsx"
},
"Similar": {
"message": "Похожие",
"description": "SettingsSection.tsx"
},
"Ambiguous": {
"message": "Особые",
"description": "SettingsSection.tsx"
},
"Repeating": {
"message": "Повторяющиеся",
"description": "SettingsSection.tsx"
},
"Add_shortcut_to_context_menu": {
"message": "Добавить расширение в контекстное меню",
"description": "SettingsSection.tsx"
},
"Right_click_password_field_to_quickly_generate_password": {
"message": "Щелкните правой кнопкой мыши по полю ввода пароля, чтобы быстро сгенерировать пароль",
"description": "SettingsSection.tsx"
},
"Automatically_copy_to_clipboard": {
"message": "Автоматически копировать в буфер обмена",
"description": "SettingsSection.tsx"
},
"About": {
"message": "О расширении",
"description": "AboutSection.tsx"
},
"Developed_by_Eugene_Fox": {
"message": "Разработчик Евгений Лис",
"description": "AboutSection.tsx"
},
"Licensed_under": {
"message": "Лицензия",
"description": "AboutSection.tsx"
},
"MIT_license": {
"message": "MIT",
"description": "AboutSection.tsx"
},
"Want_to_contribute_translation_for_your_language_": {
"message": "Хотите помочь с переводом на свой язык?",
"description": "AboutSection.tsx"
},
"Read_this_to_get_started": {
"message": "Прочтите эту статью",
"description": "AboutSection.tsx"
},
"My_website": {
"message": "Мой сайт",
"description": "AboutSection.tsx"
},
"Source_code": {
"message": "Исходный код",
"description": "AboutSection.tsx"
},
"Changelog": {
"message": "Список изменений",
"description": "AboutSection.tsx"
},
"Leave_feedback": {
"message": "Оставить отзыв",
"description": "AboutSection.tsx"
},
"Buy_me_a_coffee": {
"message": "Спонсировать",
"description": "AboutSection.tsx"
},
"Set_name": {
"message": "Название",
"description": "CharacterHelpDialog.tsx"
},
"Characters": {
"message": "Символы",
"description": "CharacterHelpDialog.tsx"
},
"__etc_": {
"message": " и т.д.",
"description": "CharacterHelpDialog.tsx"
},
"OK": {
"message": "ОК",
"description": "CharacterHelpDialog.tsx"
},
"Either_lowercase_or_uppercase_characters_must_be_included": {
"message": "Должны быть включены строчные или прописные буквы",
"description": "Generator.tsx"
},
"Selected_length_is_too_long_to_exclude_repeating_characters": {
"message": "Выбранная длина слишком велика для исключения повторяющихся символов",
"description": "Generator.tsx"
},
"Quick_generator_is_only_available_on_password_fields": {
"message": "Быстрый генератор доступен только для полей ввода пароля",
"description": "ContentService.tsx"
},
"Quick_generate_password": {
"message": "Сгенерировать пароль",
"description": "BackgroundService.tsx"
}
}
+174
View File
@@ -0,0 +1,174 @@
{
"name": {
"message": "Генератор паролів",
"description": "manifest.json"
},
"description": {
"message": "Розширення, яке дозволяє легко генерувати складні та надійні паролі в один клік",
"description": "manifest.json"
},
"author": {
"message": "Євген Лис",
"description": "manifest.json"
},
"Password_generator": {
"message": "Генератор паролів",
"description": "App.tsx"
},
"Copy": {
"message": "Копіювати",
"description": "PasswordView.tsx"
},
"Generate_new": {
"message": "Генерувати новий",
"description": "PasswordView.tsx"
},
"Exclude_special_symbols_one_time": {
"message": "Генерувати пароль без спеціальних символів",
"description": "PasswordView.tsx"
},
"Include_special_symbols_one_time": {
"message": "Генерувати пароль з спеціальними символами",
"description": "PasswordView.tsx"
},
"Settings": {
"message": "Налаштування",
"description": "SettingsSection.tsx"
},
"Password_length": {
"message": "Довжина паролю",
"description": "SettingsSection.tsx"
},
"Recommended_password_length": {
"message": "Рекомендована довжина паролю",
"description": "SettingsSection.tsx"
},
"Character_options": {
"message": "Параметри символів",
"description": "SettingsSection.tsx"
},
"Include": {
"message": "Включити",
"description": "SettingsSection.tsx"
},
"Special_symbols": {
"message": "Спеціальні символи",
"description": "SettingsSection.tsx"
},
"Numeric": {
"message": "Цифри",
"description": "SettingsSection.tsx"
},
"Uppercase": {
"message": "Великі літери",
"description": "SettingsSection.tsx"
},
"Lowercase": {
"message": "Малі літери",
"description": "SettingsSection.tsx"
},
"Exclude": {
"message": "Виключити",
"description": "SettingsSection.tsx"
},
"Similar": {
"message": "Схожі",
"description": "SettingsSection.tsx"
},
"Ambiguous": {
"message": "Особливі",
"description": "SettingsSection.tsx"
},
"Repeating": {
"message": "Повторювані",
"description": "SettingsSection.tsx"
},
"Add_shortcut_to_context_menu": {
"message": "Додати розширення до контекстного меню",
"description": "SettingsSection.tsx"
},
"Right_click_password_field_to_quickly_generate_password": {
"message": "Правий клік на поле вводу паролю для швидкого генерування паролю",
"description": "SettingsSection.tsx"
},
"Automatically_copy_to_clipboard": {
"message": "Автоматично копіювати в буфер обміну",
"description": "SettingsSection.tsx"
},
"About": {
"message": "Про розширення",
"description": "AboutSection.tsx"
},
"Developed_by_Eugene_Fox": {
"message": "Розроблено Євгеном Лисом",
"description": "AboutSection.tsx"
},
"Licensed_under": {
"message": "Ліцензовано під",
"description": "AboutSection.tsx"
},
"MIT_license": {
"message": "MIT",
"description": "AboutSection.tsx"
},
"Want_to_contribute_translation_for_your_language_": {
"message": "Хочете допомогти перекласти розширення на свою мову?",
"description": "AboutSection.tsx"
},
"Read_this_to_get_started": {
"message": "Прочитайте цю статтю",
"description": "AboutSection.tsx"
},
"My_website": {
"message": "Моя веб-сторінка",
"description": "AboutSection.tsx"
},
"Source_code": {
"message": "Вихідний код",
"description": "AboutSection.tsx"
},
"Changelog": {
"message": "Список змін",
"description": "AboutSection.tsx"
},
"Leave_feedback": {
"message": "Залишити відгук",
"description": "AboutSection.tsx"
},
"Buy_me_a_coffee": {
"message": "Підтримати",
"description": "AboutSection.tsx"
},
"Set_name": {
"message": "Назва",
"description": "CharacterHelpDialog.tsx"
},
"Characters": {
"message": "Символи",
"description": "CharacterHelpDialog.tsx"
},
"__etc_": {
"message": " і т.д.",
"description": "CharacterHelpDialog.tsx"
},
"OK": {
"message": "OK",
"description": "CharacterHelpDialog.tsx"
},
"Either_lowercase_or_uppercase_characters_must_be_included": {
"message": "Повинні бути включені малі або великі літери",
"description": "Generator.tsx"
},
"Selected_length_is_too_long_to_exclude_repeating_characters": {
"message": "Вибрана довжина занадто велика для виключення повторюваних символів",
"description": "Generator.tsx"
},
"Quick_generator_is_only_available_on_password_fields": {
"message": "Швидкий генератор доступний тільки для полів вводу паролів",
"description": "ContentService.tsx"
},
"Quick_generate_password": {
"message": "Згенерувати пароль",
"description": "BackgroundService.tsx"
}
}

Before

Width:  |  Height:  |  Size: 101 KiB

After

Width:  |  Height:  |  Size: 101 KiB

Before

Width:  |  Height:  |  Size: 6.4 KiB

After

Width:  |  Height:  |  Size: 6.4 KiB

Before

Width:  |  Height:  |  Size: 641 B

After

Width:  |  Height:  |  Size: 641 B

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

+18
View File
@@ -0,0 +1,18 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Password Generator</title>
<meta
name="viewport"
content="width=device-width, initial-scale=1"
/>
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
</body>
</html>
+39
View File
@@ -0,0 +1,39 @@
{
"manifest_version": 3,
"name": "__MSG_name__",
"description": "__MSG_description__",
"author": "__MSG_author__",
"version": "2.0.0",
"default_locale": "en",
"permissions": [
"storage",
"contextMenus",
"clipboardWrite"
],
"background": {
"service_worker": "./static/js/background.js",
"type": "module"
},
"content_scripts": [
{
"matches": [
"<all_urls>"
],
"js": [
"./static/js/contentScript.js"
],
"run_at": "document_idle",
"all_frames": true
}
],
"action": {
"default_popup": "index.html",
"default_title": "__MSG_name__"
},
"icons": {
"128": "icons/icon-128.png",
"48": "icons/icon-48.png",
"32": "icons/icon-32.png",
"16": "icons/icon-16.png"
}
}
+22 -28
View File
@@ -1,51 +1,45 @@
{
"name": "__MSG_name__",
"version": "1.2",
"manifest_version": 2,
"name": "__MSG_name__",
"description": "__MSG_description__",
"author": "__MSG_author__",
"version": "2.0.0",
"default_locale": "en",
"permissions":
[
"permissions": [
"storage",
"<all_urls>",
"contextMenus",
"clipboardWrite"
],
"content_scripts":
[
"background": {
"scripts": [
"./static/js/background.js"
],
"persistent": true
},
"content_scripts": [
{
"matches": [ "<all_urls>" ],
"js": [ "js/script.js" ],
"matches": [
"<all_urls>"
],
"js": [
"./static/js/contentScript.js"
],
"run_at": "document_idle",
"all_frames": true
}
],
"background":
{
"scripts": [ "js/background.js", "js/script.js" ],
"persistent": false
"browser_action": {
"default_popup": "index.html",
"default_title": "__MSG_name__"
},
"icons":
{
"icons": {
"128": "icons/icon-128.png",
"48": "icons/icon-48.png",
"32": "icons/icon-32.png",
"16": "icons/icon-16.png"
},
"browser_action":
{
"default_icon": "icons/icon-32.png",
"default_popup": "options.html"
},
"browser_specific_settings":
{
"gecko":
{
"browser_specific_settings": {
"gecko": {
"id": "passwordgenerator@xfox111.net",
"strict_min_version": "58.0"
}
+138
View File
@@ -0,0 +1,138 @@
body
{
margin: 0;
}
main
{
width: 400px;
padding: 8px;
-webkit-user-select: none;
user-select: none;
h1, h2, h3, h4, h5, h6, p
{
margin: 0;
}
// Buy me a coffee button style
.fui-Button.bmc
{
background-color: var(--colorPaletteDarkOrangeBorder2) !important;
&:hover
{
background-color: var(--colorPaletteDarkOrangeForeground1) !important;
}
&:active
{
background-color: var(--colorPaletteDarkOrangeBackground2) !important;
}
}
// Overrides for default FluentUI styles
a.fui-Button
{
text-decoration: none;
}
.fui-Accordion
{
section
{
margin-bottom: 10px;
}
.fui-AccordionHeader__expandIcon > svg
{
transition-duration: .5s;
transition-timing-function: var(--curveDecelerateMax);
}
}
button.fui-Link
{
-webkit-user-select: none;
user-select: none;
}
.scaleUpIn
{
animation-name: scaleUpInAnim;
animation-timing-function: var(--curveEasyEaseMax);
animation-duration: .5s;
}
@keyframes scaleUpInAnim
{
from
{
transform: scale(.5);
opacity: 0;
}
to
{
transform: scale(1);
opacity: 1;
}
}
.spin
{
animation-name: spinAnim;
animation-timing-function: var(--curveEasyEaseMax);
animation-duration: .5s;
}
@keyframes spinAnim
{
from
{
transform: rotate(0deg);
}
to
{
transform: rotate(360deg);
}
}
.fadeIn
{
animation-name: fadeInAnim;
animation-timing-function: var(--curveDecelerateMin);
animation-duration: .5s;
}
@keyframes fadeInAnim
{
from
{
opacity: 0;
}
to
{
opacity: 1;
}
}
}
.stack
{
display: flex;
flex-direction: column;
&.horizontal
{
flex-direction: row;
flex-wrap: wrap;
}
&.gap
{
gap: 10px;
}
}
+86
View File
@@ -0,0 +1,86 @@
import React from "react";
import { Accordion, FluentProvider, Text, Theme, Title2, webDarkTheme, webLightTheme } from "@fluentui/react-components";
import "./App.scss";
import SettingsSection from "./Components/SettingsSection";
import AboutSection from "./Components/AboutSection";
import Package from "../package.json";
import PasswordView from "./Components/PasswordView";
import Settings from "./Utils/Settings";
import GeneratorOptions from "./Utils/GeneratorOptions";
import { loc } from "./Utils/Localization";
import Snow from "./Holidays/Snow";
interface IStates
{
theme: Theme;
generatorOptions: GeneratorOptions;
settings: Settings;
}
interface IProps
{
settings: Settings;
}
export default class App extends React.Component<IProps, IStates>
{
constructor(props: IProps)
{
super(props);
this.state =
{
theme: this.UpdateTheme(),
generatorOptions: new GeneratorOptions(),
settings: props.settings
};
Settings.OnChanged = (changes) => this.setState({ settings: { ...this.state.settings, ...changes } });
GeneratorOptions.OnChanged = (changes) => this.setState({ generatorOptions: { ...this.state.generatorOptions, ...changes } });
}
public async componentDidMount(): Promise<void>
{
window
.matchMedia("(prefers-color-scheme: dark)")
.addEventListener("change",
(arg: MediaQueryListEvent) =>
this.setState({ theme: this.UpdateTheme(arg.matches) })
);
this.setState({ generatorOptions: await GeneratorOptions.Init() });
}
private UpdateTheme(isDark?: boolean): Theme
{
let theme: Theme = (isDark ?? window.matchMedia("(prefers-color-scheme: dark)").matches) ? webDarkTheme : webLightTheme;
document.body.style.backgroundColor = theme.colorNeutralBackground1;
return theme;
}
public render(): JSX.Element
{
return (
<FluentProvider theme={ this.state.theme }>
<main className="stack gap">
<Snow />
<header className="stack horizontal gap">
<Title2 as="h1">{ loc("Password generator") }</Title2>
<Text as="span">v{ Package.version }</Text>
</header>
<PasswordView settings={ this.state.settings } generatorOptions={ this.state.generatorOptions } />
<Accordion collapsible>
<SettingsSection
generatorOptions={ this.state.generatorOptions }
settings={ this.state.settings } />
<AboutSection />
</Accordion>
</main>
</FluentProvider>
);
}
}
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 8.0 KiB

+67
View File
@@ -0,0 +1,67 @@
import { AccordionItem, AccordionHeader, AccordionPanel, Link, Text, Button } from "@fluentui/react-components";
import { InfoRegular, PersonFeedbackRegular } from "@fluentui/react-icons";
import { ReactComponent as BuyMeACoffee } from "../Assets/BuyMeACoffee.svg";
import React from "react";
import { loc } from "../Utils/Localization";
import * as Platform from "react-device-detect";
export default class AboutSection extends React.Component
{
public render(): JSX.Element
{
return (
<AccordionItem value="about">
<AccordionHeader as="h2" icon={ <InfoRegular /> }>{ loc("About") }</AccordionHeader>
<AccordionPanel>
<section className="stack gap fadeIn">
<Text as="p">
{ loc("Developed by Eugene Fox") } (<Link href="https://twitter.com/xfox111" target="_blank">@xfox111</Link>)
<br />
{ loc("Licensed under") } <Link href="https://github.com/XFox111/PasswordGeneratorExtension/blob/master/LICENSE" target="_blank">{ loc("MIT license") }</Link>
</Text>
<Text as="p">
{ loc("Want to contribute translation for your language?") } <Link href="https://github.com/XFox111/PasswordGeneratorExtension/blob/master/CONTRIBUTING.md" target="_blank">{ loc("Read this to get started") }</Link>
</Text>
<Text as="p">
<Link href="https://xfox111.net/" target="_blank">{ loc("My website") }</Link>
<br />
<Link href="https://github.com/xfox111/PasswordGeneratorExtension" target="_blank">{ loc("Source code") }</Link>
<br />
<Link href="https://github.com/XFox111/PasswordGeneratorExtension/releases/latest" target="_blank">{ loc("Changelog") }</Link>
</Text>
<div className="stack horizontal gap">
<Button
as="a" target="_blank"
href={ this.GetFeedbackLink() }
appearance="primary" icon={ <PersonFeedbackRegular /> }>
{ loc("Leave feedback") }
</Button>
<Button
as="a" target="_blank"
href="https://buymeacoffee.com/xfox111"
className="bmc" appearance="primary" icon={ <BuyMeACoffee /> }>
{ loc("Buy me a coffee") }
</Button>
</div>
</section>
</AccordionPanel>
</AccordionItem>
);
}
private GetFeedbackLink(): string
{
if (Platform.isEdgeChromium)
return "https://microsoftedge.microsoft.com/addons/detail/password-generator/manimdhobjbkfpeeehlhhneookiokpbj";
else if (Platform.isChrome)
return "https://chrome.google.com/webstore/detail/password-generator/jnjobgjobffgmgfnkpkjfjkkfhfikmfl";
else if (Platform.isFirefox)
return "https://addons.mozilla.org/en-US/firefox/addon/easy-password-generator";
else
return "mailto:feedback@xfox111.net";
}
}
+77
View File
@@ -0,0 +1,77 @@
import { Button, Text, Dialog, DialogTrigger, DialogSurface, DialogTitle, DialogBody, DialogActions, DialogContent, Table, TableHeader, TableRow, TableHeaderCell, TableBody, TableCell } from "@fluentui/react-components";
import { QuestionCircleRegular } from "@fluentui/react-icons";
import React from "react";
import Generator from "../Utils/Generator";
import { loc } from "../Utils/Localization";
export default class CharacterHelpDialog extends React.Component
{
public render(): JSX.Element
{
return (
<Dialog>
<DialogTrigger>
<Button appearance="subtle" style={ { marginLeft: 5 } } icon={ <QuestionCircleRegular /> } />
</DialogTrigger>
<DialogSurface aria-label="label">
<DialogBody>
<DialogTitle>{ loc("Character options") }</DialogTitle>
<DialogContent>
<Table>
<TableHeader>
<TableRow>
<TableHeaderCell>{ loc("Set_name") }</TableHeaderCell>
<TableHeaderCell>{ loc("Characters") }</TableHeaderCell>
</TableRow>
</TableHeader>
<TableBody>
<TableRow>
<TableCell>{ loc("Lowercase") }</TableCell>
<TableCell>
<Text font="monospace">{ Generator.Lowercase.substring(0, 10) }{ loc(", etc.") }</Text>
</TableCell>
</TableRow>
<TableRow>
<TableCell>{ loc("Uppercase") }</TableCell>
<TableCell>
<Text font="monospace">{ Generator.Uppercase.substring(0, 10) }{ loc(", etc.") }</Text>
</TableCell>
</TableRow>
<TableRow>
<TableCell>{ loc("Numeric") }</TableCell>
<TableCell>
<Text font="monospace">{ Generator.Numeric }</Text>
</TableCell>
</TableRow>
<TableRow>
<TableCell>{ loc("Special symbols") }</TableCell>
<TableCell>
<Text font="monospace">{ Generator.SpecialCharacters }</Text>
</TableCell>
</TableRow>
<TableRow>
<TableCell>{ loc("Ambiguous") }</TableCell>
<TableCell>
<Text font="monospace">{ Generator.AmbiguousCharacters }</Text>
</TableCell>
</TableRow>
<TableRow>
<TableCell>{ loc("Similar") }</TableCell>
<TableCell>
<Text font="monospace">{ Generator.SimilarCharacters }</Text>
</TableCell>
</TableRow>
</TableBody>
</Table>
</DialogContent>
<DialogActions>
<DialogTrigger>
<Button appearance="secondary">{ loc("OK") }</Button>
</DialogTrigger>
</DialogActions>
</DialogBody>
</DialogSurface>
</Dialog>
);
}
}
+129
View File
@@ -0,0 +1,129 @@
import { Input, Button, Link, Text, Tooltip } from "@fluentui/react-components";
import { Alert } from "@fluentui/react-components/unstable";
import { ArrowClockwiseRegular, CheckmarkRegular, CopyRegular } from "@fluentui/react-icons";
import React from "react";
import Generator from "../Utils/Generator";
import GeneratorOptions from "../Utils/GeneratorOptions";
import { loc } from "../Utils/Localization";
import Settings from "../Utils/Settings";
interface IStates
{
password: string;
error?: string;
copyIcon: JSX.Element;
}
interface IProps
{
generatorOptions: GeneratorOptions;
settings: Settings;
}
export default class PasswordView extends React.Component<IProps, IStates>
{
constructor(props: IProps)
{
super(props);
this.state =
{
password: Generator.GeneratePassword(props.generatorOptions),
error: Generator.ValidateProps(props.generatorOptions),
copyIcon: <CopyRegular className="scaleUpIn" />,
};
}
private OnCopyPassword(password: string): void
{
console.log("PasswordView.OnCopyPassword");
if (!document.hasFocus())
return;
window.navigator.clipboard.writeText(password);
this.setState({ copyIcon: <CheckmarkRegular className="scaleUpIn" /> });
setTimeout(() => this.setState({ copyIcon: <CopyRegular className="scaleUpIn" /> }), 3000);
}
private OnRefreshPassword(): void
{
console.log("PasswordView.OnRefreshPassword");
let password: string = Generator.GeneratePassword(this.props.generatorOptions);
this.setState({ password });
document.querySelector("svg#refresh-btn")?.classList.add("spin");
setTimeout(() => document.querySelector("svg#refresh-btn")?.classList.remove("spin"), 600);
if (this.props.settings.Autocopy)
this.OnCopyPassword(password);
}
public componentDidUpdate(prevProps: Readonly<IProps>): void
{
console.log("PasswordView.componentDidUpdate");
// Converting to JSON is the easiest way to compare objects
if (JSON.stringify(prevProps.generatorOptions) === JSON.stringify(this.props.generatorOptions))
return;
let error: string = Generator.ValidateProps(this.props.generatorOptions);
let password = Generator.GeneratePassword(this.props.generatorOptions);
this.setState({ password, error });
if (!error && this.props.settings.Autocopy)
this.OnCopyPassword(password);
}
private AlterSpecialsOnce(useSpecials: boolean): void
{
console.log("PasswordView.AlterSpecialsOnce", `useSpecials: ${useSpecials}`);
let options: GeneratorOptions = { ...this.props.generatorOptions, Special: useSpecials, ExcludeAmbiguous: true };
let error: string = Generator.ValidateProps(options);
let password: string = Generator.GeneratePassword(options);
this.setState({ password, error });
if (error)
setTimeout(() => this.OnRefreshPassword(), 3000);
}
public render(): JSX.Element
{
return this.state.error ?
<Alert intent="error" className="fadeIn">{ this.state.error }</Alert>
:
<section className="stack fadeIn">
<Input
value={ this.state.password } readOnly
contentAfter={
<>
<Tooltip content={ loc("Copy") } relationship="label">
<Button onClick={ () => this.OnCopyPassword(this.state.password) } appearance="subtle" icon={ this.state.copyIcon } />
</Tooltip>
<Tooltip content={ loc("Generate new") } relationship="label">
<Button onClick={ () => this.OnRefreshPassword() } appearance="subtle" icon={ <ArrowClockwiseRegular id="refresh-btn" /> } />
</Tooltip>
</>
} />
<Text>
{ this.props.generatorOptions.Special ?
<Link onClick={ () => this.AlterSpecialsOnce(false) }>
{ loc("Exclude special symbols one time") }
</Link>
:
<Link onClick={ () => this.AlterSpecialsOnce(true) }>
{ loc("Include special symbols one time") }
</Link>
}
</Text>
</section>
;
}
}
+83
View File
@@ -0,0 +1,83 @@
import { AccordionItem, AccordionHeader, AccordionPanel, Label, Text, Input, Divider, Checkbox, Tooltip } from "@fluentui/react-components";
import { QuestionCircleRegular, SettingsRegular } from "@fluentui/react-icons";
import React from "react";
import GeneratorOptions from "../Utils/GeneratorOptions";
import { loc } from "../Utils/Localization";
import Settings from "../Utils/Settings";
import CharacterHelpDialog from "./CharacterHelpDialog";
interface IProps
{
generatorOptions: GeneratorOptions;
settings: Settings;
}
export default class SettingsSection extends React.Component<IProps>
{
public render(): JSX.Element
{
let options: GeneratorOptions = this.props.generatorOptions;
let settings: Settings = this.props.settings;
return (
<AccordionItem value="settings">
<AccordionHeader as="h2" icon={ <SettingsRegular /> }>{ loc("Settings") }</AccordionHeader>
<AccordionPanel>
<section className="stack gap fadeIn">
<Label weight="semibold" htmlFor="pwd-length">{ loc("Password length") }</Label>
<div className="stack">
<Input
id="pwd-length"
value={ options.Length?.toString() }
onChange={ (_, e) => GeneratorOptions.Update({ Length: parseInt(e.value) }) }
type="number" min={ 4 } minLength={ 1 } />
<Text size={ 200 }>{ loc("Recommended password length") } <b>16-32</b></Text>
</div>
<Divider />
<div className="stack">
<Text as="h3" weight="semibold">
{ loc("Character options") }
<CharacterHelpDialog />
</Text>
<Text as="h4">{ loc("Include") }</Text>
<div className="stack horizontal">
<Checkbox label={ loc("Special symbols") }
checked={ options.Special } onChange={ (_, e) => GeneratorOptions.Update({ Special: e.checked as boolean }) } />
<Checkbox label={ loc("Numeric") }
checked={ options.Numeric } onChange={ (_, e) => GeneratorOptions.Update({ Numeric: e.checked as boolean }) } />
<Checkbox label={ loc("Uppercase") }
checked={ options.Uppercase } onChange={ (_, e) => GeneratorOptions.Update({ Uppercase: e.checked as boolean }) } />
<Checkbox label={ loc("Lowercase") }
checked={ options.Lowercase } onChange={ (_, e) => GeneratorOptions.Update({ Lowercase: e.checked as boolean }) } />
</div>
<Text as="h4">{ loc("Exclude") }</Text>
<div className="stack horizontal">
<Checkbox label={ loc("Similar") }
checked={ options.ExcludeSimilar } onChange={ (_, e) => GeneratorOptions.Update({ ExcludeSimilar: e.checked as boolean }) } />
<Checkbox label={ loc("Ambiguous") }
checked={ options.ExcludeAmbiguous } onChange={ (_, e) => GeneratorOptions.Update({ ExcludeAmbiguous: e.checked as boolean }) } />
<Checkbox label={ loc("Repeating") }
checked={ options.ExcludeRepeating } onChange={ (_, e) => GeneratorOptions.Update({ ExcludeRepeating: e.checked as boolean }) } />
</div>
</div>
<Divider />
<div className="stack">
<Checkbox
checked={ settings.AddContext }
onChange={ (_, e) => Settings.Update({ AddContext: e.checked as boolean }) }
label={
<Tooltip content={ loc("Right-click password field to quickly generate password") } relationship="description">
<Text>{ loc("Add shortcut to context menu") } <QuestionCircleRegular /></Text>
</Tooltip>
} />
<Checkbox label={ loc("Automatically copy to clipboard") }
checked={ settings.Autocopy } onChange={ (_, e) => Settings.Update({ Autocopy: e.checked as boolean }) } />
</div>
</section>
</AccordionPanel>
</AccordionItem>
);
}
}
+55
View File
@@ -0,0 +1,55 @@
.snowflakeContainer
{
position: absolute;
overflow: hidden;
pointer-events: none;
top: 0;
left: 0;
bottom: 0;
right: 0;
}
.snowflake
{
--size: 1px;
width: var(--size);
height: var(--size);
background: white;
border-radius: 50%;
position: absolute;
top: -5px;
@media (prefers-color-scheme: light)
{
background: var(--colorPalettePlatinumBorderActive);
}
}
@keyframes snowfall
{
0%
{
transform: translate3d(var(--left-ini), 0, 0);
opacity: .6;
}
100%
{
transform: translate3d(var(--left-end), 610px, 0);
opacity: 0;
}
}
@for $i from 1 through 50
{
.snowflake:nth-child(#{$i})
{
--size: #{random(5)}px;
--left-ini: #{random(20) - 10}vw;
--left-end: #{random(20) - 10}vw;
left: #{random(100)}vw;
animation: snowfall #{5 + random(10)}s linear infinite;
animation-delay: -#{random(10)}s;
}
}
+23
View File
@@ -0,0 +1,23 @@
import React from "react";
import "./Snow.scss";
export default class Snow extends React.Component
{
public render(): JSX.Element
{
// Show snowflakes only from 15th of December till 10th of January
let now = new Date();
if (
(now.getMonth() !== 11 || now.getDate() < 15) &&
(now.getMonth() !== 0 || now.getDate() > 10)
)
return <></>;
return (
<div className="snowflakeContainer">
{ [...Array(50)].map((_, i) => <div key={i} className="snowflake" />) }
</div>
);
}
}
+55
View File
@@ -0,0 +1,55 @@
// BackgroundService.ts
// Background script that handles the context menu visibility
import { Tabs, Menus } from "webextension-polyfill";
import browser from "../Utils/Browser";
import { loc } from "../Utils/Localization";
function UpdateContextMenu(isEnabled: boolean): void
{
console.log("BackgroundService.UpdateContextMenu", isEnabled);
browser.contextMenus.update("generatePassword", { visible: isEnabled });
}
async function OnContextClick(info: Menus.OnClickData): Promise<void>
{
console.log("BackgroundService.OnContextClick", info);
let tabInfo: Tabs.Tab[] = await browser.tabs.query({ active: true, currentWindow: true });
console.log("BackgroundService.OnContextClick", tabInfo);
browser.tabs.sendMessage(tabInfo[0].id, info.menuItemId as string);
}
async function OnInstalled(): Promise<void>
{
console.log("[BackgroundService] browser.runtime.onInstalled");
browser.contextMenus.removeAll();
browser.contextMenus.create(
{
title: loc("Quick generate password"),
contexts: ["editable"],
id: "generatePassword"
}
);
let settings: { [key: string]: any; } = await browser.storage.sync.get({ AddContext: true });
UpdateContextMenu(settings.AddContext);
}
async function OnStorageChanged(changes: any): Promise<void>
{
console.log("[BackgroundService] browser.storage.sync.onChanged", changes);
if (changes.AddContext?.newValue !== undefined)
UpdateContextMenu(changes.AddContext.newValue);
}
if (!browser.runtime.onInstalled.hasListener(OnInstalled))
browser.runtime.onInstalled.addListener(OnInstalled);
if (!browser.contextMenus.onClicked.hasListener(OnContextClick))
browser.contextMenus.onClicked.addListener(OnContextClick);
if (!browser.storage.sync.onChanged.hasListener(OnStorageChanged))
browser.storage.sync.onChanged.addListener(OnStorageChanged);
+40
View File
@@ -0,0 +1,40 @@
// ContentService.ts
// Content script that handles quick password generation through context menu
import browser from "../Utils/Browser";
import Generator from "../Utils/Generator";
import GeneratorOptions from "../Utils/GeneratorOptions";
import { loc } from "../Utils/Localization";
async function OnMessage(message: any): Promise<void>
{
console.log("[ContentService] browser.runtime.onMessage", message);
if (message === "generatePassword")
{
let generatorOptions: GeneratorOptions = await GeneratorOptions.Init();
let password: string = Generator.GeneratePassword(generatorOptions);
let input: HTMLInputElement = document.activeElement as HTMLInputElement;
if (!["INPUT", "TEXTAREA"].includes(input.tagName))
return;
console.log("[ContentService] browser.runtime.onMessage", input);
if (input.tagName !== "INPUT" || input.readOnly || !["text", "password"].includes(input.type))
{
window.alert(loc("Quick generator is only available on password fields"));
return;
}
input.focus();
input.value = password;
window.navigator.clipboard.writeText(password);
}
}
if (!browser.runtime.onMessage.hasListener(OnMessage))
browser.runtime.onMessage.addListener(OnMessage);
console.log("[ContentService] Loaded");
+4
View File
@@ -0,0 +1,4 @@
import Browser from "webextension-polyfill";
const browser: typeof Browser = (process.env.NODE_ENV !== "development") ? require("webextension-polyfill") : null;
export default browser;
+121
View File
@@ -0,0 +1,121 @@
import GeneratorOptions from "./GeneratorOptions";
import { loc } from "./Localization";
export default class Generator
{
public static Uppercase = "ABCDEFGHJKMNPQRSTUVWXYZ";
public static Lowercase = this.Uppercase.toLowerCase();
public static Numeric = "23456789";
public static SpecialCharacters = "!#$%&*+-=?@^_";
public static AmbiguousCharacters = "{}[]()/\\'\"`~,;:.<>";
public static SimilarCharacters = "il1Lo0O";
public static GeneratePassword(props: GeneratorOptions): string
{
if (!props.Length || isNaN(props.Length) || props.Length < 4)
props.Length = 4;
// Validating parameters
if (this.ValidateProps(props))
return "";
// Generating password
let availableCharacters: string = this.GetAvailableCharacters(props);
let requiredCharacters: string = this.GetRequiredCharacters(props);
let password: string = "";
for (let i = 0; i < props.Length; i++)
{
let char: string = this.PickRandomFromArray(availableCharacters);
if (props.ExcludeRepeating && password.includes(char))
i--;
else
password += char;
}
for (let i = 0; i < requiredCharacters.length; i++)
{
if (props.ExcludeRepeating && password.includes(requiredCharacters[i]))
continue;
password = password.replace(this.PickRandomFromArray(password), requiredCharacters[i]);
}
return password;
}
public static ValidateProps(props: GeneratorOptions): string
{
if (!props.Length || isNaN(props.Length) || props.Length < 4)
props.Length = 4;
if (!props.Lowercase && !props.Uppercase)
return loc("Either lowercase or uppercase characters must be included");
let availableCharacters: string = this.GetAvailableCharacters(props);
if (props.ExcludeRepeating && availableCharacters.length < props.Length)
return loc("Selected length is too long to exclude repeating characters");
return "";
}
private static GetAvailableCharacters(props: GeneratorOptions): string
{
let availableCharacters: string = "";
if (props.Special)
availableCharacters += this.SpecialCharacters;
if (props.Numeric)
availableCharacters += this.Numeric;
if (props.Lowercase)
availableCharacters += this.Lowercase;
if (props.Uppercase)
availableCharacters += this.Uppercase;
if (!props.ExcludeAmbiguous)
availableCharacters += this.AmbiguousCharacters;
if (!props.ExcludeSimilar)
availableCharacters += this.SimilarCharacters;
return availableCharacters;
}
private static GetRequiredCharacters(props: GeneratorOptions): string
{
let requiredCharacters: string = "";
if (props.Special)
requiredCharacters += this.PickRandomFromArray(this.SpecialCharacters);
if (props.Numeric)
requiredCharacters += this.PickRandomFromArray(this.Numeric);
if (props.Lowercase)
requiredCharacters += this.PickRandomFromArray(this.Lowercase);
if (props.Uppercase)
requiredCharacters += this.PickRandomFromArray(this.Uppercase);
if (!props.ExcludeAmbiguous)
requiredCharacters += this.PickRandomFromArray(this.AmbiguousCharacters);
if (!props.ExcludeSimilar)
requiredCharacters += this.PickRandomFromArray(this.SimilarCharacters);
return requiredCharacters;
}
// See https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Math/random
// min is inclusive, max is exclusive
private static GetRandomInt(min: number, max: number): number
{
let arr = new Uint8Array(1);
crypto.getRandomValues(arr);
return Math.floor((arr[0] / 255) * (max - min)) + min;
}
private static PickRandomFromArray(array: string): string
{
return array[this.GetRandomInt(0, array.length)];
}
}
+53
View File
@@ -0,0 +1,53 @@
import { Storage } from "webextension-polyfill";
import browser from "../Utils/Browser";
export default class GeneratorOptions
{
public Length: number = 16;
public Special: boolean = true;
public Numeric: boolean = true;
public Lowercase: boolean = true;
public Uppercase: boolean = true;
public ExcludeSimilar: boolean = true;
public ExcludeAmbiguous: boolean = true;
public ExcludeRepeating: boolean = false;
public static OnChanged: (changes: Partial<GeneratorOptions>) => void;
public static async Init(): Promise<GeneratorOptions>
{
let fallbackOptions: GeneratorOptions = new GeneratorOptions();
if (!browser?.storage?.sync) // Extension is running as a standalone app
return fallbackOptions;
let props: { [key: string]: any; } = await browser.storage.sync.get(fallbackOptions);
browser.storage.sync.onChanged.addListener(GeneratorOptions.OnStorageChanged);
return props as GeneratorOptions;
}
public static async Update(changes: Partial<GeneratorOptions>): Promise<void>
{
if (browser?.storage?.sync)
await browser?.storage?.sync?.set(changes);
else
GeneratorOptions.OnChanged(changes);
}
private static OnStorageChanged(changes: { [key: string]: Storage.StorageChange; }): void
{
let propsList: string[] = Object.keys(new GeneratorOptions());
let options: { [key: string]: any; } = {};
Object.entries(changes)
.filter(i => propsList.includes(i[0]))
.map(i => options[i[0]] = i[1].newValue);
if (GeneratorOptions.OnChanged)
GeneratorOptions.OnChanged(options as Partial<GeneratorOptions>);
}
}
+24
View File
@@ -0,0 +1,24 @@
import browser from "../Utils/Browser";
export default class Localization
{
public static GetString(key: string): string
{
let sanitizedKey: string = key
.replaceAll(".", "_")
.replaceAll(",", "_")
.replaceAll(" ", "_")
.replaceAll("-", "_")
.replaceAll("?", "_")
.replaceAll("!", "_");
let str: string = browser?.i18n?.getMessage(sanitizedKey);
return str ?? key;
}
}
export function loc(key: string): string
{
return Localization.GetString(key);
}
+45
View File
@@ -0,0 +1,45 @@
import { Storage } from "webextension-polyfill";
import browser from "../Utils/Browser";
export default class Settings
{
public AddContext: boolean = true;
public Autocopy: boolean = true;
public static OnChanged: (changes: Partial<Settings>) => void;
public static async Init(): Promise<Settings>
{
let fallbackOptions = new Settings();
if (!browser?.storage?.sync)
return fallbackOptions;
let props: { [key: string]: any; } = await browser.storage.sync.get(fallbackOptions);
browser.storage.sync.onChanged.addListener(Settings.OnStorageChanged);
return props as Settings;
}
public static async Update(changes: Partial<Settings>): Promise<void>
{
if (browser?.storage?.sync)
await browser?.storage?.sync?.set(changes);
else
Settings.OnChanged(changes);
}
private static OnStorageChanged(changes: { [key: string]: Storage.StorageChange; }): void
{
let propsList: string[] = Object.keys(new Settings());
let settings: { [key: string]: any; } = {};
Object.entries(changes)
.filter(i => propsList.includes(i[0]))
.map(i => settings[i[0]] = i[1].newValue);
if (Settings.OnChanged)
Settings.OnChanged(settings as Partial<Settings>);
}
}
+8
View File
@@ -0,0 +1,8 @@
import ReactDOM from "react-dom/client";
import App from "./App";
import Settings from "./Utils/Settings";
Settings.Init().then(settings =>
ReactDOM
.createRoot(document.querySelector("#root") as HTMLElement)
.render(<App settings={ settings } />));
+1
View File
@@ -0,0 +1 @@
/// <reference types="react-scripts" />
+27
View File
@@ -0,0 +1,27 @@
{
"compilerOptions": {
"target": "es5",
"lib": [
"dom",
"dom.iterable",
"esnext"
],
"allowJs": true,
"skipLibCheck": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"strict": true,
"strictNullChecks": false,
"forceConsistentCasingInFileNames": true,
"noFallthroughCasesInSwitch": true,
"module": "esnext",
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
"jsx": "react-jsx"
},
"include": [
"src"
]
}
+10027
View File
File diff suppressed because it is too large Load Diff