Possibly the coolest way to install apps and customize your Mac!

Overview

BrewMyMac

GitHub workflow status Coverage Quality gate Vulnerabilities

Possibly the coolest way to install apps and customize your Mac!

Introduction

This article explains the motivation behind this project.

Getting started

Try it: https://brewmymac.sh

Supported package repositories

  • Homebrew: The missing package manager for macOS
  • Homebrew Cask: An extension to Homebrew that allows you to install macOS applications
  • App Store: A macOS app store platform maintained by Apple Inc

Supported macOS tweaks

  • macOS tweaks: A collection of nearly 50 macOS customizations

Running locally

You need Node.js and npm installed on your machine.

  1. Install dependencies
    npm i --legacy-peer-deps
  2. Change the homepage URL in package.json to .
  3. This app uses Bugsnag and Sentry to track errors and Mixpanel to track usage. You can create a .env file and adding your own keys by setting the REACT_APP_MIXPANEL_TOKEN, REACT_APP_BUGSNAG_KEY and REACT_APP_SENTRY_DSN environment variables.
  4. Start the development server
    npm start
  5. Open http://localhost:3000 with your browser

Building from source

You need Node.js and npm installed on your machine.

  1. Install dependencies
    npm i --legacy-peer-deps
  2. Build the app
    npm run build
  3. The built app will be in the build folder

Deploying your own instance

Apart from changing the values in steps 2 and 3 in the Running locally section, you will need to create your own API for saving and retrieving sessions.

A session is a generated Shell script that contains the list of apps to be installed and tweaks to be applied and it is uniquely identified by its ID. The minimal data structure of a session is as follows:

{
   "sessionId": "string",
   "script": "string"
}

This project uses Xano as the backend service which provides persistent data storage and RESTful APIs. You can use any other service that provides similar functionality. If you do that, you need to change the URLs in src/api/session.ts and src/screens/SessionDetail.tsx.

Architecture

Architecture

  1. The frontend is a React app hosted on GitHub Pages. This project does not involve any backend service implementation.
  2. The frontend app fetches a list of available apps from Homebrew via its Formulae API.
  3. The frontend app fetches a list of available apps from Homebrew Cask via its Formulae API.
  4. The frontend app searches for apps in Apple App Store via a public CORS proxy.
  5. The frontend app fetches a list of available macOS tweaks from a GitHub repository.
  6. When the user is ready to install apps and apply tweaks, the frontend app generates a shell script and stores it in Xano which is a no-code database. A link to download the shell script is generated and a single-line command is displayed to the user.
  7. The user opens Terminal in macOS.
  8. The user runs the single-line command that downloads the shell script from Xano.
  9. The shell script downloads an Ansible playbook for macOS tweaks from GitHub.
  10. The shell script installs apps using Homebrew and mas-cli, and applies macOS tweaks using Ansible.

License

BrewMyMac is open source software released under MIT.

