Use pnpm
This commit is contained in:
parent
1d44c70393
commit
a9fb186c23
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 `npm run ready` run passes successfully ([more about tests here](https://github.com/signalapp/Signal-Desktop/blob/main/CONTRIBUTING.md#tests))
|
||||
- [ ] A `pnpm 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
|
||||
|
||||
40
.github/workflows/benchmark.yml
vendored
40
.github/workflows/benchmark.yml
vendored
@ -27,35 +27,43 @@ jobs:
|
||||
- name: Clone Desktop repo
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup sccache
|
||||
uses: mozilla-actions/sccache-action@v0.0.7
|
||||
- name: Restore sccache
|
||||
uses: actions/cache@v4
|
||||
id: cache-sccache
|
||||
with:
|
||||
path: ${{ env.SCCACHE_PATH }}
|
||||
key: sccache-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml', 'patches/**') }}
|
||||
|
||||
- name: Setup pnpm
|
||||
uses: pnpm/action-setup@v4
|
||||
with:
|
||||
version: 10.3.0
|
||||
- name: Setup node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: Install global dependencies
|
||||
run: npm install -g npm@10.2.5
|
||||
cache: 'pnpm'
|
||||
cache-dependency-path: 'pnpm-lock.yaml'
|
||||
|
||||
- name: Install xvfb
|
||||
run: sudo apt-get install xvfb libpulse0
|
||||
|
||||
- name: Cache Desktop node_modules
|
||||
id: cache-desktop-modules
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: node_modules
|
||||
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: npm ci
|
||||
run: pnpm install
|
||||
env:
|
||||
CC: sccache gcc
|
||||
CXX: sccache g++
|
||||
SCCACHE_GHA_ENABLED: "true"
|
||||
NPM_CONFIG_LOGLEVEL: verbose
|
||||
|
||||
- name: Build typescript
|
||||
run: npm run generate
|
||||
run: pnpm run generate
|
||||
- name: Bundle
|
||||
run: npm run build:esbuild:prod
|
||||
run: pnpm run build:esbuild:prod
|
||||
- name: Create preload cache
|
||||
run: xvfb-run --auto-servernum npm run build:preload-cache
|
||||
run: xvfb-run --auto-servernum pnpm run build:preload-cache
|
||||
|
||||
- name: Run startup benchmarks
|
||||
run: |
|
||||
@ -201,8 +209,8 @@ jobs:
|
||||
- name: Build benchmark repo
|
||||
working-directory: benchmark-results
|
||||
run: |
|
||||
npm ci
|
||||
npm run build
|
||||
pnpm install
|
||||
pnpm run build
|
||||
|
||||
- name: Publish to DataDog
|
||||
working-directory: benchmark-results
|
||||
|
||||
212
.github/workflows/ci.yml
vendored
212
.github/workflows/ci.yml
vendored
@ -19,11 +19,25 @@ jobs:
|
||||
- run: lsb_release -a
|
||||
- run: uname -a
|
||||
- uses: actions/checkout@v4
|
||||
- name: Setup pnpm
|
||||
uses: pnpm/action-setup@v4
|
||||
with:
|
||||
version: 10.3.0
|
||||
- name: Setup node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- run: npm install -g npm@10.2.5
|
||||
cache: 'pnpm'
|
||||
cache-dependency-path: 'pnpm-lock.yaml'
|
||||
|
||||
- name: Setup sccache
|
||||
uses: mozilla-actions/sccache-action@v0.0.7
|
||||
- name: Restore sccache
|
||||
uses: actions/cache@v4
|
||||
id: cache-sccache
|
||||
with:
|
||||
path: ${{ env.SCCACHE_PATH }}
|
||||
key: sccache-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml', 'patches/**') }}
|
||||
|
||||
- name: Restore cached .eslintcache and tsconfig.tsbuildinfo
|
||||
uses: actions/cache/restore@v4
|
||||
@ -32,28 +46,23 @@ jobs:
|
||||
path: |
|
||||
.eslintcache
|
||||
tsconfig.tsbuildinfo
|
||||
key: lint-${{ runner.os }}-${{ hashFiles('package.json', 'package-lock.json', 'patches/**', '.eslintrc.js', '.eslint/**', 'tsconfig.json') }}
|
||||
|
||||
- name: Cache Desktop node_modules
|
||||
id: cache-desktop-modules
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: node_modules
|
||||
key: ${{ runner.os }}-${{ hashFiles('package.json', 'package-lock.json', 'patches/**') }}
|
||||
key: lint-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml', 'patches/**', '.eslintrc.js', '.eslint/**', 'tsconfig.json') }}
|
||||
|
||||
- name: Install Desktop node_modules
|
||||
if: steps.cache-desktop-modules.outputs.cache-hit != 'true'
|
||||
run: npm ci
|
||||
run: pnpm install
|
||||
env:
|
||||
CC: sccache gcc
|
||||
CXX: sccache g++
|
||||
SCCACHE_GHA_ENABLED: "true"
|
||||
NPM_CONFIG_LOGLEVEL: verbose
|
||||
|
||||
- run: npm run generate
|
||||
- run: npm run lint
|
||||
- run: npm run lint-deps
|
||||
- run: npm run lint-license-comments
|
||||
- run: pnpm run generate
|
||||
- run: pnpm run lint
|
||||
- run: pnpm run lint-deps
|
||||
- run: pnpm run lint-license-comments
|
||||
|
||||
- name: Check acknowledgments file is up to date
|
||||
run: npm run build:acknowledgments
|
||||
run: pnpm run build:acknowledgments
|
||||
env:
|
||||
REQUIRE_SIGNAL_LIB_FILES: 1
|
||||
|
||||
@ -77,36 +86,48 @@ jobs:
|
||||
steps:
|
||||
- run: uname -a
|
||||
- uses: actions/checkout@v4
|
||||
- name: Setup pnpm
|
||||
uses: pnpm/action-setup@v4
|
||||
with:
|
||||
version: 10.3.0
|
||||
- name: Setup node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
cache: 'pnpm'
|
||||
cache-dependency-path: 'pnpm-lock.yaml'
|
||||
|
||||
- run: npm install -g npm@10.2.5
|
||||
|
||||
- name: Cache Desktop node_modules
|
||||
id: cache-desktop-modules
|
||||
- name: Setup sccache
|
||||
uses: mozilla-actions/sccache-action@v0.0.7
|
||||
- name: Restore sccache
|
||||
uses: actions/cache@v4
|
||||
id: cache-sccache
|
||||
with:
|
||||
path: node_modules
|
||||
key: ${{ runner.os }}-${{ hashFiles('package.json', 'package-lock.json', 'patches/**') }}
|
||||
path: ${{ env.SCCACHE_PATH }}
|
||||
key: sccache-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml', 'patches/**') }}
|
||||
|
||||
- name: Install Desktop node_modules
|
||||
if: steps.cache-desktop-modules.outputs.cache-hit != 'true'
|
||||
run: npm ci
|
||||
run: pnpm install
|
||||
env:
|
||||
CC: sccache clang
|
||||
CXX: sccache clang++
|
||||
SCCACHE_GHA_ENABLED: "true"
|
||||
NPM_CONFIG_LOGLEVEL: verbose
|
||||
|
||||
- run: npm run generate
|
||||
- run: npm run prepare-beta-build
|
||||
- run: npm run test-node
|
||||
- run: npm run test-electron
|
||||
- run: pnpm run generate
|
||||
- run: pnpm run prepare-beta-build
|
||||
- run: pnpm run test-node
|
||||
- run: pnpm run test-electron
|
||||
env:
|
||||
ARTIFACTS_DIR: artifacts/macos
|
||||
WORKER_COUNT: 4
|
||||
timeout-minutes: 5
|
||||
- run: touch noop.sh && chmod +x noop.sh
|
||||
- run: npm run build
|
||||
- run: pnpm run build
|
||||
env:
|
||||
CC: sccache clang
|
||||
CXX: sccache clang++
|
||||
SCCACHE_GHA_ENABLED: "true"
|
||||
DISABLE_INSPECT_FUSE: on
|
||||
SIGN_MACOS_SCRIPT: noop.sh
|
||||
ARTIFACTS_DIR: artifacts/macos
|
||||
@ -118,12 +139,9 @@ jobs:
|
||||
node ts/scripts/dd-installer-size.js macos-universal
|
||||
env:
|
||||
DD_API_KEY: ${{ secrets.DATADOG_API_KEY }}
|
||||
- name: Rebuild native modules for x64
|
||||
run: npm run electron:install-app-deps
|
||||
- run: npm run test-release
|
||||
- run: pnpm run test-release
|
||||
env:
|
||||
NODE_ENV: production
|
||||
- run: npm run test-eslint
|
||||
|
||||
- name: Upload artifacts on failure
|
||||
if: failure()
|
||||
@ -140,46 +158,60 @@ jobs:
|
||||
- run: lsb_release -a
|
||||
- run: uname -a
|
||||
- uses: actions/checkout@v4
|
||||
- name: Setup pnpm
|
||||
uses: pnpm/action-setup@v4
|
||||
with:
|
||||
version: 10.3.0
|
||||
- name: Setup node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
cache: 'pnpm'
|
||||
cache-dependency-path: 'pnpm-lock.yaml'
|
||||
- run: sudo apt-get install xvfb libpulse0
|
||||
|
||||
- run: npm install -g npm@10.2.5
|
||||
|
||||
- name: Cache Desktop node_modules
|
||||
id: cache-desktop-modules
|
||||
- name: Setup sccache
|
||||
uses: mozilla-actions/sccache-action@v0.0.7
|
||||
- name: Restore sccache
|
||||
uses: actions/cache@v4
|
||||
id: cache-sccache
|
||||
with:
|
||||
path: node_modules
|
||||
key: ${{ runner.os }}-${{ hashFiles('package.json', 'package-lock.json', 'patches/**') }}
|
||||
path: ${{ env.SCCACHE_PATH }}
|
||||
key: sccache-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml', 'patches/**') }}
|
||||
|
||||
- name: Install Desktop node_modules
|
||||
if: steps.cache-desktop-modules.outputs.cache-hit != 'true'
|
||||
run: npm ci
|
||||
run: pnpm install
|
||||
env:
|
||||
CC: sccache gcc
|
||||
CXX: sccache g++
|
||||
SCCACHE_GHA_ENABLED: "true"
|
||||
NPM_CONFIG_LOGLEVEL: verbose
|
||||
|
||||
- run: npm run generate
|
||||
- run: npm run prepare-beta-build
|
||||
- run: pnpm run generate
|
||||
- run: pnpm run prepare-beta-build
|
||||
|
||||
- name: Create bundle
|
||||
run: npm run build:esbuild:prod
|
||||
run: pnpm run build:esbuild:prod
|
||||
- name: Create preload cache
|
||||
run: xvfb-run --auto-servernum npm run build:preload-cache
|
||||
run: xvfb-run --auto-servernum pnpm run build:preload-cache
|
||||
env:
|
||||
ARTIFACTS_DIR: artifacts/linux
|
||||
|
||||
- name: Build with packaging .deb file
|
||||
run: npm run build:release -- --publish=never
|
||||
run: pnpm run build:release -- --publish=never
|
||||
if: github.ref == 'refs/heads/main'
|
||||
env:
|
||||
CC: sccache gcc
|
||||
CXX: sccache g++
|
||||
SCCACHE_GHA_ENABLED: "true"
|
||||
DISABLE_INSPECT_FUSE: on
|
||||
- name: Build without packaging .deb file
|
||||
run: npm run build:release -- --linux dir
|
||||
run: pnpm run build:release -- --linux dir
|
||||
if: github.ref != 'refs/heads/main'
|
||||
env:
|
||||
CC: sccache gcc
|
||||
CXX: sccache g++
|
||||
SCCACHE_GHA_ENABLED: "true"
|
||||
DISABLE_INSPECT_FUSE: on
|
||||
|
||||
- name: Upload installer size
|
||||
@ -188,7 +220,7 @@ jobs:
|
||||
env:
|
||||
DD_API_KEY: ${{ secrets.DATADOG_API_KEY }}
|
||||
|
||||
- run: xvfb-run --auto-servernum npm run test-node
|
||||
- run: xvfb-run --auto-servernum pnpm run test-node
|
||||
|
||||
- name: Clone backup integration tests
|
||||
uses: actions/checkout@v4
|
||||
@ -197,14 +229,15 @@ jobs:
|
||||
ref: '2e22808478e08c72e11a7483900c9af6c9b1acf4'
|
||||
path: 'backup-integration-tests'
|
||||
|
||||
- run: xvfb-run --auto-servernum npm run test-electron
|
||||
- run: xvfb-run --auto-servernum pnpm run test-electron
|
||||
timeout-minutes: 5
|
||||
env:
|
||||
ARTIFACTS_DIR: artifacts/linux
|
||||
LANG: en_US
|
||||
LANGUAGE: en_US
|
||||
BACKUP_INTEGRATION_DIR: 'backup-integration-tests/test-cases'
|
||||
- run: xvfb-run --auto-servernum npm run test-release
|
||||
WORKER_COUNT: 8
|
||||
- run: xvfb-run --auto-servernum pnpm run test-release
|
||||
env:
|
||||
NODE_ENV: production
|
||||
|
||||
@ -228,11 +261,16 @@ jobs:
|
||||
- run: git config --global core.autocrlf false
|
||||
- run: git config --global core.eol lf
|
||||
- uses: actions/checkout@v4
|
||||
- name: Setup pnpm
|
||||
uses: pnpm/action-setup@v4
|
||||
with:
|
||||
version: 10.3.0
|
||||
- name: Setup node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- run: npm install -g npm@10.2.5 node-gyp@10.0.1
|
||||
|
||||
- run: pnpm install -g node-gyp@10.0.1
|
||||
|
||||
# Set things up so @nodert-win10-rs4 dependencies build properly
|
||||
- run: dir "$env:BUILD_LOCATION"
|
||||
@ -245,36 +283,36 @@ jobs:
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: node_modules
|
||||
key: ${{ runner.os }}-${{ hashFiles('package.json', 'package-lock.json', 'patches/**') }}
|
||||
key: ${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml', 'patches/**') }}
|
||||
|
||||
- name: Install Desktop node_modules
|
||||
if: steps.cache-desktop-modules.outputs.cache-hit != 'true'
|
||||
run: npm ci
|
||||
run: pnpm install
|
||||
env:
|
||||
CHILD_CONCURRENCY: 1
|
||||
NPM_CONFIG_LOGLEVEL: verbose
|
||||
|
||||
- run: npm run generate
|
||||
- run: npm run test-node
|
||||
- run: pnpm run generate
|
||||
- run: pnpm 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: npm run prepare-beta-build
|
||||
- run: pnpm run prepare-beta-build
|
||||
|
||||
- name: Create bundle
|
||||
run: npm run build:esbuild:prod
|
||||
run: pnpm run build:esbuild:prod
|
||||
- name: Create preload cache
|
||||
run: npm run build:preload-cache
|
||||
run: pnpm run build:preload-cache
|
||||
env:
|
||||
ARTIFACTS_DIR: artifacts/win
|
||||
|
||||
- name: Build with NSIS
|
||||
run: npm run build:release
|
||||
run: pnpm run build:release
|
||||
if: github.ref == 'refs/heads/main'
|
||||
env:
|
||||
DISABLE_INSPECT_FUSE: on
|
||||
- name: Build without NSIS
|
||||
run: npm run build:release -- --win dir
|
||||
run: pnpm run build:release -- --win dir
|
||||
if: github.ref != 'refs/heads/main'
|
||||
env:
|
||||
DISABLE_INSPECT_FUSE: on
|
||||
@ -285,11 +323,11 @@ jobs:
|
||||
env:
|
||||
DD_API_KEY: ${{ secrets.DATADOG_API_KEY }}
|
||||
|
||||
- run: npm run test-electron
|
||||
- run: pnpm run test-electron
|
||||
env:
|
||||
ARTIFACTS_DIR: artifacts/windows
|
||||
timeout-minutes: 5
|
||||
- run: npm run test-release
|
||||
- run: pnpm run test-release
|
||||
env:
|
||||
SIGNAL_ENV: production
|
||||
|
||||
@ -310,30 +348,32 @@ jobs:
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Setup pnpm
|
||||
uses: pnpm/action-setup@v4
|
||||
with:
|
||||
version: 10.3.0
|
||||
- name: Setup node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
cache: 'npm'
|
||||
cache-dependency-path: 'package-lock.json'
|
||||
|
||||
- name: Install Sticker Creator node_modules
|
||||
run: npm ci
|
||||
run: pnpm install
|
||||
|
||||
- name: Build Sticker Creator
|
||||
run: npm run build
|
||||
run: pnpm run build
|
||||
|
||||
- name: Check Sticker Creator types
|
||||
run: npm run check:types
|
||||
run: pnpm run check:types
|
||||
|
||||
- name: Check Sticker Creator formatting
|
||||
run: npm run prettier:check
|
||||
run: pnpm run prettier:check
|
||||
|
||||
- name: Check Sticker Creator linting
|
||||
run: npm run lint
|
||||
run: pnpm run lint
|
||||
|
||||
- name: Run tests
|
||||
run: npm test -- --run
|
||||
run: pnpm test -- --run
|
||||
|
||||
mock-tests:
|
||||
needs: lint
|
||||
@ -350,42 +390,50 @@ jobs:
|
||||
- name: Clone Desktop repo
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup pnpm
|
||||
uses: pnpm/action-setup@v4
|
||||
with:
|
||||
version: 10.3.0
|
||||
- name: Setup node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: Install global dependencies
|
||||
run: npm install -g npm@10.2.5
|
||||
cache: 'pnpm'
|
||||
cache-dependency-path: 'pnpm-lock.yaml'
|
||||
|
||||
- name: Install xvfb
|
||||
run: sudo apt-get install xvfb libpulse0
|
||||
|
||||
- name: Cache Desktop node_modules
|
||||
id: cache-desktop-modules
|
||||
- name: Setup sccache
|
||||
uses: mozilla-actions/sccache-action@v0.0.7
|
||||
- name: Restore sccache
|
||||
uses: actions/cache@v4
|
||||
id: cache-sccache
|
||||
with:
|
||||
path: node_modules
|
||||
key: ${{ runner.os }}-${{ hashFiles('package.json', 'package-lock.json', 'patches/**') }}
|
||||
path: ${{ env.SCCACHE_PATH }}
|
||||
key: sccache-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml', 'patches/**') }}
|
||||
|
||||
- name: Install Desktop node_modules
|
||||
if: steps.cache-desktop-modules.outputs.cache-hit != 'true'
|
||||
run: npm ci
|
||||
run: pnpm install
|
||||
env:
|
||||
CC: sccache gcc
|
||||
CXX: sccache g++
|
||||
SCCACHE_GHA_ENABLED: "true"
|
||||
NPM_CONFIG_LOGLEVEL: verbose
|
||||
|
||||
- name: Build typescript
|
||||
run: npm run generate
|
||||
run: pnpm run generate
|
||||
- name: Bundle
|
||||
run: npm run build:esbuild:prod
|
||||
run: pnpm run build:esbuild:prod
|
||||
- name: Create preload cache
|
||||
run: xvfb-run --auto-servernum npm run build:preload-cache
|
||||
run: xvfb-run --auto-servernum pnpm run build:preload-cache
|
||||
env:
|
||||
ARTIFACTS_DIR: artifacts/linux
|
||||
|
||||
- name: Run mock server tests
|
||||
run: |
|
||||
set -o pipefail
|
||||
xvfb-run --auto-servernum npm run test-mock
|
||||
xvfb-run --auto-servernum pnpm run test-mock
|
||||
timeout-minutes: 10
|
||||
env:
|
||||
NODE_ENV: production
|
||||
|
||||
18
.github/workflows/danger.yml
vendored
18
.github/workflows/danger.yml
vendored
@ -13,23 +13,17 @@ jobs:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0 # fetch all history
|
||||
- name: Setup pnpm
|
||||
uses: pnpm/action-setup@v4
|
||||
with:
|
||||
version: 10.3.0
|
||||
- name: Setup node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
cache: 'npm'
|
||||
cache-dependency-path: 'package-lock.json'
|
||||
- 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/package-lock.json') }}
|
||||
- name: Install danger node_modules
|
||||
if: steps.cache-desktop-modules.outputs.cache-hit != 'true'
|
||||
run: cd danger && npm ci
|
||||
run: cd danger && pnpm install
|
||||
- name: Run DangerJS
|
||||
run: npm run danger:ci
|
||||
run: pnpm run danger:ci
|
||||
env:
|
||||
DANGER_GITHUB_API_TOKEN: ${{ secrets.AUTOMATED_GITHUB_PAT }}
|
||||
|
||||
31
.github/workflows/stories.yml
vendored
31
.github/workflows/stories.yml
vendored
@ -14,19 +14,34 @@ jobs:
|
||||
timeout-minutes: 30
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Setup pnpm
|
||||
uses: pnpm/action-setup@v4
|
||||
with:
|
||||
version: 10.3.0
|
||||
- name: Setup node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
cache: 'npm'
|
||||
cache-dependency-path: 'package-lock.json'
|
||||
- name: Install global dependencies
|
||||
run: npm install -g npm@10.2.5
|
||||
cache: 'pnpm'
|
||||
cache-dependency-path: 'pnpm-lock.yaml'
|
||||
|
||||
- name: Setup sccache
|
||||
uses: mozilla-actions/sccache-action@v0.0.7
|
||||
- name: Restore sccache
|
||||
uses: actions/cache@v4
|
||||
id: cache-sccache
|
||||
with:
|
||||
path: ${{ env.SCCACHE_PATH }}
|
||||
key: sccache-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml', 'patches/**') }}
|
||||
|
||||
- name: Install Desktop node_modules
|
||||
run: npm ci
|
||||
run: pnpm install
|
||||
env:
|
||||
CHILD_CONCURRENCY: 1
|
||||
CC: sccache gcc
|
||||
CXX: sccache g++
|
||||
SCCACHE_GHA_ENABLED: "true"
|
||||
NPM_CONFIG_LOGLEVEL: verbose
|
||||
- run: npm run build:storybook
|
||||
- run: npx playwright install chromium
|
||||
|
||||
- run: pnpm run build:storybook
|
||||
- run: ./node_modules/.bin/playwright install chromium
|
||||
- run: ./node_modules/.bin/run-p --race test:storybook:serve test:storybook:test
|
||||
|
||||
@ -23,6 +23,7 @@ build/locale-display-names.json
|
||||
build/country-display-names.json
|
||||
build/compact-locales/**/*.json
|
||||
release/**
|
||||
pnpm-lock.yaml
|
||||
|
||||
# Third-party files
|
||||
node_modules/**
|
||||
|
||||
@ -3007,6 +3007,30 @@ Signal Desktop makes use of the following open source projects.
|
||||
|
||||
License: (MIT OR CC0-1.0)
|
||||
|
||||
## url
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright 2014 Joyent, Inc. and other Node 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.
|
||||
|
||||
## urlpattern-polyfill
|
||||
|
||||
Copyright 2020 Intel Corporation
|
||||
|
||||
@ -52,10 +52,11 @@ Now, run these commands in your preferred terminal in a good directory for devel
|
||||
```
|
||||
git clone https://github.com/signalapp/Signal-Desktop.git
|
||||
cd Signal-Desktop
|
||||
npm install # 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!
|
||||
npm install -g pnpm
|
||||
pnpm install # Install and build dependencies (this will take a while)
|
||||
pnpm run generate # Generate final JS and CSS assets
|
||||
pnpm test # A good idea to make sure tests run first
|
||||
pnpm start # Start Signal!
|
||||
```
|
||||
|
||||
You'll need to restart the application regularly to see your changes, as there
|
||||
@ -65,14 +66,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 `npm run generate` on the
|
||||
you’re touching. You may not see your changes until you run `pnpm 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:
|
||||
|
||||
```
|
||||
npm run dev:transpile # recompiles when you change .ts files
|
||||
npm run dev:sass # recompiles when you change .scss files
|
||||
pnpm run dev:transpile # recompiles when you change .ts files
|
||||
pnpm run dev:sass # recompiles when you change .scss files
|
||||
```
|
||||
|
||||
#### Known issues
|
||||
@ -121,7 +122,7 @@ You can run a development server for these parts of the app with the
|
||||
following command:
|
||||
|
||||
```
|
||||
npm run dev
|
||||
pnpm run dev
|
||||
```
|
||||
|
||||
In order for the app to make requests to the development server you must set
|
||||
@ -129,7 +130,7 @@ the `SIGNAL_ENABLE_HTTP` environment variable to a truthy value. On Linux and
|
||||
macOS, that simply looks like this:
|
||||
|
||||
```
|
||||
SIGNAL_ENABLE_HTTP=1 npm start
|
||||
SIGNAL_ENABLE_HTTP=1 pnpm start
|
||||
```
|
||||
|
||||
## Setting up standalone
|
||||
@ -194,7 +195,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 npm start
|
||||
NODE_APP_INSTANCE=alice pnpm start
|
||||
```
|
||||
|
||||
This changes the `userData` directory from `%appData%/Signal` to `%appData%/Signal-aliceProfile`.
|
||||
@ -210,15 +211,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 `npm test`, which will run them on the
|
||||
The easiest way to run all tests at once is `pnpm test`, which will run them on the
|
||||
command line. You can run the client-side tests in an interactive session with
|
||||
`NODE_ENV=test npm start`.
|
||||
`NODE_ENV=test pnpm start`.
|
||||
|
||||
## Pull requests
|
||||
|
||||
So you wanna make a pull request? Please observe the following guidelines.
|
||||
|
||||
- First, make sure that your `npm run ready` run passes - it's very similar to what our
|
||||
- First, make sure that your `pnpm 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`!
|
||||
@ -297,11 +298,11 @@ will go to your new development desktop app instead of your phone.
|
||||
To test changes to the build system, build a release using
|
||||
|
||||
```
|
||||
npm run generate
|
||||
npm run build
|
||||
pnpm run generate
|
||||
pnpm run build
|
||||
```
|
||||
|
||||
Then, run the tests using `npm run test-release`.
|
||||
Then, run the tests using `pnpm run test-release`.
|
||||
|
||||
### Testing MacOS builds
|
||||
|
||||
@ -312,8 +313,8 @@ you can ad-hoc sign the packaged app which will let you run it locally.
|
||||
2. Build the app and ad-hoc sign the app bundle:
|
||||
|
||||
```
|
||||
npm run generate
|
||||
npm run build
|
||||
pnpm run generate
|
||||
pnpm run build
|
||||
cd release
|
||||
# Pick the desired app bundle: mac, mac-arm64, or mac-universal
|
||||
cd mac-arm64
|
||||
|
||||
@ -5779,6 +5779,10 @@
|
||||
"messageformat": "Gradient end",
|
||||
"description": "aria-label for the custom color gradient creator knob"
|
||||
},
|
||||
"icu:GIF--download": {
|
||||
"messageformat": "Download GIF attachment",
|
||||
"description": "Aria label for GIF attachment's Download button"
|
||||
},
|
||||
"icu:customDisappearingTimeOption": {
|
||||
"messageformat": "Custom time...",
|
||||
"description": "Text for an option in Disappearing Messages menu and Conversation Details Disappearing Messages setting when no user value is available"
|
||||
|
||||
2032
danger/package-lock.json
generated
2032
danger/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -3,5 +3,10 @@
|
||||
"danger": "12.3.3",
|
||||
"endanger": "7.0.4",
|
||||
"typescript": "4.6.2"
|
||||
},
|
||||
"pnpm": {
|
||||
"onlyBuiltDependencies": [
|
||||
"core-js"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
1545
danger/pnpm-lock.yaml
generated
Normal file
1545
danger/pnpm-lock.yaml
generated
Normal file
File diff suppressed because it is too large
Load Diff
32701
package-lock.json
generated
32701
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
107
package.json
107
package.json
@ -14,11 +14,11 @@
|
||||
"browserslist": "last 1 chrome versions",
|
||||
"main": "app/main.js",
|
||||
"scripts": {
|
||||
"postinstall": "npm run build:acknowledgments && patch-package --error-on-fail --error-on-warn && npm run electron:install-app-deps",
|
||||
"postuninstall": "npm run build:acknowledgments",
|
||||
"postinstall": "pnpm run build:acknowledgments && pnpm run electron:install-app-deps",
|
||||
"postuninstall": "pnpm run build:acknowledgments",
|
||||
"start": "electron .",
|
||||
"generate": "npm-run-all build-protobuf build:esbuild build:icu-types build:compact-locales sass get-expire-time copy-components",
|
||||
"build-release": "npm run build",
|
||||
"build-release": "pnpm 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",
|
||||
@ -32,8 +32,8 @@
|
||||
"sass": "sass stylesheets/manifest.scss:stylesheets/manifest.css stylesheets/manifest_bridge.scss:stylesheets/manifest_bridge.css",
|
||||
"build-module-protobuf": "pbjs --root='signal-desktop' --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": "npm run build-module-protobuf",
|
||||
"clean-protobuf": "npm run clean-module-protobuf",
|
||||
"build-protobuf": "pnpm run build-module-protobuf",
|
||||
"clean-protobuf": "pnpm 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_tagged_version.js alpha",
|
||||
@ -65,19 +65,19 @@
|
||||
"check:types": "tsc --noEmit",
|
||||
"clean-transpile": "node ./scripts/clean-transpile.js",
|
||||
"ready": "npm-run-all --print-label clean-transpile generate --parallel lint lint-deps lint-intl test-node test-electron",
|
||||
"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:protobuf",
|
||||
"dev": "pnpm 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:protobuf",
|
||||
"dev:esbuild": "node scripts/esbuild.js --watch",
|
||||
"dev:sass": "npm run sass -- --watch",
|
||||
"dev:icu-types": "chokidar ./_locales/en/messages.json --initial --command \"npm run build:icu-types\"",
|
||||
"dev:protobuf": "chokidar ./protos/**/*.proto --command \"npm run build-protobuf\"",
|
||||
"build:storybook": "npm run build-protobuf && cross-env SIGNAL_ENV=storybook storybook build",
|
||||
"test:storybook": "npm run build:storybook && run-p --race test:storybook:*",
|
||||
"dev:sass": "pnpm run sass --watch",
|
||||
"dev:icu-types": "chokidar ./_locales/en/messages.json --initial --command \"pnpm run build:icu-types\"",
|
||||
"dev:protobuf": "chokidar ./protos/**/*.proto --command \"pnpm run build-protobuf\"",
|
||||
"build:storybook": "pnpm run build-protobuf && cross-env SIGNAL_ENV=storybook storybook build",
|
||||
"test:storybook": "pnpm 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-win32-all": "run-s --print-label generate build:esbuild:prod build:release-win32-all",
|
||||
"build-linux": "run-s generate build:esbuild:prod && npm run build:release -- --publish=never",
|
||||
"build-linux": "run-s generate build:esbuild:prod && pnpm 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",
|
||||
@ -87,8 +87,8 @@
|
||||
"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 npm run build:electron -- --config.directories.output=release",
|
||||
"build:release-win32-all": "npm run build:release -- --arm64 --x64",
|
||||
"build:release": "cross-env SIGNAL_ENV=production pnpm run build:electron --config.directories.output=release",
|
||||
"build:release-win32-all": "pnpm run build:release --arm64 --x64",
|
||||
"build:preload-cache": "node ts/scripts/generate-preload-cache.js",
|
||||
"verify": "run-p --print-label verify:*",
|
||||
"verify:ts": "tsc --noEmit",
|
||||
@ -112,7 +112,7 @@
|
||||
"@popperjs/core": "2.11.8",
|
||||
"@react-aria/utils": "3.25.3",
|
||||
"@react-spring/web": "9.7.5",
|
||||
"@signalapp/better-sqlite3": "9.0.11",
|
||||
"@signalapp/better-sqlite3": "9.0.13",
|
||||
"@signalapp/libsignal-client": "0.66.2",
|
||||
"@signalapp/quill-cjs": "2.1.2",
|
||||
"@signalapp/ringrtc": "2.49.5",
|
||||
@ -191,6 +191,7 @@
|
||||
"semver": "7.6.3",
|
||||
"split2": "4.2.0",
|
||||
"type-fest": "4.26.1",
|
||||
"url": "0.11.4",
|
||||
"urlpattern-polyfill": "10.0.0",
|
||||
"uuid": "11.0.2",
|
||||
"websocket": "1.0.34",
|
||||
@ -224,11 +225,13 @@
|
||||
"@storybook/addon-toolbars": "8.4.4",
|
||||
"@storybook/addon-viewport": "8.4.4",
|
||||
"@storybook/addon-webpack5-compiler-swc": "1.0.5",
|
||||
"@storybook/csf": "0.1.11",
|
||||
"@storybook/preview-api": "8.4.4",
|
||||
"@storybook/react": "8.4.4",
|
||||
"@storybook/react-webpack5": "8.4.4",
|
||||
"@storybook/test": "8.4.4",
|
||||
"@storybook/test-runner": "0.19.1",
|
||||
"@storybook/types": "8.1.11",
|
||||
"@types/backbone": "1.4.22",
|
||||
"@types/blueimp-load-image": "5.16.6",
|
||||
"@types/chai": "4.3.16",
|
||||
@ -308,7 +311,6 @@
|
||||
"node-gyp-build": "4.8.4",
|
||||
"npm-run-all": "4.1.5",
|
||||
"p-limit": "3.1.0",
|
||||
"patch-package": "8.0.0",
|
||||
"pixelmatch": "5.3.0",
|
||||
"playwright": "1.45.0",
|
||||
"pngjs": "7.0.0",
|
||||
@ -336,28 +338,59 @@
|
||||
"webpack-cli": "5.1.4",
|
||||
"webpack-dev-server": "5.1.0"
|
||||
},
|
||||
"overrides": {
|
||||
"@storybook/react": {
|
||||
"@storybook/core": {
|
||||
"node-fetch": "2.6.1"
|
||||
}
|
||||
"pnpm": {
|
||||
"overrides": {
|
||||
"@storybook/core>node-fetch": "$node-fetch",
|
||||
"@types/react": "17.0.45",
|
||||
"@types/react-dom": "17.0.17",
|
||||
"eslint-config-airbnb-typescript-prettier>eslint-plugin-prettier": "5.2.1",
|
||||
"canvas": "-",
|
||||
"jsdom": "-",
|
||||
"thenify-all>thenify": "3.3.1"
|
||||
},
|
||||
"@types/react": "17.0.45",
|
||||
"@types/react-dom": "17.0.17",
|
||||
"eslint-config-airbnb-typescript-prettier": {
|
||||
"eslint-plugin-prettier": "5.2.1"
|
||||
"patchedDependencies": {
|
||||
"@types/backbone@1.4.22": "patches/@types+backbone+1.4.22.patch",
|
||||
"casual@1.6.2": "patches/casual+1.6.2.patch",
|
||||
"protobufjs@7.3.2": "patches/protobufjs+7.3.2.patch",
|
||||
"@types/express@4.17.21": "patches/@types+express+4.17.21.patch",
|
||||
"dmg-builder@26.0.0-alpha.8": "patches/dmg-builder+26.0.0-alpha.8.patch",
|
||||
"protobufjs-cli@1.1.1": "patches/protobufjs-cli+1.1.1.patch",
|
||||
"@types/fabric@4.5.3": "patches/@types+fabric+4.5.3.patch",
|
||||
"electron-util@0.13.1": "patches/electron-util+0.13.1.patch",
|
||||
"qrcode-generator@1.4.4": "patches/qrcode-generator+1.4.4.patch",
|
||||
"@types/node-fetch@2.6.12": "patches/@types+node-fetch+2.6.12.patch",
|
||||
"fabric@4.6.0": "patches/fabric+4.6.0.patch",
|
||||
"react-contextmenu@2.14.0": "patches/react-contextmenu+2.14.0.patch",
|
||||
"@vitest/expect@2.0.5": "patches/@vitest+expect+2.0.5.patch",
|
||||
"got@11.8.5": "patches/got+11.8.5.patch",
|
||||
"react-textarea-autosize@8.5.5": "patches/react-textarea-autosize+8.5.5.patch",
|
||||
"app-builder-lib@26.0.0-alpha.8": "patches/app-builder-lib+26.0.0-alpha.8.patch",
|
||||
"growing-file@0.1.3": "patches/growing-file+0.1.3.patch",
|
||||
"websocket@1.0.34": "patches/websocket+1.0.34.patch",
|
||||
"backbone@1.6.0": "patches/backbone+1.6.0.patch",
|
||||
"node-fetch@2.6.7": "patches/node-fetch+2.6.7.patch",
|
||||
"zod@3.23.8": "patches/zod+3.23.8.patch"
|
||||
},
|
||||
"fabric": {
|
||||
"canvas": "$nop",
|
||||
"jsdom": "$nop"
|
||||
},
|
||||
"read-last-lines": {
|
||||
"mz": {
|
||||
"thenify-all": {
|
||||
"thenify": "3.3.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
"onlyBuiltDependencies": [
|
||||
"@indutny/mac-screen-share",
|
||||
"@indutny/simple-windows-notifications",
|
||||
"@parcel/watcher",
|
||||
"@signalapp/libsignal-client",
|
||||
"@signalapp/better-sqlite3",
|
||||
"@signalapp/ringrtc",
|
||||
"@swc/core",
|
||||
"bufferutil",
|
||||
"electron",
|
||||
"esbuild",
|
||||
"fs-xattr",
|
||||
"mac-screen-capture-permissions",
|
||||
"utf-8-validate"
|
||||
],
|
||||
"ignoredBuiltDependencies": [
|
||||
"core-js",
|
||||
"es5-ext",
|
||||
"protobufjs"
|
||||
]
|
||||
},
|
||||
"engines": {
|
||||
"node": "20.18.2"
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
20983
pnpm-lock.yaml
generated
Normal file
20983
pnpm-lock.yaml
generated
Normal file
File diff suppressed because it is too large
Load Diff
@ -3,3 +3,4 @@ public/*
|
||||
src/assets/*
|
||||
src/util/protos.*
|
||||
stats.html
|
||||
pnpm-lock.yaml
|
||||
|
||||
@ -72,5 +72,12 @@
|
||||
"typescript": "5.0.4",
|
||||
"vite": "4.5.3",
|
||||
"vitest": "0.30.1"
|
||||
},
|
||||
"pnpm": {
|
||||
"onlyBuiltDependencies": [
|
||||
"es5-ext",
|
||||
"esbuild",
|
||||
"protobufjs"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
5513
sticker-creator/pnpm-lock.yaml
generated
Normal file
5513
sticker-creator/pnpm-lock.yaml
generated
Normal file
File diff suppressed because it is too large
Load Diff
@ -61,9 +61,9 @@ export const ShareButtons: React.ComponentType<Props> = React.memo(
|
||||
<button
|
||||
type="button"
|
||||
key={path}
|
||||
aria-label={title}
|
||||
className={styles.button}
|
||||
onClick={() => window.open(url)}
|
||||
title={title}
|
||||
>
|
||||
<svg width={32} height={32}>
|
||||
<circle cx="16" cy="16" r="16" fill={fill} />
|
||||
|
||||
@ -30,10 +30,10 @@ export default {
|
||||
},
|
||||
args: {
|
||||
i18n,
|
||||
onBack: fn(action('onBack')),
|
||||
onBack: fn(action('onBack')) as ReturnType<typeof action>,
|
||||
onDelete: action('onDelete'),
|
||||
onForward: fn(action('onForward')),
|
||||
onSave: fn(action('onSave')),
|
||||
onForward: fn(action('onForward')) as ReturnType<typeof action>,
|
||||
onSave: fn(action('onSave')) as ReturnType<typeof action>,
|
||||
hasViewReceiptSetting: false,
|
||||
renderToastManager: () => <i />,
|
||||
queueStoryDownload: action('queueStoryDownload'),
|
||||
|
||||
@ -25,8 +25,8 @@ export default {
|
||||
i18n,
|
||||
me: getDefaultConversation(),
|
||||
myStories: [getFakeMyStory()],
|
||||
onAddStory: fn(action('onAddStory')),
|
||||
onClick: fn(action('onClick')),
|
||||
onAddStory: fn(action('onAddStory')) as ReturnType<typeof action>,
|
||||
onClick: fn(action('onClick')) as ReturnType<typeof action>,
|
||||
queueStoryDownload: action('queueStoryDownload'),
|
||||
showToast: action('showToast'),
|
||||
},
|
||||
|
||||
@ -212,7 +212,6 @@ export function NavSidebar({
|
||||
|
||||
<div className="NavSidebar__Content">{children}</div>
|
||||
|
||||
{/* eslint-disable-next-line jsx-a11y/role-supports-aria-props -- See https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/separator_role#focusable_separator */}
|
||||
<div
|
||||
className={classNames('NavSidebar__DragHandle', {
|
||||
'NavSidebar__DragHandle--dragging': dragState === DragState.DRAGGING,
|
||||
|
||||
@ -16,19 +16,19 @@ export default {
|
||||
getCaptchaToken: fn(async () => {
|
||||
await sleep(SECOND);
|
||||
return 'captcha-token';
|
||||
}),
|
||||
}) as () => Promise<string>,
|
||||
requestVerification: fn(async () => {
|
||||
await sleep(SECOND);
|
||||
return { sessionId: 'fake-session-id' };
|
||||
}),
|
||||
}) as () => Promise<{ sessionId: string }>,
|
||||
registerSingleDevice: fn(async () => {
|
||||
await sleep(SECOND);
|
||||
}),
|
||||
}) as () => Promise<void>,
|
||||
uploadProfile: fn(async () => {
|
||||
await sleep(SECOND);
|
||||
}),
|
||||
onComplete: fn(),
|
||||
readyForUpdates: fn(),
|
||||
}) as () => Promise<void>,
|
||||
onComplete: fn() as () => void,
|
||||
readyForUpdates: fn() as () => void,
|
||||
},
|
||||
} satisfies Meta<PropsType & { daysAgo?: number }>;
|
||||
|
||||
|
||||
@ -264,6 +264,7 @@ export function GIF(props: Props): JSX.Element {
|
||||
<button
|
||||
type="button"
|
||||
className={className}
|
||||
aria-label={i18n('icu:GIF--download')}
|
||||
onClick={onOverlayClick}
|
||||
onKeyDown={onOverlayKeyDown}
|
||||
tabIndex={tabIndex}
|
||||
|
||||
@ -18,7 +18,7 @@ export function StagedPlaceholderAttachment({
|
||||
type="button"
|
||||
className="module-staged-placeholder-attachment"
|
||||
onClick={onClick}
|
||||
title={i18n('icu:addImageOrVideoattachment')}
|
||||
aria-label={i18n('icu:addImageOrVideoattachment')}
|
||||
>
|
||||
<div className="module-staged-placeholder-attachment__plus-icon" />
|
||||
</button>
|
||||
|
||||
@ -15,84 +15,6 @@
|
||||
"updated": "2018-09-18T19:19:27.699Z",
|
||||
"reasonDetail": "Part of runtime library for C++ transpiled code"
|
||||
},
|
||||
{
|
||||
"rule": "eval",
|
||||
"path": "node_modules/@cspotcode/source-map-support/source-map-support.js",
|
||||
"line": " // Most eval() calls are in this format",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2024-09-26T18:39:25.816Z"
|
||||
},
|
||||
{
|
||||
"rule": "eval",
|
||||
"path": "node_modules/@cspotcode/source-map-support/source-map-support.js",
|
||||
"line": " // Parse nested eval() calls using recursion",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2024-09-26T18:39:25.816Z"
|
||||
},
|
||||
{
|
||||
"rule": "eval",
|
||||
"path": "node_modules/@cspotcode/source-map-support/source-map-support.js",
|
||||
"line": " // passed to eval() ending in \"//# sourceURL=...\" will return the source file",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2024-09-26T18:39:25.816Z"
|
||||
},
|
||||
{
|
||||
"rule": "eval",
|
||||
"path": "node_modules/@cspotcode/source-map-support/source-map-support.js",
|
||||
"line": " // Code called using eval() needs special handling",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2024-09-26T18:39:25.816Z"
|
||||
},
|
||||
{
|
||||
"rule": "eval",
|
||||
"path": "node_modules/@jsonjoy.com/util/lib/codegen/compile.js",
|
||||
"line": "const compile = (js) => eval(js);",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2024-11-13T23:42:33.044Z"
|
||||
},
|
||||
{
|
||||
"rule": "eval",
|
||||
"path": "node_modules/@protobufjs/inquire/index.js",
|
||||
"line": " var mod = eval(\"quire\".replace(/^/,\"re\"))(moduleName); // eslint-disable-line no-eval",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2018-09-18T19:19:27.699Z",
|
||||
"reasonDetail": "What's being eval'd is a static string"
|
||||
},
|
||||
{
|
||||
"rule": "React-useRef",
|
||||
"path": "node_modules/@react-spring/animated/dist/react-spring_animated.legacy-esm.js",
|
||||
"line": " const instanceRef = useRef(null);",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2024-11-16T00:21:51.887Z"
|
||||
},
|
||||
{
|
||||
"rule": "React-useRef",
|
||||
"path": "node_modules/@react-spring/animated/dist/react-spring_animated.legacy-esm.js",
|
||||
"line": " const observerRef = useRef();",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2024-11-16T00:21:51.887Z"
|
||||
},
|
||||
{
|
||||
"rule": "React-useRef",
|
||||
"path": "node_modules/@react-spring/core/dist/react-spring_core.legacy-esm.js",
|
||||
"line": " const layoutId = useRef(0);",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2024-11-16T00:21:51.887Z"
|
||||
},
|
||||
{
|
||||
"rule": "React-useRef",
|
||||
"path": "node_modules/@react-spring/core/dist/react-spring_core.legacy-esm.js",
|
||||
"line": " const ctrls = useRef([...state.ctrls]);",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2024-11-16T00:21:51.887Z"
|
||||
},
|
||||
{
|
||||
"rule": "React-useRef",
|
||||
"path": "node_modules/@react-spring/shared/dist/react-spring_shared.legacy-esm.js",
|
||||
"line": " const ref = useRef(null);",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2024-11-16T00:21:51.887Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/@signalapp/quill-cjs/core/editor.js",
|
||||
@ -265,235 +187,6 @@
|
||||
"updated": "2020-10-13T18:36:57.012Z",
|
||||
"reasonDetail": "necessary for quill"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/@sindresorhus/is/dist/index.js",
|
||||
"line": " 'innerHTML',",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2021-10-06T15:40:12.124Z"
|
||||
},
|
||||
{
|
||||
"rule": "eval",
|
||||
"path": "node_modules/@sinonjs/commons/lib/function-name.test.js",
|
||||
"line": " fn = eval(\"(function*() {})\")().constructor;",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2020-10-09T22:28:48.591Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/@testing-library/dom/dist/@testing-library/dom.cjs.js",
|
||||
"line": " if (!element || !('innerHTML' in element)) {",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2024-11-13T23:31:32.324Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/@testing-library/dom/dist/@testing-library/dom.cjs.js",
|
||||
"line": " if (!element.innerHTML) {",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2024-11-13T23:31:32.324Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/@testing-library/dom/dist/@testing-library/dom.cjs.js",
|
||||
"line": " const playgroundUrl = getPlaygroundUrl(element.innerHTML);",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2024-11-13T23:31:32.324Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-outerHTML",
|
||||
"path": "node_modules/@testing-library/dom/dist/@testing-library/dom.cjs.js",
|
||||
"line": " if (!('outerHTML' in dom)) {",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2024-11-13T23:31:32.324Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-outerHTML",
|
||||
"path": "node_modules/@testing-library/dom/dist/@testing-library/dom.cjs.js",
|
||||
"line": " return maxLength !== undefined && dom.outerHTML.length > maxLength ? debugContent.slice(0, maxLength) + \"...\" : debugContent;",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2024-11-13T23:31:32.324Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/@testing-library/dom/dist/@testing-library/dom.esm.js",
|
||||
"line": " if (!element || !('innerHTML' in element)) {",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2024-11-13T23:31:32.324Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/@testing-library/dom/dist/@testing-library/dom.esm.js",
|
||||
"line": " if (!element.innerHTML) {",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2024-11-13T23:31:32.324Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/@testing-library/dom/dist/@testing-library/dom.esm.js",
|
||||
"line": " const playgroundUrl = getPlaygroundUrl(element.innerHTML);",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2024-11-13T23:31:32.324Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-outerHTML",
|
||||
"path": "node_modules/@testing-library/dom/dist/@testing-library/dom.esm.js",
|
||||
"line": " if (!('outerHTML' in dom)) {",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2024-11-13T23:31:32.324Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-outerHTML",
|
||||
"path": "node_modules/@testing-library/dom/dist/@testing-library/dom.esm.js",
|
||||
"line": " return maxLength !== undefined && dom.outerHTML.length > maxLength ? debugContent.slice(0, maxLength) + \"...\" : debugContent;",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2024-11-13T23:31:32.324Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/@testing-library/dom/dist/@testing-library/dom.umd.js",
|
||||
"line": "\t if (!element || !('innerHTML' in element)) {",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2024-11-13T23:31:32.324Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/@testing-library/dom/dist/@testing-library/dom.umd.js",
|
||||
"line": "\t if (!element.innerHTML) {",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2024-11-13T23:31:32.324Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/@testing-library/dom/dist/@testing-library/dom.umd.js",
|
||||
"line": "\t const playgroundUrl = getPlaygroundUrl(element.innerHTML);",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2024-11-13T23:31:32.324Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-outerHTML",
|
||||
"path": "node_modules/@testing-library/dom/dist/@testing-library/dom.umd.js",
|
||||
"line": "\t if (!('outerHTML' in dom)) {",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2024-11-13T23:31:32.324Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-outerHTML",
|
||||
"path": "node_modules/@testing-library/dom/dist/@testing-library/dom.umd.js",
|
||||
"line": "\t return maxLength !== undefined && dom.outerHTML.length > maxLength ? debugContent.slice(0, maxLength) + \"...\" : debugContent;",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2024-11-13T23:31:32.324Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/@testing-library/dom/dist/@testing-library/dom.umd.min.js",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2024-11-13T23:31:32.324Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-outerHTML",
|
||||
"path": "node_modules/@testing-library/dom/dist/@testing-library/dom.umd.min.js",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2024-11-13T23:31:32.324Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-outerHTML",
|
||||
"path": "node_modules/@testing-library/dom/dist/pretty-dom.js",
|
||||
"line": " if (!('outerHTML' in dom)) {",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2024-11-13T23:31:32.324Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-outerHTML",
|
||||
"path": "node_modules/@testing-library/dom/dist/pretty-dom.js",
|
||||
"line": " return maxLength !== undefined && dom.outerHTML.length > maxLength ? `${debugContent.slice(0, maxLength)}...` : debugContent;",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2024-11-13T23:31:32.324Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/@testing-library/dom/dist/screen.js",
|
||||
"line": " if (!element || !('innerHTML' in element)) {",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2024-11-13T23:31:32.324Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/@testing-library/dom/dist/screen.js",
|
||||
"line": " if (!element.innerHTML) {",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2024-11-13T23:31:32.324Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/@testing-library/dom/dist/screen.js",
|
||||
"line": " const playgroundUrl = getPlaygroundUrl(element.innerHTML);",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2024-11-13T23:31:32.324Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/@testing-library/jest-dom/dist/matchers-4fe91ec3.js",
|
||||
"line": " pass: element.innerHTML === '',",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2024-11-13T23:31:32.324Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/@testing-library/jest-dom/dist/matchers-4fe91ec3.js",
|
||||
"line": " ` ${this.utils.printReceived(element.innerHTML)}`,",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2024-11-13T23:31:32.324Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/@testing-library/jest-dom/dist/matchers-4fe91ec3.js",
|
||||
"line": " ` ${this.utils.printReceived(element.innerHTML)}`,",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2024-11-13T23:31:32.324Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/@testing-library/jest-dom/dist/matchers-4fe91ec3.js",
|
||||
"line": " div.innerHTML = htmlText;",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2024-11-13T23:31:32.324Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/@testing-library/jest-dom/dist/matchers-4fe91ec3.js",
|
||||
"line": " return div.innerHTML",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2024-11-13T23:31:32.324Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-outerHTML",
|
||||
"path": "node_modules/@testing-library/jest-dom/dist/matchers-4fe91ec3.js",
|
||||
"line": " pass: container.outerHTML.includes(getNormalizedHtml(container, htmlText)),",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2024-11-13T23:31:32.324Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/@testing-library/user-event/dist/cjs/utility/selectOptions.js",
|
||||
"line": " const matchingOption = allOptions.find((o)=>o.value === val || o.innerHTML === val);",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2023-10-03T18:55:06.301Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/@testing-library/user-event/dist/esm/utility/selectOptions.js",
|
||||
"line": " const matchingOption = allOptions.find((o)=>o.value === val || o.innerHTML === val);",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2023-10-03T18:55:06.301Z"
|
||||
},
|
||||
{
|
||||
"rule": "eval",
|
||||
"path": "node_modules/@tootallnate/quickjs-emscripten/dist/context.js",
|
||||
"line": " * Like [`eval(code)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval#Description).",
|
||||
"reasonCategory": "falseMatch",
|
||||
"updated": "2023-08-29T19:25:52.732Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/axe-core/axe.js",
|
||||
@ -548,48 +241,6 @@
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2024-11-14T01:39:46.132Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-outerHTML",
|
||||
"path": "node_modules/domutils/node_modules/dom-serializer/lib/esm/index.js",
|
||||
"line": " * Can be thought of as the equivalent of the `outerHTML` of the passed node(s).",
|
||||
"reasonCategory": "falseMatch",
|
||||
"updated": "2023-01-11T23:51:00.603Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-outerHTML",
|
||||
"path": "node_modules/domutils/node_modules/dom-serializer/lib/index.js",
|
||||
"line": " * Can be thought of as the equivalent of the `outerHTML` of the passed node(s).",
|
||||
"reasonCategory": "falseMatch",
|
||||
"updated": "2023-01-11T23:51:00.603Z"
|
||||
},
|
||||
{
|
||||
"rule": "React-ref",
|
||||
"path": "node_modules/esquery/dist/esquery.esm.min.js",
|
||||
"reasonCategory": "falseMatch",
|
||||
"updated": "2020-08-26T00:10:28.628Z",
|
||||
"reasonDetail": "isn't react"
|
||||
},
|
||||
{
|
||||
"rule": "React-ref",
|
||||
"path": "node_modules/esquery/dist/esquery.min.js",
|
||||
"reasonCategory": "falseMatch",
|
||||
"updated": "2020-08-26T00:10:28.628Z",
|
||||
"reasonDetail": "isn't react"
|
||||
},
|
||||
{
|
||||
"rule": "eval",
|
||||
"path": "node_modules/expect-playwright/lib/matchers/toHaveSelectorCount/index.js",
|
||||
"line": " const actualCount = await elementHandle.$$eval(selector, (el) => el.length);",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2023-10-03T18:55:06.301Z"
|
||||
},
|
||||
{
|
||||
"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",
|
||||
@ -729,261 +380,6 @@
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2024-11-16T00:33:41.092Z"
|
||||
},
|
||||
{
|
||||
"rule": "eval",
|
||||
"path": "node_modules/jest-runner/node_modules/source-map-support/source-map-support.js",
|
||||
"line": " // Most eval() calls are in this format",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2023-10-03T18:55:06.301Z"
|
||||
},
|
||||
{
|
||||
"rule": "eval",
|
||||
"path": "node_modules/jest-runner/node_modules/source-map-support/source-map-support.js",
|
||||
"line": " // Parse nested eval() calls using recursion",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2023-10-03T18:55:06.301Z"
|
||||
},
|
||||
{
|
||||
"rule": "eval",
|
||||
"path": "node_modules/jest-runner/node_modules/source-map-support/source-map-support.js",
|
||||
"line": " // passed to eval() ending in \"//# sourceURL=...\" will return the source file",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2023-10-03T18:55:06.301Z"
|
||||
},
|
||||
{
|
||||
"rule": "eval",
|
||||
"path": "node_modules/jest-runner/node_modules/source-map-support/source-map-support.js",
|
||||
"line": " // Code called using eval() needs special handling",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2023-10-03T18:55:06.301Z"
|
||||
},
|
||||
{
|
||||
"rule": "React-ref",
|
||||
"path": "node_modules/joi/dist/joi-browser.min.js",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2023-10-03T18:55:06.301Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/jsdoc/templates/default/static/scripts/prettify/prettify.js",
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2023-07-12T01:02:31.061Z"
|
||||
},
|
||||
{
|
||||
"rule": "eval",
|
||||
"path": "node_modules/loader-runner/lib/loadLoader.js",
|
||||
"line": "\t\t\tvar modulePromise = eval(\"import(\" + JSON.stringify(loaderUrl.toString()) + \")\");",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2021-04-05T20:48:36.065Z"
|
||||
},
|
||||
{
|
||||
"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",
|
||||
"line": " } else if (elem.innerHTML) {",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2018-09-15T00:38:04.183Z",
|
||||
"reasonDetail": "Getting the value, not setting it"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/min-document/serialize.js",
|
||||
"line": " key !== \"textContent\" && key !== \"innerText\" && key !== \"namespaceURI\" && key !== \"innerHTML\"",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2018-09-15T00:38:04.183Z",
|
||||
"reasonDetail": "Getting the value, not setting it"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/min-document/serialize.js",
|
||||
"line": " strings.push(elem.innerHTML)",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"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": "thenify-multiArgs",
|
||||
"path": "node_modules/p-event/index.js",
|
||||
"line": "\t\t\tmultiArgs: false,",
|
||||
"reasonCategory": "falseMatch",
|
||||
"updated": "2024-12-20T19:43:51.589Z"
|
||||
},
|
||||
{
|
||||
"rule": "thenify-multiArgs",
|
||||
"path": "node_modules/p-event/index.js",
|
||||
"line": "\t\tmultiArgs: false,",
|
||||
"reasonCategory": "falseMatch",
|
||||
"updated": "2024-12-20T19:43:51.589Z"
|
||||
},
|
||||
{
|
||||
"rule": "thenify-multiArgs",
|
||||
"path": "node_modules/p-event/index.js",
|
||||
"line": "\t\t\tconst value = options.multiArgs ? args : args[0];",
|
||||
"reasonCategory": "falseMatch|testCode|exampleCode|otherUtilityCode|regexMatchedSafeCode|notExercisedByOurApp|ruleNeeded|usageTrusted",
|
||||
"updated": "2024-12-20T19:43:51.589Z",
|
||||
"reasonDetail": "<optional>"
|
||||
},
|
||||
{
|
||||
"rule": "thenify-multiArgs",
|
||||
"path": "node_modules/p-event/index.js",
|
||||
"line": "\t\tconst value = options.multiArgs ? args : args[0];",
|
||||
"reasonCategory": "otherUtilityCode",
|
||||
"updated": "2024-12-20T19:43:51.589Z"
|
||||
},
|
||||
{
|
||||
"rule": "thenify-multiArgs",
|
||||
"path": "node_modules/p-event/index.js",
|
||||
"line": "\t\terror = options.multiArgs ? args : args[0];",
|
||||
"reasonCategory": "otherUtilityCode",
|
||||
"updated": "2024-12-20T19:46:49.191Z"
|
||||
},
|
||||
{
|
||||
"rule": "thenify-multiArgs",
|
||||
"path": "node_modules/p-event/index.js",
|
||||
"line": "\t\tconst value = options.multiArgs ? args : args[0];",
|
||||
"reasonCategory": "otherUtilityCode",
|
||||
"updated": "2024-12-20T19:46:49.191Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/parse-entities/decode-entity.browser.js",
|
||||
"line": " el.innerHTML = entity",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2020-08-25T16:59:46.588Z",
|
||||
"reasonDetail": "Ephemeral element"
|
||||
},
|
||||
{
|
||||
"rule": "thenify-multiArgs",
|
||||
"path": "node_modules/pify/index.js",
|
||||
@ -1005,18 +401,6 @@
|
||||
"reasonCategory": "testCode",
|
||||
"updated": "2024-06-24T19:19:28.335Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/prettier-fallback/plugins/html.js",
|
||||
"reasonCategory": "notExercisedByOurApp",
|
||||
"updated": "2024-06-25T17:33:38.376Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-outerHTML",
|
||||
"path": "node_modules/prettier-fallback/plugins/html.js",
|
||||
"reasonCategory": "notExercisedByOurApp",
|
||||
"updated": "2024-06-25T17:33:38.376Z"
|
||||
},
|
||||
{
|
||||
"rule": "eval",
|
||||
"path": "node_modules/protobufjs/dist/light/protobuf.js",
|
||||
@ -1078,13 +462,6 @@
|
||||
"updated": "2022-01-04T20:32:10.596Z",
|
||||
"reasonDetail": "Sample code never required by us."
|
||||
},
|
||||
{
|
||||
"rule": "eval",
|
||||
"path": "node_modules/raw-body/node_modules/depd/index.js",
|
||||
"line": " var deprecatedfn = eval('(function (' + args + ') {\\n' +",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2022-12-13T00:55:48.389Z"
|
||||
},
|
||||
{
|
||||
"rule": "DOM-innerHTML",
|
||||
"path": "node_modules/react-blurhash/docs/demo.f335462148ad584661d8.js",
|
||||
@ -1379,130 +756,6 @@
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2024-11-16T00:31:42.167Z"
|
||||
},
|
||||
{
|
||||
"rule": "eval",
|
||||
"path": "node_modules/source-map-support/source-map-support.js",
|
||||
"line": " // Most eval() calls are in this format",
|
||||
"reasonCategory": "falseMatch",
|
||||
"updated": "2020-04-30T22:35:27.860Z"
|
||||
},
|
||||
{
|
||||
"rule": "eval",
|
||||
"path": "node_modules/source-map-support/source-map-support.js",
|
||||
"line": " // Parse nested eval() calls using recursion",
|
||||
"reasonCategory": "falseMatch",
|
||||
"updated": "2020-04-30T22:35:27.860Z"
|
||||
},
|
||||
{
|
||||
"rule": "eval",
|
||||
"path": "node_modules/source-map-support/source-map-support.js",
|
||||
"line": " // passed to eval() ending in \"//# sourceURL=...\" will return the source file",
|
||||
"reasonCategory": "falseMatch",
|
||||
"updated": "2020-04-30T22:35:27.860Z"
|
||||
},
|
||||
{
|
||||
"rule": "eval",
|
||||
"path": "node_modules/source-map-support/source-map-support.js",
|
||||
"line": " // Code called using eval() needs special handling",
|
||||
"reasonCategory": "falseMatch",
|
||||
"updated": "2020-04-30T22:35:27.860Z"
|
||||
},
|
||||
{
|
||||
"rule": "React-useRef",
|
||||
"path": "node_modules/use-composed-ref/dist/use-composed-ref.cjs.js",
|
||||
"line": " var prevUserRef = React.useRef();",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2022-06-16T23:23:32.306Z"
|
||||
},
|
||||
{
|
||||
"rule": "React-useRef",
|
||||
"path": "node_modules/use-composed-ref/dist/use-composed-ref.esm.js",
|
||||
"line": " var prevUserRef = useRef();",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2022-06-16T23:23:32.306Z"
|
||||
},
|
||||
{
|
||||
"rule": "React-useRef",
|
||||
"path": "node_modules/use-latest/dist/use-latest.cjs.dev.js",
|
||||
"line": " var ref = React__namespace.useRef(value);",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2022-06-16T23:23:32.306Z"
|
||||
},
|
||||
{
|
||||
"rule": "React-useRef",
|
||||
"path": "node_modules/use-latest/dist/use-latest.cjs.prod.js",
|
||||
"line": " var ref = React__namespace.useRef(value);",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2022-06-16T23:23:32.306Z"
|
||||
},
|
||||
{
|
||||
"rule": "React-useRef",
|
||||
"path": "node_modules/use-latest/dist/use-latest.esm.js",
|
||||
"line": " var ref = React.useRef(value);",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2022-06-16T23:23:32.306Z"
|
||||
},
|
||||
{
|
||||
"rule": "eval",
|
||||
"path": "node_modules/workerpool/dist/worker.js",
|
||||
"line": "var requireFoolWebpack = eval('typeof require !== \\'undefined\\'' + ' ? require' + ' : function (module) { throw new Error(\\'Module \" + module + \" not found.\\') }');",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2021-09-16T20:26:31.296Z",
|
||||
"reasonDetail": "Dev-only dependency."
|
||||
},
|
||||
{
|
||||
"rule": "eval",
|
||||
"path": "node_modules/workerpool/dist/workerpool.js",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2021-09-16T20:26:31.296Z",
|
||||
"reasonDetail": "Dev-only dependency."
|
||||
},
|
||||
{
|
||||
"rule": "eval",
|
||||
"path": "node_modules/workerpool/dist/workerpool.js",
|
||||
"line": "var requireFoolWebpack = eval('typeof require !== \\'undefined\\' ' + '? require ' + ': function (module) { throw new Error(\\'Module \" + module + \" not found.\\') }');",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2021-09-16T20:26:31.296Z",
|
||||
"reasonDetail": "Dev-only dependency."
|
||||
},
|
||||
{
|
||||
"rule": "eval",
|
||||
"path": "node_modules/workerpool/dist/workerpool.js",
|
||||
"line": "var requireFoolWebpack = eval('typeof require !== \\'undefined\\'' + ' ? require' + ' : function (module) { throw new Error(\\'Module \" + module + \" not found.\\') }');",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2021-09-16T20:26:31.296Z",
|
||||
"reasonDetail": "Dev-only dependency."
|
||||
},
|
||||
{
|
||||
"rule": "eval",
|
||||
"path": "node_modules/workerpool/dist/workerpool.min.js",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2021-09-16T20:26:31.296Z",
|
||||
"reasonDetail": "Dev-only dependency."
|
||||
},
|
||||
{
|
||||
"rule": "eval",
|
||||
"path": "node_modules/workerpool/src/generated/embeddedWorker.js",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2021-09-16T20:26:31.296Z",
|
||||
"reasonDetail": "Dev-only dependency."
|
||||
},
|
||||
{
|
||||
"rule": "eval",
|
||||
"path": "node_modules/workerpool/src/requireFoolWebpack.js",
|
||||
"line": "var requireFoolWebpack = eval(",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2021-09-16T20:26:31.296Z",
|
||||
"reasonDetail": "Dev-only dependency."
|
||||
},
|
||||
{
|
||||
"rule": "eval",
|
||||
"path": "node_modules/workerpool/src/worker.js",
|
||||
"line": "var requireFoolWebpack = eval(",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2021-09-16T20:26:31.296Z",
|
||||
"reasonDetail": "Dev-only dependency."
|
||||
},
|
||||
{
|
||||
"rule": "React-useRef",
|
||||
"path": "ts/calling/useGetCallingFrameBuffer.ts",
|
||||
|
||||
Loading…
Reference in New Issue
Block a user