Move from yarn to npm
This commit is contained in:
parent
59b27974f0
commit
2478bf1bd3
17 changed files with 53620 additions and 26702 deletions
2
.github/PULL_REQUEST_TEMPLATE.md
vendored
2
.github/PULL_REQUEST_TEMPLATE.md
vendored
|
@ -17,7 +17,7 @@ Remember, you can preview this before saving it.
|
|||
- [ ] My contribution is **not** related to translations.
|
||||
- [ ] My commits are in nice logical chunks with [good commit messages](http://chris.beams.io/posts/git-commit/)
|
||||
- [ ] My changes are [rebased](https://medium.com/free-code-camp/git-rebase-and-the-golden-rule-explained-70715eccc372) on the latest [`main`](https://github.com/signalapp/Signal-Desktop/tree/main) branch
|
||||
- [ ] A `yarn ready` run passes successfully ([more about tests here](https://github.com/signalapp/Signal-Desktop/blob/main/CONTRIBUTING.md#tests))
|
||||
- [ ] A `npm run ready` run passes successfully ([more about tests here](https://github.com/signalapp/Signal-Desktop/blob/main/CONTRIBUTING.md#tests))
|
||||
- [ ] My changes are ready to be shipped to users
|
||||
|
||||
### Description
|
||||
|
|
12
.github/workflows/benchmark.yml
vendored
12
.github/workflows/benchmark.yml
vendored
|
@ -32,7 +32,7 @@ jobs:
|
|||
with:
|
||||
node-version: '20.11.1'
|
||||
- name: Install global dependencies
|
||||
run: npm install -g yarn@1.22.10 npm@10.2.5
|
||||
run: npm install -g npm@10.2.5
|
||||
|
||||
- name: Install xvfb
|
||||
run: sudo apt-get install xvfb
|
||||
|
@ -42,18 +42,18 @@ jobs:
|
|||
uses: actions/cache@v3
|
||||
with:
|
||||
path: node_modules
|
||||
key: ${{ runner.os }}-${{ hashFiles('package.json', 'yarn.lock', 'patches/**') }}
|
||||
key: ${{ runner.os }}-${{ hashFiles('package.json', 'package-lock.json', 'patches/**') }}
|
||||
|
||||
- name: Install Desktop node_modules
|
||||
if: steps.cache-desktop-modules.outputs.cache-hit != 'true'
|
||||
run: yarn install --frozen-lockfile
|
||||
run: npm ci --legacy-peer-deps
|
||||
env:
|
||||
NPM_CONFIG_LOGLEVEL: verbose
|
||||
|
||||
- name: Build typescript
|
||||
run: yarn generate
|
||||
run: npm run generate
|
||||
- name: Bundle
|
||||
run: yarn build:esbuild:prod
|
||||
run: npm run build:esbuild:prod
|
||||
|
||||
- name: Run startup benchmarks
|
||||
run: |
|
||||
|
@ -145,7 +145,7 @@ jobs:
|
|||
- name: Build benchmark repo
|
||||
working-directory: benchmark-results
|
||||
run: |
|
||||
npm ci
|
||||
npm ci --legacy-peer-deps
|
||||
npm run build
|
||||
|
||||
- name: Publish to DataDog
|
||||
|
|
111
.github/workflows/ci.yml
vendored
111
.github/workflows/ci.yml
vendored
|
@ -22,14 +22,14 @@ jobs:
|
|||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: '20.11.1'
|
||||
- run: npm install -g yarn@1.22.10 npm@10.2.5
|
||||
- run: npm install -g npm@10.2.5
|
||||
|
||||
- name: Cache Desktop node_modules
|
||||
id: cache-desktop-modules
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: node_modules
|
||||
key: ${{ runner.os }}-${{ hashFiles('package.json', 'yarn.lock', 'patches/**') }}
|
||||
key: ${{ runner.os }}-${{ hashFiles('package.json', 'package-lock.json', 'patches/**') }}
|
||||
|
||||
- name: Restore cached .eslintcache and tsconfig.tsbuildinfo
|
||||
uses: actions/cache/restore@v3
|
||||
|
@ -38,21 +38,21 @@ jobs:
|
|||
path: |
|
||||
.eslintcache
|
||||
tsconfig.tsbuildinfo
|
||||
key: lint-${{ runner.os }}-${{ hashFiles('package.json', 'yarn.lock', 'patches/**', '.eslintrc.js', '.eslint/**', 'tsconfig.json') }}
|
||||
key: lint-${{ runner.os }}-${{ hashFiles('package.json', 'package-lock.json', 'patches/**', '.eslintrc.js', '.eslint/**', 'tsconfig.json') }}
|
||||
|
||||
- name: Install Desktop node_modules
|
||||
if: steps.cache-desktop-modules.outputs.cache-hit != 'true'
|
||||
run: yarn install --frozen-lockfile
|
||||
run: npm ci --legacy-peer-deps
|
||||
env:
|
||||
NPM_CONFIG_LOGLEVEL: verbose
|
||||
|
||||
- run: yarn generate
|
||||
- run: yarn lint
|
||||
- run: yarn lint-deps
|
||||
- run: yarn lint-license-comments
|
||||
- run: npm run generate
|
||||
- run: npm run lint
|
||||
- run: npm run lint-deps
|
||||
- run: npm run lint-license-comments
|
||||
|
||||
- name: Check acknowledgments file is up to date
|
||||
run: yarn build:acknowledgments
|
||||
run: npm run build:acknowledgments
|
||||
env:
|
||||
REQUIRE_SIGNAL_LIB_FILES: 1
|
||||
|
||||
|
@ -79,39 +79,39 @@ jobs:
|
|||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: '20.11.1'
|
||||
|
||||
- run: npm install -g yarn@1.22.10 npm@10.2.5
|
||||
|
||||
- run: npm install -g npm@10.2.5
|
||||
|
||||
- name: Cache Desktop node_modules
|
||||
id: cache-desktop-modules
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: node_modules
|
||||
key: ${{ runner.os }}-${{ hashFiles('package.json', 'yarn.lock', 'patches/**') }}
|
||||
key: ${{ runner.os }}-${{ hashFiles('package.json', 'package-lock.json', 'patches/**') }}
|
||||
- name: Install Desktop node_modules
|
||||
if: steps.cache-desktop-modules.outputs.cache-hit != 'true'
|
||||
run: yarn install --frozen-lockfile
|
||||
run: npm ci --legacy-peer-deps
|
||||
env:
|
||||
NPM_CONFIG_LOGLEVEL: verbose
|
||||
|
||||
- run: yarn generate
|
||||
- run: yarn prepare-beta-build
|
||||
- run: yarn test-node
|
||||
- run: yarn test-electron
|
||||
- run: npm run generate
|
||||
- run: npm run prepare-beta-build
|
||||
- run: npm run test-node
|
||||
- run: npm run test-electron
|
||||
env:
|
||||
ARTIFACTS_DIR: artifacts/macos
|
||||
timeout-minutes: 5
|
||||
- run: touch noop.sh && chmod +x noop.sh
|
||||
- run: yarn build
|
||||
- run: npm run build
|
||||
env:
|
||||
DISABLE_INSPECT_FUSE: on
|
||||
SIGN_MACOS_SCRIPT: noop.sh
|
||||
- name: Rebuild native modules for x64
|
||||
run: yarn electron:install-app-deps
|
||||
- run: yarn test-release
|
||||
run: npm run electron:install-app-deps
|
||||
- run: npm run test-release
|
||||
env:
|
||||
NODE_ENV: production
|
||||
- run: yarn test-eslint
|
||||
- run: npm run test-eslint
|
||||
|
||||
- name: Upload artifacts on failure
|
||||
if: failure()
|
||||
|
@ -133,45 +133,45 @@ jobs:
|
|||
node-version: '20.11.1'
|
||||
- run: sudo apt-get install xvfb
|
||||
|
||||
- run: npm install -g yarn@1.22.10 npm@10.2.5
|
||||
- run: npm install -g npm@10.2.5
|
||||
|
||||
- name: Cache Desktop node_modules
|
||||
id: cache-desktop-modules
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: node_modules
|
||||
key: ${{ runner.os }}-${{ hashFiles('package.json', 'yarn.lock', 'patches/**') }}
|
||||
key: ${{ runner.os }}-${{ hashFiles('package.json', 'package-lock.json', 'patches/**') }}
|
||||
- name: Install Desktop node_modules
|
||||
if: steps.cache-desktop-modules.outputs.cache-hit != 'true'
|
||||
run: yarn install --frozen-lockfile
|
||||
run: npm ci --legacy-peer-deps
|
||||
env:
|
||||
NPM_CONFIG_LOGLEVEL: verbose
|
||||
|
||||
- run: yarn generate
|
||||
- run: yarn prepare-beta-build
|
||||
- run: npm run generate
|
||||
- run: npm run prepare-beta-build
|
||||
|
||||
- name: Create bundle
|
||||
run: yarn build:esbuild:prod
|
||||
run: npm run build:esbuild:prod
|
||||
|
||||
- name: Build with packaging .deb file
|
||||
run: yarn build:release -- --publish=never
|
||||
run: npm run build:release -- --publish=never
|
||||
if: github.ref == 'refs/heads/main'
|
||||
env:
|
||||
DISABLE_INSPECT_FUSE: on
|
||||
- name: Build without packaging .deb file
|
||||
run: yarn build:release --linux dir
|
||||
run: npm run build:release -- --linux dir
|
||||
if: github.ref != 'refs/heads/main'
|
||||
env:
|
||||
DISABLE_INSPECT_FUSE: on
|
||||
|
||||
- run: xvfb-run --auto-servernum yarn test-node
|
||||
- run: xvfb-run --auto-servernum yarn test-electron
|
||||
- run: xvfb-run --auto-servernum npm run test-node
|
||||
- run: xvfb-run --auto-servernum npm run test-electron
|
||||
timeout-minutes: 5
|
||||
env:
|
||||
ARTIFACTS_DIR: artifacts/linux
|
||||
LANG: en_US
|
||||
LANGUAGE: en_US
|
||||
- run: xvfb-run --auto-servernum yarn test-release
|
||||
- run: xvfb-run --auto-servernum npm run test-release
|
||||
env:
|
||||
NODE_ENV: production
|
||||
|
||||
|
@ -198,7 +198,7 @@ jobs:
|
|||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: '20.11.1'
|
||||
- run: npm install -g yarn@1.22.10 npm@10.2.5 node-gyp@10.0.1
|
||||
- run: npm install -g npm@10.2.5 node-gyp@10.0.1
|
||||
|
||||
# Set things up so @nodert-win10-rs4 dependencies build properly
|
||||
- run: dir "$env:BUILD_LOCATION"
|
||||
|
@ -211,40 +211,40 @@ jobs:
|
|||
uses: actions/cache@v3
|
||||
with:
|
||||
path: node_modules
|
||||
key: ${{ runner.os }}-${{ hashFiles('package.json', 'yarn.lock', 'patches/**') }}
|
||||
key: ${{ runner.os }}-${{ hashFiles('package.json', 'package-lock.json', 'patches/**') }}
|
||||
- name: Install Desktop node_modules
|
||||
if: steps.cache-desktop-modules.outputs.cache-hit != 'true'
|
||||
run: yarn install --frozen-lockfile
|
||||
run: npm ci --legacy-peer-deps
|
||||
env:
|
||||
CHILD_CONCURRENCY: 1
|
||||
NPM_CONFIG_LOGLEVEL: verbose
|
||||
|
||||
- run: yarn generate
|
||||
- run: yarn test-node
|
||||
- run: npm run generate
|
||||
- run: npm run test-node
|
||||
- run: copy package.json temp.json
|
||||
- run: del package.json
|
||||
- run: type temp.json | findstr /v certificateSubjectName | findstr /v certificateSha1 > package.json
|
||||
- run: yarn prepare-beta-build
|
||||
- run: npm run prepare-beta-build
|
||||
|
||||
- name: Create bundle
|
||||
run: yarn build:esbuild:prod
|
||||
run: npm run build:esbuild:prod
|
||||
|
||||
- name: Build with NSIS
|
||||
run: yarn build:release
|
||||
run: npm run build:release
|
||||
if: github.ref == 'refs/heads/main'
|
||||
env:
|
||||
DISABLE_INSPECT_FUSE: on
|
||||
- name: Build without NSIS
|
||||
run: yarn build:release --win dir
|
||||
run: npm run build:release -- --win dir
|
||||
if: github.ref != 'refs/heads/main'
|
||||
env:
|
||||
DISABLE_INSPECT_FUSE: on
|
||||
|
||||
- run: yarn test-electron
|
||||
- run: npm run test-electron
|
||||
env:
|
||||
ARTIFACTS_DIR: artifacts/windows
|
||||
timeout-minutes: 5
|
||||
- run: yarn test-release
|
||||
- run: npm run test-release
|
||||
env:
|
||||
SIGNAL_ENV: production
|
||||
|
||||
|
@ -268,25 +268,24 @@ jobs:
|
|||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: '18.17.1'
|
||||
- run: npm install -g yarn@1.22.10
|
||||
|
||||
- name: Install Sticker Creator node_modules
|
||||
run: yarn install
|
||||
run: npm ci --legacy-peer-deps
|
||||
|
||||
- name: Build Sticker Creator
|
||||
run: yarn build
|
||||
run: npm run build
|
||||
|
||||
- name: Check Sticker Creator types
|
||||
run: yarn check:types
|
||||
run: npm run check:types
|
||||
|
||||
- name: Check Sticker Creator formatting
|
||||
run: yarn prettier:check
|
||||
run: npm run prettier:check
|
||||
|
||||
- name: Check Sticker Creator linting
|
||||
run: yarn lint
|
||||
run: npm run lint
|
||||
|
||||
- name: Run tests
|
||||
run: yarn test --run
|
||||
run: npm test -- --run
|
||||
|
||||
mock-tests:
|
||||
needs: lint
|
||||
|
@ -308,7 +307,7 @@ jobs:
|
|||
with:
|
||||
node-version: '20.11.1'
|
||||
- name: Install global dependencies
|
||||
run: npm install -g yarn@1.22.10 npm@10.2.5
|
||||
run: npm install -g npm@10.2.5
|
||||
|
||||
- name: Install xvfb
|
||||
run: sudo apt-get install xvfb
|
||||
|
@ -318,23 +317,23 @@ jobs:
|
|||
uses: actions/cache@v3
|
||||
with:
|
||||
path: node_modules
|
||||
key: ${{ runner.os }}-${{ hashFiles('package.json', 'yarn.lock', 'patches/**') }}
|
||||
key: ${{ runner.os }}-${{ hashFiles('package.json', 'package-lock.json', 'patches/**') }}
|
||||
|
||||
- name: Install Desktop node_modules
|
||||
if: steps.cache-desktop-modules.outputs.cache-hit != 'true'
|
||||
run: yarn install --frozen-lockfile
|
||||
run: npm ci --legacy-peer-deps
|
||||
env:
|
||||
NPM_CONFIG_LOGLEVEL: verbose
|
||||
|
||||
- name: Build typescript
|
||||
run: yarn generate
|
||||
run: npm run generate
|
||||
- name: Bundle
|
||||
run: yarn build:esbuild:prod
|
||||
run: npm run build:esbuild:prod
|
||||
|
||||
- name: Run mock server tests
|
||||
run: |
|
||||
set -o pipefail
|
||||
xvfb-run --auto-servernum yarn test-mock
|
||||
xvfb-run --auto-servernum npm run test-mock
|
||||
timeout-minutes: 10
|
||||
env:
|
||||
NODE_ENV: production
|
||||
|
|
8
.github/workflows/danger.yml
vendored
8
.github/workflows/danger.yml
vendored
|
@ -16,17 +16,17 @@ jobs:
|
|||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: '20.11.1'
|
||||
- run: npm install -g yarn@1.22.10 npm@10.2.5
|
||||
- run: npm install -g npm@10.2.5
|
||||
- name: Cache danger node_modules
|
||||
id: cache-desktop-modules
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: danger/node_modules
|
||||
key: danger-${{ runner.os }}-${{ hashFiles('danger/package.json', 'danger/yarn.lock') }}
|
||||
key: danger-${{ runner.os }}-${{ hashFiles('danger/package.json', 'danger/package-lock.json') }}
|
||||
- name: Install danger node_modules
|
||||
if: steps.cache-desktop-modules.outputs.cache-hit != 'true'
|
||||
run: cd danger && yarn install --frozen-lockfile
|
||||
run: cd danger && npm ci --legacy-peer-deps
|
||||
- name: Run DangerJS
|
||||
run: yarn danger:ci
|
||||
run: npm run danger:ci
|
||||
env:
|
||||
DANGER_GITHUB_API_TOKEN: ${{ secrets.AUTOMATED_GITHUB_PAT }}
|
||||
|
|
12
.github/workflows/stories.yml
vendored
12
.github/workflows/stories.yml
vendored
|
@ -17,21 +17,21 @@ jobs:
|
|||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: '20.11.1'
|
||||
cache: 'yarn'
|
||||
cache: 'npm'
|
||||
- name: Install global dependencies
|
||||
run: npm install -g yarn@1.22.10 npm@10.2.5
|
||||
run: npm install -g npm@10.2.5
|
||||
- name: Cache Desktop node_modules
|
||||
id: cache-desktop-modules
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: node_modules
|
||||
key: ${{ runner.os }}-${{ hashFiles('package.json', 'yarn.lock', 'patches/**') }}
|
||||
key: ${{ runner.os }}-${{ hashFiles('package.json', 'package-lock.json', 'patches/**') }}
|
||||
- name: Install Desktop node_modules
|
||||
if: steps.cache-desktop-modules.outputs.cache-hit != 'true'
|
||||
run: yarn install --frozen-lockfile --prefer-offline
|
||||
run: npm ci --legacy-peer-deps
|
||||
env:
|
||||
CHILD_CONCURRENCY: 1
|
||||
NPM_CONFIG_LOGLEVEL: verbose
|
||||
- run: yarn build:storybook
|
||||
- run: npm run build:storybook
|
||||
- run: npx playwright install chromium
|
||||
- run: yarn run-p --race test:storybook:serve test:storybook:test
|
||||
- run: ./node_modules/.bin/run-p --race test:storybook:serve test:storybook:test
|
||||
|
|
|
@ -22,9 +22,12 @@ storybook-static
|
|||
build/locale-display-names.json
|
||||
build/country-display-names.json
|
||||
build/compact-locales/**/*.json
|
||||
release/**
|
||||
|
||||
# Third-party files
|
||||
node_modules/**
|
||||
danger/node_modules/**
|
||||
sticker-creator/node_modules/**
|
||||
components/**
|
||||
js/curve/**
|
||||
js/Mp3LameEncoder.min.js
|
||||
|
|
|
@ -7,15 +7,39 @@ Signal Desktop makes use of the following open source projects.
|
|||
|
||||
## @formatjs/fast-memoize
|
||||
|
||||
License: MIT
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2021 FormatJS
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
## @formatjs/icu-messageformat-parser
|
||||
|
||||
License: MIT
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2021 FormatJS
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
## @formatjs/intl-localematcher
|
||||
|
||||
License: MIT
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2021 FormatJS
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
## @indutny/sneequals
|
||||
|
||||
|
@ -435,7 +459,26 @@ Signal Desktop makes use of the following open source projects.
|
|||
|
||||
## @popperjs/core
|
||||
|
||||
License: MIT
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2019 Federico Zivolo
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
## @react-aria/utils
|
||||
|
||||
|
@ -1017,7 +1060,27 @@ Signal Desktop makes use of the following open source projects.
|
|||
|
||||
## changedpi
|
||||
|
||||
License: MIT
|
||||
The MIT License (MIT)
|
||||
=====================
|
||||
Copyright (c) `2018` `Shutterstock, Inc.`
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||
of the Software, and to permit persons to whom the Software is furnished to do
|
||||
so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
## cirbuf
|
||||
|
||||
|
@ -2378,7 +2441,37 @@ Signal Desktop makes use of the following open source projects.
|
|||
|
||||
## node-fetch
|
||||
|
||||
License: MIT
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2016 David Frank
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
## nop
|
||||
|
||||
Copyright (c) 2012 Ian Hansen (//github.com/supershabam)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
## normalize-path
|
||||
|
||||
|
@ -3068,7 +3161,27 @@ Signal Desktop makes use of the following open source projects.
|
|||
|
||||
## react-contextmenu
|
||||
|
||||
License: MIT
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2015 Vivek Kumar Bansal
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
## react-dom
|
||||
|
||||
|
@ -3120,7 +3233,33 @@ Signal Desktop makes use of the following open source projects.
|
|||
|
||||
## react-intl
|
||||
|
||||
License: BSD-3-Clause
|
||||
Copyright 2019 Oath Inc.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
* Neither the name of the Oath Inc. nor the
|
||||
names of its contributors may be used to endorse or promote products
|
||||
derived from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL Oath INC. BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
## react-popper
|
||||
|
||||
|
@ -3172,7 +3311,27 @@ Signal Desktop makes use of the following open source projects.
|
|||
|
||||
## react-redux
|
||||
|
||||
License: MIT
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2015-present Dan Abramov
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
## react-router-dom
|
||||
|
||||
|
@ -3271,7 +3430,27 @@ Signal Desktop makes use of the following open source projects.
|
|||
|
||||
## redux
|
||||
|
||||
License: MIT
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2015-present Dan Abramov
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
## redux-logger
|
||||
|
||||
|
@ -3321,7 +3500,27 @@ Signal Desktop makes use of the following open source projects.
|
|||
|
||||
## redux-thunk
|
||||
|
||||
License: MIT
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2015-present Dan Abramov
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
## redux-ts-utils
|
||||
|
||||
|
@ -3391,7 +3590,114 @@ Signal Desktop makes use of the following open source projects.
|
|||
|
||||
## sanitize.css
|
||||
|
||||
License: CC0-1.0
|
||||
# CC0 1.0 Universal
|
||||
|
||||
## Statement of Purpose
|
||||
|
||||
The laws of most jurisdictions throughout the world automatically confer
|
||||
exclusive Copyright and Related Rights (defined below) upon the creator and
|
||||
subsequent owner(s) (each and all, an “owner”) of an original work of
|
||||
authorship and/or a database (each, a “Work”).
|
||||
|
||||
Certain owners wish to permanently relinquish those rights to a Work for the
|
||||
purpose of contributing to a commons of creative, cultural and scientific works
|
||||
(“Commons”) that the public can reliably and without fear of later claims of
|
||||
infringement build upon, modify, incorporate in other works, reuse and
|
||||
redistribute as freely as possible in any form whatsoever and for any purposes,
|
||||
including without limitation commercial purposes. These owners may contribute
|
||||
to the Commons to promote the ideal of a free culture and the further
|
||||
production of creative, cultural and scientific works, or to gain reputation or
|
||||
greater distribution for their Work in part through the use and efforts of
|
||||
others.
|
||||
|
||||
For these and/or other purposes and motivations, and without any expectation of
|
||||
additional consideration or compensation, the person associating CC0 with a
|
||||
Work (the “Affirmer”), to the extent that he or she is an owner of Copyright
|
||||
and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and
|
||||
publicly distribute the Work under its terms, with knowledge of his or her
|
||||
Copyright and Related Rights in the Work and the meaning and intended legal
|
||||
effect of CC0 on those rights.
|
||||
|
||||
1. Copyright and Related Rights. A Work made available under CC0 may be
|
||||
protected by copyright and related or neighboring rights (“Copyright and
|
||||
Related Rights”). Copyright and Related Rights include, but are not limited
|
||||
to, the following:
|
||||
1. the right to reproduce, adapt, distribute, perform, display, communicate,
|
||||
and translate a Work;
|
||||
2. moral rights retained by the original author(s) and/or performer(s);
|
||||
3. publicity and privacy rights pertaining to a person’s image or likeness
|
||||
depicted in a Work;
|
||||
4. rights protecting against unfair competition in regards to a Work,
|
||||
subject to the limitations in paragraph 4(i), below;
|
||||
5. rights protecting the extraction, dissemination, use and reuse of data in
|
||||
a Work;
|
||||
6. database rights (such as those arising under Directive 96/9/EC of the
|
||||
European Parliament and of the Council of 11 March 1996 on the legal
|
||||
protection of databases, and under any national implementation thereof,
|
||||
including any amended or successor version of such directive); and
|
||||
7. other similar, equivalent or corresponding rights throughout the world
|
||||
based on applicable law or treaty, and any national implementations
|
||||
thereof.
|
||||
|
||||
2. Waiver. To the greatest extent permitted by, but not in contravention of,
|
||||
applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and
|
||||
unconditionally waives, abandons, and surrenders all of Affirmer’s Copyright
|
||||
and Related Rights and associated claims and causes of action, whether now
|
||||
known or unknown (including existing as well as future claims and causes of
|
||||
action), in the Work (i) in all territories worldwide, (ii) for the maximum
|
||||
duration provided by applicable law or treaty (including future time
|
||||
extensions), (iii) in any current or future medium and for any number of
|
||||
copies, and (iv) for any purpose whatsoever, including without limitation
|
||||
commercial, advertising or promotional purposes (the “Waiver”). Affirmer
|
||||
makes the Waiver for the benefit of each member of the public at large and
|
||||
to the detriment of Affirmer’s heirs and successors, fully intending that
|
||||
such Waiver shall not be subject to revocation, rescission, cancellation,
|
||||
termination, or any other legal or equitable action to disrupt the quiet
|
||||
enjoyment of the Work by the public as contemplated by Affirmer’s express
|
||||
Statement of Purpose.
|
||||
|
||||
3. Public License Fallback. Should any part of the Waiver for any reason be
|
||||
judged legally invalid or ineffective under applicable law, then the Waiver
|
||||
shall be preserved to the maximum extent permitted taking into account
|
||||
Affirmer’s express Statement of Purpose. In addition, to the extent the
|
||||
Waiver is so judged Affirmer hereby grants to each affected person a
|
||||
royalty-free, non transferable, non sublicensable, non exclusive,
|
||||
irrevocable and unconditional license to exercise Affirmer’s Copyright and
|
||||
Related Rights in the Work (i) in all territories worldwide, (ii) for the
|
||||
maximum duration provided by applicable law or treaty (including future time
|
||||
extensions), (iii) in any current or future medium and for any number of
|
||||
copies, and (iv) for any purpose whatsoever, including without limitation
|
||||
commercial, advertising or promotional purposes (the “License”). The License
|
||||
shall be deemed effective as of the date CC0 was applied by Affirmer to the
|
||||
Work. Should any part of the License for any reason be judged legally
|
||||
invalid or ineffective under applicable law, such partial invalidity or
|
||||
ineffectiveness shall not invalidate the remainder of the License, and in
|
||||
such case Affirmer hereby affirms that he or she will not (i) exercise any
|
||||
of his or her remaining Copyright and Related Rights in the Work or (ii)
|
||||
assert any associated claims and causes of action with respect to the Work,
|
||||
in either case contrary to Affirmer’s express Statement of Purpose.
|
||||
|
||||
4. Limitations and Disclaimers.
|
||||
1. No trademark or patent rights held by Affirmer are waived, abandoned,
|
||||
surrendered, licensed or otherwise affected by this document.
|
||||
2. Affirmer offers the Work as-is and makes no representations or warranties
|
||||
of any kind concerning the Work, express, implied, statutory or
|
||||
otherwise, including without limitation warranties of title,
|
||||
merchantability, fitness for a particular purpose, non infringement, or
|
||||
the absence of latent or other defects, accuracy, or the present or
|
||||
absence of errors, whether or not discoverable, all to the greatest
|
||||
extent permissible under applicable law.
|
||||
3. Affirmer disclaims responsibility for clearing rights of other persons
|
||||
that may apply to the Work or any use thereof, including without
|
||||
limitation any person’s Copyright and Related Rights in the Work.
|
||||
Further, Affirmer disclaims responsibility for obtaining any necessary
|
||||
consents, permissions or other rights required for any use of the Work.
|
||||
4. Affirmer understands and acknowledges that Creative Commons is not a
|
||||
party to this document and has no duty or obligation with respect to this
|
||||
CC0 or use of the Work.
|
||||
|
||||
For more information, please see
|
||||
http://creativecommons.org/publicdomain/zero/1.0/.
|
||||
|
||||
## semver
|
||||
|
||||
|
@ -3455,11 +3761,51 @@ Signal Desktop makes use of the following open source projects.
|
|||
|
||||
## uuid
|
||||
|
||||
License: MIT
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2010-2016 Robert Kieffer and other contributors
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
## uuid-browser
|
||||
|
||||
License: MIT
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2017 Heiko Mathes
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
## websocket
|
||||
|
||||
|
@ -3642,7 +3988,11 @@ Signal Desktop makes use of the following open source projects.
|
|||
|
||||
## write-file-atomic
|
||||
|
||||
License: ISC
|
||||
Copyright (c) 2015, Rebecca Turner
|
||||
|
||||
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
## zod
|
||||
|
||||
|
|
|
@ -52,13 +52,12 @@ Install the [Xcode Command-Line Tools](http://osxdaily.com/2014/02/12/install-co
|
|||
Now, run these commands in your preferred terminal in a good directory for development:
|
||||
|
||||
```
|
||||
npm install --global yarn # Make sure you have have `yarn`
|
||||
git clone https://github.com/signalapp/Signal-Desktop.git
|
||||
cd Signal-Desktop
|
||||
yarn install --frozen-lockfile # Install and build dependencies (this will take a while)
|
||||
yarn generate # Generate final JS and CSS assets
|
||||
yarn test # A good idea to make sure tests run first
|
||||
yarn start # Start Signal!
|
||||
npm install --legacy-peer-deps # Install and build dependencies (this will take a while)
|
||||
npm run generate # Generate final JS and CSS assets
|
||||
npm test # A good idea to make sure tests run first
|
||||
npm start # Start Signal!
|
||||
```
|
||||
|
||||
You'll need to restart the application regularly to see your changes, as there
|
||||
|
@ -68,14 +67,14 @@ is no automatic restart mechanism. Alternatively, keep the developer tools open
|
|||
(Windows & Linux).
|
||||
|
||||
Also, note that the assets loaded by the application are not necessarily the same files
|
||||
you’re touching. You may not see your changes until you run `yarn generate` on the
|
||||
you’re touching. You may not see your changes until you run `npm run generate` on the
|
||||
command-line like you did during setup. You can make it easier on yourself by generating
|
||||
the latest built assets when you change a file. Run each of these in their own terminal
|
||||
instance while you make changes - they'll run until you stop them:
|
||||
|
||||
```
|
||||
yarn dev:transpile # recompiles when you change .ts files
|
||||
yarn dev:sass # recompiles when you change .scss files
|
||||
npm run dev:transpile # recompiles when you change .ts files
|
||||
npm run dev:sass # recompiles when you change .scss files
|
||||
```
|
||||
|
||||
### webpack
|
||||
|
@ -85,7 +84,7 @@ You can run a development server for these parts of the app with the
|
|||
following command:
|
||||
|
||||
```
|
||||
yarn dev
|
||||
npm run dev
|
||||
```
|
||||
|
||||
In order for the app to make requests to the development server you must set
|
||||
|
@ -93,7 +92,7 @@ the `SIGNAL_ENABLE_HTTP` environment variable to a truthy value. On Linux and
|
|||
macOS, that simply looks like this:
|
||||
|
||||
```
|
||||
SIGNAL_ENABLE_HTTP=1 yarn start
|
||||
SIGNAL_ENABLE_HTTP=1 npm start
|
||||
```
|
||||
|
||||
## Setting up standalone
|
||||
|
@ -158,7 +157,7 @@ For example, to create an 'alice' profile, put a file called `local-alice.json`
|
|||
Then you can start up the application a little differently to load the profile:
|
||||
|
||||
```
|
||||
NODE_APP_INSTANCE=alice yarn run start
|
||||
NODE_APP_INSTANCE=alice npm start
|
||||
```
|
||||
|
||||
This changes the `userData` directory from `%appData%/Signal` to `%appData%/Signal-aliceProfile`.
|
||||
|
@ -174,15 +173,15 @@ Please write tests! Our testing framework is
|
|||
[mocha](http://mochajs.org/) and our assertion library is
|
||||
[chai](http://chaijs.com/api/assert/).
|
||||
|
||||
The easiest way to run all tests at once is `yarn test`, which will run them on the
|
||||
The easiest way to run all tests at once is `npm test`, which will run them on the
|
||||
command line. You can run the client-side tests in an interactive session with
|
||||
`NODE_ENV=test yarn run start`.
|
||||
`NODE_ENV=test npm start`.
|
||||
|
||||
## Pull requests
|
||||
|
||||
So you wanna make a pull request? Please observe the following guidelines.
|
||||
|
||||
- First, make sure that your `yarn ready` run passes - it's very similar to what our
|
||||
- First, make sure that your `npm run ready` run passes - it's very similar to what our
|
||||
Continuous Integration servers do to test the app.
|
||||
- Please do not submit pull requests for translation fixes.
|
||||
- Never use plain strings right in the source code - pull them from `messages.json`!
|
||||
|
@ -261,8 +260,8 @@ will go to your new development desktop app instead of your phone.
|
|||
To test changes to the build system, build a release using
|
||||
|
||||
```
|
||||
yarn generate
|
||||
yarn build
|
||||
npm run generate
|
||||
npm run build
|
||||
```
|
||||
|
||||
Then, run the tests using `yarn test-release`.
|
||||
Then, run the tests using `npm run test-release`.
|
||||
|
|
2012
danger/package-lock.json
generated
Normal file
2012
danger/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load diff
1380
danger/yarn.lock
1380
danger/yarn.lock
File diff suppressed because it is too large
Load diff
43753
package-lock.json
generated
Normal file
43753
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load diff
47
package.json
47
package.json
|
@ -16,11 +16,11 @@
|
|||
},
|
||||
"main": "app/main.js",
|
||||
"scripts": {
|
||||
"postinstall": "yarn build:acknowledgments && patch-package && yarn electron:install-app-deps",
|
||||
"postuninstall": "yarn build:acknowledgments",
|
||||
"postinstall": "npm run build:acknowledgments && patch-package && npm run electron:install-app-deps",
|
||||
"postuninstall": "npm run build:acknowledgments",
|
||||
"start": "electron .",
|
||||
"generate": "npm-run-all build-protobuf build:esbuild build:dns-fallback build:icu-types build:compact-locales sass get-expire-time copy-components",
|
||||
"build-release": "yarn run build",
|
||||
"build-release": "npm run build",
|
||||
"sign-release": "node ts/updater/generateSignature.js",
|
||||
"notarize": "echo 'No longer necessary'",
|
||||
"get-strings": "ts-node ts/scripts/get-strings.ts && ts-node ts/scripts/gen-nsis-script.ts && ts-node ts/scripts/gen-locales-config.ts && run-p get-strings:locales get-strings:countries get-strings:emoji mark-unusued-strings-deleted && run-p build:compact-locales",
|
||||
|
@ -34,14 +34,14 @@
|
|||
"sass": "sass stylesheets/manifest.scss:stylesheets/manifest.css stylesheets/manifest_bridge.scss:stylesheets/manifest_bridge.css",
|
||||
"build-module-protobuf": "pbjs --target static-module --force-long --no-typeurl --no-verify --no-create --no-convert --wrap commonjs --out ts/protobuf/compiled.js protos/*.proto && pbts --no-comments --out ts/protobuf/compiled.d.ts ts/protobuf/compiled.js",
|
||||
"clean-module-protobuf": "rm -f ts/protobuf/compiled.d.ts ts/protobuf/compiled.js",
|
||||
"build-protobuf": "yarn build-module-protobuf",
|
||||
"clean-protobuf": "yarn clean-module-protobuf",
|
||||
"build-protobuf": "npm run build-module-protobuf",
|
||||
"clean-protobuf": "npm run clean-module-protobuf",
|
||||
"prepare-beta-build": "node scripts/prepare_beta_build.js",
|
||||
"prepare-alpha-build": "node scripts/prepare_alpha_build.js",
|
||||
"prepare-alpha-version": "node scripts/prepare_alpha_version.js",
|
||||
"prepare-staging-build": "node scripts/prepare_staging_build.js",
|
||||
"prepare-windows-cert": "node scripts/prepare_windows_cert.js",
|
||||
"test": "yarn test-node && yarn test-electron && yarn test-lint-intl && yarn test-eslint",
|
||||
"test": "run-s test-node test-electron test-lint-intl test-eslint",
|
||||
"test-electron": "node ts/scripts/test-electron.js",
|
||||
"test-release": "node ts/scripts/test-release.js",
|
||||
"test-node": "cross-env LANG=en-us electron-mocha --timeout 10000 --file test/setup-test-node.js --recursive test/modules ts/test-node ts/test-both",
|
||||
|
@ -63,20 +63,20 @@
|
|||
"transpile": "run-p check:types build:esbuild",
|
||||
"check:types": "tsc --noEmit",
|
||||
"clean-transpile-once": "rimraf sticker-creator/dist app/**/*.js app/*.js ts/**/*.js ts/*.js bundles tsconfig.tsbuildinfo",
|
||||
"clean-transpile": "yarn run clean-transpile-once && yarn run clean-transpile-once",
|
||||
"clean-transpile": "run-s clean-transpile-once clean-transpile-once",
|
||||
"open-coverage": "open coverage/lcov-report/index.html",
|
||||
"ready": "npm-run-all --print-label clean-transpile generate --parallel lint lint-deps lint-intl test-node test-electron",
|
||||
"dev": "yarn build-protobuf && cross-env SIGNAL_ENV=storybook storybook dev --port 6006",
|
||||
"dev": "npm run build-protobuf && cross-env SIGNAL_ENV=storybook storybook dev --port 6006",
|
||||
"dev:transpile": "run-p \"check:types --watch\" dev:esbuild dev:icu-types",
|
||||
"dev:esbuild": "node scripts/esbuild.js --watch",
|
||||
"dev:sass": "yarn sass --watch",
|
||||
"dev:icu-types": "chokidar ./_locales/en/messages.json --initial --command \"yarn run build:icu-types\"",
|
||||
"build:storybook": "yarn build-protobuf && cross-env SIGNAL_ENV=storybook storybook build",
|
||||
"test:storybook": "yarn build:storybook && run-p --race test:storybook:*",
|
||||
"dev:sass": "npm run sass --watch",
|
||||
"dev:icu-types": "chokidar ./_locales/en/messages.json --initial --command \"npm run run build:icu-types\"",
|
||||
"build:storybook": "npm run build-protobuf && cross-env SIGNAL_ENV=storybook storybook build",
|
||||
"test:storybook": "npm run build:storybook && run-p --race test:storybook:*",
|
||||
"test:storybook:serve": "http-server storybook-static --port 6006 --silent",
|
||||
"test:storybook:test": "wait-on http://127.0.0.1:6006/ --timeout 5000 && test-storybook",
|
||||
"build": "run-s --print-label generate build:esbuild:prod build:release",
|
||||
"build-linux": "yarn generate && yarn build:esbuild:prod && yarn build:release -- --publish=never",
|
||||
"build-linux": "run-s generate build:esbuild:prod && npm run build:release -- --publish=never",
|
||||
"build:acknowledgments": "node scripts/generate-acknowledgments.js",
|
||||
"build:dns-fallback": "node ts/scripts/generate-dns-fallback.js",
|
||||
"build:icu-types": "node ts/scripts/generate-icu-types.js",
|
||||
|
@ -85,7 +85,7 @@
|
|||
"build:esbuild": "node scripts/esbuild.js",
|
||||
"build:esbuild:prod": "node scripts/esbuild.js --prod",
|
||||
"build:electron": "electron-builder --config.extraMetadata.environment=$SIGNAL_ENV",
|
||||
"build:release": "cross-env SIGNAL_ENV=production yarn build:electron -- --config.directories.output=release",
|
||||
"build:release": "cross-env SIGNAL_ENV=production npm run build:electron -- --config.directories.output=release",
|
||||
"verify": "run-p --print-label verify:*",
|
||||
"verify:ts": "tsc --noEmit",
|
||||
"electron:install-app-deps": "electron-builder install-app-deps"
|
||||
|
@ -150,6 +150,7 @@
|
|||
"moment": "2.29.4",
|
||||
"mp4box": "0.5.2",
|
||||
"node-fetch": "2.6.7",
|
||||
"nop": "1.0.0",
|
||||
"normalize-path": "3.0.0",
|
||||
"p-map": "2.1.0",
|
||||
"p-props": "4.0.0",
|
||||
|
@ -344,16 +345,18 @@
|
|||
"webpack-cli": "4.9.2",
|
||||
"webpack-dev-server": "4.11.1"
|
||||
},
|
||||
"resolutions": {
|
||||
"@mixer/parallel-prettier/prettier": "2.8.0",
|
||||
"@storybook/react/@storybook/core/node-fetch": "2.6.1",
|
||||
"overrides": {
|
||||
"@storybook/react": {
|
||||
"@storybook/core": {
|
||||
"node-fetch": "2.6.1"
|
||||
}
|
||||
},
|
||||
"@types/react": "17.0.45",
|
||||
"@types/react-dom": "17.0.17",
|
||||
"dmg-license": "https://registry.yarnpkg.com/nop/-/nop-1.0.0.tgz",
|
||||
"fabric/canvas": "https://registry.yarnpkg.com/nop/-/nop-1.0.0.tgz",
|
||||
"fabric/jsdom": "https://registry.yarnpkg.com/nop/-/nop-1.0.0.tgz",
|
||||
"fast-glob/glob-parent": "5.1.2",
|
||||
"read-last-lines/mz/thenify-all/thenify": "3.3.1"
|
||||
"dmg-license": "$nop",
|
||||
"fabric": { "canvas": "$nop", "jsdom": "$nop" },
|
||||
"fast-glob": { "glob-parent": "5.1.2" },
|
||||
"read-last-lines": { "mz": { "thenify-all": { "thenify": "3.3.1" } } }
|
||||
},
|
||||
"engines": {
|
||||
"node": "20.11.1"
|
||||
|
|
6997
sticker-creator/package-lock.json
generated
Normal file
6997
sticker-creator/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -733,6 +733,34 @@
|
|||
"reasonCategory": "falseMatch",
|
||||
"updated": "2023-08-29T19:25:52.732Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/array-includes/node_modules/object-inspect/example/inspect.js",
|
||||
"line": "d.innerHTML = '<b>wooo</b><i>iiiii</i>';",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/array-includes/node_modules/object-inspect/test/browser/dom.js",
|
||||
"line": " d.innerHTML = '<b>wooo</b><i>iiiii</i>';",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/array.prototype.flatmap/node_modules/object-inspect/example/inspect.js",
|
||||
"line": "d.innerHTML = '<b>wooo</b><i>iiiii</i>';",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/array.prototype.flatmap/node_modules/object-inspect/test/browser/dom.js",
|
||||
"line": " d.innerHTML = '<b>wooo</b><i>iiiii</i>';",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/axe-core/axe.js",
|
||||
|
@ -759,6 +787,13 @@
|
|||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2021-04-13T17:31:15.352Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/axe-core/doc/examples/jest_react/test-helpers.js",
|
||||
"line": "\twrapper.innerHTML = '';",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-outerHTML",
|
||||
"path": "node_modules/axe-core/lib/core/utils/dq-element.js",
|
||||
|
@ -794,6 +829,27 @@
|
|||
"reasonCategory": "falseMatch",
|
||||
"updated": "2018-09-15T00:38:04.183Z"
|
||||
},
|
||||
{
|
||||
"rule": "eval",
|
||||
"path": "node_modules/config/node_modules/json5/test/parse.js",
|
||||
"line": "// native JSON.parse() or ES5 strict-mode eval(). See readme.txt for details.",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "eval",
|
||||
"path": "node_modules/config/node_modules/json5/test/parse.js",
|
||||
"line": "// For eval(), remember to wrap the input in parentheses before eval()'ing,",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "eval",
|
||||
"path": "node_modules/config/node_modules/json5/test/parse.js",
|
||||
"line": " return eval('\"use strict\"; (\\n' + str + '\\n)');",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-outerHTML",
|
||||
"path": "node_modules/domutils/node_modules/dom-serializer/lib/esm/index.js",
|
||||
|
@ -808,6 +864,34 @@
|
|||
"reasonCategory": "falseMatch",
|
||||
"updated": "2023-01-11T23:51:00.603Z"
|
||||
},
|
||||
{
|
||||
"rule": "eval",
|
||||
"path": "node_modules/es5-ext/node_modules/type/test/_lib/arrow-function-if-supported.js",
|
||||
"line": "try { module.exports = eval(\"(() => {})\"); }",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "eval",
|
||||
"path": "node_modules/es5-ext/node_modules/type/test/_lib/class-if-supported.js",
|
||||
"line": "try { module.exports = eval(\"(class {})\"); }",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "eval",
|
||||
"path": "node_modules/esniff/node_modules/d/node_modules/type/test/_lib/arrow-function-if-supported.js",
|
||||
"line": "try { module.exports = eval(\"(() => {})\"); }",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "eval",
|
||||
"path": "node_modules/esniff/node_modules/d/node_modules/type/test/_lib/class-if-supported.js",
|
||||
"line": "try { module.exports = eval(\"(class {})\"); }",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "React-ref",
|
||||
"path": "node_modules/esquery/dist/esquery.esm.min.js",
|
||||
|
@ -843,6 +927,13 @@
|
|||
"reasonCategory": "exampleCode",
|
||||
"updated": "2021-10-01T23:53:26.107Z"
|
||||
},
|
||||
{
|
||||
"rule": "eval",
|
||||
"path": "node_modules/globalthis/test/tests.js",
|
||||
"line": "\t\teval(key + ' = semaphore;');",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/google-libphonenumber/dist/libphonenumber.js",
|
||||
|
@ -1224,6 +1315,55 @@
|
|||
"reasonCategory": "notExercisedByOurApp",
|
||||
"updated": "2023-06-29T17:01:25.145Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/lz-string/tests/lib/jasmine-1.3.1/jasmine-html.js",
|
||||
"line": " this.runningAlert.innerHTML = \"Running \" + this.completeSpecCount + \" of \" + specPluralizedFor(this.totalSpecCount);",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/lz-string/tests/lib/jasmine-1.3.1/jasmine-html.js",
|
||||
"line": " this.skippedAlert.innerHTML = \"Skipping \" + this.skippedCount + \" of \" + specPluralizedFor(this.totalSpecCount) + \" - run all\";",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/lz-string/tests/lib/jasmine-1.3.1/jasmine-html.js",
|
||||
"line": " this.passedAlert.innerHTML = \"Passing \" + specPluralizedFor(this.passedCount);",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/lz-string/tests/lib/jasmine-1.3.1/jasmine-html.js",
|
||||
"line": " this.failedAlert.innerHTML = \"Failing \" + specPluralizedFor(this.failedCount);",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/lz-string/tests/lib/jasmine-1.3.1/jasmine-html.js",
|
||||
"line": " this.summaryMenuItem.innerHTML = \"\" + specPluralizedFor(this.runningSpecCount);",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/lz-string/tests/lib/jasmine-1.3.1/jasmine-html.js",
|
||||
"line": " this.detailsMenuItem.innerHTML = \"\" + this.failedCount + \" failing\";",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/lz-string/tests/lib/jasmine-1.3.1/jasmine-html.js",
|
||||
"line": " this.skippedAlert.innerHTML = \"Ran \" + this.runningSpecCount + \" of \" + specPluralizedFor(this.totalSpecCount) + \" - run all\";",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/min-document/serialize.js",
|
||||
|
@ -1248,6 +1388,104 @@
|
|||
"updated": "2020-09-11T17:24:56.124Z",
|
||||
"reasonDetail": "Read, not write"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/min-document/test/test-document.js",
|
||||
"line": " html = div.innerHTML",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/min-document/test/test-document.js",
|
||||
"line": " var innerHTML = []",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/min-document/test/test-document.js",
|
||||
"line": " innerHTML.push(String(node.outerHTML || node))",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/min-document/test/test-document.js",
|
||||
"line": " html = innerHTML.join(\"\")",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-outerHTML",
|
||||
"path": "node_modules/min-document/test/test-document.js",
|
||||
"line": " var html = String(div.outerHTML || div)",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-outerHTML",
|
||||
"path": "node_modules/min-document/test/test-document.js",
|
||||
"line": " html = element.outerHTML",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-outerHTML",
|
||||
"path": "node_modules/min-document/test/test-document.js",
|
||||
"line": " innerHTML.push(String(node.outerHTML || node))",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/min-document/test/test-dom-element.js",
|
||||
"line": " test(\"does not serialize innerHTML as an attribute\", function(assert) {",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/min-document/test/test-dom-element.js",
|
||||
"line": " div.innerHTML = \"Test <img />\"",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/min-document/test/test-dom-element.js",
|
||||
"line": " input.innerHTML = \"user input here\"",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/object-inspect/example/inspect.js",
|
||||
"line": "d.innerHTML = '<b>wooo</b><i>iiiii</i>';",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/object-inspect/test/browser/dom.js",
|
||||
"line": " d.innerHTML = '<b>wooo</b><i>iiiii</i>';",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/object.hasown/node_modules/object-inspect/example/inspect.js",
|
||||
"line": "d.innerHTML = '<b>wooo</b><i>iiiii</i>';",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/object.hasown/node_modules/object-inspect/test/browser/dom.js",
|
||||
"line": " d.innerHTML = '<b>wooo</b><i>iiiii</i>';",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/parse-entities/decode-entity.browser.js",
|
||||
|
@ -1270,6 +1508,13 @@
|
|||
"reasonCategory": "falseMatch",
|
||||
"updated": "2018-09-19T18:06:35.446Z"
|
||||
},
|
||||
{
|
||||
"rule": "eval",
|
||||
"path": "node_modules/pino/test/fixtures/eval/index.js",
|
||||
"line": "eval(`",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "eval",
|
||||
"path": "node_modules/protobufjs/dist/light/protobuf.js",
|
||||
|
@ -2176,6 +2421,20 @@
|
|||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2022-06-16T23:23:32.306Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/side-channel/node_modules/object-inspect/example/inspect.js",
|
||||
"line": "d.innerHTML = '<b>wooo</b><i>iiiii</i>';",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/side-channel/node_modules/object-inspect/test/browser/dom.js",
|
||||
"line": " d.innerHTML = '<b>wooo</b><i>iiiii</i>';",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "eval",
|
||||
"path": "node_modules/source-map-support/source-map-support.js",
|
||||
|
@ -2204,6 +2463,20 @@
|
|||
"reasonCategory": "falseMatch",
|
||||
"updated": "2020-04-30T22:35:27.860Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/string.prototype.matchall/node_modules/object-inspect/example/inspect.js",
|
||||
"line": "d.innerHTML = '<b>wooo</b><i>iiiii</i>';",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/string.prototype.matchall/node_modules/object-inspect/test/browser/dom.js",
|
||||
"line": " d.innerHTML = '<b>wooo</b><i>iiiii</i>';",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/tocbot/dist/tocbot.js",
|
||||
|
@ -2388,6 +2661,62 @@
|
|||
"reasonCategory": "notExercisedByOurApp",
|
||||
"updated": "2023-10-03T18:55:06.301Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/uri-js/tests/qunit.js",
|
||||
"line": "\t\t\ttests.innerHTML = \"\";",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/uri-js/tests/qunit.js",
|
||||
"line": "\t\t\t\tb.innerHTML = name + \" <b style='color:black;'>(<b class='fail'>\" + bad + \"</b>, <b class='pass'>\" + good + \"</b>, \" + config.assertions.length + \")</b>\";",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/uri-js/tests/qunit.js",
|
||||
"line": "\t\tuserAgent.innerHTML = navigator.userAgent;",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/uri-js/tests/qunit.js",
|
||||
"line": "\t\tlabel.innerHTML = \"Hide passed tests\";",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/uri-js/tests/qunit.js",
|
||||
"line": "\t\t\t\tif ( li[i].className.indexOf(\"fail\") > -1 && li[i].innerHTML.indexOf('missing test - untested code is broken code') > - 1 ) {",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/uri-js/tests/qunit.js",
|
||||
"line": "\t\tlabel.innerHTML = \"Hide missing tests (untested code is broken code)\";",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/uri-js/tests/qunit.js",
|
||||
"line": "\t\tconfig.fixture = main.innerHTML;",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/uri-js/tests/qunit.js",
|
||||
"line": "\t\tresult.innerHTML = html;",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "React-useRef",
|
||||
"path": "node_modules/use-callback-ref/dist/es2015/assignRef.js",
|
||||
|
@ -2809,6 +3138,13 @@
|
|||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2021-08-03T21:17:38.615Z"
|
||||
},
|
||||
{
|
||||
"rule": "React-useRef",
|
||||
"path": "ts/components/CallManager.tsx",
|
||||
"line": " const imageDataCache = React.useRef<CallingImageDataCache>(new Map());",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2024-05-06T20:18:59.647Z"
|
||||
},
|
||||
{
|
||||
"rule": "React-useRef",
|
||||
"path": "ts/components/CallNeedPermissionScreen.tsx",
|
||||
|
@ -2987,6 +3323,46 @@
|
|||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2024-01-12T18:56:18.138Z"
|
||||
},
|
||||
{
|
||||
"rule": "React-useRef",
|
||||
"path": "ts/components/CallsList.tsx",
|
||||
"line": " const searchStateItemsRef = useRef<ReadonlyArray<CallHistoryGroup> | null>(",
|
||||
"reasonCategory": "falseMatch|testCode|exampleCode|otherUtilityCode|regexMatchedSafeCode|notExercisedByOurApp|ruleNeeded|usageTrusted",
|
||||
"updated": "2024-05-16T02:10:00.652Z",
|
||||
"reasonDetail": "<optional>"
|
||||
},
|
||||
{
|
||||
"rule": "React-useRef",
|
||||
"path": "ts/components/CallsList.tsx",
|
||||
"line": " const peekQueueRef = useRef<Set<string>>(new Set());",
|
||||
"reasonCategory": "falseMatch|testCode|exampleCode|otherUtilityCode|regexMatchedSafeCode|notExercisedByOurApp|ruleNeeded|usageTrusted",
|
||||
"updated": "2024-05-16T02:10:00.652Z",
|
||||
"reasonDetail": "<optional>"
|
||||
},
|
||||
{
|
||||
"rule": "React-useRef",
|
||||
"path": "ts/components/CallsList.tsx",
|
||||
"line": " const peekQueueArgsRef = useRef<Map<string, PeekNotConnectedGroupCallType>>(",
|
||||
"reasonCategory": "falseMatch|testCode|exampleCode|otherUtilityCode|regexMatchedSafeCode|notExercisedByOurApp|ruleNeeded|usageTrusted",
|
||||
"updated": "2024-05-16T02:10:00.652Z",
|
||||
"reasonDetail": "<optional>"
|
||||
},
|
||||
{
|
||||
"rule": "React-useRef",
|
||||
"path": "ts/components/CallsList.tsx",
|
||||
"line": " const inactiveCallLinksPeekedAtRef = useRef<Map<string, number>>(new Map());",
|
||||
"reasonCategory": "falseMatch|testCode|exampleCode|otherUtilityCode|regexMatchedSafeCode|notExercisedByOurApp|ruleNeeded|usageTrusted",
|
||||
"updated": "2024-05-16T02:10:00.652Z",
|
||||
"reasonDetail": "<optional>"
|
||||
},
|
||||
{
|
||||
"rule": "React-useRef",
|
||||
"path": "ts/components/CallsList.tsx",
|
||||
"line": " const peekQueueTimerRef = useRef<NodeJS.Timeout | null>(null);",
|
||||
"reasonCategory": "falseMatch|testCode|exampleCode|otherUtilityCode|regexMatchedSafeCode|notExercisedByOurApp|ruleNeeded|usageTrusted",
|
||||
"updated": "2024-05-16T02:10:00.652Z",
|
||||
"reasonDetail": "<optional>"
|
||||
},
|
||||
{
|
||||
"rule": "React-useRef",
|
||||
"path": "ts/components/CallsList.tsx",
|
||||
|
@ -3899,52 +4275,5 @@
|
|||
"line": " message.innerHTML = window.i18n('icu:optimizingApplication');",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2021-09-17T21:02:59.414Z"
|
||||
},
|
||||
{
|
||||
"rule": "React-useRef",
|
||||
"path": "ts/components/CallManager.tsx",
|
||||
"line": " const imageDataCache = React.useRef<CallingImageDataCache>(new Map());",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2024-05-06T20:18:59.647Z"
|
||||
},
|
||||
{
|
||||
"rule": "React-useRef",
|
||||
"path": "ts/components/CallsList.tsx",
|
||||
"line": " const searchStateItemsRef = useRef<ReadonlyArray<CallHistoryGroup> | null>(",
|
||||
"reasonCategory": "falseMatch|testCode|exampleCode|otherUtilityCode|regexMatchedSafeCode|notExercisedByOurApp|ruleNeeded|usageTrusted",
|
||||
"updated": "2024-05-16T02:10:00.652Z",
|
||||
"reasonDetail": "<optional>"
|
||||
},
|
||||
{
|
||||
"rule": "React-useRef",
|
||||
"path": "ts/components/CallsList.tsx",
|
||||
"line": " const peekQueueRef = useRef<Set<string>>(new Set());",
|
||||
"reasonCategory": "falseMatch|testCode|exampleCode|otherUtilityCode|regexMatchedSafeCode|notExercisedByOurApp|ruleNeeded|usageTrusted",
|
||||
"updated": "2024-05-16T02:10:00.652Z",
|
||||
"reasonDetail": "<optional>"
|
||||
},
|
||||
{
|
||||
"rule": "React-useRef",
|
||||
"path": "ts/components/CallsList.tsx",
|
||||
"line": " const peekQueueArgsRef = useRef<Map<string, PeekNotConnectedGroupCallType>>(",
|
||||
"reasonCategory": "falseMatch|testCode|exampleCode|otherUtilityCode|regexMatchedSafeCode|notExercisedByOurApp|ruleNeeded|usageTrusted",
|
||||
"updated": "2024-05-16T02:10:00.652Z",
|
||||
"reasonDetail": "<optional>"
|
||||
},
|
||||
{
|
||||
"rule": "React-useRef",
|
||||
"path": "ts/components/CallsList.tsx",
|
||||
"line": " const inactiveCallLinksPeekedAtRef = useRef<Map<string, number>>(new Map());",
|
||||
"reasonCategory": "falseMatch|testCode|exampleCode|otherUtilityCode|regexMatchedSafeCode|notExercisedByOurApp|ruleNeeded|usageTrusted",
|
||||
"updated": "2024-05-16T02:10:00.652Z",
|
||||
"reasonDetail": "<optional>"
|
||||
},
|
||||
{
|
||||
"rule": "React-useRef",
|
||||
"path": "ts/components/CallsList.tsx",
|
||||
"line": " const peekQueueTimerRef = useRef<NodeJS.Timeout | null>(null);",
|
||||
"reasonCategory": "falseMatch|testCode|exampleCode|otherUtilityCode|regexMatchedSafeCode|notExercisedByOurApp|ruleNeeded|usageTrusted",
|
||||
"updated": "2024-05-16T02:10:00.652Z",
|
||||
"reasonDetail": "<optional>"
|
||||
}
|
||||
]
|
||||
|
|
|
@ -26,7 +26,6 @@ const EXTENSIONS_TO_CHECK = new Set([
|
|||
'.prettierignore',
|
||||
'.sh',
|
||||
'.snyk',
|
||||
'.yarnclean',
|
||||
'.yml',
|
||||
'.js',
|
||||
'.scss',
|
||||
|
@ -272,7 +271,7 @@ async function main() {
|
|||
console.log();
|
||||
}
|
||||
|
||||
console.log(chalk.magenta.bold('`yarn lint-license-comments` failed'));
|
||||
console.log(chalk.magenta.bold('`npm run lint-license-comments` failed'));
|
||||
console.log();
|
||||
|
||||
process.exit(1);
|
||||
|
|
Loading…
Reference in a new issue