Comments
  • Bump eslint-plugin-unicorn from 44.0.2 to 45.0.1 in /frontend

    Bump eslint-plugin-unicorn from 44.0.2 to 45.0.1 in /frontend

    Bumps eslint-plugin-unicorn from 44.0.2 to 45.0.1.

    Release notes

    Sourced from eslint-plugin-unicorn's releases.

    v45.0.1

    • no-useless-spread: Remove unsafe fix (#1996) 6756cbd

    https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v45.0.0...v45.0.1

    v45.0.0

    New rules

    Improvements

    • prefer-at: Support private fields (#1929) 60bb455
    • no-useless-undefined: Ignore Array#includes() and Set#has() (#1951) 8dfd5a7
    • no-useless-spread: Check cloning inline arrays (#1980) 5d90d73
    • prefer-top-level-await: Ignore expressions in class (#1976) b90a3aa
    • prefer-string-replace-all: Improve RegExp to string fix (#1971) b844dbc
    • prefer-string-replace-all: Check pattern even if it's already using .replaceAll (#1981) e8c5156
    • prefer-string-replace-all: Report all String#replace() when the pattern has g flag (#1965) 6316f05
    • prefer-string-replace-all: Ignore regex with pipe (#1962) 76deaa3
    • prefer-regexp-test: Use suggestions if not sure regexp without g flag (#1954) 505a203
    • no-array-for-each: Skip fix for some edge cases (#1979) 48efc7a
    • prefer-add-event-listener: Only fix ExpressionStatement, check operator (#1955) aca21f2
    • prevent-abbreviations: Improve fix for retVal (#1953) 25cd810

    Fixes

    • prefer-top-level-await: Fix crash on for..of loop (#1950) 00a29c8

    https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v44.0.2...v45.0.0

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 1
  • Bump eslint-plugin-unicorn from 44.0.2 to 45.0.0 in /frontend

    Bump eslint-plugin-unicorn from 44.0.2 to 45.0.0 in /frontend

    Bumps eslint-plugin-unicorn from 44.0.2 to 45.0.0.

    Release notes

    Sourced from eslint-plugin-unicorn's releases.

    v45.0.0

    New rules

    Improvements

    • prefer-at: Support private fields (#1929) 60bb455
    • no-useless-undefined: Ignore Array#includes() and Set#has() (#1951) 8dfd5a7
    • no-useless-spread: Check cloning inline arrays (#1980) 5d90d73
    • prefer-top-level-await: Ignore expressions in class (#1976) b90a3aa
    • prefer-string-replace-all: Improve RegExp to string fix (#1971) b844dbc
    • prefer-string-replace-all: Check pattern even if it's already using .replaceAll (#1981) e8c5156
    • prefer-string-replace-all: Report all String#replace() when the pattern has g flag (#1965) 6316f05
    • prefer-string-replace-all: Ignore regex with pipe (#1962) 76deaa3
    • prefer-regexp-test: Use suggestions if not sure regexp without g flag (#1954) 505a203
    • no-array-for-each: Skip fix for some edge cases (#1979) 48efc7a
    • prefer-add-event-listener: Only fix ExpressionStatement, check operator (#1955) aca21f2
    • prevent-abbreviations: Improve fix for retVal (#1953) 25cd810

    Fixes

    • prefer-top-level-await: Fix crash on for..of loop (#1950) 00a29c8

    https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v44.0.2...v45.0.0

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 1
  • install mas by default - fresh install from applestore failed because mas is missing

    install mas by default - fresh install from applestore failed because mas is missing

    My first run:

    Press Command+C to quit now if you have not already signed in to App Store. Otherwise, press any key to continue ....⏳ Installing App Store apps ... /bin/bash: line 45: mas: command not found ❌ Failed to install Amphetamine from App Store

    after adding "mas" manually it worked. Since mas is required, it could be automatically installed when I pick an app from the appstore.

    opened by jangalinski 1
  • Bump i18next from 21.10.0 to 22.0.4 in /frontend

    Bump i18next from 21.10.0 to 22.0.4 in /frontend

    Bumps i18next from 21.10.0 to 22.0.4.

    Release notes

    Sourced from i18next's releases.

    v22.0.4

    • Add type for Formatter.addCached 1862

    v22.0.3

    • Make getFixedT type-safe 1860
    • types: Omit object from t function 1858

    v22.0.2

    • [TypeScript] Add default value for TDefaultResult 1853

    v22.0.1

    • Fix normalize type options 1850

    v22.0.0

    • Make the translation function fully type-safe 1775

    BREAKING: Since this is a major rewrite for TypeScript usage we decided to create a major version. For JavaScript users v22.0.0 is equivalent to 21.10.0

    Changelog

    Sourced from i18next's changelog.

    22.0.4

    • Add type for Formatter.addCached 1862

    22.0.3

    • Make getFixedT type-safe 1860
    • types: Omit object from t function 1858

    22.0.2

    • [TypeScript] Add default value for TDefaultResult 1853

    22.0.1

    • Fix normalize type options 1850

    22.0.0

    • Make the translation function fully type-safe 1775

    BREAKING: Since this is a major rewrite for TypeScript usage we decided to create a major version. For JavaScript users v22.0.0 is equivalent to 21.10.0

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 1
  • Bump i18next from 21.10.0 to 22.0.3 in /frontend

    Bump i18next from 21.10.0 to 22.0.3 in /frontend

    Bumps i18next from 21.10.0 to 22.0.3.

    Release notes

    Sourced from i18next's releases.

    v22.0.3

    • Make getFixedT type-safe 1860
    • types: Omit object from t function 1858

    v22.0.2

    • [TypeScript] Add default value for TDefaultResult 1853

    v22.0.1

    • Fix normalize type options 1850

    v22.0.0

    • Make the translation function fully type-safe 1775

    BREAKING: Since this is a major rewrite for TypeScript usage we decided to create a major version. For JavaScript users v22.0.0 is equivalent to 21.10.0

    Changelog

    Sourced from i18next's changelog.

    22.0.3

    • Make getFixedT type-safe 1860
    • types: Omit object from t function 1858

    22.0.2

    • [TypeScript] Add default value for TDefaultResult 1853

    22.0.1

    • Fix normalize type options 1850

    22.0.0

    • Make the translation function fully type-safe 1775

    BREAKING: Since this is a major rewrite for TypeScript usage we decided to create a major version. For JavaScript users v22.0.0 is equivalent to 21.10.0

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 1
  • Bump i18next from 21.10.0 to 22.0.2 in /frontend

    Bump i18next from 21.10.0 to 22.0.2 in /frontend

    Bumps i18next from 21.10.0 to 22.0.2.

    Release notes

    Sourced from i18next's releases.

    v22.0.2

    • [TypeScript] Add default value for TDefaultResult 1853

    v22.0.1

    • Fix normalize type options 1850

    v22.0.0

    • Make the translation function fully type-safe 1775

    BREAKING: Since this is a major rewrite for TypeScript usage we decided to create a major version. For JavaScript users v22.0.0 is equivalent to 21.10.0

    Changelog

    Sourced from i18next's changelog.

    22.0.2

    • [TypeScript] Add default value for TDefaultResult 1853

    22.0.1

    • Fix normalize type options 1850

    22.0.0

    • Make the translation function fully type-safe 1775

    BREAKING: Since this is a major rewrite for TypeScript usage we decided to create a major version. For JavaScript users v22.0.0 is equivalent to 21.10.0

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 1
  • Bump react-i18next from 11.18.6 to 12.0.0 in /frontend

    Bump react-i18next from 11.18.6 to 12.0.0 in /frontend

    Bumps react-i18next from 11.18.6 to 12.0.0.

    Changelog

    Sourced from react-i18next's changelog.

    12.0.0

    • Update t function types to rely on types coming from i18next 1501
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 1
  • Bump i18next from 21.10.0 to 22.0.1 in /frontend

    Bump i18next from 21.10.0 to 22.0.1 in /frontend

    Bumps i18next from 21.10.0 to 22.0.1.

    Release notes

    Sourced from i18next's releases.

    v22.0.1

    • Fix normalize type options 1850

    v22.0.0

    • Make the translation function fully type-safe 1775

    BREAKING: Since this is a major rewrite for TypeScript usage we decided to create a major version. For JavaScript users v22.0.0 is equivalent to 21.10.0

    Changelog

    Sourced from i18next's changelog.

    22.0.1

    • Fix normalize type options 1850

    22.0.0

    • Make the translation function fully type-safe 1775

    BREAKING: Since this is a major rewrite for TypeScript usage we decided to create a major version. For JavaScript users v22.0.0 is equivalent to 21.10.0

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 1
  • Bump eslint-plugin-unicorn from 43.0.2 to 44.0.2 in /frontend

    Bump eslint-plugin-unicorn from 43.0.2 to 44.0.2 in /frontend

    Bumps eslint-plugin-unicorn from 43.0.2 to 44.0.2.

    Release notes

    Sourced from eslint-plugin-unicorn's releases.

    v44.0.2

    • no-array-method-this-argument: Ignore lodash.findLast and lodash.findLastIndex (#1927) 86e8add

    https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v44.0.1...v44.0.2

    v44.0.1

    • prefer-array-index-of: Add missing message (#1924) a981a13

    https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v44.0.0...v44.0.1

    v44.0.0

    New rules

    Improvements

    • prefer-array-find: Add option to also prefer .findLast() (#1900) 02252c7
    • template-indent: Preserve trailing spaces (#1872) e4071f5
    • no-document-cookie: Check window.document.cookie (#1833) 0886544
    • prefer-array-index-of: Prefer .lastIndexOf() over .findLastIndex() (#1896) 70e5bdd
    • prefer-array-some: Check .findLast() (#1897) 3e6ae43
    • prefer-native-coercion-functions: Check .findLast and .findLastIndex (#1893) f2c6acc
    • no-array-method-this-argument: Check .findLast and .findLastIndex (#1890) 3bc28ad
    • no-array-callback-reference: Check .findLast and .findLastIndex (#1889) 37a5cda
    • prefer-negative-index: Remove ArrayBuffer#at (#1899) a10e3f6
    • prefer-at: Improve fix (#1901) 1c457bb

    Fixes

    • no-await-expression-member: Fix crash on TypeScript parser (#1910) b002e75
    • prevent-abbreviations: Skip fix when variable is JSX component (#1907) 9ed08ab
    • better-regexp: Don't fix if .source or .toString() is used (#1903) 8ad592b

    https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v43.0.2...v44.0.0

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 1
  • Bump eslint-plugin-unicorn from 43.0.2 to 44.0.1 in /frontend

    Bump eslint-plugin-unicorn from 43.0.2 to 44.0.1 in /frontend

    Bumps eslint-plugin-unicorn from 43.0.2 to 44.0.1.

    Release notes

    Sourced from eslint-plugin-unicorn's releases.

    v44.0.1

    • prefer-array-index-of: Add missing message (#1924) a981a13

    https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v44.0.0...v44.0.1

    v44.0.0

    New rules

    Improvements

    • prefer-array-find: Add option to also prefer .findLast() (#1900) 02252c7
    • template-indent: Preserve trailing spaces (#1872) e4071f5
    • no-document-cookie: Check window.document.cookie (#1833) 0886544
    • prefer-array-index-of: Prefer .lastIndexOf() over .findLastIndex() (#1896) 70e5bdd
    • prefer-array-some: Check .findLast() (#1897) 3e6ae43
    • prefer-native-coercion-functions: Check .findLast and .findLastIndex (#1893) f2c6acc
    • no-array-method-this-argument: Check .findLast and .findLastIndex (#1890) 3bc28ad
    • no-array-callback-reference: Check .findLast and .findLastIndex (#1889) 37a5cda
    • prefer-negative-index: Remove ArrayBuffer#at (#1899) a10e3f6
    • prefer-at: Improve fix (#1901) 1c457bb

    Fixes

    • no-await-expression-member: Fix crash on TypeScript parser (#1910) b002e75
    • prevent-abbreviations: Skip fix when variable is JSX component (#1907) 9ed08ab
    • better-regexp: Don't fix if .source or .toString() is used (#1903) 8ad592b

    https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v43.0.2...v44.0.0

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 1
  • Bump eslint-plugin-unicorn from 43.0.2 to 44.0.0 in /frontend

    Bump eslint-plugin-unicorn from 43.0.2 to 44.0.0 in /frontend

    Bumps eslint-plugin-unicorn from 43.0.2 to 44.0.0.

    Release notes

    Sourced from eslint-plugin-unicorn's releases.

    v44.0.0

    New rules

    Improvements

    • prefer-array-find: Add option to also prefer .findLast() (#1900) 02252c7
    • template-indent: Preserve trailing spaces (#1872) e4071f5
    • no-document-cookie: Check window.document.cookie (#1833) 0886544
    • prefer-array-index-of: Prefer .lastIndexOf() over .findLastIndex() (#1896) 70e5bdd
    • prefer-array-some: Check .findLast() (#1897) 3e6ae43
    • prefer-native-coercion-functions: Check .findLast and .findLastIndex (#1893) f2c6acc
    • no-array-method-this-argument: Check .findLast and .findLastIndex (#1890) 3bc28ad
    • no-array-callback-reference: Check .findLast and .findLastIndex (#1889) 37a5cda
    • prefer-negative-index: Remove ArrayBuffer#at (#1899) a10e3f6
    • prefer-at: Improve fix (#1901) 1c457bb

    Fixes

    • no-await-expression-member: Fix crash on TypeScript parser (#1910) b002e75
    • prevent-abbreviations: Skip fix when variable is JSX component (#1907) 9ed08ab
    • better-regexp: Don't fix if .source or .toString() is used (#1903) 8ad592b

    https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v43.0.2...v44.0.0

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 1
  • Bump eslint-plugin-unicorn from 44.0.2 to 45.0.2 in /frontend

    Bump eslint-plugin-unicorn from 44.0.2 to 45.0.2 in /frontend

    Bumps eslint-plugin-unicorn from 44.0.2 to 45.0.2.

    Release notes

    Sourced from eslint-plugin-unicorn's releases.

    v45.0.2

    • prefer-string-replace-all: Don't crash on invalid pattern (#2011) 3bbe027
    • prevent-abbreviations: Skip fix for variables used in Vue template (#2012) 8cd1ded

    https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v45.0.1...v45.0.2

    v45.0.1

    • no-useless-spread: Remove unsafe fix (#1996) 6756cbd

    https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v45.0.0...v45.0.1

    v45.0.0

    New rules

    Improvements

    • prefer-at: Support private fields (#1929) 60bb455
    • no-useless-undefined: Ignore Array#includes() and Set#has() (#1951) 8dfd5a7
    • no-useless-spread: Check cloning inline arrays (#1980) 5d90d73
    • prefer-top-level-await: Ignore expressions in class (#1976) b90a3aa
    • prefer-string-replace-all: Improve RegExp to string fix (#1971) b844dbc
    • prefer-string-replace-all: Check pattern even if it's already using .replaceAll (#1981) e8c5156
    • prefer-string-replace-all: Report all String#replace() when the pattern has g flag (#1965) 6316f05
    • prefer-string-replace-all: Ignore regex with pipe (#1962) 76deaa3
    • prefer-regexp-test: Use suggestions if not sure regexp without g flag (#1954) 505a203
    • no-array-for-each: Skip fix for some edge cases (#1979) 48efc7a
    • prefer-add-event-listener: Only fix ExpressionStatement, check operator (#1955) aca21f2
    • prevent-abbreviations: Improve fix for retVal (#1953) 25cd810

    Fixes

    • prefer-top-level-await: Fix crash on for..of loop (#1950) 00a29c8

    https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v44.0.2...v45.0.0

    Commits
    • 23d0326 45.0.2
    • 3bbe027 prefer-string-replace-all: Don't crash on invalid pattern (#2011)
    • 8cd1ded prevent-abbreviations: Skip fix for variables used in Vue template (#2012)
    • 6aa742d Improve docs on required ESLint config
    • ec2567b filename-case: Remove unnecessary escape from docs (#2004)
    • 84a5816 no-typeof-undefined: Add historical note to docs (#1992)
    • 8dff476 prefer-number-properties: fix MDN links (#1999)
    • a8570c8 Update to eslint-doc-generator v1.0.0 (#2000)
    • 526f287 Update @eslint-community/eslint-utils to v4.1.2 (#1997)
    • 8769607 45.0.1
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 0
  • Bump minisearch from 5.1.0 to 6.0.0 in /frontend

    Bump minisearch from 5.1.0 to 6.0.0 in /frontend

    Bumps minisearch from 5.1.0 to 6.0.0.

    Changelog

    Sourced from minisearch's changelog.

    v6.0.0

    This is a major release. The most notable change is the addition of discard, discardAll, and replace. These method make it more convenient and performant to remove or replace documents.

    This release is almost completely backwards compatible with v5, apart from one breaking change in the behavior of add when the document ID already exists.

    Changes:

    • [breaking change] add, addAll, and addAllAsync now throw an error on duplicate document IDs. When necessary, it is now possible to check for the existence of a document with a certain ID with the new method has.
    • Add discard method to remove documents by ID. This is a convenient alternative to remove that takes only the ID of the documents to remove, as opposed to the whole document. The visible effect is the same as remove. The difference is that remove immediately mutates the index, while discard marks the current document version as discarded, so it is immedately ignored by searches, but delays modifying the index until a certain number of documents are discarded. At that point, a vacuuming is triggered, cleaning up the index from obsolete references and allowing memory to be released.
    • Add discardAll and replace methods, built on top of discard
    • Add vacuuming of references to discarded documents from the index. Vacuuming is performed automatically by default when the number of discarded documents reaches a threshold (controlled by the new autoVacuum constructor option), or can be triggered manually by calling the vacuum method. The new dirtCount and dirtFactor properties give the current value of the parameters used to decide whether to trigger an automatic vacuuming.
    • Add termCount property, giving the number of distinct terms present in the index
    • Allow customizing the parameters of the BM25+ scoring algorithm via the bm25 search option.
    • Improve TypeScript type of some methods by marking the given array argument as readonly, signaling that it won't be mutated, and allowing passing readonly arrays.
    • Make it possible to overload the loadJS static method in subclasses
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 0
  • Bump @types/uuid from 8.3.4 to 9.0.0 in /frontend

    Bump @types/uuid from 8.3.4 to 9.0.0 in /frontend

    Bumps @types/uuid from 8.3.4 to 9.0.0.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 0
  • Bump @types/uuid from 8.3.4 to 9.0.0 in /backend

    Bump @types/uuid from 8.3.4 to 9.0.0 in /backend

    Bumps @types/uuid from 8.3.4 to 9.0.0.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 0
Releases(release/v1.1.4)
Owner
Alan Tai
Principal Software Architect
Alan Tai
Open apps directly in GNOME Software by clicking Install from Flathub and apps.gnome.

Flatline Open apps directly in GNOME Software by clicking Install from Flathub and apps.gnome. Load the extension in Firefox Clone the repository Open

Cleo Menezes Jr. 43 Nov 7, 2022
:books: The definitive guide to TypeScript and possibly the best TypeScript book :book:. Free and Open Source 🌹

TypeScript Deep Dive I've been looking at the issues that turn up commonly when people start using TypeScript. This is based on the lessons from Stack

Basarat Ali Syed 18.7k Jan 4, 2023
Easiest 1-click way to install and use Stable Diffusion on your own computer. Provides a browser UI for generating images from text prompts and images. Just enter your text prompt, and see the generated image.

Stable Diffusion UI Easiest way to install and use Stable Diffusion on your own computer. No dependencies or technical knowledge required. 1-click ins

null 3.5k Dec 30, 2022
A Tempermonky / Greasemonkey plugin which can help you export your class schedule to the calendar on your phone / pad / PC / Mac.

WHU Class Schedule Export as iCS Languages: English | η°‘ι«”δΈ­ζ–‡ | 繁體中文 Changelog v0.90.1 - Sep 18, 2022 Fix bugs: Fix an error when a class have multiple s

Ostrich_B 6 Sep 7, 2022
Inter Process Communication Module for node supporting Unix sockets, TCP, TLS, and UDP. Giving lightning speed on Linux, Mac, and Windows. Neural Networking in Node.JS

Inter Process Communication Module for node supporting Unix sockets, TCP, TLS, and UDP. Giving lightning speed on Linux, Mac, and Windows. Neural Networking in Node.JS

Node IPC 43 Dec 9, 2022
MagicCap is a image/GIF capture suite for Mac and Linux

MagicCap is a image/GIF capture suite for Mac and Linux. You can get a precompiled copy from the releases page of this GitHub page.

null 5 Sep 15, 2022
An open-source, blazing fast code editor for Windows, Mac, and Linux.

Thermite An open-source, blazing fast code editor for Windows, Mac, and Linux. About Thermite is a Blazing Fast, Open-Source, Cross-Platform Code Edit

Keston 4 Oct 25, 2022
A Node.JS tool to automatically install or update your FiveM server artifacts.

ItsANoBrainer FiveM Artifact Updater FiveM Artifact Updater is an application created with Node.JS to easily and quickly install/update your artifacts

null 23 Dec 8, 2022
Create, Customize and Commit your project's ReadMe in VS Code with an integrated extension

VS Code Readme Editor ?? A VS Code extension to create, customize and save your Readme without having to leave your project workspace. Built with Type

Sumit Nalavade 22 Dec 29, 2022
A simple editor allows you to easily add and customize all the sections you need for your profile's readme.

Create your Profile README using the best Templates tomper-readmify.herokuapp.com This is the frontend + backend of TomperReadmify build with MERN sta

Varun Tiwari 15 Jan 2, 2023
Requestly Desktop App (Mac, Linux, Windows)

Requestly Desktop App Requestly Desktop App. Debug your network request across all apps (Safari, Chrome, Firefox, Brave...) using a single app. Direct

Requestly 14 Jan 2, 2023
created mac OS desktop with HTML, CSS, JS πŸ˜€

Hello World ?? I am planing to make a mac OS simulator using HTML, CSS, and JavaScript ?? Mac Os Monterey Try it now! : https://mhmdmhd6.github.io/Mac

mhmd 294 Dec 21, 2022
Catalogist is the easy way to catalog and make your software and (micro)services visible to your organization in a lightweight and developer-friendly way.

catalogist ?? ?? ?? ?? ?? The easy way to catalog and make your software and (micro)services visible to your organization through an API You were a pe

Mikael Vesavuori 11 Dec 13, 2022
🎨 Beautify your github profile with this amazing tool, creating the readme your way in a simple and fast way πŸš€ The best profile readme generator you will find ⚑

Demo Profile Readme Generator The best profile readme generator you will find! About | Technologies | Requirements | Starting | Contributing ?? About

Mauro de Souza 476 Jan 1, 2023
Service Installer for VMware Tanzu is a one-click automation solution that enables VMware field engineers to easily and rapidly install, configure, and operate VMware Tanzu services across a variety of cloud infrastructures.

Service Installer for VMware Tanzu Service Installer for VMware Tanzu seeks to provide a one-click automation solution to enable our VMware engineers

VMware Tanzu 42 Dec 1, 2022
Instruction how to install laravel echo and pusher without vuejs or even npm

This 2 .js files are used to listen from server broadcasting with laravel-websockets, so that you don't need the use of Vue.js in your laravel app Fol

Muath Assawadi 7 Sep 28, 2022
This is a project that is used to execute python codes in the web page. You can install and use it in django projects, You can do any operations that can be performed in python shell with this package.

Django execute code This is a project that is used to execute python codes in the web page. You can install and use it in django projects, You can do

Shinu 5 Nov 12, 2022
Forked from hayes0724/shopify-packer Modern development tool for Shopify using Webpack 5. Easy to extend and customize, zero build config, compatible with Slate and existing websites.

Shopify Packer Modern development tool for Shopify using Webpack 5. Easy to extend and customize, zero build config, comes with starter themes and com

Web & Mobile | eCommerce | Full-Stack Developer 4 Nov 24, 2022
GitHub action to install Foundry

foundry-toolchain Action This GitHub action installs Foundry. Example workflow on: [push] name: test jobs: check: name: Foundry project ru

Bjerg 128 Jan 5, 2023