mirror of https://github.com/ospab/ostp.git
ci: rename nightly to alpha
This commit is contained in:
parent
edb2d8e229
commit
1568db3323
|
|
@ -1,20 +1,20 @@
|
||||||
name: CI/CD
|
name: CI/CD
|
||||||
|
|
||||||
|
|
||||||
# `run-name` is evaluated at workflow-start, BEFORE any job runs — it cannot
|
# `run-name` is evaluated at workflow-start, BEFORE any job runs - it cannot
|
||||||
# see resolve-channel's computed tag_name (e.g. "0.4.3-nightly"), only the
|
# see resolve-channel's computed tag_name (e.g. "0.4.3-alpha"), only the
|
||||||
# `github.*` context. The old "release version ${{ github.ref_name }}" showed
|
# `github.*` context. The old "release version ${{ github.ref_name }}" showed
|
||||||
# the bare branch name ("nightly"/"pre-release") for every run, which reads
|
# the bare branch name ("alpha"/"pre-release") for every run, which reads
|
||||||
# exactly like a literal release tag and caused real confusion — the actual
|
# exactly like a literal release tag and caused real confusion - the actual
|
||||||
# release tag has been correct (versioned) all along; only this label lied
|
# release tag has been correct (versioned) all along; only this label lied
|
||||||
# about it. Spell out "channel" so nobody mistakes one for the other again.
|
# about it. Spell out "channel" so nobody mistakes one for the other again.
|
||||||
# NOTE: this value MUST be quoted. The GHA string literal below contains
|
# NOTE: this value MUST be quoted. The GHA string literal below contains
|
||||||
# "Release build: {0}" — an unquoted YAML plain scalar treats ": " (colon
|
# "Release build: {0}" - an unquoted YAML plain scalar treats ": " (colon
|
||||||
# then space) as starting a nested mapping, which is exactly what broke every
|
# then space) as starting a nested mapping, which is exactly what broke every
|
||||||
# single push since this line was introduced: GitHub rejected the whole
|
# single push since this line was introduced: GitHub rejected the whole
|
||||||
# workflow file at parse time (before any job runs), silently burning an
|
# workflow file at parse time (before any job runs), silently burning an
|
||||||
# Actions-minutes-billed run per push for nothing.
|
# Actions-minutes-billed run per push for nothing.
|
||||||
run-name: "${{ startsWith(github.ref, 'refs/tags/') && (contains(github.ref_name, 'beta') && format('CI/CD: beta version {0}', github.ref_name) || contains(github.ref_name, 'nightly') && format('CI/CD: nightly version {0}', github.ref_name) || format('CI/CD: release version {0}', github.ref_name)) || format('CI/CD: {0} channel build', github.ref_name) }}"
|
run-name: "${{ startsWith(github.ref, 'refs/tags/') && (contains(github.ref_name, 'beta') && format('CI/CD: beta version {0}', github.ref_name) || contains(github.ref_name, 'alpha') && format('CI/CD: alpha version {0}', github.ref_name) || format('CI/CD: release version {0}', github.ref_name)) || format('CI/CD: {0} channel build', github.ref_name) }}"
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
|
|
@ -25,20 +25,20 @@ on:
|
||||||
channel:
|
channel:
|
||||||
description: >-
|
description: >-
|
||||||
Manually build+release just this rolling channel. Stable releases
|
Manually build+release just this rolling channel. Stable releases
|
||||||
are NEVER picked here on purpose — cut those only via a real
|
are NEVER picked here on purpose - cut those only via a real
|
||||||
"vX.Y.Z" tag push, so a manual dispatch can't accidentally publish
|
"vX.Y.Z" tag push, so a manual dispatch can't accidentally publish
|
||||||
a "stable" release.
|
a "stable" release.
|
||||||
type: choice
|
type: choice
|
||||||
required: true
|
required: true
|
||||||
default: nightly
|
default: alpha
|
||||||
options:
|
options:
|
||||||
- nightly
|
- alpha
|
||||||
- beta
|
- beta
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
|
|
||||||
# ── Global defaults ─────────────────────────────────────────────────────────
|
# -- Global defaults ---------------------------------------------------------
|
||||||
env:
|
env:
|
||||||
CARGO_TERM_COLOR: always
|
CARGO_TERM_COLOR: always
|
||||||
CARGO_INCREMENTAL: 0
|
CARGO_INCREMENTAL: 0
|
||||||
|
|
@ -52,9 +52,9 @@ jobs:
|
||||||
#
|
#
|
||||||
# Tag shape:
|
# Tag shape:
|
||||||
# - real "vX.Y.Z" / "vX.Y.Z-beta.N" tag push -> tag used as-is (stable promotion)
|
# - real "vX.Y.Z" / "vX.Y.Z-beta.N" tag push -> tag used as-is (stable promotion)
|
||||||
# - push to `nightly` -> "{version}-nightly" (rolling, same tag every push)
|
# - push to `alpha` -> "{version}-alpha" (rolling, same tag every push)
|
||||||
# - push to `pre-release` -> "{version}-beta" (rolling, same tag every push)
|
# - push to `pre-release` -> "{version}-beta" (rolling, same tag every push)
|
||||||
# - workflow_dispatch -> forced by the `channel` input (nightly|beta only)
|
# - workflow_dispatch -> forced by the `channel` input (alpha|beta only)
|
||||||
resolve-channel:
|
resolve-channel:
|
||||||
name: Resolve release channel
|
name: Resolve release channel
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
@ -77,12 +77,12 @@ jobs:
|
||||||
TAG="${{ github.ref_name }}"
|
TAG="${{ github.ref_name }}"
|
||||||
elif [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
|
elif [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
|
||||||
CHANNEL="${{ github.event.inputs.channel }}"
|
CHANNEL="${{ github.event.inputs.channel }}"
|
||||||
elif [ "${{ github.ref_name }}" = "nightly" ]; then
|
elif [ "${{ github.ref_name }}" = "alpha" ]; then
|
||||||
CHANNEL="nightly"
|
CHANNEL="alpha"
|
||||||
elif [ "${{ github.ref_name }}" = "pre-release" ]; then
|
elif [ "${{ github.ref_name }}" = "pre-release" ]; then
|
||||||
CHANNEL="beta"
|
CHANNEL="beta"
|
||||||
else
|
else
|
||||||
CHANNEL="nightly"
|
CHANNEL="alpha"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$CHANNEL" != "stable" ]; then
|
if [ "$CHANNEL" != "stable" ]; then
|
||||||
|
|
@ -137,7 +137,7 @@ jobs:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
# ── Windows ──────────────────────────────────────────────────────
|
# -- Windows ------------------------------------------------------
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
target: x86_64-pc-windows-msvc
|
target: x86_64-pc-windows-msvc
|
||||||
artifact_name: ostp.exe
|
artifact_name: ostp.exe
|
||||||
|
|
@ -156,7 +156,7 @@ jobs:
|
||||||
release_name: ostp-windows-arm64.zip
|
release_name: ostp-windows-arm64.zip
|
||||||
wintun_arch: arm64
|
wintun_arch: arm64
|
||||||
|
|
||||||
# ── macOS ─────────────────────────────────────────────────────────
|
# -- macOS ---------------------------------------------------------
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
target: x86_64-apple-darwin
|
target: x86_64-apple-darwin
|
||||||
artifact_name: ostp
|
artifact_name: ostp
|
||||||
|
|
@ -167,7 +167,7 @@ jobs:
|
||||||
artifact_name: ostp
|
artifact_name: ostp
|
||||||
release_name: ostp-darwin-arm64.tar.gz
|
release_name: ostp-darwin-arm64.tar.gz
|
||||||
|
|
||||||
# ── Linux native ──────────────────────────────────────────────────
|
# -- Linux native --------------------------------------------------
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
target: x86_64-unknown-linux-musl
|
target: x86_64-unknown-linux-musl
|
||||||
artifact_name: ostp
|
artifact_name: ostp
|
||||||
|
|
@ -179,7 +179,7 @@ jobs:
|
||||||
release_name: ostp-linux-386.tar.gz
|
release_name: ostp-linux-386.tar.gz
|
||||||
use_cross: true
|
use_cross: true
|
||||||
|
|
||||||
# ── Linux cross ───────────────────────────────────────────────────
|
# -- Linux cross ---------------------------------------------------
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
target: aarch64-unknown-linux-musl
|
target: aarch64-unknown-linux-musl
|
||||||
artifact_name: ostp
|
artifact_name: ostp
|
||||||
|
|
@ -203,7 +203,7 @@ jobs:
|
||||||
artifact_name: ostp
|
artifact_name: ostp
|
||||||
release_name: ostp-linux-mipsle.tar.gz
|
release_name: ostp-linux-mipsle.tar.gz
|
||||||
use_cross: true
|
use_cross: true
|
||||||
toolchain: nightly
|
toolchain: alpha
|
||||||
|
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
target: riscv64gc-unknown-linux-gnu
|
target: riscv64gc-unknown-linux-gnu
|
||||||
|
|
@ -217,7 +217,7 @@ jobs:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
# ── Frontend Build ─────────────────────────────────────────────────────
|
# -- Frontend Build -----------------------------------------------------
|
||||||
- name: Setup Node.js
|
- name: Setup Node.js
|
||||||
uses: actions/setup-node@v4
|
uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
|
|
@ -230,18 +230,18 @@ jobs:
|
||||||
if [ -f package.json ]; then
|
if [ -f package.json ]; then
|
||||||
npm install && npm run build
|
npm install && npm run build
|
||||||
else
|
else
|
||||||
echo "ostp-control has no package.json — using committed dist/"
|
echo "ostp-control has no package.json - using committed dist/"
|
||||||
[ -f dist/index.html ] || echo '<!doctype html><title>OSTP</title>' > dist/index.html
|
[ -f dist/index.html ] || echo '<!doctype html><title>OSTP</title>' > dist/index.html
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ── Rust toolchain ─────────────────────────────────────────────────────
|
# -- Rust toolchain -----------------------------------------------------
|
||||||
- name: Setup Rust toolchain
|
- name: Setup Rust toolchain
|
||||||
uses: dtolnay/rust-toolchain@stable
|
uses: dtolnay/rust-toolchain@stable
|
||||||
with:
|
with:
|
||||||
toolchain: ${{ matrix.toolchain || 'stable' }}
|
toolchain: ${{ matrix.toolchain || 'stable' }}
|
||||||
targets: ${{ !matrix.use_cross && matrix.target || '' }}
|
targets: ${{ !matrix.use_cross && matrix.target || '' }}
|
||||||
|
|
||||||
# ── Cargo cache (shared per target) ───────────────────────────────────
|
# -- Cargo cache (shared per target) -----------------------------------
|
||||||
- name: Restore Cargo cache
|
- name: Restore Cargo cache
|
||||||
uses: actions/cache@v4
|
uses: actions/cache@v4
|
||||||
with:
|
with:
|
||||||
|
|
@ -254,18 +254,18 @@ jobs:
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
cargo-${{ matrix.target }}-
|
cargo-${{ matrix.target }}-
|
||||||
|
|
||||||
# ── MUSL tools for native Linux musl builds ────────────────────────────
|
# -- MUSL tools for native Linux musl builds ----------------------------
|
||||||
- name: Install musl-tools
|
- name: Install musl-tools
|
||||||
if: ${{ matrix.os == 'ubuntu-latest' && !matrix.use_cross }}
|
if: ${{ matrix.os == 'ubuntu-latest' && !matrix.use_cross }}
|
||||||
run: sudo apt-get update && sudo apt-get install -y musl-tools
|
run: sudo apt-get update && sudo apt-get install -y musl-tools
|
||||||
|
|
||||||
# ── Native build ───────────────────────────────────────────────────────
|
# -- Native build -------------------------------------------------------
|
||||||
- name: Build (native)
|
- name: Build (native)
|
||||||
if: ${{ !matrix.use_cross }}
|
if: ${{ !matrix.use_cross }}
|
||||||
shell: bash
|
shell: bash
|
||||||
run: cargo build --release --target ${{ matrix.target }} --bin ostp
|
run: cargo build --release --target ${{ matrix.target }} --bin ostp
|
||||||
|
|
||||||
# ── Cross build ────────────────────────────────────────────────────────
|
# -- Cross build --------------------------------------------------------
|
||||||
- name: Restore cross binary cache
|
- name: Restore cross binary cache
|
||||||
if: ${{ matrix.use_cross }}
|
if: ${{ matrix.use_cross }}
|
||||||
id: cross-cache
|
id: cross-cache
|
||||||
|
|
@ -282,7 +282,7 @@ jobs:
|
||||||
if: ${{ matrix.use_cross }}
|
if: ${{ matrix.use_cross }}
|
||||||
run: cross build --release --target ${{ matrix.target }} --bin ostp
|
run: cross build --release --target ${{ matrix.target }} --bin ostp
|
||||||
|
|
||||||
# ── Driver dependencies ────────────────────────────────────────────────
|
# -- Driver dependencies ------------------------------------------------
|
||||||
- name: Download wintun (Windows)
|
- name: Download wintun (Windows)
|
||||||
if: ${{ matrix.os == 'windows-latest' }}
|
if: ${{ matrix.os == 'windows-latest' }}
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
|
|
@ -294,7 +294,7 @@ jobs:
|
||||||
Get-ChildItem "$dir/wt_tmp" -Filter "wintun.dll" -Recurse | Where-Object { $_.FullName -match 'bin[\\/]${{ matrix.wintun_arch }}[\\/]' } | Copy-Item -Destination "$dir/"
|
Get-ChildItem "$dir/wt_tmp" -Filter "wintun.dll" -Recurse | Where-Object { $_.FullName -match 'bin[\\/]${{ matrix.wintun_arch }}[\\/]' } | Copy-Item -Destination "$dir/"
|
||||||
Remove-Item "$dir/wt.zip","$dir/wt_tmp" -Recurse -Force
|
Remove-Item "$dir/wt.zip","$dir/wt_tmp" -Recurse -Force
|
||||||
|
|
||||||
# ── Package ────────────────────────────────────────────────────────────
|
# -- Package ------------------------------------------------------------
|
||||||
- name: Package (Windows)
|
- name: Package (Windows)
|
||||||
if: ${{ matrix.os == 'windows-latest' }}
|
if: ${{ matrix.os == 'windows-latest' }}
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
|
|
@ -313,12 +313,12 @@ jobs:
|
||||||
FILES="${{ matrix.artifact_name }}"
|
FILES="${{ matrix.artifact_name }}"
|
||||||
tar -czf "${{ matrix.release_name }}" -C "$dir" $FILES
|
tar -czf "${{ matrix.release_name }}" -C "$dir" $FILES
|
||||||
|
|
||||||
# ── Upload ─────────────────────────────────────────────────────────────
|
# -- Upload -------------------------------------------------------------
|
||||||
- name: Upload to GitHub Release
|
- name: Upload to GitHub Release
|
||||||
uses: softprops/action-gh-release@v2
|
uses: softprops/action-gh-release@v2
|
||||||
with:
|
with:
|
||||||
# Computed once in resolve-channel so every platform/job in this run
|
# Computed once in resolve-channel so every platform/job in this run
|
||||||
# lands on the exact same tag: "{version}-nightly" / "{version}-beta"
|
# lands on the exact same tag: "{version}-alpha" / "{version}-beta"
|
||||||
# for rolling channel pushes, or the pushed "vX.Y.Z" tag as-is for a
|
# for rolling channel pushes, or the pushed "vX.Y.Z" tag as-is for a
|
||||||
# real stable release.
|
# real stable release.
|
||||||
tag_name: ${{ needs.resolve-channel.outputs.tag_name }}
|
tag_name: ${{ needs.resolve-channel.outputs.tag_name }}
|
||||||
|
|
@ -397,7 +397,7 @@ jobs:
|
||||||
uses: softprops/action-gh-release@v2
|
uses: softprops/action-gh-release@v2
|
||||||
with:
|
with:
|
||||||
# Computed once in resolve-channel so every platform/job in this run
|
# Computed once in resolve-channel so every platform/job in this run
|
||||||
# lands on the exact same tag: "{version}-nightly" / "{version}-beta"
|
# lands on the exact same tag: "{version}-alpha" / "{version}-beta"
|
||||||
# for rolling channel pushes, or the pushed "vX.Y.Z" tag as-is for a
|
# for rolling channel pushes, or the pushed "vX.Y.Z" tag as-is for a
|
||||||
# real stable release.
|
# real stable release.
|
||||||
tag_name: ${{ needs.resolve-channel.outputs.tag_name }}
|
tag_name: ${{ needs.resolve-channel.outputs.tag_name }}
|
||||||
|
|
@ -462,7 +462,7 @@ jobs:
|
||||||
uses: softprops/action-gh-release@v2
|
uses: softprops/action-gh-release@v2
|
||||||
with:
|
with:
|
||||||
# Computed once in resolve-channel so every platform/job in this run
|
# Computed once in resolve-channel so every platform/job in this run
|
||||||
# lands on the exact same tag: "{version}-nightly" / "{version}-beta"
|
# lands on the exact same tag: "{version}-alpha" / "{version}-beta"
|
||||||
# for rolling channel pushes, or the pushed "vX.Y.Z" tag as-is for a
|
# for rolling channel pushes, or the pushed "vX.Y.Z" tag as-is for a
|
||||||
# real stable release.
|
# real stable release.
|
||||||
tag_name: ${{ needs.resolve-channel.outputs.tag_name }}
|
tag_name: ${{ needs.resolve-channel.outputs.tag_name }}
|
||||||
|
|
@ -524,7 +524,7 @@ jobs:
|
||||||
uses: softprops/action-gh-release@v2
|
uses: softprops/action-gh-release@v2
|
||||||
with:
|
with:
|
||||||
# Computed once in resolve-channel so every platform/job in this run
|
# Computed once in resolve-channel so every platform/job in this run
|
||||||
# lands on the exact same tag: "{version}-nightly" / "{version}-beta"
|
# lands on the exact same tag: "{version}-alpha" / "{version}-beta"
|
||||||
# for rolling channel pushes, or the pushed "vX.Y.Z" tag as-is for a
|
# for rolling channel pushes, or the pushed "vX.Y.Z" tag as-is for a
|
||||||
# real stable release.
|
# real stable release.
|
||||||
tag_name: ${{ needs.resolve-channel.outputs.tag_name }}
|
tag_name: ${{ needs.resolve-channel.outputs.tag_name }}
|
||||||
|
|
@ -597,7 +597,7 @@ jobs:
|
||||||
uses: softprops/action-gh-release@v2
|
uses: softprops/action-gh-release@v2
|
||||||
with:
|
with:
|
||||||
# Computed once in resolve-channel so every platform/job in this run
|
# Computed once in resolve-channel so every platform/job in this run
|
||||||
# lands on the exact same tag: "{version}-nightly" / "{version}-beta"
|
# lands on the exact same tag: "{version}-alpha" / "{version}-beta"
|
||||||
# for rolling channel pushes, or the pushed "vX.Y.Z" tag as-is for a
|
# for rolling channel pushes, or the pushed "vX.Y.Z" tag as-is for a
|
||||||
# real stable release.
|
# real stable release.
|
||||||
tag_name: ${{ needs.resolve-channel.outputs.tag_name }}
|
tag_name: ${{ needs.resolve-channel.outputs.tag_name }}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"version": "0.4.4",
|
"version": "0.4.4",
|
||||||
"branch": "nightly",
|
"branch": "alpha",
|
||||||
"prefix": "nightly"
|
"prefix": "alpha"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@ To build and test OSTP locally, you will need:
|
||||||
cargo build
|
cargo build
|
||||||
```
|
```
|
||||||
`ostp-control` (the web panel) is only needed if you're working on it
|
`ostp-control` (the web panel) is only needed if you're working on it
|
||||||
specifically — the server build embeds a dummy `dist/` via `rust-embed`
|
specifically - the server build embeds a dummy `dist/` via `rust-embed`
|
||||||
otherwise, so this step is not required for day-to-day core/client/server
|
otherwise, so this step is not required for day-to-day core/client/server
|
||||||
work. If you *are* touching the panel:
|
work. If you *are* touching the panel:
|
||||||
```bash
|
```bash
|
||||||
|
|
@ -73,22 +73,22 @@ The repository runs three long-lived branches, in increasing order of stability:
|
||||||
|
|
||||||
| Branch | Role |
|
| Branch | Role |
|
||||||
|---|---|
|
|---|---|
|
||||||
| `nightly` | Active development. All feature work and fixes land here first. |
|
| `alpha` | Active development. All feature work and fixes land here first. |
|
||||||
| `pre-release` | Periodically fast-forwarded from `nightly` once it's had some soak time. Ships as the `{version}-beta` release channel. |
|
| `pre-release` | Periodically fast-forwarded from `alpha` once it's had some soak time. Ships as the `{version}-beta` release channel. |
|
||||||
| `master` | Fast-forwarded from `pre-release` when it's proven stable. Real, tagged releases (`vX.Y.Z`) are cut from here. |
|
| `master` | Fast-forwarded from `pre-release` when it's proven stable. Real, tagged releases (`vX.Y.Z`) are cut from here. |
|
||||||
|
|
||||||
`pre-release` and `master` are **never** committed to directly — they only ever move forward by fast-forwarding from the branch below them. This means promotion is always a plain `git merge` with zero conflicts by construction: don't `git merge`/rebase feature work directly onto `pre-release` or `master`.
|
`pre-release` and `master` are **never** committed to directly - they only ever move forward by fast-forwarding from the branch below them. This means promotion is always a plain `git merge` with zero conflicts by construction: don't `git merge`/rebase feature work directly onto `pre-release` or `master`.
|
||||||
|
|
||||||
**Contributor PRs target `nightly`**, not `master`.
|
**Contributor PRs target `alpha`**, not `master`.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Development Workflow
|
## Development Workflow
|
||||||
|
|
||||||
1. **Check for existing issues** or open a new one to discuss proposed changes before starting work.
|
1. **Check for existing issues** or open a new one to discuss proposed changes before starting work.
|
||||||
2. **Fork the repository** and create a new branch from `nightly`:
|
2. **Fork the repository** and create a new branch from `alpha`:
|
||||||
```bash
|
```bash
|
||||||
git checkout nightly
|
git checkout alpha
|
||||||
git checkout -b feat/your-feature-name
|
git checkout -b feat/your-feature-name
|
||||||
```
|
```
|
||||||
3. **Implement your changes**, ensuring you write appropriate unit or integration tests.
|
3. **Implement your changes**, ensuring you write appropriate unit or integration tests.
|
||||||
|
|
@ -112,13 +112,13 @@ The repository runs three long-lived branches, in increasing order of stability:
|
||||||
```
|
```
|
||||||
<type>(<scope>): <short, imperative summary>
|
<type>(<scope>): <short, imperative summary>
|
||||||
|
|
||||||
<optional body — explain WHY, not what; the diff already shows what changed>
|
<optional body - explain WHY, not what; the diff already shows what changed>
|
||||||
```
|
```
|
||||||
|
|
||||||
- **Type** — one of: `feat` (new capability), `fix` (bug fix), `docs`, `refactor` (no behavior change), `perf`, `test`, `chore` (deps/tooling/version bumps), `ci`, `security`.
|
- **Type** - one of: `feat` (new capability), `fix` (bug fix), `docs`, `refactor` (no behavior change), `perf`, `test`, `chore` (deps/tooling/version bumps), `ci`, `security`.
|
||||||
- **Scope** (optional) — the crate or area touched: `client`, `server`, `core`, `gui`, `flutter`, `ci`, `docs`, etc. e.g. `fix(client): ...`.
|
- **Scope** (optional) - the crate or area touched: `client`, `server`, `core`, `gui`, `flutter`, `ci`, `docs`, etc. e.g. `fix(client): ...`.
|
||||||
- **Summary** — imperative mood ("add", not "added"/"adds"), no trailing period, ideally under ~70 characters.
|
- **Summary** - imperative mood ("add", not "added"/"adds"), no trailing period, ideally under ~70 characters.
|
||||||
- **Body** — only when the *why* isn't obvious from the diff: a prior bug this fixes, a constraint that shaped the approach, a tradeoff you made. Don't restate what the diff already shows. Wrap at ~72 columns.
|
- **Body** - only when the *why* isn't obvious from the diff: a prior bug this fixes, a constraint that shaped the approach, a tradeoff you made. Don't restate what the diff already shows. Wrap at ~72 columns.
|
||||||
|
|
||||||
```
|
```
|
||||||
fix(server): drop junk frames by per-key marker instead of a global one
|
fix(server): drop junk frames by per-key marker instead of a global one
|
||||||
|
|
@ -129,7 +129,7 @@ from the access key (HKDF, same scheme as obfuscation_key/psk) so it's
|
||||||
per-user and indistinguishable from the packet's own random payload.
|
per-user and indistinguishable from the packet's own random payload.
|
||||||
```
|
```
|
||||||
|
|
||||||
Multiple unrelated changes belong in separate commits, not one bundled commit — it keeps `git bisect` and review useful. Squash-merge is fine for a PR with a few "fix typo" / "address review" commits, but don't squash logically distinct changes together.
|
Multiple unrelated changes belong in separate commits, not one bundled commit - it keeps `git bisect` and review useful. Squash-merge is fine for a PR with a few "fix typo" / "address review" commits, but don't squash logically distinct changes together.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -148,7 +148,7 @@ Multiple unrelated changes belong in separate commits, not one bundled commit
|
||||||
```bash
|
```bash
|
||||||
git push origin feat/your-feature-name
|
git push origin feat/your-feature-name
|
||||||
```
|
```
|
||||||
2. Open a Pull Request (PR) targeting the `nightly` branch (see [Branch Strategy](#branch-strategy) — `master` only receives fast-forwards from `pre-release`, never direct PRs).
|
2. Open a Pull Request (PR) targeting the `alpha` branch (see [Branch Strategy](#branch-strategy) - `master` only receives fast-forwards from `pre-release`, never direct PRs).
|
||||||
3. In your PR description, explain the rationale behind your changes, what was fixed/added, and how it was tested.
|
3. In your PR description, explain the rationale behind your changes, what was fixed/added, and how it was tested.
|
||||||
4. Verify that GitHub Actions CI runs successfully on your PR.
|
4. Verify that GitHub Actions CI runs successfully on your PR.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@
|
||||||
cargo build
|
cargo build
|
||||||
```
|
```
|
||||||
`ostp-control` (веб-панель) нужна только если вы работаете конкретно над
|
`ostp-control` (веб-панель) нужна только если вы работаете конкретно над
|
||||||
ней — в остальных случаях сервер собирается с пустым `dist/` через
|
ней - в остальных случаях сервер собирается с пустым `dist/` через
|
||||||
`rust-embed`, и этот шаг не нужен для повседневной работы над
|
`rust-embed`, и этот шаг не нужен для повседневной работы над
|
||||||
core/client/server. Если вы всё же трогаете панель:
|
core/client/server. Если вы всё же трогаете панель:
|
||||||
```bash
|
```bash
|
||||||
|
|
@ -73,22 +73,22 @@
|
||||||
|
|
||||||
| Ветка | Роль |
|
| Ветка | Роль |
|
||||||
|---|---|
|
|---|---|
|
||||||
| `nightly` | Активная разработка. Вся новая работа и фиксы попадают сюда первыми. |
|
| `alpha` | Активная разработка. Вся новая работа и фиксы попадают сюда первыми. |
|
||||||
| `pre-release` | Периодически перематывается вперёд (fast-forward) от `nightly`, когда та немного «отлежалась». Собирается в канал релиза `{версия}-beta`. |
|
| `pre-release` | Периодически перематывается вперёд (fast-forward) от `alpha`, когда та немного «отлежалась». Собирается в канал релиза `{версия}-beta`. |
|
||||||
| `master` | Перематывается вперёд от `pre-release`, когда та доказала стабильность. Настоящие тегированные релизы (`vX.Y.Z`) режутся отсюда. |
|
| `master` | Перематывается вперёд от `pre-release`, когда та доказала стабильность. Настоящие тегированные релизы (`vX.Y.Z`) режутся отсюда. |
|
||||||
|
|
||||||
В `pre-release` и `master` **никогда** не коммитят напрямую — они только перематываются вперёд от ветки уровнем ниже. Это значит, что промоушен — всегда обычный `git merge` без единого конфликта по построению: не мержите/не ребейзьте свою фичу прямо в `pre-release` или `master`.
|
В `pre-release` и `master` **никогда** не коммитят напрямую - они только перематываются вперёд от ветки уровнем ниже. Это значит, что промоушен - всегда обычный `git merge` без единого конфликта по построению: не мержите/не ребейзьте свою фичу прямо в `pre-release` или `master`.
|
||||||
|
|
||||||
**PR от контрибьюторов нацелены на `nightly`**, не на `master`.
|
**PR от контрибьюторов нацелены на `alpha`**, не на `master`.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Процесс разработки
|
## Процесс разработки
|
||||||
|
|
||||||
1. **Проверьте существующие задачи** или откройте новую тему (Issue) для обсуждения предлагаемых изменений.
|
1. **Проверьте существующие задачи** или откройте новую тему (Issue) для обсуждения предлагаемых изменений.
|
||||||
2. **Сделайте fork репозитория** и создайте новую ветку от `nightly`:
|
2. **Сделайте fork репозитория** и создайте новую ветку от `alpha`:
|
||||||
```bash
|
```bash
|
||||||
git checkout nightly
|
git checkout alpha
|
||||||
git checkout -b feat/имя-вашей-фичи
|
git checkout -b feat/имя-вашей-фичи
|
||||||
```
|
```
|
||||||
3. **Внесите необходимые изменения** и добавьте соответствующие модульные или интеграционные тесты.
|
3. **Внесите необходимые изменения** и добавьте соответствующие модульные или интеграционные тесты.
|
||||||
|
|
@ -112,25 +112,25 @@
|
||||||
```
|
```
|
||||||
<тип>(<область>): <краткое описание в повелительном наклонении>
|
<тип>(<область>): <краткое описание в повелительном наклонении>
|
||||||
|
|
||||||
<опционально: тело — объясняет ПОЧЕМУ, а не что; диф и так показывает что изменилось>
|
<опционально: тело - объясняет ПОЧЕМУ, а не что; диф и так показывает что изменилось>
|
||||||
```
|
```
|
||||||
|
|
||||||
- **Тип** — один из: `feat` (новая функциональность), `fix` (исправление бага), `docs`, `refactor` (без изменения поведения), `perf`, `test`, `chore` (зависимости/тулинг/версии), `ci`, `security`.
|
- **Тип** - один из: `feat` (новая функциональность), `fix` (исправление бага), `docs`, `refactor` (без изменения поведения), `perf`, `test`, `chore` (зависимости/тулинг/версии), `ci`, `security`.
|
||||||
- **Область** (опционально) — крейт или часть проекта: `client`, `server`, `core`, `gui`, `flutter`, `ci`, `docs` и т.д., например `fix(client): ...`.
|
- **Область** (опционально) - крейт или часть проекта: `client`, `server`, `core`, `gui`, `flutter`, `ci`, `docs` и т.д., например `fix(client): ...`.
|
||||||
- **Краткое описание** — повелительное наклонение ("добавь", а не "добавил"/"добавляет"), без точки в конце, желательно до ~70 символов.
|
- **Краткое описание** - повелительное наклонение ("добавь", а не "добавил"/"добавляет"), без точки в конце, желательно до ~70 символов.
|
||||||
- **Тело** — только когда причина не очевидна из дифа: какой баг это чинит, какое ограничение определило подход, на какой trade-off вы пошли. Не пересказывайте то, что и так видно в дифе. Перенос строк на ~72 символах.
|
- **Тело** - только когда причина не очевидна из дифа: какой баг это чинит, какое ограничение определило подход, на какой trade-off вы пошли. Не пересказывайте то, что и так видно в дифе. Перенос строк на ~72 символах.
|
||||||
|
|
||||||
```
|
```
|
||||||
fix(server): отбрасывать junk-фреймы по маркеру для каждого ключа, а не глобальному
|
fix(server): отбрасывать junk-фреймы по маркеру для каждого ключа, а не глобальному
|
||||||
|
|
||||||
Фиксированный 4-байтовый маркер на каждом junk-пакете сам по себе — сигнатура
|
Фиксированный 4-байтовый маркер на каждом junk-пакете сам по себе - сигнатура
|
||||||
DPI, по которой можно фильтровать любого наблюдателя во всех деплойментах OSTP
|
DPI, по которой можно фильтровать любого наблюдателя во всех деплойментах OSTP
|
||||||
сразу. Выводим маркер из access_key (HKDF, та же схема что у
|
сразу. Выводим маркер из access_key (HKDF, та же схема что у
|
||||||
obfuscation_key/psk), чтобы он был индивидуальным для ключа и неотличимым от
|
obfuscation_key/psk), чтобы он был индивидуальным для ключа и неотличимым от
|
||||||
случайной полезной нагрузки пакета.
|
случайной полезной нагрузки пакета.
|
||||||
```
|
```
|
||||||
|
|
||||||
Несколько несвязанных изменений — это несколько отдельных коммитов, а не один сборный. Это сохраняет пользу от `git bisect` и код-ревью. Squash-merge подходит для PR с парой коммитов вроде "fix typo" / "address review", но не сквошьте вместе логически разные изменения.
|
Несколько несвязанных изменений - это несколько отдельных коммитов, а не один сборный. Это сохраняет пользу от `git bisect` и код-ревью. Squash-merge подходит для PR с парой коммитов вроде "fix typo" / "address review", но не сквошьте вместе логически разные изменения.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -149,7 +149,7 @@ obfuscation_key/psk), чтобы он был индивидуальным для
|
||||||
```bash
|
```bash
|
||||||
git push origin feat/имя-вашей-фичи
|
git push origin feat/имя-вашей-фичи
|
||||||
```
|
```
|
||||||
2. Создайте Pull Request (PR) в ветку `nightly` основного репозитория (см. [Стратегия веток](#стратегия-веток) — `master` получает только fast-forward от `pre-release`, PR туда не принимаются напрямую).
|
2. Создайте Pull Request (PR) в ветку `alpha` основного репозитория (см. [Стратегия веток](#стратегия-веток) - `master` получает только fast-forward от `pre-release`, PR туда не принимаются напрямую).
|
||||||
3. Подробно опишите внесенные изменения: какая проблема решается, как проводилось тестирование и на каких платформах проверялась сборка.
|
3. Подробно опишите внесенные изменения: какая проблема решается, как проводилось тестирование и на каких платформах проверялась сборка.
|
||||||
4. Убедитесь, что автоматическое тестирование (GitHub Actions CI) завершилось успешно.
|
4. Убедитесь, что автоматическое тестирование (GitHub Actions CI) завершилось успешно.
|
||||||
|
|
||||||
|
|
|
||||||
20
README.md
20
README.md
|
|
@ -1,4 +1,4 @@
|
||||||
# OSTP — Ospab Stealth Transport Protocol
|
# OSTP - Ospab Stealth Transport Protocol
|
||||||
|
|
||||||
[Русский язык](README.ru.md) · [Wiki](https://github.com/ospab/ostp/wiki) · [Contributing](CONTRIBUTING.md) · [Releases](https://github.com/ospab/ostp/releases)
|
[Русский язык](README.ru.md) · [Wiki](https://github.com/ospab/ostp/wiki) · [Contributing](CONTRIBUTING.md) · [Releases](https://github.com/ospab/ostp/releases)
|
||||||
|
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
|
|
||||||
> A fast, custom encrypted transport protocol written in Rust.
|
> A fast, custom encrypted transport protocol written in Rust.
|
||||||
|
|
||||||
**OSTP** (Ospab Stealth Transport Protocol) is a high-performance transport protocol. It implements a custom ARQ transport over UDP, as well as a UoT (UDP-over-TCP) mode. Every byte on the wire — including packet headers — is cryptographically indistinguishable from random noise, making it highly resistant to Deep Packet Inspection (DPI).
|
**OSTP** (Ospab Stealth Transport Protocol) is a high-performance transport protocol. It implements a custom ARQ transport over UDP, as well as a UoT (UDP-over-TCP) mode. Every byte on the wire - including packet headers - is cryptographically indistinguishable from random noise, making it highly resistant to Deep Packet Inspection (DPI).
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -35,13 +35,13 @@ Download pre-built binaries for your platform from [GitHub Releases](https://git
|
||||||
|
|
||||||
| Feature | Description |
|
| Feature | Description |
|
||||||
|---------|-------------|
|
|---------|-------------|
|
||||||
| **Full Traffic Obfuscation** | Every packet — including headers — is indistinguishable from random noise. Session IDs and nonces are masked with per-packet HMAC-derived keys. |
|
| **Full Traffic Obfuscation** | Every packet - including headers - is indistinguishable from random noise. Session IDs and nonces are masked with per-packet HMAC-derived keys. |
|
||||||
| **Noise Protocol Handshake** | `Noise_NNpsk0_25519_ChaChaPoly_BLAKE2s` — PSK-authenticated, forward-secret key exchange with no static identity exposure. |
|
| **Noise Protocol Handshake** | `Noise_NNpsk0_25519_ChaChaPoly_BLAKE2s` - PSK-authenticated, forward-secret key exchange with no static identity exposure. |
|
||||||
| **Reliable UDP (ARQ)** | Selective ACK/NACK with rate-limited retransmission, configurable reorder buffer, and exponential backoff. |
|
| **Reliable UDP (ARQ)** | Selective ACK/NACK with rate-limited retransmission, configurable reorder buffer, and exponential backoff. |
|
||||||
| **Multiplexed Streams** | Multiple logical TCP streams over a single encrypted UDP session with per-stream flow control. |
|
| **Multiplexed Streams** | Multiple logical TCP streams over a single encrypted UDP session with per-stream flow control. |
|
||||||
| **Seamless Roaming** | Clients can switch networks (WiFi ↔ LTE) without session interruption — tracked by session-ID, not IP. |
|
| **Seamless Roaming** | Clients can switch networks (WiFi ↔ LTE) without session interruption - tracked by session-ID, not IP. |
|
||||||
| **Management API** | Built-in REST API for third-party panels (3x-ui, custom dashboards). Per-user stats, traffic limits, key CRUD. |
|
| **Management API** | Built-in REST API for third-party panels (3x-ui, custom dashboards). Per-user stats, traffic limits, key CRUD. |
|
||||||
| **Fallback Server** | TCP fallback proxy to a web server — makes OSTP indistinguishable from nginx during active probing. |
|
| **Fallback Server** | TCP fallback proxy to a web server - makes OSTP indistinguishable from nginx during active probing. |
|
||||||
| **Multi-Listener** | Bind to multiple addresses simultaneously (dual-stack IPv4/IPv6, multi-port). |
|
| **Multi-Listener** | Bind to multiple addresses simultaneously (dual-stack IPv4/IPv6, multi-port). |
|
||||||
| **TUN Mode** | Full-system VPN via native `smoltcp` network stack without external dependencies. All traffic transparently routed through the tunnel. |
|
| **TUN Mode** | Full-system VPN via native `smoltcp` network stack without external dependencies. All traffic transparently routed through the tunnel. |
|
||||||
| **xHTTP Stealth (UoT)** | UDP-over-TCP tunnel that completely hides traffic. Since all data is fully encrypted and length-prefixed, it bypasses DPI filters that block unknown UDP traffic by riding over a plain TCP connection. |
|
| **xHTTP Stealth (UoT)** | UDP-over-TCP tunnel that completely hides traffic. Since all data is fully encrypted and length-prefixed, it bypasses DPI filters that block unknown UDP traffic by riding over a plain TCP connection. |
|
||||||
|
|
@ -103,7 +103,7 @@ graph TD
|
||||||
|
|
||||||
### 2. Edit config
|
### 2. Edit config
|
||||||
|
|
||||||
**Server** — set your access keys:
|
**Server** - set your access keys:
|
||||||
```jsonc
|
```jsonc
|
||||||
{
|
{
|
||||||
"mode": "server",
|
"mode": "server",
|
||||||
|
|
@ -114,7 +114,7 @@ graph TD
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
**Client** — point to your server:
|
**Client** - point to your server:
|
||||||
```jsonc
|
```jsonc
|
||||||
{
|
{
|
||||||
"mode": "client",
|
"mode": "client",
|
||||||
|
|
@ -185,7 +185,7 @@ Commands:
|
||||||
links Print client share links from the server config
|
links Print client share links from the server config
|
||||||
import <URL> Import a share link into the config file
|
import <URL> Import a share link into the config file
|
||||||
update Update OSTP to the latest release
|
update Update OSTP to the latest release
|
||||||
-b, --branch <NAME> Release channel: stable, pre-release, nightly (default: stable)
|
-b, --branch <NAME> Release channel: stable, pre-release, alpha (default: stable)
|
||||||
-v, --version <VER> Update to an exact version instead of the channel's latest
|
-v, --version <VER> Update to an exact version instead of the channel's latest
|
||||||
migrate Force-migrate the configuration file to the current format
|
migrate Force-migrate the configuration file to the current format
|
||||||
prober Run the DNS-transport resolver prober
|
prober Run the DNS-transport resolver prober
|
||||||
|
|
@ -231,7 +231,7 @@ cargo test -p ostp-core -p ostp-server
|
||||||
|
|
||||||
## Documentation
|
## Documentation
|
||||||
|
|
||||||
- **[Wiki](https://github.com/ospab/ostp/wiki)** — Full documentation
|
- **[Wiki](https://github.com/ospab/ostp/wiki)** - Full documentation
|
||||||
- [Installation](https://github.com/ospab/ostp/wiki/Installation)
|
- [Installation](https://github.com/ospab/ostp/wiki/Installation)
|
||||||
- [Configuration Reference](https://github.com/ospab/ostp/wiki/Configuration)
|
- [Configuration Reference](https://github.com/ospab/ostp/wiki/Configuration)
|
||||||
- [Management API](https://github.com/ospab/ostp/wiki/Management-API)
|
- [Management API](https://github.com/ospab/ostp/wiki/Management-API)
|
||||||
|
|
|
||||||
12
README.ru.md
12
README.ru.md
|
|
@ -1,4 +1,4 @@
|
||||||
# OSTP — Ospab Stealth Transport Protocol
|
# OSTP - Ospab Stealth Transport Protocol
|
||||||
|
|
||||||
[English](README.md) · [Contributing](CONTRIBUTING.ru.md)
|
[English](README.md) · [Contributing](CONTRIBUTING.ru.md)
|
||||||
|
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
|
|
||||||
> Быстрый кастомный зашифрованный транспортный протокол на Rust.
|
> Быстрый кастомный зашифрованный транспортный протокол на Rust.
|
||||||
|
|
||||||
**OSTP** (Ospab Stealth Transport Protocol) — кастомный транспортный протокол. Реализует собственный ARQ-транспорт поверх UDP, а также режим UoT (UDP-over-TCP). Каждый байт, включая заголовки пакетов, криптографически неотличим от случайного шума, что делает его устойчивым к системам глубокого анализа трафика (DPI).
|
**OSTP** (Ospab Stealth Transport Protocol) - кастомный транспортный протокол. Реализует собственный ARQ-транспорт поверх UDP, а также режим UoT (UDP-over-TCP). Каждый байт, включая заголовки пакетов, криптографически неотличим от случайного шума, что делает его устойчивым к системам глубокого анализа трафика (DPI).
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -19,10 +19,10 @@
|
||||||
| Возможность | Описание |
|
| Возможность | Описание |
|
||||||
|-------------|----------|
|
|-------------|----------|
|
||||||
| **Обфускация трафика** | Каждый пакет, включая заголовки, неотличим от случайного шума. Session ID и nonce маскируются HMAC-ключами, уникальными для каждого пакета. |
|
| **Обфускация трафика** | Каждый пакет, включая заголовки, неотличим от случайного шума. Session ID и nonce маскируются HMAC-ключами, уникальными для каждого пакета. |
|
||||||
| **Noise Protocol** | `Noise_NNpsk0_25519_ChaChaPoly_BLAKE2s` — аутентификация через PSK, forward secrecy, без раскрытия идентичности. |
|
| **Noise Protocol** | `Noise_NNpsk0_25519_ChaChaPoly_BLAKE2s` - аутентификация через PSK, forward secrecy, без раскрытия идентичности. |
|
||||||
| **Reliable UDP (ARQ)** | Selective ACK/NACK с rate-limited ретрансмиссией, настраиваемым reorder-буфером и exponential backoff. Разработан для 10 Гбит/с. |
|
| **Reliable UDP (ARQ)** | Selective ACK/NACK с rate-limited ретрансмиссией, настраиваемым reorder-буфером и exponential backoff. Разработан для 10 Гбит/с. |
|
||||||
| **Мультиплексирование** | Несколько логических TCP-потоков поверх одной зашифрованной UDP-сессии с per-stream flow control. |
|
| **Мультиплексирование** | Несколько логических TCP-потоков поверх одной зашифрованной UDP-сессии с per-stream flow control. |
|
||||||
| **Бесшовный роуминг** | Клиент может менять сети (WiFi ↔ 4G) без разрыва сессии — сервер отслеживает session-ID, а не IP-адрес. |
|
| **Бесшовный роуминг** | Клиент может менять сети (WiFi ↔ 4G) без разрыва сессии - сервер отслеживает session-ID, а не IP-адрес. |
|
||||||
| **TUN-режим** | Полносистемный VPN без внешних зависимостей (встроенный network stack на базе `smoltcp`). |
|
| **TUN-режим** | Полносистемный VPN без внешних зависимостей (встроенный network stack на базе `smoltcp`). |
|
||||||
| **xHTTP Стелс (UoT)** | Туннель UDP-over-TCP, который полностью скрывает трафик. Поскольку все данные полностью зашифрованы и имеют префикс длины, он обходит DPI фильтры, блокирующие неизвестный UDP трафик, передавая всё по обычному TCP соединению. |
|
| **xHTTP Стелс (UoT)** | Туннель UDP-over-TCP, который полностью скрывает трафик. Поскольку все данные полностью зашифрованы и имеют префикс длины, он обходит DPI фильтры, блокирующие неизвестный UDP трафик, передавая всё по обычному TCP соединению. |
|
||||||
| **Мобильные и Web приложения** | Красивый кроссплатформенный мобильный клиент (Flutter) и современная Web панель управления (React/Vite) для удобного администрирования. |
|
| **Мобильные и Web приложения** | Красивый кроссплатформенный мобильный клиент (Flutter) и современная Web панель управления (React/Vite) для удобного администрирования. |
|
||||||
|
|
@ -173,7 +173,7 @@ ostp [--config <PATH>] [КОМАНДА]
|
||||||
links Вывести client-share-ссылки из серверного конфига
|
links Вывести client-share-ссылки из серверного конфига
|
||||||
import <URL> Импортировать share-ссылку в конфиг
|
import <URL> Импортировать share-ссылку в конфиг
|
||||||
update Обновить OSTP до актуального релиза
|
update Обновить OSTP до актуального релиза
|
||||||
-b, --branch <NAME> Канал релиза: stable, pre-release, nightly (по умолчанию stable)
|
-b, --branch <NAME> Канал релиза: stable, pre-release, alpha (по умолчанию stable)
|
||||||
-v, --version <VER> Обновиться на точную версию вместо последней в канале
|
-v, --version <VER> Обновиться на точную версию вместо последней в канале
|
||||||
migrate Принудительно мигрировать конфиг к текущему формату
|
migrate Принудительно мигрировать конфиг к текущему формату
|
||||||
prober Запустить DNS-transport prober
|
prober Запустить DNS-transport prober
|
||||||
|
|
@ -235,4 +235,4 @@ cross build --release --target x86_64-unknown-linux-gnu
|
||||||
|
|
||||||
## Лицензия
|
## Лицензия
|
||||||
|
|
||||||
GNU Affero General Public License v3.0 (AGPL-3.0). Полный текст — в файле [LICENSE](LICENSE).
|
GNU Affero General Public License v3.0 (AGPL-3.0). Полный текст - в файле [LICENSE](LICENSE).
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit 0c5c52a57d899c05428c116898941761a2ed83c2
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 9.3 KiB |
|
|
@ -0,0 +1,24 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<symbol id="bluesky-icon" viewBox="0 0 16 17">
|
||||||
|
<g clip-path="url(#bluesky-clip)"><path fill="#08060d" d="M7.75 7.735c-.693-1.348-2.58-3.86-4.334-5.097-1.68-1.187-2.32-.981-2.74-.79C.188 2.065.1 2.812.1 3.251s.241 3.602.398 4.13c.52 1.744 2.367 2.333 4.07 2.145-2.495.37-4.71 1.278-1.805 4.512 3.196 3.309 4.38-.71 4.987-2.746.608 2.036 1.307 5.91 4.93 2.746 2.72-2.746.747-4.143-1.747-4.512 1.702.189 3.55-.4 4.07-2.145.156-.528.397-3.691.397-4.13s-.088-1.186-.575-1.406c-.42-.19-1.06-.395-2.741.79-1.755 1.24-3.64 3.752-4.334 5.099"/></g>
|
||||||
|
<defs><clipPath id="bluesky-clip"><path fill="#fff" d="M.1.85h15.3v15.3H.1z"/></clipPath></defs>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="discord-icon" viewBox="0 0 20 19">
|
||||||
|
<path fill="#08060d" d="M16.224 3.768a14.5 14.5 0 0 0-3.67-1.153c-.158.286-.343.67-.47.976a13.5 13.5 0 0 0-4.067 0c-.128-.306-.317-.69-.476-.976A14.4 14.4 0 0 0 3.868 3.77C1.546 7.28.916 10.703 1.231 14.077a14.7 14.7 0 0 0 4.5 2.306q.545-.748.965-1.587a9.5 9.5 0 0 1-1.518-.74q.191-.14.372-.293c2.927 1.369 6.107 1.369 8.999 0q.183.152.372.294-.723.437-1.52.74.418.838.963 1.588a14.6 14.6 0 0 0 4.504-2.308c.37-3.911-.63-7.302-2.644-10.309m-9.13 8.234c-.878 0-1.599-.82-1.599-1.82 0-.998.705-1.82 1.6-1.82.894 0 1.614.82 1.599 1.82.001 1-.705 1.82-1.6 1.82m5.91 0c-.878 0-1.599-.82-1.599-1.82 0-.998.705-1.82 1.6-1.82.893 0 1.614.82 1.599 1.82 0 1-.706 1.82-1.6 1.82"/>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="documentation-icon" viewBox="0 0 21 20">
|
||||||
|
<path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="m15.5 13.333 1.533 1.322c.645.555.967.833.967 1.178s-.322.623-.967 1.179L15.5 18.333m-3.333-5-1.534 1.322c-.644.555-.966.833-.966 1.178s.322.623.966 1.179l1.534 1.321"/>
|
||||||
|
<path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M17.167 10.836v-4.32c0-1.41 0-2.117-.224-2.68-.359-.906-1.118-1.621-2.08-1.96-.599-.21-1.349-.21-2.848-.21-2.623 0-3.935 0-4.983.369-1.684.591-3.013 1.842-3.641 3.428C3 6.449 3 7.684 3 10.154v2.122c0 2.558 0 3.838.706 4.726q.306.383.713.671c.76.536 1.79.64 3.581.66"/>
|
||||||
|
<path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M3 10a2.78 2.78 0 0 1 2.778-2.778c.555 0 1.209.097 1.748-.047.48-.129.854-.503.982-.982.145-.54.048-1.194.048-1.749a2.78 2.78 0 0 1 2.777-2.777"/>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="github-icon" viewBox="0 0 19 19">
|
||||||
|
<path fill="#08060d" fill-rule="evenodd" d="M9.356 1.85C5.05 1.85 1.57 5.356 1.57 9.694a7.84 7.84 0 0 0 5.324 7.44c.387.079.528-.168.528-.376 0-.182-.013-.805-.013-1.454-2.165.467-2.616-.935-2.616-.935-.349-.91-.864-1.143-.864-1.143-.71-.48.051-.48.051-.48.787.051 1.2.805 1.2.805.695 1.194 1.817.857 2.268.649.064-.507.27-.857.49-1.052-1.728-.182-3.545-.857-3.545-3.87 0-.857.31-1.558.8-2.104-.078-.195-.349-1 .077-2.078 0 0 .657-.208 2.14.805a7.5 7.5 0 0 1 1.946-.26c.657 0 1.328.092 1.946.26 1.483-1.013 2.14-.805 2.14-.805.426 1.078.155 1.883.078 2.078.502.546.799 1.247.799 2.104 0 3.013-1.818 3.675-3.558 3.87.284.247.528.714.528 1.454 0 1.052-.012 1.896-.012 2.156 0 .208.142.455.528.377a7.84 7.84 0 0 0 5.324-7.441c.013-4.338-3.48-7.844-7.773-7.844" clip-rule="evenodd"/>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="social-icon" viewBox="0 0 20 20">
|
||||||
|
<path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M12.5 6.667a4.167 4.167 0 1 0-8.334 0 4.167 4.167 0 0 0 8.334 0"/>
|
||||||
|
<path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M2.5 16.667a5.833 5.833 0 0 1 8.75-5.053m3.837.474.513 1.035c.07.144.257.282.414.309l.93.155c.596.1.736.536.307.965l-.723.73a.64.64 0 0 0-.152.531l.207.903c.164.715-.213.991-.84.618l-.872-.52a.63.63 0 0 0-.577 0l-.872.52c-.624.373-1.003.094-.84-.618l.207-.903a.64.64 0 0 0-.152-.532l-.723-.729c-.426-.43-.289-.864.306-.964l.93-.156a.64.64 0 0 0 .412-.31l.513-1.034c.28-.562.735-.562 1.012 0"/>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="x-icon" viewBox="0 0 19 19">
|
||||||
|
<path fill="#08060d" fill-rule="evenodd" d="M1.893 1.98c.052.072 1.245 1.769 2.653 3.77l2.892 4.114c.183.261.333.48.333.486s-.068.089-.152.183l-.522.593-.765.867-3.597 4.087c-.375.426-.734.834-.798.905a1 1 0 0 0-.118.148c0 .01.236.017.664.017h.663l.729-.83c.4-.457.796-.906.879-.999a692 692 0 0 0 1.794-2.038c.034-.037.301-.34.594-.675l.551-.624.345-.392a7 7 0 0 1 .34-.374c.006 0 .93 1.306 2.052 2.903l2.084 2.965.045.063h2.275c1.87 0 2.273-.003 2.266-.021-.008-.02-1.098-1.572-3.894-5.547-2.013-2.862-2.28-3.246-2.273-3.266.008-.019.282-.332 2.085-2.38l2-2.274 1.567-1.782c.022-.028-.016-.03-.65-.03h-.674l-.3.342a871 871 0 0 1-1.782 2.025c-.067.075-.405.458-.75.852a100 100 0 0 1-.803.91c-.148.172-.299.344-.99 1.127-.304.343-.32.358-.345.327-.015-.019-.904-1.282-1.976-2.808L6.365 1.85H1.8zm1.782.91 8.078 11.294c.772 1.08 1.413 1.973 1.425 1.984.016.017.241.02 1.05.017l1.03-.004-2.694-3.766L7.796 5.75 5.722 2.852l-1.039-.004-1.039-.004z" clip-rule="evenodd"/>
|
||||||
|
</symbol>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 4.9 KiB |
|
|
@ -0,0 +1,18 @@
|
||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
<meta name="description" content="OSTP Enterprise — unlimited sessions and web control panel. Anonymous crypto payment, no KYC." />
|
||||||
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
||||||
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="" />
|
||||||
|
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap" rel="stylesheet" />
|
||||||
|
<title>OSTP Enterprise — Scale Without Limits</title>
|
||||||
|
<script type="module" crossorigin src="/assets/index-DBeHWHa9.js"></script>
|
||||||
|
<link rel="stylesheet" crossorigin href="/assets/index-Cqs8ygw5.css">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="root"></div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
#!/bin/sh
|
||||||
|
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||||
|
|
||||||
|
case `uname` in
|
||||||
|
*CYGWIN*|*MINGW*|*MSYS*)
|
||||||
|
if command -v cygpath > /dev/null 2>&1; then
|
||||||
|
basedir=`cygpath -w "$basedir"`
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ -x "$basedir/node" ]; then
|
||||||
|
exec "$basedir/node" "$basedir/../acorn/bin/acorn" "$@"
|
||||||
|
else
|
||||||
|
exec node "$basedir/../acorn/bin/acorn" "$@"
|
||||||
|
fi
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
@ECHO off
|
||||||
|
GOTO start
|
||||||
|
:find_dp0
|
||||||
|
SET dp0=%~dp0
|
||||||
|
EXIT /b
|
||||||
|
:start
|
||||||
|
SETLOCAL
|
||||||
|
CALL :find_dp0
|
||||||
|
|
||||||
|
IF EXIST "%dp0%\node.exe" (
|
||||||
|
SET "_prog=%dp0%\node.exe"
|
||||||
|
) ELSE (
|
||||||
|
SET "_prog=node"
|
||||||
|
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||||
|
)
|
||||||
|
|
||||||
|
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\acorn\bin\acorn" %*
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
#!/usr/bin/env pwsh
|
||||||
|
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||||
|
|
||||||
|
$exe=""
|
||||||
|
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||||
|
# Fix case when both the Windows and Linux builds of Node
|
||||||
|
# are installed in the same directory
|
||||||
|
$exe=".exe"
|
||||||
|
}
|
||||||
|
$ret=0
|
||||||
|
if (Test-Path "$basedir/node$exe") {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "$basedir/node$exe" "$basedir/../acorn/bin/acorn" $args
|
||||||
|
} else {
|
||||||
|
& "$basedir/node$exe" "$basedir/../acorn/bin/acorn" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
} else {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "node$exe" "$basedir/../acorn/bin/acorn" $args
|
||||||
|
} else {
|
||||||
|
& "node$exe" "$basedir/../acorn/bin/acorn" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
}
|
||||||
|
exit $ret
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
#!/bin/sh
|
||||||
|
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||||
|
|
||||||
|
case `uname` in
|
||||||
|
*CYGWIN*|*MINGW*|*MSYS*)
|
||||||
|
if command -v cygpath > /dev/null 2>&1; then
|
||||||
|
basedir=`cygpath -w "$basedir"`
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ -x "$basedir/node" ]; then
|
||||||
|
exec "$basedir/node" "$basedir/../autoprefixer/bin/autoprefixer" "$@"
|
||||||
|
else
|
||||||
|
exec node "$basedir/../autoprefixer/bin/autoprefixer" "$@"
|
||||||
|
fi
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
@ECHO off
|
||||||
|
GOTO start
|
||||||
|
:find_dp0
|
||||||
|
SET dp0=%~dp0
|
||||||
|
EXIT /b
|
||||||
|
:start
|
||||||
|
SETLOCAL
|
||||||
|
CALL :find_dp0
|
||||||
|
|
||||||
|
IF EXIST "%dp0%\node.exe" (
|
||||||
|
SET "_prog=%dp0%\node.exe"
|
||||||
|
) ELSE (
|
||||||
|
SET "_prog=node"
|
||||||
|
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||||
|
)
|
||||||
|
|
||||||
|
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\autoprefixer\bin\autoprefixer" %*
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
#!/usr/bin/env pwsh
|
||||||
|
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||||
|
|
||||||
|
$exe=""
|
||||||
|
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||||
|
# Fix case when both the Windows and Linux builds of Node
|
||||||
|
# are installed in the same directory
|
||||||
|
$exe=".exe"
|
||||||
|
}
|
||||||
|
$ret=0
|
||||||
|
if (Test-Path "$basedir/node$exe") {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "$basedir/node$exe" "$basedir/../autoprefixer/bin/autoprefixer" $args
|
||||||
|
} else {
|
||||||
|
& "$basedir/node$exe" "$basedir/../autoprefixer/bin/autoprefixer" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
} else {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "node$exe" "$basedir/../autoprefixer/bin/autoprefixer" $args
|
||||||
|
} else {
|
||||||
|
& "node$exe" "$basedir/../autoprefixer/bin/autoprefixer" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
}
|
||||||
|
exit $ret
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
#!/bin/sh
|
||||||
|
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||||
|
|
||||||
|
case `uname` in
|
||||||
|
*CYGWIN*|*MINGW*|*MSYS*)
|
||||||
|
if command -v cygpath > /dev/null 2>&1; then
|
||||||
|
basedir=`cygpath -w "$basedir"`
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ -x "$basedir/node" ]; then
|
||||||
|
exec "$basedir/node" "$basedir/../baseline-browser-mapping/dist/cli.cjs" "$@"
|
||||||
|
else
|
||||||
|
exec node "$basedir/../baseline-browser-mapping/dist/cli.cjs" "$@"
|
||||||
|
fi
|
||||||
17
ostp-license/frontend/node_modules/.bin/baseline-browser-mapping.cmd
generated
vendored
Normal file
17
ostp-license/frontend/node_modules/.bin/baseline-browser-mapping.cmd
generated
vendored
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
@ECHO off
|
||||||
|
GOTO start
|
||||||
|
:find_dp0
|
||||||
|
SET dp0=%~dp0
|
||||||
|
EXIT /b
|
||||||
|
:start
|
||||||
|
SETLOCAL
|
||||||
|
CALL :find_dp0
|
||||||
|
|
||||||
|
IF EXIST "%dp0%\node.exe" (
|
||||||
|
SET "_prog=%dp0%\node.exe"
|
||||||
|
) ELSE (
|
||||||
|
SET "_prog=node"
|
||||||
|
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||||
|
)
|
||||||
|
|
||||||
|
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\baseline-browser-mapping\dist\cli.cjs" %*
|
||||||
28
ostp-license/frontend/node_modules/.bin/baseline-browser-mapping.ps1
generated
vendored
Normal file
28
ostp-license/frontend/node_modules/.bin/baseline-browser-mapping.ps1
generated
vendored
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
#!/usr/bin/env pwsh
|
||||||
|
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||||
|
|
||||||
|
$exe=""
|
||||||
|
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||||
|
# Fix case when both the Windows and Linux builds of Node
|
||||||
|
# are installed in the same directory
|
||||||
|
$exe=".exe"
|
||||||
|
}
|
||||||
|
$ret=0
|
||||||
|
if (Test-Path "$basedir/node$exe") {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "$basedir/node$exe" "$basedir/../baseline-browser-mapping/dist/cli.cjs" $args
|
||||||
|
} else {
|
||||||
|
& "$basedir/node$exe" "$basedir/../baseline-browser-mapping/dist/cli.cjs" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
} else {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "node$exe" "$basedir/../baseline-browser-mapping/dist/cli.cjs" $args
|
||||||
|
} else {
|
||||||
|
& "node$exe" "$basedir/../baseline-browser-mapping/dist/cli.cjs" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
}
|
||||||
|
exit $ret
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
#!/bin/sh
|
||||||
|
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||||
|
|
||||||
|
case `uname` in
|
||||||
|
*CYGWIN*|*MINGW*|*MSYS*)
|
||||||
|
if command -v cygpath > /dev/null 2>&1; then
|
||||||
|
basedir=`cygpath -w "$basedir"`
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ -x "$basedir/node" ]; then
|
||||||
|
exec "$basedir/node" "$basedir/../browserslist/cli.js" "$@"
|
||||||
|
else
|
||||||
|
exec node "$basedir/../browserslist/cli.js" "$@"
|
||||||
|
fi
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
@ECHO off
|
||||||
|
GOTO start
|
||||||
|
:find_dp0
|
||||||
|
SET dp0=%~dp0
|
||||||
|
EXIT /b
|
||||||
|
:start
|
||||||
|
SETLOCAL
|
||||||
|
CALL :find_dp0
|
||||||
|
|
||||||
|
IF EXIST "%dp0%\node.exe" (
|
||||||
|
SET "_prog=%dp0%\node.exe"
|
||||||
|
) ELSE (
|
||||||
|
SET "_prog=node"
|
||||||
|
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||||
|
)
|
||||||
|
|
||||||
|
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\browserslist\cli.js" %*
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
#!/usr/bin/env pwsh
|
||||||
|
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||||
|
|
||||||
|
$exe=""
|
||||||
|
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||||
|
# Fix case when both the Windows and Linux builds of Node
|
||||||
|
# are installed in the same directory
|
||||||
|
$exe=".exe"
|
||||||
|
}
|
||||||
|
$ret=0
|
||||||
|
if (Test-Path "$basedir/node$exe") {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "$basedir/node$exe" "$basedir/../browserslist/cli.js" $args
|
||||||
|
} else {
|
||||||
|
& "$basedir/node$exe" "$basedir/../browserslist/cli.js" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
} else {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "node$exe" "$basedir/../browserslist/cli.js" $args
|
||||||
|
} else {
|
||||||
|
& "node$exe" "$basedir/../browserslist/cli.js" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
}
|
||||||
|
exit $ret
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
#!/bin/sh
|
||||||
|
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||||
|
|
||||||
|
case `uname` in
|
||||||
|
*CYGWIN*|*MINGW*|*MSYS*)
|
||||||
|
if command -v cygpath > /dev/null 2>&1; then
|
||||||
|
basedir=`cygpath -w "$basedir"`
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ -x "$basedir/node" ]; then
|
||||||
|
exec "$basedir/node" "$basedir/../eslint/bin/eslint.js" "$@"
|
||||||
|
else
|
||||||
|
exec node "$basedir/../eslint/bin/eslint.js" "$@"
|
||||||
|
fi
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
@ECHO off
|
||||||
|
GOTO start
|
||||||
|
:find_dp0
|
||||||
|
SET dp0=%~dp0
|
||||||
|
EXIT /b
|
||||||
|
:start
|
||||||
|
SETLOCAL
|
||||||
|
CALL :find_dp0
|
||||||
|
|
||||||
|
IF EXIST "%dp0%\node.exe" (
|
||||||
|
SET "_prog=%dp0%\node.exe"
|
||||||
|
) ELSE (
|
||||||
|
SET "_prog=node"
|
||||||
|
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||||
|
)
|
||||||
|
|
||||||
|
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\eslint\bin\eslint.js" %*
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
#!/usr/bin/env pwsh
|
||||||
|
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||||
|
|
||||||
|
$exe=""
|
||||||
|
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||||
|
# Fix case when both the Windows and Linux builds of Node
|
||||||
|
# are installed in the same directory
|
||||||
|
$exe=".exe"
|
||||||
|
}
|
||||||
|
$ret=0
|
||||||
|
if (Test-Path "$basedir/node$exe") {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "$basedir/node$exe" "$basedir/../eslint/bin/eslint.js" $args
|
||||||
|
} else {
|
||||||
|
& "$basedir/node$exe" "$basedir/../eslint/bin/eslint.js" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
} else {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "node$exe" "$basedir/../eslint/bin/eslint.js" $args
|
||||||
|
} else {
|
||||||
|
& "node$exe" "$basedir/../eslint/bin/eslint.js" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
}
|
||||||
|
exit $ret
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
#!/bin/sh
|
||||||
|
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||||
|
|
||||||
|
case `uname` in
|
||||||
|
*CYGWIN*|*MINGW*|*MSYS*)
|
||||||
|
if command -v cygpath > /dev/null 2>&1; then
|
||||||
|
basedir=`cygpath -w "$basedir"`
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ -x "$basedir/node" ]; then
|
||||||
|
exec "$basedir/node" "$basedir/../jiti/lib/jiti-cli.mjs" "$@"
|
||||||
|
else
|
||||||
|
exec node "$basedir/../jiti/lib/jiti-cli.mjs" "$@"
|
||||||
|
fi
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
@ECHO off
|
||||||
|
GOTO start
|
||||||
|
:find_dp0
|
||||||
|
SET dp0=%~dp0
|
||||||
|
EXIT /b
|
||||||
|
:start
|
||||||
|
SETLOCAL
|
||||||
|
CALL :find_dp0
|
||||||
|
|
||||||
|
IF EXIST "%dp0%\node.exe" (
|
||||||
|
SET "_prog=%dp0%\node.exe"
|
||||||
|
) ELSE (
|
||||||
|
SET "_prog=node"
|
||||||
|
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||||
|
)
|
||||||
|
|
||||||
|
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\jiti\lib\jiti-cli.mjs" %*
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
#!/usr/bin/env pwsh
|
||||||
|
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||||
|
|
||||||
|
$exe=""
|
||||||
|
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||||
|
# Fix case when both the Windows and Linux builds of Node
|
||||||
|
# are installed in the same directory
|
||||||
|
$exe=".exe"
|
||||||
|
}
|
||||||
|
$ret=0
|
||||||
|
if (Test-Path "$basedir/node$exe") {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "$basedir/node$exe" "$basedir/../jiti/lib/jiti-cli.mjs" $args
|
||||||
|
} else {
|
||||||
|
& "$basedir/node$exe" "$basedir/../jiti/lib/jiti-cli.mjs" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
} else {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "node$exe" "$basedir/../jiti/lib/jiti-cli.mjs" $args
|
||||||
|
} else {
|
||||||
|
& "node$exe" "$basedir/../jiti/lib/jiti-cli.mjs" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
}
|
||||||
|
exit $ret
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
#!/bin/sh
|
||||||
|
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||||
|
|
||||||
|
case `uname` in
|
||||||
|
*CYGWIN*|*MINGW*|*MSYS*)
|
||||||
|
if command -v cygpath > /dev/null 2>&1; then
|
||||||
|
basedir=`cygpath -w "$basedir"`
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ -x "$basedir/node" ]; then
|
||||||
|
exec "$basedir/node" "$basedir/../jsesc/bin/jsesc" "$@"
|
||||||
|
else
|
||||||
|
exec node "$basedir/../jsesc/bin/jsesc" "$@"
|
||||||
|
fi
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
@ECHO off
|
||||||
|
GOTO start
|
||||||
|
:find_dp0
|
||||||
|
SET dp0=%~dp0
|
||||||
|
EXIT /b
|
||||||
|
:start
|
||||||
|
SETLOCAL
|
||||||
|
CALL :find_dp0
|
||||||
|
|
||||||
|
IF EXIST "%dp0%\node.exe" (
|
||||||
|
SET "_prog=%dp0%\node.exe"
|
||||||
|
) ELSE (
|
||||||
|
SET "_prog=node"
|
||||||
|
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||||
|
)
|
||||||
|
|
||||||
|
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\jsesc\bin\jsesc" %*
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
#!/usr/bin/env pwsh
|
||||||
|
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||||
|
|
||||||
|
$exe=""
|
||||||
|
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||||
|
# Fix case when both the Windows and Linux builds of Node
|
||||||
|
# are installed in the same directory
|
||||||
|
$exe=".exe"
|
||||||
|
}
|
||||||
|
$ret=0
|
||||||
|
if (Test-Path "$basedir/node$exe") {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "$basedir/node$exe" "$basedir/../jsesc/bin/jsesc" $args
|
||||||
|
} else {
|
||||||
|
& "$basedir/node$exe" "$basedir/../jsesc/bin/jsesc" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
} else {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "node$exe" "$basedir/../jsesc/bin/jsesc" $args
|
||||||
|
} else {
|
||||||
|
& "node$exe" "$basedir/../jsesc/bin/jsesc" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
}
|
||||||
|
exit $ret
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
#!/bin/sh
|
||||||
|
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||||
|
|
||||||
|
case `uname` in
|
||||||
|
*CYGWIN*|*MINGW*|*MSYS*)
|
||||||
|
if command -v cygpath > /dev/null 2>&1; then
|
||||||
|
basedir=`cygpath -w "$basedir"`
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ -x "$basedir/node" ]; then
|
||||||
|
exec "$basedir/node" "$basedir/../json5/lib/cli.js" "$@"
|
||||||
|
else
|
||||||
|
exec node "$basedir/../json5/lib/cli.js" "$@"
|
||||||
|
fi
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
@ECHO off
|
||||||
|
GOTO start
|
||||||
|
:find_dp0
|
||||||
|
SET dp0=%~dp0
|
||||||
|
EXIT /b
|
||||||
|
:start
|
||||||
|
SETLOCAL
|
||||||
|
CALL :find_dp0
|
||||||
|
|
||||||
|
IF EXIST "%dp0%\node.exe" (
|
||||||
|
SET "_prog=%dp0%\node.exe"
|
||||||
|
) ELSE (
|
||||||
|
SET "_prog=node"
|
||||||
|
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||||
|
)
|
||||||
|
|
||||||
|
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\json5\lib\cli.js" %*
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
#!/usr/bin/env pwsh
|
||||||
|
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||||
|
|
||||||
|
$exe=""
|
||||||
|
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||||
|
# Fix case when both the Windows and Linux builds of Node
|
||||||
|
# are installed in the same directory
|
||||||
|
$exe=".exe"
|
||||||
|
}
|
||||||
|
$ret=0
|
||||||
|
if (Test-Path "$basedir/node$exe") {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "$basedir/node$exe" "$basedir/../json5/lib/cli.js" $args
|
||||||
|
} else {
|
||||||
|
& "$basedir/node$exe" "$basedir/../json5/lib/cli.js" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
} else {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "node$exe" "$basedir/../json5/lib/cli.js" $args
|
||||||
|
} else {
|
||||||
|
& "node$exe" "$basedir/../json5/lib/cli.js" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
}
|
||||||
|
exit $ret
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
#!/bin/sh
|
||||||
|
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||||
|
|
||||||
|
case `uname` in
|
||||||
|
*CYGWIN*|*MINGW*|*MSYS*)
|
||||||
|
if command -v cygpath > /dev/null 2>&1; then
|
||||||
|
basedir=`cygpath -w "$basedir"`
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ -x "$basedir/node" ]; then
|
||||||
|
exec "$basedir/node" "$basedir/../nanoid/bin/nanoid.cjs" "$@"
|
||||||
|
else
|
||||||
|
exec node "$basedir/../nanoid/bin/nanoid.cjs" "$@"
|
||||||
|
fi
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
@ECHO off
|
||||||
|
GOTO start
|
||||||
|
:find_dp0
|
||||||
|
SET dp0=%~dp0
|
||||||
|
EXIT /b
|
||||||
|
:start
|
||||||
|
SETLOCAL
|
||||||
|
CALL :find_dp0
|
||||||
|
|
||||||
|
IF EXIST "%dp0%\node.exe" (
|
||||||
|
SET "_prog=%dp0%\node.exe"
|
||||||
|
) ELSE (
|
||||||
|
SET "_prog=node"
|
||||||
|
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||||
|
)
|
||||||
|
|
||||||
|
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\nanoid\bin\nanoid.cjs" %*
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
#!/usr/bin/env pwsh
|
||||||
|
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||||
|
|
||||||
|
$exe=""
|
||||||
|
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||||
|
# Fix case when both the Windows and Linux builds of Node
|
||||||
|
# are installed in the same directory
|
||||||
|
$exe=".exe"
|
||||||
|
}
|
||||||
|
$ret=0
|
||||||
|
if (Test-Path "$basedir/node$exe") {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "$basedir/node$exe" "$basedir/../nanoid/bin/nanoid.cjs" $args
|
||||||
|
} else {
|
||||||
|
& "$basedir/node$exe" "$basedir/../nanoid/bin/nanoid.cjs" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
} else {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "node$exe" "$basedir/../nanoid/bin/nanoid.cjs" $args
|
||||||
|
} else {
|
||||||
|
& "node$exe" "$basedir/../nanoid/bin/nanoid.cjs" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
}
|
||||||
|
exit $ret
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
#!/bin/sh
|
||||||
|
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||||
|
|
||||||
|
case `uname` in
|
||||||
|
*CYGWIN*|*MINGW*|*MSYS*)
|
||||||
|
if command -v cygpath > /dev/null 2>&1; then
|
||||||
|
basedir=`cygpath -w "$basedir"`
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ -x "$basedir/node" ]; then
|
||||||
|
exec "$basedir/node" "$basedir/../which/bin/node-which" "$@"
|
||||||
|
else
|
||||||
|
exec node "$basedir/../which/bin/node-which" "$@"
|
||||||
|
fi
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
@ECHO off
|
||||||
|
GOTO start
|
||||||
|
:find_dp0
|
||||||
|
SET dp0=%~dp0
|
||||||
|
EXIT /b
|
||||||
|
:start
|
||||||
|
SETLOCAL
|
||||||
|
CALL :find_dp0
|
||||||
|
|
||||||
|
IF EXIST "%dp0%\node.exe" (
|
||||||
|
SET "_prog=%dp0%\node.exe"
|
||||||
|
) ELSE (
|
||||||
|
SET "_prog=node"
|
||||||
|
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||||
|
)
|
||||||
|
|
||||||
|
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\which\bin\node-which" %*
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
#!/usr/bin/env pwsh
|
||||||
|
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||||
|
|
||||||
|
$exe=""
|
||||||
|
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||||
|
# Fix case when both the Windows and Linux builds of Node
|
||||||
|
# are installed in the same directory
|
||||||
|
$exe=".exe"
|
||||||
|
}
|
||||||
|
$ret=0
|
||||||
|
if (Test-Path "$basedir/node$exe") {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "$basedir/node$exe" "$basedir/../which/bin/node-which" $args
|
||||||
|
} else {
|
||||||
|
& "$basedir/node$exe" "$basedir/../which/bin/node-which" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
} else {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "node$exe" "$basedir/../which/bin/node-which" $args
|
||||||
|
} else {
|
||||||
|
& "node$exe" "$basedir/../which/bin/node-which" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
}
|
||||||
|
exit $ret
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
#!/bin/sh
|
||||||
|
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||||
|
|
||||||
|
case `uname` in
|
||||||
|
*CYGWIN*|*MINGW*|*MSYS*)
|
||||||
|
if command -v cygpath > /dev/null 2>&1; then
|
||||||
|
basedir=`cygpath -w "$basedir"`
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ -x "$basedir/node" ]; then
|
||||||
|
exec "$basedir/node" "$basedir/../@babel/parser/bin/babel-parser.js" "$@"
|
||||||
|
else
|
||||||
|
exec node "$basedir/../@babel/parser/bin/babel-parser.js" "$@"
|
||||||
|
fi
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
@ECHO off
|
||||||
|
GOTO start
|
||||||
|
:find_dp0
|
||||||
|
SET dp0=%~dp0
|
||||||
|
EXIT /b
|
||||||
|
:start
|
||||||
|
SETLOCAL
|
||||||
|
CALL :find_dp0
|
||||||
|
|
||||||
|
IF EXIST "%dp0%\node.exe" (
|
||||||
|
SET "_prog=%dp0%\node.exe"
|
||||||
|
) ELSE (
|
||||||
|
SET "_prog=node"
|
||||||
|
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||||
|
)
|
||||||
|
|
||||||
|
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\@babel\parser\bin\babel-parser.js" %*
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
#!/usr/bin/env pwsh
|
||||||
|
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||||
|
|
||||||
|
$exe=""
|
||||||
|
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||||
|
# Fix case when both the Windows and Linux builds of Node
|
||||||
|
# are installed in the same directory
|
||||||
|
$exe=".exe"
|
||||||
|
}
|
||||||
|
$ret=0
|
||||||
|
if (Test-Path "$basedir/node$exe") {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "$basedir/node$exe" "$basedir/../@babel/parser/bin/babel-parser.js" $args
|
||||||
|
} else {
|
||||||
|
& "$basedir/node$exe" "$basedir/../@babel/parser/bin/babel-parser.js" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
} else {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "node$exe" "$basedir/../@babel/parser/bin/babel-parser.js" $args
|
||||||
|
} else {
|
||||||
|
& "node$exe" "$basedir/../@babel/parser/bin/babel-parser.js" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
}
|
||||||
|
exit $ret
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
#!/bin/sh
|
||||||
|
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||||
|
|
||||||
|
case `uname` in
|
||||||
|
*CYGWIN*|*MINGW*|*MSYS*)
|
||||||
|
if command -v cygpath > /dev/null 2>&1; then
|
||||||
|
basedir=`cygpath -w "$basedir"`
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ -x "$basedir/node" ]; then
|
||||||
|
exec "$basedir/node" "$basedir/../rolldown/bin/cli.mjs" "$@"
|
||||||
|
else
|
||||||
|
exec node "$basedir/../rolldown/bin/cli.mjs" "$@"
|
||||||
|
fi
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
@ECHO off
|
||||||
|
GOTO start
|
||||||
|
:find_dp0
|
||||||
|
SET dp0=%~dp0
|
||||||
|
EXIT /b
|
||||||
|
:start
|
||||||
|
SETLOCAL
|
||||||
|
CALL :find_dp0
|
||||||
|
|
||||||
|
IF EXIST "%dp0%\node.exe" (
|
||||||
|
SET "_prog=%dp0%\node.exe"
|
||||||
|
) ELSE (
|
||||||
|
SET "_prog=node"
|
||||||
|
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||||
|
)
|
||||||
|
|
||||||
|
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\rolldown\bin\cli.mjs" %*
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
#!/usr/bin/env pwsh
|
||||||
|
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||||
|
|
||||||
|
$exe=""
|
||||||
|
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||||
|
# Fix case when both the Windows and Linux builds of Node
|
||||||
|
# are installed in the same directory
|
||||||
|
$exe=".exe"
|
||||||
|
}
|
||||||
|
$ret=0
|
||||||
|
if (Test-Path "$basedir/node$exe") {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "$basedir/node$exe" "$basedir/../rolldown/bin/cli.mjs" $args
|
||||||
|
} else {
|
||||||
|
& "$basedir/node$exe" "$basedir/../rolldown/bin/cli.mjs" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
} else {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "node$exe" "$basedir/../rolldown/bin/cli.mjs" $args
|
||||||
|
} else {
|
||||||
|
& "node$exe" "$basedir/../rolldown/bin/cli.mjs" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
}
|
||||||
|
exit $ret
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
#!/bin/sh
|
||||||
|
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||||
|
|
||||||
|
case `uname` in
|
||||||
|
*CYGWIN*|*MINGW*|*MSYS*)
|
||||||
|
if command -v cygpath > /dev/null 2>&1; then
|
||||||
|
basedir=`cygpath -w "$basedir"`
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ -x "$basedir/node" ]; then
|
||||||
|
exec "$basedir/node" "$basedir/../semver/bin/semver.js" "$@"
|
||||||
|
else
|
||||||
|
exec node "$basedir/../semver/bin/semver.js" "$@"
|
||||||
|
fi
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
@ECHO off
|
||||||
|
GOTO start
|
||||||
|
:find_dp0
|
||||||
|
SET dp0=%~dp0
|
||||||
|
EXIT /b
|
||||||
|
:start
|
||||||
|
SETLOCAL
|
||||||
|
CALL :find_dp0
|
||||||
|
|
||||||
|
IF EXIST "%dp0%\node.exe" (
|
||||||
|
SET "_prog=%dp0%\node.exe"
|
||||||
|
) ELSE (
|
||||||
|
SET "_prog=node"
|
||||||
|
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||||
|
)
|
||||||
|
|
||||||
|
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\semver\bin\semver.js" %*
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
#!/usr/bin/env pwsh
|
||||||
|
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||||
|
|
||||||
|
$exe=""
|
||||||
|
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||||
|
# Fix case when both the Windows and Linux builds of Node
|
||||||
|
# are installed in the same directory
|
||||||
|
$exe=".exe"
|
||||||
|
}
|
||||||
|
$ret=0
|
||||||
|
if (Test-Path "$basedir/node$exe") {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "$basedir/node$exe" "$basedir/../semver/bin/semver.js" $args
|
||||||
|
} else {
|
||||||
|
& "$basedir/node$exe" "$basedir/../semver/bin/semver.js" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
} else {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "node$exe" "$basedir/../semver/bin/semver.js" $args
|
||||||
|
} else {
|
||||||
|
& "node$exe" "$basedir/../semver/bin/semver.js" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
}
|
||||||
|
exit $ret
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
#!/bin/sh
|
||||||
|
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||||
|
|
||||||
|
case `uname` in
|
||||||
|
*CYGWIN*|*MINGW*|*MSYS*)
|
||||||
|
if command -v cygpath > /dev/null 2>&1; then
|
||||||
|
basedir=`cygpath -w "$basedir"`
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ -x "$basedir/node" ]; then
|
||||||
|
exec "$basedir/node" "$basedir/../typescript/bin/tsc" "$@"
|
||||||
|
else
|
||||||
|
exec node "$basedir/../typescript/bin/tsc" "$@"
|
||||||
|
fi
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
@ECHO off
|
||||||
|
GOTO start
|
||||||
|
:find_dp0
|
||||||
|
SET dp0=%~dp0
|
||||||
|
EXIT /b
|
||||||
|
:start
|
||||||
|
SETLOCAL
|
||||||
|
CALL :find_dp0
|
||||||
|
|
||||||
|
IF EXIST "%dp0%\node.exe" (
|
||||||
|
SET "_prog=%dp0%\node.exe"
|
||||||
|
) ELSE (
|
||||||
|
SET "_prog=node"
|
||||||
|
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||||
|
)
|
||||||
|
|
||||||
|
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\typescript\bin\tsc" %*
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
#!/usr/bin/env pwsh
|
||||||
|
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||||
|
|
||||||
|
$exe=""
|
||||||
|
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||||
|
# Fix case when both the Windows and Linux builds of Node
|
||||||
|
# are installed in the same directory
|
||||||
|
$exe=".exe"
|
||||||
|
}
|
||||||
|
$ret=0
|
||||||
|
if (Test-Path "$basedir/node$exe") {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "$basedir/node$exe" "$basedir/../typescript/bin/tsc" $args
|
||||||
|
} else {
|
||||||
|
& "$basedir/node$exe" "$basedir/../typescript/bin/tsc" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
} else {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "node$exe" "$basedir/../typescript/bin/tsc" $args
|
||||||
|
} else {
|
||||||
|
& "node$exe" "$basedir/../typescript/bin/tsc" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
}
|
||||||
|
exit $ret
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
#!/bin/sh
|
||||||
|
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||||
|
|
||||||
|
case `uname` in
|
||||||
|
*CYGWIN*|*MINGW*|*MSYS*)
|
||||||
|
if command -v cygpath > /dev/null 2>&1; then
|
||||||
|
basedir=`cygpath -w "$basedir"`
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ -x "$basedir/node" ]; then
|
||||||
|
exec "$basedir/node" "$basedir/../typescript/bin/tsserver" "$@"
|
||||||
|
else
|
||||||
|
exec node "$basedir/../typescript/bin/tsserver" "$@"
|
||||||
|
fi
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
@ECHO off
|
||||||
|
GOTO start
|
||||||
|
:find_dp0
|
||||||
|
SET dp0=%~dp0
|
||||||
|
EXIT /b
|
||||||
|
:start
|
||||||
|
SETLOCAL
|
||||||
|
CALL :find_dp0
|
||||||
|
|
||||||
|
IF EXIST "%dp0%\node.exe" (
|
||||||
|
SET "_prog=%dp0%\node.exe"
|
||||||
|
) ELSE (
|
||||||
|
SET "_prog=node"
|
||||||
|
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||||
|
)
|
||||||
|
|
||||||
|
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\typescript\bin\tsserver" %*
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
#!/usr/bin/env pwsh
|
||||||
|
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||||
|
|
||||||
|
$exe=""
|
||||||
|
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||||
|
# Fix case when both the Windows and Linux builds of Node
|
||||||
|
# are installed in the same directory
|
||||||
|
$exe=".exe"
|
||||||
|
}
|
||||||
|
$ret=0
|
||||||
|
if (Test-Path "$basedir/node$exe") {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "$basedir/node$exe" "$basedir/../typescript/bin/tsserver" $args
|
||||||
|
} else {
|
||||||
|
& "$basedir/node$exe" "$basedir/../typescript/bin/tsserver" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
} else {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "node$exe" "$basedir/../typescript/bin/tsserver" $args
|
||||||
|
} else {
|
||||||
|
& "node$exe" "$basedir/../typescript/bin/tsserver" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
}
|
||||||
|
exit $ret
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
#!/bin/sh
|
||||||
|
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||||
|
|
||||||
|
case `uname` in
|
||||||
|
*CYGWIN*|*MINGW*|*MSYS*)
|
||||||
|
if command -v cygpath > /dev/null 2>&1; then
|
||||||
|
basedir=`cygpath -w "$basedir"`
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ -x "$basedir/node" ]; then
|
||||||
|
exec "$basedir/node" "$basedir/../update-browserslist-db/cli.js" "$@"
|
||||||
|
else
|
||||||
|
exec node "$basedir/../update-browserslist-db/cli.js" "$@"
|
||||||
|
fi
|
||||||
17
ostp-license/frontend/node_modules/.bin/update-browserslist-db.cmd
generated
vendored
Normal file
17
ostp-license/frontend/node_modules/.bin/update-browserslist-db.cmd
generated
vendored
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
@ECHO off
|
||||||
|
GOTO start
|
||||||
|
:find_dp0
|
||||||
|
SET dp0=%~dp0
|
||||||
|
EXIT /b
|
||||||
|
:start
|
||||||
|
SETLOCAL
|
||||||
|
CALL :find_dp0
|
||||||
|
|
||||||
|
IF EXIST "%dp0%\node.exe" (
|
||||||
|
SET "_prog=%dp0%\node.exe"
|
||||||
|
) ELSE (
|
||||||
|
SET "_prog=node"
|
||||||
|
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||||
|
)
|
||||||
|
|
||||||
|
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\update-browserslist-db\cli.js" %*
|
||||||
28
ostp-license/frontend/node_modules/.bin/update-browserslist-db.ps1
generated
vendored
Normal file
28
ostp-license/frontend/node_modules/.bin/update-browserslist-db.ps1
generated
vendored
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
#!/usr/bin/env pwsh
|
||||||
|
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||||
|
|
||||||
|
$exe=""
|
||||||
|
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||||
|
# Fix case when both the Windows and Linux builds of Node
|
||||||
|
# are installed in the same directory
|
||||||
|
$exe=".exe"
|
||||||
|
}
|
||||||
|
$ret=0
|
||||||
|
if (Test-Path "$basedir/node$exe") {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "$basedir/node$exe" "$basedir/../update-browserslist-db/cli.js" $args
|
||||||
|
} else {
|
||||||
|
& "$basedir/node$exe" "$basedir/../update-browserslist-db/cli.js" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
} else {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "node$exe" "$basedir/../update-browserslist-db/cli.js" $args
|
||||||
|
} else {
|
||||||
|
& "node$exe" "$basedir/../update-browserslist-db/cli.js" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
}
|
||||||
|
exit $ret
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
#!/bin/sh
|
||||||
|
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
||||||
|
|
||||||
|
case `uname` in
|
||||||
|
*CYGWIN*|*MINGW*|*MSYS*)
|
||||||
|
if command -v cygpath > /dev/null 2>&1; then
|
||||||
|
basedir=`cygpath -w "$basedir"`
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ -x "$basedir/node" ]; then
|
||||||
|
exec "$basedir/node" "$basedir/../vite/bin/vite.js" "$@"
|
||||||
|
else
|
||||||
|
exec node "$basedir/../vite/bin/vite.js" "$@"
|
||||||
|
fi
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
@ECHO off
|
||||||
|
GOTO start
|
||||||
|
:find_dp0
|
||||||
|
SET dp0=%~dp0
|
||||||
|
EXIT /b
|
||||||
|
:start
|
||||||
|
SETLOCAL
|
||||||
|
CALL :find_dp0
|
||||||
|
|
||||||
|
IF EXIST "%dp0%\node.exe" (
|
||||||
|
SET "_prog=%dp0%\node.exe"
|
||||||
|
) ELSE (
|
||||||
|
SET "_prog=node"
|
||||||
|
SET PATHEXT=%PATHEXT:;.JS;=;%
|
||||||
|
)
|
||||||
|
|
||||||
|
endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\vite\bin\vite.js" %*
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
#!/usr/bin/env pwsh
|
||||||
|
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
|
||||||
|
|
||||||
|
$exe=""
|
||||||
|
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
|
||||||
|
# Fix case when both the Windows and Linux builds of Node
|
||||||
|
# are installed in the same directory
|
||||||
|
$exe=".exe"
|
||||||
|
}
|
||||||
|
$ret=0
|
||||||
|
if (Test-Path "$basedir/node$exe") {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "$basedir/node$exe" "$basedir/../vite/bin/vite.js" $args
|
||||||
|
} else {
|
||||||
|
& "$basedir/node$exe" "$basedir/../vite/bin/vite.js" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
} else {
|
||||||
|
# Support pipeline input
|
||||||
|
if ($MyInvocation.ExpectingInput) {
|
||||||
|
$input | & "node$exe" "$basedir/../vite/bin/vite.js" $args
|
||||||
|
} else {
|
||||||
|
& "node$exe" "$basedir/../vite/bin/vite.js" $args
|
||||||
|
}
|
||||||
|
$ret=$LASTEXITCODE
|
||||||
|
}
|
||||||
|
exit $ret
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1 @@
|
||||||
|
{"root":["../../src/app.tsx","../../src/main.tsx","../../src/components/layout.tsx","../../src/pages/home.tsx","../../src/pages/orderstatus.tsx","../../src/pages/pricing.tsx"],"version":"6.0.3"}
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
{"root":["../../vite.config.ts"],"version":"6.0.3"}
|
||||||
|
|
@ -0,0 +1,50 @@
|
||||||
|
{
|
||||||
|
"hash": "fa23b65a",
|
||||||
|
"configHash": "28851f7b",
|
||||||
|
"lockfileHash": "7a45176f",
|
||||||
|
"browserHash": "7632ce07",
|
||||||
|
"optimized": {
|
||||||
|
"react-dom": {
|
||||||
|
"src": "../../react-dom/index.js",
|
||||||
|
"file": "react-dom.js",
|
||||||
|
"fileHash": "2b837ef3",
|
||||||
|
"needsInterop": true
|
||||||
|
},
|
||||||
|
"react-dom/client": {
|
||||||
|
"src": "../../react-dom/client.js",
|
||||||
|
"file": "react-dom_client.js",
|
||||||
|
"fileHash": "6ef0c125",
|
||||||
|
"needsInterop": true
|
||||||
|
},
|
||||||
|
"react-router-dom": {
|
||||||
|
"src": "../../react-router-dom/dist/index.mjs",
|
||||||
|
"file": "react-router-dom.js",
|
||||||
|
"fileHash": "8b1a281d",
|
||||||
|
"needsInterop": false
|
||||||
|
},
|
||||||
|
"react": {
|
||||||
|
"src": "../../react/index.js",
|
||||||
|
"file": "react.js",
|
||||||
|
"fileHash": "aa5834b6",
|
||||||
|
"needsInterop": true
|
||||||
|
},
|
||||||
|
"react/jsx-dev-runtime": {
|
||||||
|
"src": "../../react/jsx-dev-runtime.js",
|
||||||
|
"file": "react_jsx-dev-runtime.js",
|
||||||
|
"fileHash": "38c01313",
|
||||||
|
"needsInterop": true
|
||||||
|
},
|
||||||
|
"react/jsx-runtime": {
|
||||||
|
"src": "../../react/jsx-runtime.js",
|
||||||
|
"file": "react_jsx-runtime.js",
|
||||||
|
"fileHash": "5f1d79f8",
|
||||||
|
"needsInterop": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chunks": {
|
||||||
|
"react-Ea1HnpA1": {
|
||||||
|
"file": "react-Ea1HnpA1.js",
|
||||||
|
"isDynamicEntry": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"type": "module"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,790 @@
|
||||||
|
//#region \0rolldown/runtime.js
|
||||||
|
var __create = Object.create;
|
||||||
|
var __defProp = Object.defineProperty;
|
||||||
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||||
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||||
|
var __getProtoOf = Object.getPrototypeOf;
|
||||||
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||||
|
var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
|
||||||
|
var __copyProps = (to, from, except, desc) => {
|
||||||
|
if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
||||||
|
key = keys[i];
|
||||||
|
if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
||||||
|
get: ((k) => from[k]).bind(null, key),
|
||||||
|
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return to;
|
||||||
|
};
|
||||||
|
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
||||||
|
value: mod,
|
||||||
|
enumerable: true
|
||||||
|
}) : target, mod));
|
||||||
|
//#endregion
|
||||||
|
//#region node_modules/react/cjs/react.development.js
|
||||||
|
/**
|
||||||
|
* @license React
|
||||||
|
* react.development.js
|
||||||
|
*
|
||||||
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the MIT license found in the
|
||||||
|
* LICENSE file in the root directory of this source tree.
|
||||||
|
*/
|
||||||
|
var require_react_development = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
||||||
|
(function() {
|
||||||
|
function defineDeprecationWarning(methodName, info) {
|
||||||
|
Object.defineProperty(Component.prototype, methodName, { get: function() {
|
||||||
|
console.warn("%s(...) is deprecated in plain JavaScript React classes. %s", info[0], info[1]);
|
||||||
|
} });
|
||||||
|
}
|
||||||
|
function getIteratorFn(maybeIterable) {
|
||||||
|
if (null === maybeIterable || "object" !== typeof maybeIterable) return null;
|
||||||
|
maybeIterable = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable["@@iterator"];
|
||||||
|
return "function" === typeof maybeIterable ? maybeIterable : null;
|
||||||
|
}
|
||||||
|
function warnNoop(publicInstance, callerName) {
|
||||||
|
publicInstance = (publicInstance = publicInstance.constructor) && (publicInstance.displayName || publicInstance.name) || "ReactClass";
|
||||||
|
var warningKey = publicInstance + "." + callerName;
|
||||||
|
didWarnStateUpdateForUnmountedComponent[warningKey] || (console.error("Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.", callerName, publicInstance), didWarnStateUpdateForUnmountedComponent[warningKey] = !0);
|
||||||
|
}
|
||||||
|
function Component(props, context, updater) {
|
||||||
|
this.props = props;
|
||||||
|
this.context = context;
|
||||||
|
this.refs = emptyObject;
|
||||||
|
this.updater = updater || ReactNoopUpdateQueue;
|
||||||
|
}
|
||||||
|
function ComponentDummy() {}
|
||||||
|
function PureComponent(props, context, updater) {
|
||||||
|
this.props = props;
|
||||||
|
this.context = context;
|
||||||
|
this.refs = emptyObject;
|
||||||
|
this.updater = updater || ReactNoopUpdateQueue;
|
||||||
|
}
|
||||||
|
function noop() {}
|
||||||
|
function testStringCoercion(value) {
|
||||||
|
return "" + value;
|
||||||
|
}
|
||||||
|
function checkKeyStringCoercion(value) {
|
||||||
|
try {
|
||||||
|
testStringCoercion(value);
|
||||||
|
var JSCompiler_inline_result = !1;
|
||||||
|
} catch (e) {
|
||||||
|
JSCompiler_inline_result = !0;
|
||||||
|
}
|
||||||
|
if (JSCompiler_inline_result) {
|
||||||
|
JSCompiler_inline_result = console;
|
||||||
|
var JSCompiler_temp_const = JSCompiler_inline_result.error;
|
||||||
|
var JSCompiler_inline_result$jscomp$0 = "function" === typeof Symbol && Symbol.toStringTag && value[Symbol.toStringTag] || value.constructor.name || "Object";
|
||||||
|
JSCompiler_temp_const.call(JSCompiler_inline_result, "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.", JSCompiler_inline_result$jscomp$0);
|
||||||
|
return testStringCoercion(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function getComponentNameFromType(type) {
|
||||||
|
if (null == type) return null;
|
||||||
|
if ("function" === typeof type) return type.$$typeof === REACT_CLIENT_REFERENCE ? null : type.displayName || type.name || null;
|
||||||
|
if ("string" === typeof type) return type;
|
||||||
|
switch (type) {
|
||||||
|
case REACT_FRAGMENT_TYPE: return "Fragment";
|
||||||
|
case REACT_PROFILER_TYPE: return "Profiler";
|
||||||
|
case REACT_STRICT_MODE_TYPE: return "StrictMode";
|
||||||
|
case REACT_SUSPENSE_TYPE: return "Suspense";
|
||||||
|
case REACT_SUSPENSE_LIST_TYPE: return "SuspenseList";
|
||||||
|
case REACT_ACTIVITY_TYPE: return "Activity";
|
||||||
|
}
|
||||||
|
if ("object" === typeof type) switch ("number" === typeof type.tag && console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), type.$$typeof) {
|
||||||
|
case REACT_PORTAL_TYPE: return "Portal";
|
||||||
|
case REACT_CONTEXT_TYPE: return type.displayName || "Context";
|
||||||
|
case REACT_CONSUMER_TYPE: return (type._context.displayName || "Context") + ".Consumer";
|
||||||
|
case REACT_FORWARD_REF_TYPE:
|
||||||
|
var innerType = type.render;
|
||||||
|
type = type.displayName;
|
||||||
|
type || (type = innerType.displayName || innerType.name || "", type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef");
|
||||||
|
return type;
|
||||||
|
case REACT_MEMO_TYPE: return innerType = type.displayName || null, null !== innerType ? innerType : getComponentNameFromType(type.type) || "Memo";
|
||||||
|
case REACT_LAZY_TYPE:
|
||||||
|
innerType = type._payload;
|
||||||
|
type = type._init;
|
||||||
|
try {
|
||||||
|
return getComponentNameFromType(type(innerType));
|
||||||
|
} catch (x) {}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
function getTaskName(type) {
|
||||||
|
if (type === REACT_FRAGMENT_TYPE) return "<>";
|
||||||
|
if ("object" === typeof type && null !== type && type.$$typeof === REACT_LAZY_TYPE) return "<...>";
|
||||||
|
try {
|
||||||
|
var name = getComponentNameFromType(type);
|
||||||
|
return name ? "<" + name + ">" : "<...>";
|
||||||
|
} catch (x) {
|
||||||
|
return "<...>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function getOwner() {
|
||||||
|
var dispatcher = ReactSharedInternals.A;
|
||||||
|
return null === dispatcher ? null : dispatcher.getOwner();
|
||||||
|
}
|
||||||
|
function UnknownOwner() {
|
||||||
|
return Error("react-stack-top-frame");
|
||||||
|
}
|
||||||
|
function hasValidKey(config) {
|
||||||
|
if (hasOwnProperty.call(config, "key")) {
|
||||||
|
var getter = Object.getOwnPropertyDescriptor(config, "key").get;
|
||||||
|
if (getter && getter.isReactWarning) return !1;
|
||||||
|
}
|
||||||
|
return void 0 !== config.key;
|
||||||
|
}
|
||||||
|
function defineKeyPropWarningGetter(props, displayName) {
|
||||||
|
function warnAboutAccessingKey() {
|
||||||
|
specialPropKeyWarningShown || (specialPropKeyWarningShown = !0, console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)", displayName));
|
||||||
|
}
|
||||||
|
warnAboutAccessingKey.isReactWarning = !0;
|
||||||
|
Object.defineProperty(props, "key", {
|
||||||
|
get: warnAboutAccessingKey,
|
||||||
|
configurable: !0
|
||||||
|
});
|
||||||
|
}
|
||||||
|
function elementRefGetterWithDeprecationWarning() {
|
||||||
|
var componentName = getComponentNameFromType(this.type);
|
||||||
|
didWarnAboutElementRef[componentName] || (didWarnAboutElementRef[componentName] = !0, console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."));
|
||||||
|
componentName = this.props.ref;
|
||||||
|
return void 0 !== componentName ? componentName : null;
|
||||||
|
}
|
||||||
|
function ReactElement(type, key, props, owner, debugStack, debugTask) {
|
||||||
|
var refProp = props.ref;
|
||||||
|
type = {
|
||||||
|
$$typeof: REACT_ELEMENT_TYPE,
|
||||||
|
type,
|
||||||
|
key,
|
||||||
|
props,
|
||||||
|
_owner: owner
|
||||||
|
};
|
||||||
|
null !== (void 0 !== refProp ? refProp : null) ? Object.defineProperty(type, "ref", {
|
||||||
|
enumerable: !1,
|
||||||
|
get: elementRefGetterWithDeprecationWarning
|
||||||
|
}) : Object.defineProperty(type, "ref", {
|
||||||
|
enumerable: !1,
|
||||||
|
value: null
|
||||||
|
});
|
||||||
|
type._store = {};
|
||||||
|
Object.defineProperty(type._store, "validated", {
|
||||||
|
configurable: !1,
|
||||||
|
enumerable: !1,
|
||||||
|
writable: !0,
|
||||||
|
value: 0
|
||||||
|
});
|
||||||
|
Object.defineProperty(type, "_debugInfo", {
|
||||||
|
configurable: !1,
|
||||||
|
enumerable: !1,
|
||||||
|
writable: !0,
|
||||||
|
value: null
|
||||||
|
});
|
||||||
|
Object.defineProperty(type, "_debugStack", {
|
||||||
|
configurable: !1,
|
||||||
|
enumerable: !1,
|
||||||
|
writable: !0,
|
||||||
|
value: debugStack
|
||||||
|
});
|
||||||
|
Object.defineProperty(type, "_debugTask", {
|
||||||
|
configurable: !1,
|
||||||
|
enumerable: !1,
|
||||||
|
writable: !0,
|
||||||
|
value: debugTask
|
||||||
|
});
|
||||||
|
Object.freeze && (Object.freeze(type.props), Object.freeze(type));
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
function cloneAndReplaceKey(oldElement, newKey) {
|
||||||
|
newKey = ReactElement(oldElement.type, newKey, oldElement.props, oldElement._owner, oldElement._debugStack, oldElement._debugTask);
|
||||||
|
oldElement._store && (newKey._store.validated = oldElement._store.validated);
|
||||||
|
return newKey;
|
||||||
|
}
|
||||||
|
function validateChildKeys(node) {
|
||||||
|
isValidElement(node) ? node._store && (node._store.validated = 1) : "object" === typeof node && null !== node && node.$$typeof === REACT_LAZY_TYPE && ("fulfilled" === node._payload.status ? isValidElement(node._payload.value) && node._payload.value._store && (node._payload.value._store.validated = 1) : node._store && (node._store.validated = 1));
|
||||||
|
}
|
||||||
|
function isValidElement(object) {
|
||||||
|
return "object" === typeof object && null !== object && object.$$typeof === REACT_ELEMENT_TYPE;
|
||||||
|
}
|
||||||
|
function escape(key) {
|
||||||
|
var escaperLookup = {
|
||||||
|
"=": "=0",
|
||||||
|
":": "=2"
|
||||||
|
};
|
||||||
|
return "$" + key.replace(/[=:]/g, function(match) {
|
||||||
|
return escaperLookup[match];
|
||||||
|
});
|
||||||
|
}
|
||||||
|
function getElementKey(element, index) {
|
||||||
|
return "object" === typeof element && null !== element && null != element.key ? (checkKeyStringCoercion(element.key), escape("" + element.key)) : index.toString(36);
|
||||||
|
}
|
||||||
|
function resolveThenable(thenable) {
|
||||||
|
switch (thenable.status) {
|
||||||
|
case "fulfilled": return thenable.value;
|
||||||
|
case "rejected": throw thenable.reason;
|
||||||
|
default: switch ("string" === typeof thenable.status ? thenable.then(noop, noop) : (thenable.status = "pending", thenable.then(function(fulfilledValue) {
|
||||||
|
"pending" === thenable.status && (thenable.status = "fulfilled", thenable.value = fulfilledValue);
|
||||||
|
}, function(error) {
|
||||||
|
"pending" === thenable.status && (thenable.status = "rejected", thenable.reason = error);
|
||||||
|
})), thenable.status) {
|
||||||
|
case "fulfilled": return thenable.value;
|
||||||
|
case "rejected": throw thenable.reason;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
throw thenable;
|
||||||
|
}
|
||||||
|
function mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {
|
||||||
|
var type = typeof children;
|
||||||
|
if ("undefined" === type || "boolean" === type) children = null;
|
||||||
|
var invokeCallback = !1;
|
||||||
|
if (null === children) invokeCallback = !0;
|
||||||
|
else switch (type) {
|
||||||
|
case "bigint":
|
||||||
|
case "string":
|
||||||
|
case "number":
|
||||||
|
invokeCallback = !0;
|
||||||
|
break;
|
||||||
|
case "object": switch (children.$$typeof) {
|
||||||
|
case REACT_ELEMENT_TYPE:
|
||||||
|
case REACT_PORTAL_TYPE:
|
||||||
|
invokeCallback = !0;
|
||||||
|
break;
|
||||||
|
case REACT_LAZY_TYPE: return invokeCallback = children._init, mapIntoArray(invokeCallback(children._payload), array, escapedPrefix, nameSoFar, callback);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (invokeCallback) {
|
||||||
|
invokeCallback = children;
|
||||||
|
callback = callback(invokeCallback);
|
||||||
|
var childKey = "" === nameSoFar ? "." + getElementKey(invokeCallback, 0) : nameSoFar;
|
||||||
|
isArrayImpl(callback) ? (escapedPrefix = "", null != childKey && (escapedPrefix = childKey.replace(userProvidedKeyEscapeRegex, "$&/") + "/"), mapIntoArray(callback, array, escapedPrefix, "", function(c) {
|
||||||
|
return c;
|
||||||
|
})) : null != callback && (isValidElement(callback) && (null != callback.key && (invokeCallback && invokeCallback.key === callback.key || checkKeyStringCoercion(callback.key)), escapedPrefix = cloneAndReplaceKey(callback, escapedPrefix + (null == callback.key || invokeCallback && invokeCallback.key === callback.key ? "" : ("" + callback.key).replace(userProvidedKeyEscapeRegex, "$&/") + "/") + childKey), "" !== nameSoFar && null != invokeCallback && isValidElement(invokeCallback) && null == invokeCallback.key && invokeCallback._store && !invokeCallback._store.validated && (escapedPrefix._store.validated = 2), callback = escapedPrefix), array.push(callback));
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
invokeCallback = 0;
|
||||||
|
childKey = "" === nameSoFar ? "." : nameSoFar + ":";
|
||||||
|
if (isArrayImpl(children)) for (var i = 0; i < children.length; i++) nameSoFar = children[i], type = childKey + getElementKey(nameSoFar, i), invokeCallback += mapIntoArray(nameSoFar, array, escapedPrefix, type, callback);
|
||||||
|
else if (i = getIteratorFn(children), "function" === typeof i) for (i === children.entries && (didWarnAboutMaps || console.warn("Using Maps as children is not supported. Use an array of keyed ReactElements instead."), didWarnAboutMaps = !0), children = i.call(children), i = 0; !(nameSoFar = children.next()).done;) nameSoFar = nameSoFar.value, type = childKey + getElementKey(nameSoFar, i++), invokeCallback += mapIntoArray(nameSoFar, array, escapedPrefix, type, callback);
|
||||||
|
else if ("object" === type) {
|
||||||
|
if ("function" === typeof children.then) return mapIntoArray(resolveThenable(children), array, escapedPrefix, nameSoFar, callback);
|
||||||
|
array = String(children);
|
||||||
|
throw Error("Objects are not valid as a React child (found: " + ("[object Object]" === array ? "object with keys {" + Object.keys(children).join(", ") + "}" : array) + "). If you meant to render a collection of children, use an array instead.");
|
||||||
|
}
|
||||||
|
return invokeCallback;
|
||||||
|
}
|
||||||
|
function mapChildren(children, func, context) {
|
||||||
|
if (null == children) return children;
|
||||||
|
var result = [], count = 0;
|
||||||
|
mapIntoArray(children, result, "", "", function(child) {
|
||||||
|
return func.call(context, child, count++);
|
||||||
|
});
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
function lazyInitializer(payload) {
|
||||||
|
if (-1 === payload._status) {
|
||||||
|
var ioInfo = payload._ioInfo;
|
||||||
|
null != ioInfo && (ioInfo.start = ioInfo.end = performance.now());
|
||||||
|
ioInfo = payload._result;
|
||||||
|
var thenable = ioInfo();
|
||||||
|
thenable.then(function(moduleObject) {
|
||||||
|
if (0 === payload._status || -1 === payload._status) {
|
||||||
|
payload._status = 1;
|
||||||
|
payload._result = moduleObject;
|
||||||
|
var _ioInfo = payload._ioInfo;
|
||||||
|
null != _ioInfo && (_ioInfo.end = performance.now());
|
||||||
|
void 0 === thenable.status && (thenable.status = "fulfilled", thenable.value = moduleObject);
|
||||||
|
}
|
||||||
|
}, function(error) {
|
||||||
|
if (0 === payload._status || -1 === payload._status) {
|
||||||
|
payload._status = 2;
|
||||||
|
payload._result = error;
|
||||||
|
var _ioInfo2 = payload._ioInfo;
|
||||||
|
null != _ioInfo2 && (_ioInfo2.end = performance.now());
|
||||||
|
void 0 === thenable.status && (thenable.status = "rejected", thenable.reason = error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
ioInfo = payload._ioInfo;
|
||||||
|
if (null != ioInfo) {
|
||||||
|
ioInfo.value = thenable;
|
||||||
|
var displayName = thenable.displayName;
|
||||||
|
"string" === typeof displayName && (ioInfo.name = displayName);
|
||||||
|
}
|
||||||
|
-1 === payload._status && (payload._status = 0, payload._result = thenable);
|
||||||
|
}
|
||||||
|
if (1 === payload._status) return ioInfo = payload._result, void 0 === ioInfo && console.error("lazy: Expected the result of a dynamic import() call. Instead received: %s\n\nYour code should look like: \n const MyComponent = lazy(() => import('./MyComponent'))\n\nDid you accidentally put curly braces around the import?", ioInfo), "default" in ioInfo || console.error("lazy: Expected the result of a dynamic import() call. Instead received: %s\n\nYour code should look like: \n const MyComponent = lazy(() => import('./MyComponent'))", ioInfo), ioInfo.default;
|
||||||
|
throw payload._result;
|
||||||
|
}
|
||||||
|
function resolveDispatcher() {
|
||||||
|
var dispatcher = ReactSharedInternals.H;
|
||||||
|
null === dispatcher && console.error("Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.");
|
||||||
|
return dispatcher;
|
||||||
|
}
|
||||||
|
function releaseAsyncTransition() {
|
||||||
|
ReactSharedInternals.asyncTransitions--;
|
||||||
|
}
|
||||||
|
function enqueueTask(task) {
|
||||||
|
if (null === enqueueTaskImpl) try {
|
||||||
|
var requireString = ("require" + Math.random()).slice(0, 7);
|
||||||
|
enqueueTaskImpl = (module && module[requireString]).call(module, "timers").setImmediate;
|
||||||
|
} catch (_err) {
|
||||||
|
enqueueTaskImpl = function(callback) {
|
||||||
|
!1 === didWarnAboutMessageChannel && (didWarnAboutMessageChannel = !0, "undefined" === typeof MessageChannel && console.error("This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning."));
|
||||||
|
var channel = new MessageChannel();
|
||||||
|
channel.port1.onmessage = callback;
|
||||||
|
channel.port2.postMessage(void 0);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return enqueueTaskImpl(task);
|
||||||
|
}
|
||||||
|
function aggregateErrors(errors) {
|
||||||
|
return 1 < errors.length && "function" === typeof AggregateError ? new AggregateError(errors) : errors[0];
|
||||||
|
}
|
||||||
|
function popActScope(prevActQueue, prevActScopeDepth) {
|
||||||
|
prevActScopeDepth !== actScopeDepth - 1 && console.error("You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. ");
|
||||||
|
actScopeDepth = prevActScopeDepth;
|
||||||
|
}
|
||||||
|
function recursivelyFlushAsyncActWork(returnValue, resolve, reject) {
|
||||||
|
var queue = ReactSharedInternals.actQueue;
|
||||||
|
if (null !== queue) if (0 !== queue.length) try {
|
||||||
|
flushActQueue(queue);
|
||||||
|
enqueueTask(function() {
|
||||||
|
return recursivelyFlushAsyncActWork(returnValue, resolve, reject);
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
} catch (error) {
|
||||||
|
ReactSharedInternals.thrownErrors.push(error);
|
||||||
|
}
|
||||||
|
else ReactSharedInternals.actQueue = null;
|
||||||
|
0 < ReactSharedInternals.thrownErrors.length ? (queue = aggregateErrors(ReactSharedInternals.thrownErrors), ReactSharedInternals.thrownErrors.length = 0, reject(queue)) : resolve(returnValue);
|
||||||
|
}
|
||||||
|
function flushActQueue(queue) {
|
||||||
|
if (!isFlushing) {
|
||||||
|
isFlushing = !0;
|
||||||
|
var i = 0;
|
||||||
|
try {
|
||||||
|
for (; i < queue.length; i++) {
|
||||||
|
var callback = queue[i];
|
||||||
|
do {
|
||||||
|
ReactSharedInternals.didUsePromise = !1;
|
||||||
|
var continuation = callback(!1);
|
||||||
|
if (null !== continuation) {
|
||||||
|
if (ReactSharedInternals.didUsePromise) {
|
||||||
|
queue[i] = callback;
|
||||||
|
queue.splice(0, i);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
callback = continuation;
|
||||||
|
} else break;
|
||||||
|
} while (1);
|
||||||
|
}
|
||||||
|
queue.length = 0;
|
||||||
|
} catch (error) {
|
||||||
|
queue.splice(0, i + 1), ReactSharedInternals.thrownErrors.push(error);
|
||||||
|
} finally {
|
||||||
|
isFlushing = !1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
|
||||||
|
var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler"), REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy"), REACT_ACTIVITY_TYPE = Symbol.for("react.activity"), MAYBE_ITERATOR_SYMBOL = Symbol.iterator, didWarnStateUpdateForUnmountedComponent = {}, ReactNoopUpdateQueue = {
|
||||||
|
isMounted: function() {
|
||||||
|
return !1;
|
||||||
|
},
|
||||||
|
enqueueForceUpdate: function(publicInstance) {
|
||||||
|
warnNoop(publicInstance, "forceUpdate");
|
||||||
|
},
|
||||||
|
enqueueReplaceState: function(publicInstance) {
|
||||||
|
warnNoop(publicInstance, "replaceState");
|
||||||
|
},
|
||||||
|
enqueueSetState: function(publicInstance) {
|
||||||
|
warnNoop(publicInstance, "setState");
|
||||||
|
}
|
||||||
|
}, assign = Object.assign, emptyObject = {};
|
||||||
|
Object.freeze(emptyObject);
|
||||||
|
Component.prototype.isReactComponent = {};
|
||||||
|
Component.prototype.setState = function(partialState, callback) {
|
||||||
|
if ("object" !== typeof partialState && "function" !== typeof partialState && null != partialState) throw Error("takes an object of state variables to update or a function which returns an object of state variables.");
|
||||||
|
this.updater.enqueueSetState(this, partialState, callback, "setState");
|
||||||
|
};
|
||||||
|
Component.prototype.forceUpdate = function(callback) {
|
||||||
|
this.updater.enqueueForceUpdate(this, callback, "forceUpdate");
|
||||||
|
};
|
||||||
|
var deprecatedAPIs = {
|
||||||
|
isMounted: ["isMounted", "Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks."],
|
||||||
|
replaceState: ["replaceState", "Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236)."]
|
||||||
|
};
|
||||||
|
for (fnName in deprecatedAPIs) deprecatedAPIs.hasOwnProperty(fnName) && defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);
|
||||||
|
ComponentDummy.prototype = Component.prototype;
|
||||||
|
deprecatedAPIs = PureComponent.prototype = new ComponentDummy();
|
||||||
|
deprecatedAPIs.constructor = PureComponent;
|
||||||
|
assign(deprecatedAPIs, Component.prototype);
|
||||||
|
deprecatedAPIs.isPureReactComponent = !0;
|
||||||
|
var isArrayImpl = Array.isArray, REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), ReactSharedInternals = {
|
||||||
|
H: null,
|
||||||
|
A: null,
|
||||||
|
T: null,
|
||||||
|
S: null,
|
||||||
|
actQueue: null,
|
||||||
|
asyncTransitions: 0,
|
||||||
|
isBatchingLegacy: !1,
|
||||||
|
didScheduleLegacyUpdate: !1,
|
||||||
|
didUsePromise: !1,
|
||||||
|
thrownErrors: [],
|
||||||
|
getCurrentStack: null,
|
||||||
|
recentlyCreatedOwnerStacks: 0
|
||||||
|
}, hasOwnProperty = Object.prototype.hasOwnProperty, createTask = console.createTask ? console.createTask : function() {
|
||||||
|
return null;
|
||||||
|
};
|
||||||
|
deprecatedAPIs = { react_stack_bottom_frame: function(callStackForError) {
|
||||||
|
return callStackForError();
|
||||||
|
} };
|
||||||
|
var specialPropKeyWarningShown, didWarnAboutOldJSXRuntime;
|
||||||
|
var didWarnAboutElementRef = {};
|
||||||
|
var unknownOwnerDebugStack = deprecatedAPIs.react_stack_bottom_frame.bind(deprecatedAPIs, UnknownOwner)();
|
||||||
|
var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));
|
||||||
|
var didWarnAboutMaps = !1, userProvidedKeyEscapeRegex = /\/+/g, reportGlobalError = "function" === typeof reportError ? reportError : function(error) {
|
||||||
|
if ("object" === typeof window && "function" === typeof window.ErrorEvent) {
|
||||||
|
var event = new window.ErrorEvent("error", {
|
||||||
|
bubbles: !0,
|
||||||
|
cancelable: !0,
|
||||||
|
message: "object" === typeof error && null !== error && "string" === typeof error.message ? String(error.message) : String(error),
|
||||||
|
error
|
||||||
|
});
|
||||||
|
if (!window.dispatchEvent(event)) return;
|
||||||
|
} else if ("object" === typeof process && "function" === typeof process.emit) {
|
||||||
|
process.emit("uncaughtException", error);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
console.error(error);
|
||||||
|
}, didWarnAboutMessageChannel = !1, enqueueTaskImpl = null, actScopeDepth = 0, didWarnNoAwaitAct = !1, isFlushing = !1, queueSeveralMicrotasks = "function" === typeof queueMicrotask ? function(callback) {
|
||||||
|
queueMicrotask(function() {
|
||||||
|
return queueMicrotask(callback);
|
||||||
|
});
|
||||||
|
} : enqueueTask;
|
||||||
|
deprecatedAPIs = Object.freeze({
|
||||||
|
__proto__: null,
|
||||||
|
c: function(size) {
|
||||||
|
return resolveDispatcher().useMemoCache(size);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
var fnName = {
|
||||||
|
map: mapChildren,
|
||||||
|
forEach: function(children, forEachFunc, forEachContext) {
|
||||||
|
mapChildren(children, function() {
|
||||||
|
forEachFunc.apply(this, arguments);
|
||||||
|
}, forEachContext);
|
||||||
|
},
|
||||||
|
count: function(children) {
|
||||||
|
var n = 0;
|
||||||
|
mapChildren(children, function() {
|
||||||
|
n++;
|
||||||
|
});
|
||||||
|
return n;
|
||||||
|
},
|
||||||
|
toArray: function(children) {
|
||||||
|
return mapChildren(children, function(child) {
|
||||||
|
return child;
|
||||||
|
}) || [];
|
||||||
|
},
|
||||||
|
only: function(children) {
|
||||||
|
if (!isValidElement(children)) throw Error("React.Children.only expected to receive a single React element child.");
|
||||||
|
return children;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.Activity = REACT_ACTIVITY_TYPE;
|
||||||
|
exports.Children = fnName;
|
||||||
|
exports.Component = Component;
|
||||||
|
exports.Fragment = REACT_FRAGMENT_TYPE;
|
||||||
|
exports.Profiler = REACT_PROFILER_TYPE;
|
||||||
|
exports.PureComponent = PureComponent;
|
||||||
|
exports.StrictMode = REACT_STRICT_MODE_TYPE;
|
||||||
|
exports.Suspense = REACT_SUSPENSE_TYPE;
|
||||||
|
exports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = ReactSharedInternals;
|
||||||
|
exports.__COMPILER_RUNTIME = deprecatedAPIs;
|
||||||
|
exports.act = function(callback) {
|
||||||
|
var prevActQueue = ReactSharedInternals.actQueue, prevActScopeDepth = actScopeDepth;
|
||||||
|
actScopeDepth++;
|
||||||
|
var queue = ReactSharedInternals.actQueue = null !== prevActQueue ? prevActQueue : [], didAwaitActCall = !1;
|
||||||
|
try {
|
||||||
|
var result = callback();
|
||||||
|
} catch (error) {
|
||||||
|
ReactSharedInternals.thrownErrors.push(error);
|
||||||
|
}
|
||||||
|
if (0 < ReactSharedInternals.thrownErrors.length) throw popActScope(prevActQueue, prevActScopeDepth), callback = aggregateErrors(ReactSharedInternals.thrownErrors), ReactSharedInternals.thrownErrors.length = 0, callback;
|
||||||
|
if (null !== result && "object" === typeof result && "function" === typeof result.then) {
|
||||||
|
var thenable = result;
|
||||||
|
queueSeveralMicrotasks(function() {
|
||||||
|
didAwaitActCall || didWarnNoAwaitAct || (didWarnNoAwaitAct = !0, console.error("You called act(async () => ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);"));
|
||||||
|
});
|
||||||
|
return { then: function(resolve, reject) {
|
||||||
|
didAwaitActCall = !0;
|
||||||
|
thenable.then(function(returnValue) {
|
||||||
|
popActScope(prevActQueue, prevActScopeDepth);
|
||||||
|
if (0 === prevActScopeDepth) {
|
||||||
|
try {
|
||||||
|
flushActQueue(queue), enqueueTask(function() {
|
||||||
|
return recursivelyFlushAsyncActWork(returnValue, resolve, reject);
|
||||||
|
});
|
||||||
|
} catch (error$0) {
|
||||||
|
ReactSharedInternals.thrownErrors.push(error$0);
|
||||||
|
}
|
||||||
|
if (0 < ReactSharedInternals.thrownErrors.length) {
|
||||||
|
var _thrownError = aggregateErrors(ReactSharedInternals.thrownErrors);
|
||||||
|
ReactSharedInternals.thrownErrors.length = 0;
|
||||||
|
reject(_thrownError);
|
||||||
|
}
|
||||||
|
} else resolve(returnValue);
|
||||||
|
}, function(error) {
|
||||||
|
popActScope(prevActQueue, prevActScopeDepth);
|
||||||
|
0 < ReactSharedInternals.thrownErrors.length ? (error = aggregateErrors(ReactSharedInternals.thrownErrors), ReactSharedInternals.thrownErrors.length = 0, reject(error)) : reject(error);
|
||||||
|
});
|
||||||
|
} };
|
||||||
|
}
|
||||||
|
var returnValue$jscomp$0 = result;
|
||||||
|
popActScope(prevActQueue, prevActScopeDepth);
|
||||||
|
0 === prevActScopeDepth && (flushActQueue(queue), 0 !== queue.length && queueSeveralMicrotasks(function() {
|
||||||
|
didAwaitActCall || didWarnNoAwaitAct || (didWarnNoAwaitAct = !0, console.error("A component suspended inside an `act` scope, but the `act` call was not awaited. When testing React components that depend on asynchronous data, you must await the result:\n\nawait act(() => ...)"));
|
||||||
|
}), ReactSharedInternals.actQueue = null);
|
||||||
|
if (0 < ReactSharedInternals.thrownErrors.length) throw callback = aggregateErrors(ReactSharedInternals.thrownErrors), ReactSharedInternals.thrownErrors.length = 0, callback;
|
||||||
|
return { then: function(resolve, reject) {
|
||||||
|
didAwaitActCall = !0;
|
||||||
|
0 === prevActScopeDepth ? (ReactSharedInternals.actQueue = queue, enqueueTask(function() {
|
||||||
|
return recursivelyFlushAsyncActWork(returnValue$jscomp$0, resolve, reject);
|
||||||
|
})) : resolve(returnValue$jscomp$0);
|
||||||
|
} };
|
||||||
|
};
|
||||||
|
exports.cache = function(fn) {
|
||||||
|
return function() {
|
||||||
|
return fn.apply(null, arguments);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
exports.cacheSignal = function() {
|
||||||
|
return null;
|
||||||
|
};
|
||||||
|
exports.captureOwnerStack = function() {
|
||||||
|
var getCurrentStack = ReactSharedInternals.getCurrentStack;
|
||||||
|
return null === getCurrentStack ? null : getCurrentStack();
|
||||||
|
};
|
||||||
|
exports.cloneElement = function(element, config, children) {
|
||||||
|
if (null === element || void 0 === element) throw Error("The argument must be a React element, but you passed " + element + ".");
|
||||||
|
var props = assign({}, element.props), key = element.key, owner = element._owner;
|
||||||
|
if (null != config) {
|
||||||
|
var JSCompiler_inline_result;
|
||||||
|
a: {
|
||||||
|
if (hasOwnProperty.call(config, "ref") && (JSCompiler_inline_result = Object.getOwnPropertyDescriptor(config, "ref").get) && JSCompiler_inline_result.isReactWarning) {
|
||||||
|
JSCompiler_inline_result = !1;
|
||||||
|
break a;
|
||||||
|
}
|
||||||
|
JSCompiler_inline_result = void 0 !== config.ref;
|
||||||
|
}
|
||||||
|
JSCompiler_inline_result && (owner = getOwner());
|
||||||
|
hasValidKey(config) && (checkKeyStringCoercion(config.key), key = "" + config.key);
|
||||||
|
for (propName in config) !hasOwnProperty.call(config, propName) || "key" === propName || "__self" === propName || "__source" === propName || "ref" === propName && void 0 === config.ref || (props[propName] = config[propName]);
|
||||||
|
}
|
||||||
|
var propName = arguments.length - 2;
|
||||||
|
if (1 === propName) props.children = children;
|
||||||
|
else if (1 < propName) {
|
||||||
|
JSCompiler_inline_result = Array(propName);
|
||||||
|
for (var i = 0; i < propName; i++) JSCompiler_inline_result[i] = arguments[i + 2];
|
||||||
|
props.children = JSCompiler_inline_result;
|
||||||
|
}
|
||||||
|
props = ReactElement(element.type, key, props, owner, element._debugStack, element._debugTask);
|
||||||
|
for (key = 2; key < arguments.length; key++) validateChildKeys(arguments[key]);
|
||||||
|
return props;
|
||||||
|
};
|
||||||
|
exports.createContext = function(defaultValue) {
|
||||||
|
defaultValue = {
|
||||||
|
$$typeof: REACT_CONTEXT_TYPE,
|
||||||
|
_currentValue: defaultValue,
|
||||||
|
_currentValue2: defaultValue,
|
||||||
|
_threadCount: 0,
|
||||||
|
Provider: null,
|
||||||
|
Consumer: null
|
||||||
|
};
|
||||||
|
defaultValue.Provider = defaultValue;
|
||||||
|
defaultValue.Consumer = {
|
||||||
|
$$typeof: REACT_CONSUMER_TYPE,
|
||||||
|
_context: defaultValue
|
||||||
|
};
|
||||||
|
defaultValue._currentRenderer = null;
|
||||||
|
defaultValue._currentRenderer2 = null;
|
||||||
|
return defaultValue;
|
||||||
|
};
|
||||||
|
exports.createElement = function(type, config, children) {
|
||||||
|
for (var i = 2; i < arguments.length; i++) validateChildKeys(arguments[i]);
|
||||||
|
i = {};
|
||||||
|
var key = null;
|
||||||
|
if (null != config) for (propName in didWarnAboutOldJSXRuntime || !("__self" in config) || "key" in config || (didWarnAboutOldJSXRuntime = !0, console.warn("Your app (or one of its dependencies) is using an outdated JSX transform. Update to the modern JSX transform for faster performance: https://react.dev/link/new-jsx-transform")), hasValidKey(config) && (checkKeyStringCoercion(config.key), key = "" + config.key), config) hasOwnProperty.call(config, propName) && "key" !== propName && "__self" !== propName && "__source" !== propName && (i[propName] = config[propName]);
|
||||||
|
var childrenLength = arguments.length - 2;
|
||||||
|
if (1 === childrenLength) i.children = children;
|
||||||
|
else if (1 < childrenLength) {
|
||||||
|
for (var childArray = Array(childrenLength), _i = 0; _i < childrenLength; _i++) childArray[_i] = arguments[_i + 2];
|
||||||
|
Object.freeze && Object.freeze(childArray);
|
||||||
|
i.children = childArray;
|
||||||
|
}
|
||||||
|
if (type && type.defaultProps) for (propName in childrenLength = type.defaultProps, childrenLength) void 0 === i[propName] && (i[propName] = childrenLength[propName]);
|
||||||
|
key && defineKeyPropWarningGetter(i, "function" === typeof type ? type.displayName || type.name || "Unknown" : type);
|
||||||
|
var propName = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;
|
||||||
|
return ReactElement(type, key, i, getOwner(), propName ? Error("react-stack-top-frame") : unknownOwnerDebugStack, propName ? createTask(getTaskName(type)) : unknownOwnerDebugTask);
|
||||||
|
};
|
||||||
|
exports.createRef = function() {
|
||||||
|
var refObject = { current: null };
|
||||||
|
Object.seal(refObject);
|
||||||
|
return refObject;
|
||||||
|
};
|
||||||
|
exports.forwardRef = function(render) {
|
||||||
|
null != render && render.$$typeof === REACT_MEMO_TYPE ? console.error("forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...)).") : "function" !== typeof render ? console.error("forwardRef requires a render function but was given %s.", null === render ? "null" : typeof render) : 0 !== render.length && 2 !== render.length && console.error("forwardRef render functions accept exactly two parameters: props and ref. %s", 1 === render.length ? "Did you forget to use the ref parameter?" : "Any additional parameter will be undefined.");
|
||||||
|
null != render && null != render.defaultProps && console.error("forwardRef render functions do not support defaultProps. Did you accidentally pass a React component?");
|
||||||
|
var elementType = {
|
||||||
|
$$typeof: REACT_FORWARD_REF_TYPE,
|
||||||
|
render
|
||||||
|
}, ownName;
|
||||||
|
Object.defineProperty(elementType, "displayName", {
|
||||||
|
enumerable: !1,
|
||||||
|
configurable: !0,
|
||||||
|
get: function() {
|
||||||
|
return ownName;
|
||||||
|
},
|
||||||
|
set: function(name) {
|
||||||
|
ownName = name;
|
||||||
|
render.name || render.displayName || (Object.defineProperty(render, "name", { value: name }), render.displayName = name);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return elementType;
|
||||||
|
};
|
||||||
|
exports.isValidElement = isValidElement;
|
||||||
|
exports.lazy = function(ctor) {
|
||||||
|
ctor = {
|
||||||
|
_status: -1,
|
||||||
|
_result: ctor
|
||||||
|
};
|
||||||
|
var lazyType = {
|
||||||
|
$$typeof: REACT_LAZY_TYPE,
|
||||||
|
_payload: ctor,
|
||||||
|
_init: lazyInitializer
|
||||||
|
}, ioInfo = {
|
||||||
|
name: "lazy",
|
||||||
|
start: -1,
|
||||||
|
end: -1,
|
||||||
|
value: null,
|
||||||
|
owner: null,
|
||||||
|
debugStack: Error("react-stack-top-frame"),
|
||||||
|
debugTask: console.createTask ? console.createTask("lazy()") : null
|
||||||
|
};
|
||||||
|
ctor._ioInfo = ioInfo;
|
||||||
|
lazyType._debugInfo = [{ awaited: ioInfo }];
|
||||||
|
return lazyType;
|
||||||
|
};
|
||||||
|
exports.memo = function(type, compare) {
|
||||||
|
type ?? console.error("memo: The first argument must be a component. Instead received: %s", null === type ? "null" : typeof type);
|
||||||
|
compare = {
|
||||||
|
$$typeof: REACT_MEMO_TYPE,
|
||||||
|
type,
|
||||||
|
compare: void 0 === compare ? null : compare
|
||||||
|
};
|
||||||
|
var ownName;
|
||||||
|
Object.defineProperty(compare, "displayName", {
|
||||||
|
enumerable: !1,
|
||||||
|
configurable: !0,
|
||||||
|
get: function() {
|
||||||
|
return ownName;
|
||||||
|
},
|
||||||
|
set: function(name) {
|
||||||
|
ownName = name;
|
||||||
|
type.name || type.displayName || (Object.defineProperty(type, "name", { value: name }), type.displayName = name);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return compare;
|
||||||
|
};
|
||||||
|
exports.startTransition = function(scope) {
|
||||||
|
var prevTransition = ReactSharedInternals.T, currentTransition = {};
|
||||||
|
currentTransition._updatedFibers = /* @__PURE__ */ new Set();
|
||||||
|
ReactSharedInternals.T = currentTransition;
|
||||||
|
try {
|
||||||
|
var returnValue = scope(), onStartTransitionFinish = ReactSharedInternals.S;
|
||||||
|
null !== onStartTransitionFinish && onStartTransitionFinish(currentTransition, returnValue);
|
||||||
|
"object" === typeof returnValue && null !== returnValue && "function" === typeof returnValue.then && (ReactSharedInternals.asyncTransitions++, returnValue.then(releaseAsyncTransition, releaseAsyncTransition), returnValue.then(noop, reportGlobalError));
|
||||||
|
} catch (error) {
|
||||||
|
reportGlobalError(error);
|
||||||
|
} finally {
|
||||||
|
null === prevTransition && currentTransition._updatedFibers && (scope = currentTransition._updatedFibers.size, currentTransition._updatedFibers.clear(), 10 < scope && console.warn("Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table.")), null !== prevTransition && null !== currentTransition.types && (null !== prevTransition.types && prevTransition.types !== currentTransition.types && console.error("We expected inner Transitions to have transferred the outer types set and that you cannot add to the outer Transition while inside the inner.This is a bug in React."), prevTransition.types = currentTransition.types), ReactSharedInternals.T = prevTransition;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.unstable_useCacheRefresh = function() {
|
||||||
|
return resolveDispatcher().useCacheRefresh();
|
||||||
|
};
|
||||||
|
exports.use = function(usable) {
|
||||||
|
return resolveDispatcher().use(usable);
|
||||||
|
};
|
||||||
|
exports.useActionState = function(action, initialState, permalink) {
|
||||||
|
return resolveDispatcher().useActionState(action, initialState, permalink);
|
||||||
|
};
|
||||||
|
exports.useCallback = function(callback, deps) {
|
||||||
|
return resolveDispatcher().useCallback(callback, deps);
|
||||||
|
};
|
||||||
|
exports.useContext = function(Context) {
|
||||||
|
var dispatcher = resolveDispatcher();
|
||||||
|
Context.$$typeof === REACT_CONSUMER_TYPE && console.error("Calling useContext(Context.Consumer) is not supported and will cause bugs. Did you mean to call useContext(Context) instead?");
|
||||||
|
return dispatcher.useContext(Context);
|
||||||
|
};
|
||||||
|
exports.useDebugValue = function(value, formatterFn) {
|
||||||
|
return resolveDispatcher().useDebugValue(value, formatterFn);
|
||||||
|
};
|
||||||
|
exports.useDeferredValue = function(value, initialValue) {
|
||||||
|
return resolveDispatcher().useDeferredValue(value, initialValue);
|
||||||
|
};
|
||||||
|
exports.useEffect = function(create, deps) {
|
||||||
|
create ?? console.warn("React Hook useEffect requires an effect callback. Did you forget to pass a callback to the hook?");
|
||||||
|
return resolveDispatcher().useEffect(create, deps);
|
||||||
|
};
|
||||||
|
exports.useEffectEvent = function(callback) {
|
||||||
|
return resolveDispatcher().useEffectEvent(callback);
|
||||||
|
};
|
||||||
|
exports.useId = function() {
|
||||||
|
return resolveDispatcher().useId();
|
||||||
|
};
|
||||||
|
exports.useImperativeHandle = function(ref, create, deps) {
|
||||||
|
return resolveDispatcher().useImperativeHandle(ref, create, deps);
|
||||||
|
};
|
||||||
|
exports.useInsertionEffect = function(create, deps) {
|
||||||
|
create ?? console.warn("React Hook useInsertionEffect requires an effect callback. Did you forget to pass a callback to the hook?");
|
||||||
|
return resolveDispatcher().useInsertionEffect(create, deps);
|
||||||
|
};
|
||||||
|
exports.useLayoutEffect = function(create, deps) {
|
||||||
|
create ?? console.warn("React Hook useLayoutEffect requires an effect callback. Did you forget to pass a callback to the hook?");
|
||||||
|
return resolveDispatcher().useLayoutEffect(create, deps);
|
||||||
|
};
|
||||||
|
exports.useMemo = function(create, deps) {
|
||||||
|
return resolveDispatcher().useMemo(create, deps);
|
||||||
|
};
|
||||||
|
exports.useOptimistic = function(passthrough, reducer) {
|
||||||
|
return resolveDispatcher().useOptimistic(passthrough, reducer);
|
||||||
|
};
|
||||||
|
exports.useReducer = function(reducer, initialArg, init) {
|
||||||
|
return resolveDispatcher().useReducer(reducer, initialArg, init);
|
||||||
|
};
|
||||||
|
exports.useRef = function(initialValue) {
|
||||||
|
return resolveDispatcher().useRef(initialValue);
|
||||||
|
};
|
||||||
|
exports.useState = function(initialState) {
|
||||||
|
return resolveDispatcher().useState(initialState);
|
||||||
|
};
|
||||||
|
exports.useSyncExternalStore = function(subscribe, getSnapshot, getServerSnapshot) {
|
||||||
|
return resolveDispatcher().useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);
|
||||||
|
};
|
||||||
|
exports.useTransition = function() {
|
||||||
|
return resolveDispatcher().useTransition();
|
||||||
|
};
|
||||||
|
exports.version = "19.2.7";
|
||||||
|
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
|
||||||
|
})();
|
||||||
|
}));
|
||||||
|
//#endregion
|
||||||
|
//#region node_modules/react/index.js
|
||||||
|
var require_react = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
||||||
|
module.exports = require_react_development();
|
||||||
|
}));
|
||||||
|
//#endregion
|
||||||
|
export { __commonJSMin as n, __toESM as r, require_react as t };
|
||||||
|
|
||||||
|
//# sourceMappingURL=react-Ea1HnpA1.js.map
|
||||||
1
ostp-license/frontend/node_modules/.vite/deps/react-Ea1HnpA1.js.map
generated
vendored
Normal file
1
ostp-license/frontend/node_modules/.vite/deps/react-Ea1HnpA1.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,185 @@
|
||||||
|
import { n as __commonJSMin, t as require_react } from "./react-Ea1HnpA1.js";
|
||||||
|
//#region node_modules/react-dom/cjs/react-dom.development.js
|
||||||
|
/**
|
||||||
|
* @license React
|
||||||
|
* react-dom.development.js
|
||||||
|
*
|
||||||
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the MIT license found in the
|
||||||
|
* LICENSE file in the root directory of this source tree.
|
||||||
|
*/
|
||||||
|
var require_react_dom_development = /* @__PURE__ */ __commonJSMin(((exports) => {
|
||||||
|
(function() {
|
||||||
|
function noop() {}
|
||||||
|
function testStringCoercion(value) {
|
||||||
|
return "" + value;
|
||||||
|
}
|
||||||
|
function createPortal$1(children, containerInfo, implementation) {
|
||||||
|
var key = 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null;
|
||||||
|
try {
|
||||||
|
testStringCoercion(key);
|
||||||
|
var JSCompiler_inline_result = !1;
|
||||||
|
} catch (e) {
|
||||||
|
JSCompiler_inline_result = !0;
|
||||||
|
}
|
||||||
|
JSCompiler_inline_result && (console.error("The provided key is an unsupported type %s. This value must be coerced to a string before using it here.", "function" === typeof Symbol && Symbol.toStringTag && key[Symbol.toStringTag] || key.constructor.name || "Object"), testStringCoercion(key));
|
||||||
|
return {
|
||||||
|
$$typeof: REACT_PORTAL_TYPE,
|
||||||
|
key: null == key ? null : "" + key,
|
||||||
|
children,
|
||||||
|
containerInfo,
|
||||||
|
implementation
|
||||||
|
};
|
||||||
|
}
|
||||||
|
function getCrossOriginStringAs(as, input) {
|
||||||
|
if ("font" === as) return "";
|
||||||
|
if ("string" === typeof input) return "use-credentials" === input ? input : "";
|
||||||
|
}
|
||||||
|
function getValueDescriptorExpectingObjectForWarning(thing) {
|
||||||
|
return null === thing ? "`null`" : void 0 === thing ? "`undefined`" : "" === thing ? "an empty string" : "something with type \"" + typeof thing + "\"";
|
||||||
|
}
|
||||||
|
function getValueDescriptorExpectingEnumForWarning(thing) {
|
||||||
|
return null === thing ? "`null`" : void 0 === thing ? "`undefined`" : "" === thing ? "an empty string" : "string" === typeof thing ? JSON.stringify(thing) : "number" === typeof thing ? "`" + thing + "`" : "something with type \"" + typeof thing + "\"";
|
||||||
|
}
|
||||||
|
function resolveDispatcher() {
|
||||||
|
var dispatcher = ReactSharedInternals.H;
|
||||||
|
null === dispatcher && console.error("Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.");
|
||||||
|
return dispatcher;
|
||||||
|
}
|
||||||
|
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
|
||||||
|
var React = require_react(), Internals = {
|
||||||
|
d: {
|
||||||
|
f: noop,
|
||||||
|
r: function() {
|
||||||
|
throw Error("Invalid form element. requestFormReset must be passed a form that was rendered by React.");
|
||||||
|
},
|
||||||
|
D: noop,
|
||||||
|
C: noop,
|
||||||
|
L: noop,
|
||||||
|
m: noop,
|
||||||
|
X: noop,
|
||||||
|
S: noop,
|
||||||
|
M: noop
|
||||||
|
},
|
||||||
|
p: 0,
|
||||||
|
findDOMNode: null
|
||||||
|
}, REACT_PORTAL_TYPE = Symbol.for("react.portal"), ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;
|
||||||
|
"function" === typeof Map && null != Map.prototype && "function" === typeof Map.prototype.forEach && "function" === typeof Set && null != Set.prototype && "function" === typeof Set.prototype.clear && "function" === typeof Set.prototype.forEach || console.error("React depends on Map and Set built-in types. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills");
|
||||||
|
exports.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = Internals;
|
||||||
|
exports.createPortal = function(children, container) {
|
||||||
|
var key = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null;
|
||||||
|
if (!container || 1 !== container.nodeType && 9 !== container.nodeType && 11 !== container.nodeType) throw Error("Target container is not a DOM element.");
|
||||||
|
return createPortal$1(children, container, null, key);
|
||||||
|
};
|
||||||
|
exports.flushSync = function(fn) {
|
||||||
|
var previousTransition = ReactSharedInternals.T, previousUpdatePriority = Internals.p;
|
||||||
|
try {
|
||||||
|
if (ReactSharedInternals.T = null, Internals.p = 2, fn) return fn();
|
||||||
|
} finally {
|
||||||
|
ReactSharedInternals.T = previousTransition, Internals.p = previousUpdatePriority, Internals.d.f() && console.error("flushSync was called from inside a lifecycle method. React cannot flush when React is already rendering. Consider moving this call to a scheduler task or micro task.");
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.preconnect = function(href, options) {
|
||||||
|
"string" === typeof href && href ? null != options && "object" !== typeof options ? console.error("ReactDOM.preconnect(): Expected the `options` argument (second) to be an object but encountered %s instead. The only supported option at this time is `crossOrigin` which accepts a string.", getValueDescriptorExpectingEnumForWarning(options)) : null != options && "string" !== typeof options.crossOrigin && console.error("ReactDOM.preconnect(): Expected the `crossOrigin` option (second argument) to be a string but encountered %s instead. Try removing this option or passing a string value instead.", getValueDescriptorExpectingObjectForWarning(options.crossOrigin)) : console.error("ReactDOM.preconnect(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.", getValueDescriptorExpectingObjectForWarning(href));
|
||||||
|
"string" === typeof href && (options ? (options = options.crossOrigin, options = "string" === typeof options ? "use-credentials" === options ? options : "" : void 0) : options = null, Internals.d.C(href, options));
|
||||||
|
};
|
||||||
|
exports.prefetchDNS = function(href) {
|
||||||
|
if ("string" !== typeof href || !href) console.error("ReactDOM.prefetchDNS(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.", getValueDescriptorExpectingObjectForWarning(href));
|
||||||
|
else if (1 < arguments.length) {
|
||||||
|
var options = arguments[1];
|
||||||
|
"object" === typeof options && options.hasOwnProperty("crossOrigin") ? console.error("ReactDOM.prefetchDNS(): Expected only one argument, `href`, but encountered %s as a second argument instead. This argument is reserved for future options and is currently disallowed. It looks like the you are attempting to set a crossOrigin property for this DNS lookup hint. Browsers do not perform DNS queries using CORS and setting this attribute on the resource hint has no effect. Try calling ReactDOM.prefetchDNS() with just a single string argument, `href`.", getValueDescriptorExpectingEnumForWarning(options)) : console.error("ReactDOM.prefetchDNS(): Expected only one argument, `href`, but encountered %s as a second argument instead. This argument is reserved for future options and is currently disallowed. Try calling ReactDOM.prefetchDNS() with just a single string argument, `href`.", getValueDescriptorExpectingEnumForWarning(options));
|
||||||
|
}
|
||||||
|
"string" === typeof href && Internals.d.D(href);
|
||||||
|
};
|
||||||
|
exports.preinit = function(href, options) {
|
||||||
|
"string" === typeof href && href ? null == options || "object" !== typeof options ? console.error("ReactDOM.preinit(): Expected the `options` argument (second) to be an object with an `as` property describing the type of resource to be preinitialized but encountered %s instead.", getValueDescriptorExpectingEnumForWarning(options)) : "style" !== options.as && "script" !== options.as && console.error("ReactDOM.preinit(): Expected the `as` property in the `options` argument (second) to contain a valid value describing the type of resource to be preinitialized but encountered %s instead. Valid values for `as` are \"style\" and \"script\".", getValueDescriptorExpectingEnumForWarning(options.as)) : console.error("ReactDOM.preinit(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.", getValueDescriptorExpectingObjectForWarning(href));
|
||||||
|
if ("string" === typeof href && options && "string" === typeof options.as) {
|
||||||
|
var as = options.as, crossOrigin = getCrossOriginStringAs(as, options.crossOrigin), integrity = "string" === typeof options.integrity ? options.integrity : void 0, fetchPriority = "string" === typeof options.fetchPriority ? options.fetchPriority : void 0;
|
||||||
|
"style" === as ? Internals.d.S(href, "string" === typeof options.precedence ? options.precedence : void 0, {
|
||||||
|
crossOrigin,
|
||||||
|
integrity,
|
||||||
|
fetchPriority
|
||||||
|
}) : "script" === as && Internals.d.X(href, {
|
||||||
|
crossOrigin,
|
||||||
|
integrity,
|
||||||
|
fetchPriority,
|
||||||
|
nonce: "string" === typeof options.nonce ? options.nonce : void 0
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.preinitModule = function(href, options) {
|
||||||
|
var encountered = "";
|
||||||
|
"string" === typeof href && href || (encountered += " The `href` argument encountered was " + getValueDescriptorExpectingObjectForWarning(href) + ".");
|
||||||
|
void 0 !== options && "object" !== typeof options ? encountered += " The `options` argument encountered was " + getValueDescriptorExpectingObjectForWarning(options) + "." : options && "as" in options && "script" !== options.as && (encountered += " The `as` option encountered was " + getValueDescriptorExpectingEnumForWarning(options.as) + ".");
|
||||||
|
if (encountered) console.error("ReactDOM.preinitModule(): Expected up to two arguments, a non-empty `href` string and, optionally, an `options` object with a valid `as` property.%s", encountered);
|
||||||
|
else switch (encountered = options && "string" === typeof options.as ? options.as : "script", encountered) {
|
||||||
|
case "script": break;
|
||||||
|
default: encountered = getValueDescriptorExpectingEnumForWarning(encountered), console.error("ReactDOM.preinitModule(): Currently the only supported \"as\" type for this function is \"script\" but received \"%s\" instead. This warning was generated for `href` \"%s\". In the future other module types will be supported, aligning with the import-attributes proposal. Learn more here: (https://github.com/tc39/proposal-import-attributes)", encountered, href);
|
||||||
|
}
|
||||||
|
if ("string" === typeof href) if ("object" === typeof options && null !== options) {
|
||||||
|
if (null == options.as || "script" === options.as) encountered = getCrossOriginStringAs(options.as, options.crossOrigin), Internals.d.M(href, {
|
||||||
|
crossOrigin: encountered,
|
||||||
|
integrity: "string" === typeof options.integrity ? options.integrity : void 0,
|
||||||
|
nonce: "string" === typeof options.nonce ? options.nonce : void 0
|
||||||
|
});
|
||||||
|
} else options ?? Internals.d.M(href);
|
||||||
|
};
|
||||||
|
exports.preload = function(href, options) {
|
||||||
|
var encountered = "";
|
||||||
|
"string" === typeof href && href || (encountered += " The `href` argument encountered was " + getValueDescriptorExpectingObjectForWarning(href) + ".");
|
||||||
|
null == options || "object" !== typeof options ? encountered += " The `options` argument encountered was " + getValueDescriptorExpectingObjectForWarning(options) + "." : "string" === typeof options.as && options.as || (encountered += " The `as` option encountered was " + getValueDescriptorExpectingObjectForWarning(options.as) + ".");
|
||||||
|
encountered && console.error("ReactDOM.preload(): Expected two arguments, a non-empty `href` string and an `options` object with an `as` property valid for a `<link rel=\"preload\" as=\"...\" />` tag.%s", encountered);
|
||||||
|
if ("string" === typeof href && "object" === typeof options && null !== options && "string" === typeof options.as) {
|
||||||
|
encountered = options.as;
|
||||||
|
var crossOrigin = getCrossOriginStringAs(encountered, options.crossOrigin);
|
||||||
|
Internals.d.L(href, encountered, {
|
||||||
|
crossOrigin,
|
||||||
|
integrity: "string" === typeof options.integrity ? options.integrity : void 0,
|
||||||
|
nonce: "string" === typeof options.nonce ? options.nonce : void 0,
|
||||||
|
type: "string" === typeof options.type ? options.type : void 0,
|
||||||
|
fetchPriority: "string" === typeof options.fetchPriority ? options.fetchPriority : void 0,
|
||||||
|
referrerPolicy: "string" === typeof options.referrerPolicy ? options.referrerPolicy : void 0,
|
||||||
|
imageSrcSet: "string" === typeof options.imageSrcSet ? options.imageSrcSet : void 0,
|
||||||
|
imageSizes: "string" === typeof options.imageSizes ? options.imageSizes : void 0,
|
||||||
|
media: "string" === typeof options.media ? options.media : void 0
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.preloadModule = function(href, options) {
|
||||||
|
var encountered = "";
|
||||||
|
"string" === typeof href && href || (encountered += " The `href` argument encountered was " + getValueDescriptorExpectingObjectForWarning(href) + ".");
|
||||||
|
void 0 !== options && "object" !== typeof options ? encountered += " The `options` argument encountered was " + getValueDescriptorExpectingObjectForWarning(options) + "." : options && "as" in options && "string" !== typeof options.as && (encountered += " The `as` option encountered was " + getValueDescriptorExpectingObjectForWarning(options.as) + ".");
|
||||||
|
encountered && console.error("ReactDOM.preloadModule(): Expected two arguments, a non-empty `href` string and, optionally, an `options` object with an `as` property valid for a `<link rel=\"modulepreload\" as=\"...\" />` tag.%s", encountered);
|
||||||
|
"string" === typeof href && (options ? (encountered = getCrossOriginStringAs(options.as, options.crossOrigin), Internals.d.m(href, {
|
||||||
|
as: "string" === typeof options.as && "script" !== options.as ? options.as : void 0,
|
||||||
|
crossOrigin: encountered,
|
||||||
|
integrity: "string" === typeof options.integrity ? options.integrity : void 0
|
||||||
|
})) : Internals.d.m(href));
|
||||||
|
};
|
||||||
|
exports.requestFormReset = function(form) {
|
||||||
|
Internals.d.r(form);
|
||||||
|
};
|
||||||
|
exports.unstable_batchedUpdates = function(fn, a) {
|
||||||
|
return fn(a);
|
||||||
|
};
|
||||||
|
exports.useFormState = function(action, initialState, permalink) {
|
||||||
|
return resolveDispatcher().useFormState(action, initialState, permalink);
|
||||||
|
};
|
||||||
|
exports.useFormStatus = function() {
|
||||||
|
return resolveDispatcher().useHostTransitionStatus();
|
||||||
|
};
|
||||||
|
exports.version = "19.2.7";
|
||||||
|
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
|
||||||
|
})();
|
||||||
|
}));
|
||||||
|
//#endregion
|
||||||
|
//#region node_modules/react-dom/index.js
|
||||||
|
var require_react_dom = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
||||||
|
module.exports = require_react_dom_development();
|
||||||
|
}));
|
||||||
|
//#endregion
|
||||||
|
export default require_react_dom();
|
||||||
|
export { require_react_dom as t };
|
||||||
|
|
||||||
|
//# sourceMappingURL=react-dom.js.map
|
||||||
File diff suppressed because one or more lines are too long
14384
ostp-license/frontend/node_modules/.vite/deps/react-dom_client.js
generated
vendored
Normal file
14384
ostp-license/frontend/node_modules/.vite/deps/react-dom_client.js
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1
ostp-license/frontend/node_modules/.vite/deps/react-dom_client.js.map
generated
vendored
Normal file
1
ostp-license/frontend/node_modules/.vite/deps/react-dom_client.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
10181
ostp-license/frontend/node_modules/.vite/deps/react-router-dom.js
generated
vendored
Normal file
10181
ostp-license/frontend/node_modules/.vite/deps/react-router-dom.js
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1
ostp-license/frontend/node_modules/.vite/deps/react-router-dom.js.map
generated
vendored
Normal file
1
ostp-license/frontend/node_modules/.vite/deps/react-router-dom.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,2 @@
|
||||||
|
import { t as require_react } from "./react-Ea1HnpA1.js";
|
||||||
|
export default require_react();
|
||||||
204
ostp-license/frontend/node_modules/.vite/deps/react_jsx-dev-runtime.js
generated
vendored
Normal file
204
ostp-license/frontend/node_modules/.vite/deps/react_jsx-dev-runtime.js
generated
vendored
Normal file
|
|
@ -0,0 +1,204 @@
|
||||||
|
import { n as __commonJSMin, t as require_react } from "./react-Ea1HnpA1.js";
|
||||||
|
//#region node_modules/react/cjs/react-jsx-dev-runtime.development.js
|
||||||
|
/**
|
||||||
|
* @license React
|
||||||
|
* react-jsx-dev-runtime.development.js
|
||||||
|
*
|
||||||
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the MIT license found in the
|
||||||
|
* LICENSE file in the root directory of this source tree.
|
||||||
|
*/
|
||||||
|
var require_react_jsx_dev_runtime_development = /* @__PURE__ */ __commonJSMin(((exports) => {
|
||||||
|
(function() {
|
||||||
|
function getComponentNameFromType(type) {
|
||||||
|
if (null == type) return null;
|
||||||
|
if ("function" === typeof type) return type.$$typeof === REACT_CLIENT_REFERENCE ? null : type.displayName || type.name || null;
|
||||||
|
if ("string" === typeof type) return type;
|
||||||
|
switch (type) {
|
||||||
|
case REACT_FRAGMENT_TYPE: return "Fragment";
|
||||||
|
case REACT_PROFILER_TYPE: return "Profiler";
|
||||||
|
case REACT_STRICT_MODE_TYPE: return "StrictMode";
|
||||||
|
case REACT_SUSPENSE_TYPE: return "Suspense";
|
||||||
|
case REACT_SUSPENSE_LIST_TYPE: return "SuspenseList";
|
||||||
|
case REACT_ACTIVITY_TYPE: return "Activity";
|
||||||
|
}
|
||||||
|
if ("object" === typeof type) switch ("number" === typeof type.tag && console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), type.$$typeof) {
|
||||||
|
case REACT_PORTAL_TYPE: return "Portal";
|
||||||
|
case REACT_CONTEXT_TYPE: return type.displayName || "Context";
|
||||||
|
case REACT_CONSUMER_TYPE: return (type._context.displayName || "Context") + ".Consumer";
|
||||||
|
case REACT_FORWARD_REF_TYPE:
|
||||||
|
var innerType = type.render;
|
||||||
|
type = type.displayName;
|
||||||
|
type || (type = innerType.displayName || innerType.name || "", type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef");
|
||||||
|
return type;
|
||||||
|
case REACT_MEMO_TYPE: return innerType = type.displayName || null, null !== innerType ? innerType : getComponentNameFromType(type.type) || "Memo";
|
||||||
|
case REACT_LAZY_TYPE:
|
||||||
|
innerType = type._payload;
|
||||||
|
type = type._init;
|
||||||
|
try {
|
||||||
|
return getComponentNameFromType(type(innerType));
|
||||||
|
} catch (x) {}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
function testStringCoercion(value) {
|
||||||
|
return "" + value;
|
||||||
|
}
|
||||||
|
function checkKeyStringCoercion(value) {
|
||||||
|
try {
|
||||||
|
testStringCoercion(value);
|
||||||
|
var JSCompiler_inline_result = !1;
|
||||||
|
} catch (e) {
|
||||||
|
JSCompiler_inline_result = !0;
|
||||||
|
}
|
||||||
|
if (JSCompiler_inline_result) {
|
||||||
|
JSCompiler_inline_result = console;
|
||||||
|
var JSCompiler_temp_const = JSCompiler_inline_result.error;
|
||||||
|
var JSCompiler_inline_result$jscomp$0 = "function" === typeof Symbol && Symbol.toStringTag && value[Symbol.toStringTag] || value.constructor.name || "Object";
|
||||||
|
JSCompiler_temp_const.call(JSCompiler_inline_result, "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.", JSCompiler_inline_result$jscomp$0);
|
||||||
|
return testStringCoercion(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function getTaskName(type) {
|
||||||
|
if (type === REACT_FRAGMENT_TYPE) return "<>";
|
||||||
|
if ("object" === typeof type && null !== type && type.$$typeof === REACT_LAZY_TYPE) return "<...>";
|
||||||
|
try {
|
||||||
|
var name = getComponentNameFromType(type);
|
||||||
|
return name ? "<" + name + ">" : "<...>";
|
||||||
|
} catch (x) {
|
||||||
|
return "<...>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function getOwner() {
|
||||||
|
var dispatcher = ReactSharedInternals.A;
|
||||||
|
return null === dispatcher ? null : dispatcher.getOwner();
|
||||||
|
}
|
||||||
|
function UnknownOwner() {
|
||||||
|
return Error("react-stack-top-frame");
|
||||||
|
}
|
||||||
|
function hasValidKey(config) {
|
||||||
|
if (hasOwnProperty.call(config, "key")) {
|
||||||
|
var getter = Object.getOwnPropertyDescriptor(config, "key").get;
|
||||||
|
if (getter && getter.isReactWarning) return !1;
|
||||||
|
}
|
||||||
|
return void 0 !== config.key;
|
||||||
|
}
|
||||||
|
function defineKeyPropWarningGetter(props, displayName) {
|
||||||
|
function warnAboutAccessingKey() {
|
||||||
|
specialPropKeyWarningShown || (specialPropKeyWarningShown = !0, console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)", displayName));
|
||||||
|
}
|
||||||
|
warnAboutAccessingKey.isReactWarning = !0;
|
||||||
|
Object.defineProperty(props, "key", {
|
||||||
|
get: warnAboutAccessingKey,
|
||||||
|
configurable: !0
|
||||||
|
});
|
||||||
|
}
|
||||||
|
function elementRefGetterWithDeprecationWarning() {
|
||||||
|
var componentName = getComponentNameFromType(this.type);
|
||||||
|
didWarnAboutElementRef[componentName] || (didWarnAboutElementRef[componentName] = !0, console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."));
|
||||||
|
componentName = this.props.ref;
|
||||||
|
return void 0 !== componentName ? componentName : null;
|
||||||
|
}
|
||||||
|
function ReactElement(type, key, props, owner, debugStack, debugTask) {
|
||||||
|
var refProp = props.ref;
|
||||||
|
type = {
|
||||||
|
$$typeof: REACT_ELEMENT_TYPE,
|
||||||
|
type,
|
||||||
|
key,
|
||||||
|
props,
|
||||||
|
_owner: owner
|
||||||
|
};
|
||||||
|
null !== (void 0 !== refProp ? refProp : null) ? Object.defineProperty(type, "ref", {
|
||||||
|
enumerable: !1,
|
||||||
|
get: elementRefGetterWithDeprecationWarning
|
||||||
|
}) : Object.defineProperty(type, "ref", {
|
||||||
|
enumerable: !1,
|
||||||
|
value: null
|
||||||
|
});
|
||||||
|
type._store = {};
|
||||||
|
Object.defineProperty(type._store, "validated", {
|
||||||
|
configurable: !1,
|
||||||
|
enumerable: !1,
|
||||||
|
writable: !0,
|
||||||
|
value: 0
|
||||||
|
});
|
||||||
|
Object.defineProperty(type, "_debugInfo", {
|
||||||
|
configurable: !1,
|
||||||
|
enumerable: !1,
|
||||||
|
writable: !0,
|
||||||
|
value: null
|
||||||
|
});
|
||||||
|
Object.defineProperty(type, "_debugStack", {
|
||||||
|
configurable: !1,
|
||||||
|
enumerable: !1,
|
||||||
|
writable: !0,
|
||||||
|
value: debugStack
|
||||||
|
});
|
||||||
|
Object.defineProperty(type, "_debugTask", {
|
||||||
|
configurable: !1,
|
||||||
|
enumerable: !1,
|
||||||
|
writable: !0,
|
||||||
|
value: debugTask
|
||||||
|
});
|
||||||
|
Object.freeze && (Object.freeze(type.props), Object.freeze(type));
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
function jsxDEVImpl(type, config, maybeKey, isStaticChildren, debugStack, debugTask) {
|
||||||
|
var children = config.children;
|
||||||
|
if (void 0 !== children) if (isStaticChildren) if (isArrayImpl(children)) {
|
||||||
|
for (isStaticChildren = 0; isStaticChildren < children.length; isStaticChildren++) validateChildKeys(children[isStaticChildren]);
|
||||||
|
Object.freeze && Object.freeze(children);
|
||||||
|
} else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");
|
||||||
|
else validateChildKeys(children);
|
||||||
|
if (hasOwnProperty.call(config, "key")) {
|
||||||
|
children = getComponentNameFromType(type);
|
||||||
|
var keys = Object.keys(config).filter(function(k) {
|
||||||
|
return "key" !== k;
|
||||||
|
});
|
||||||
|
isStaticChildren = 0 < keys.length ? "{key: someKey, " + keys.join(": ..., ") + ": ...}" : "{key: someKey}";
|
||||||
|
didWarnAboutKeySpread[children + isStaticChildren] || (keys = 0 < keys.length ? "{" + keys.join(": ..., ") + ": ...}" : "{}", console.error("A props object containing a \"key\" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />", isStaticChildren, children, keys, children), didWarnAboutKeySpread[children + isStaticChildren] = !0);
|
||||||
|
}
|
||||||
|
children = null;
|
||||||
|
void 0 !== maybeKey && (checkKeyStringCoercion(maybeKey), children = "" + maybeKey);
|
||||||
|
hasValidKey(config) && (checkKeyStringCoercion(config.key), children = "" + config.key);
|
||||||
|
if ("key" in config) {
|
||||||
|
maybeKey = {};
|
||||||
|
for (var propName in config) "key" !== propName && (maybeKey[propName] = config[propName]);
|
||||||
|
} else maybeKey = config;
|
||||||
|
children && defineKeyPropWarningGetter(maybeKey, "function" === typeof type ? type.displayName || type.name || "Unknown" : type);
|
||||||
|
return ReactElement(type, children, maybeKey, getOwner(), debugStack, debugTask);
|
||||||
|
}
|
||||||
|
function validateChildKeys(node) {
|
||||||
|
isValidElement(node) ? node._store && (node._store.validated = 1) : "object" === typeof node && null !== node && node.$$typeof === REACT_LAZY_TYPE && ("fulfilled" === node._payload.status ? isValidElement(node._payload.value) && node._payload.value._store && (node._payload.value._store.validated = 1) : node._store && (node._store.validated = 1));
|
||||||
|
}
|
||||||
|
function isValidElement(object) {
|
||||||
|
return "object" === typeof object && null !== object && object.$$typeof === REACT_ELEMENT_TYPE;
|
||||||
|
}
|
||||||
|
var React = require_react(), REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler"), REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy"), REACT_ACTIVITY_TYPE = Symbol.for("react.activity"), REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, hasOwnProperty = Object.prototype.hasOwnProperty, isArrayImpl = Array.isArray, createTask = console.createTask ? console.createTask : function() {
|
||||||
|
return null;
|
||||||
|
};
|
||||||
|
React = { react_stack_bottom_frame: function(callStackForError) {
|
||||||
|
return callStackForError();
|
||||||
|
} };
|
||||||
|
var specialPropKeyWarningShown;
|
||||||
|
var didWarnAboutElementRef = {};
|
||||||
|
var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind(React, UnknownOwner)();
|
||||||
|
var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));
|
||||||
|
var didWarnAboutKeySpread = {};
|
||||||
|
exports.Fragment = REACT_FRAGMENT_TYPE;
|
||||||
|
exports.jsxDEV = function(type, config, maybeKey, isStaticChildren) {
|
||||||
|
var trackActualOwner = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;
|
||||||
|
return jsxDEVImpl(type, config, maybeKey, isStaticChildren, trackActualOwner ? Error("react-stack-top-frame") : unknownOwnerDebugStack, trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask);
|
||||||
|
};
|
||||||
|
})();
|
||||||
|
}));
|
||||||
|
//#endregion
|
||||||
|
//#region node_modules/react/jsx-dev-runtime.js
|
||||||
|
var require_jsx_dev_runtime = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
||||||
|
module.exports = require_react_jsx_dev_runtime_development();
|
||||||
|
}));
|
||||||
|
//#endregion
|
||||||
|
export default require_jsx_dev_runtime();
|
||||||
|
|
||||||
|
//# sourceMappingURL=react_jsx-dev-runtime.js.map
|
||||||
1
ostp-license/frontend/node_modules/.vite/deps/react_jsx-dev-runtime.js.map
generated
vendored
Normal file
1
ostp-license/frontend/node_modules/.vite/deps/react_jsx-dev-runtime.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
208
ostp-license/frontend/node_modules/.vite/deps/react_jsx-runtime.js
generated
vendored
Normal file
208
ostp-license/frontend/node_modules/.vite/deps/react_jsx-runtime.js
generated
vendored
Normal file
|
|
@ -0,0 +1,208 @@
|
||||||
|
import { n as __commonJSMin, t as require_react } from "./react-Ea1HnpA1.js";
|
||||||
|
//#region node_modules/react/cjs/react-jsx-runtime.development.js
|
||||||
|
/**
|
||||||
|
* @license React
|
||||||
|
* react-jsx-runtime.development.js
|
||||||
|
*
|
||||||
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the MIT license found in the
|
||||||
|
* LICENSE file in the root directory of this source tree.
|
||||||
|
*/
|
||||||
|
var require_react_jsx_runtime_development = /* @__PURE__ */ __commonJSMin(((exports) => {
|
||||||
|
(function() {
|
||||||
|
function getComponentNameFromType(type) {
|
||||||
|
if (null == type) return null;
|
||||||
|
if ("function" === typeof type) return type.$$typeof === REACT_CLIENT_REFERENCE ? null : type.displayName || type.name || null;
|
||||||
|
if ("string" === typeof type) return type;
|
||||||
|
switch (type) {
|
||||||
|
case REACT_FRAGMENT_TYPE: return "Fragment";
|
||||||
|
case REACT_PROFILER_TYPE: return "Profiler";
|
||||||
|
case REACT_STRICT_MODE_TYPE: return "StrictMode";
|
||||||
|
case REACT_SUSPENSE_TYPE: return "Suspense";
|
||||||
|
case REACT_SUSPENSE_LIST_TYPE: return "SuspenseList";
|
||||||
|
case REACT_ACTIVITY_TYPE: return "Activity";
|
||||||
|
}
|
||||||
|
if ("object" === typeof type) switch ("number" === typeof type.tag && console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), type.$$typeof) {
|
||||||
|
case REACT_PORTAL_TYPE: return "Portal";
|
||||||
|
case REACT_CONTEXT_TYPE: return type.displayName || "Context";
|
||||||
|
case REACT_CONSUMER_TYPE: return (type._context.displayName || "Context") + ".Consumer";
|
||||||
|
case REACT_FORWARD_REF_TYPE:
|
||||||
|
var innerType = type.render;
|
||||||
|
type = type.displayName;
|
||||||
|
type || (type = innerType.displayName || innerType.name || "", type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef");
|
||||||
|
return type;
|
||||||
|
case REACT_MEMO_TYPE: return innerType = type.displayName || null, null !== innerType ? innerType : getComponentNameFromType(type.type) || "Memo";
|
||||||
|
case REACT_LAZY_TYPE:
|
||||||
|
innerType = type._payload;
|
||||||
|
type = type._init;
|
||||||
|
try {
|
||||||
|
return getComponentNameFromType(type(innerType));
|
||||||
|
} catch (x) {}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
function testStringCoercion(value) {
|
||||||
|
return "" + value;
|
||||||
|
}
|
||||||
|
function checkKeyStringCoercion(value) {
|
||||||
|
try {
|
||||||
|
testStringCoercion(value);
|
||||||
|
var JSCompiler_inline_result = !1;
|
||||||
|
} catch (e) {
|
||||||
|
JSCompiler_inline_result = !0;
|
||||||
|
}
|
||||||
|
if (JSCompiler_inline_result) {
|
||||||
|
JSCompiler_inline_result = console;
|
||||||
|
var JSCompiler_temp_const = JSCompiler_inline_result.error;
|
||||||
|
var JSCompiler_inline_result$jscomp$0 = "function" === typeof Symbol && Symbol.toStringTag && value[Symbol.toStringTag] || value.constructor.name || "Object";
|
||||||
|
JSCompiler_temp_const.call(JSCompiler_inline_result, "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.", JSCompiler_inline_result$jscomp$0);
|
||||||
|
return testStringCoercion(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function getTaskName(type) {
|
||||||
|
if (type === REACT_FRAGMENT_TYPE) return "<>";
|
||||||
|
if ("object" === typeof type && null !== type && type.$$typeof === REACT_LAZY_TYPE) return "<...>";
|
||||||
|
try {
|
||||||
|
var name = getComponentNameFromType(type);
|
||||||
|
return name ? "<" + name + ">" : "<...>";
|
||||||
|
} catch (x) {
|
||||||
|
return "<...>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function getOwner() {
|
||||||
|
var dispatcher = ReactSharedInternals.A;
|
||||||
|
return null === dispatcher ? null : dispatcher.getOwner();
|
||||||
|
}
|
||||||
|
function UnknownOwner() {
|
||||||
|
return Error("react-stack-top-frame");
|
||||||
|
}
|
||||||
|
function hasValidKey(config) {
|
||||||
|
if (hasOwnProperty.call(config, "key")) {
|
||||||
|
var getter = Object.getOwnPropertyDescriptor(config, "key").get;
|
||||||
|
if (getter && getter.isReactWarning) return !1;
|
||||||
|
}
|
||||||
|
return void 0 !== config.key;
|
||||||
|
}
|
||||||
|
function defineKeyPropWarningGetter(props, displayName) {
|
||||||
|
function warnAboutAccessingKey() {
|
||||||
|
specialPropKeyWarningShown || (specialPropKeyWarningShown = !0, console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)", displayName));
|
||||||
|
}
|
||||||
|
warnAboutAccessingKey.isReactWarning = !0;
|
||||||
|
Object.defineProperty(props, "key", {
|
||||||
|
get: warnAboutAccessingKey,
|
||||||
|
configurable: !0
|
||||||
|
});
|
||||||
|
}
|
||||||
|
function elementRefGetterWithDeprecationWarning() {
|
||||||
|
var componentName = getComponentNameFromType(this.type);
|
||||||
|
didWarnAboutElementRef[componentName] || (didWarnAboutElementRef[componentName] = !0, console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."));
|
||||||
|
componentName = this.props.ref;
|
||||||
|
return void 0 !== componentName ? componentName : null;
|
||||||
|
}
|
||||||
|
function ReactElement(type, key, props, owner, debugStack, debugTask) {
|
||||||
|
var refProp = props.ref;
|
||||||
|
type = {
|
||||||
|
$$typeof: REACT_ELEMENT_TYPE,
|
||||||
|
type,
|
||||||
|
key,
|
||||||
|
props,
|
||||||
|
_owner: owner
|
||||||
|
};
|
||||||
|
null !== (void 0 !== refProp ? refProp : null) ? Object.defineProperty(type, "ref", {
|
||||||
|
enumerable: !1,
|
||||||
|
get: elementRefGetterWithDeprecationWarning
|
||||||
|
}) : Object.defineProperty(type, "ref", {
|
||||||
|
enumerable: !1,
|
||||||
|
value: null
|
||||||
|
});
|
||||||
|
type._store = {};
|
||||||
|
Object.defineProperty(type._store, "validated", {
|
||||||
|
configurable: !1,
|
||||||
|
enumerable: !1,
|
||||||
|
writable: !0,
|
||||||
|
value: 0
|
||||||
|
});
|
||||||
|
Object.defineProperty(type, "_debugInfo", {
|
||||||
|
configurable: !1,
|
||||||
|
enumerable: !1,
|
||||||
|
writable: !0,
|
||||||
|
value: null
|
||||||
|
});
|
||||||
|
Object.defineProperty(type, "_debugStack", {
|
||||||
|
configurable: !1,
|
||||||
|
enumerable: !1,
|
||||||
|
writable: !0,
|
||||||
|
value: debugStack
|
||||||
|
});
|
||||||
|
Object.defineProperty(type, "_debugTask", {
|
||||||
|
configurable: !1,
|
||||||
|
enumerable: !1,
|
||||||
|
writable: !0,
|
||||||
|
value: debugTask
|
||||||
|
});
|
||||||
|
Object.freeze && (Object.freeze(type.props), Object.freeze(type));
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
function jsxDEVImpl(type, config, maybeKey, isStaticChildren, debugStack, debugTask) {
|
||||||
|
var children = config.children;
|
||||||
|
if (void 0 !== children) if (isStaticChildren) if (isArrayImpl(children)) {
|
||||||
|
for (isStaticChildren = 0; isStaticChildren < children.length; isStaticChildren++) validateChildKeys(children[isStaticChildren]);
|
||||||
|
Object.freeze && Object.freeze(children);
|
||||||
|
} else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");
|
||||||
|
else validateChildKeys(children);
|
||||||
|
if (hasOwnProperty.call(config, "key")) {
|
||||||
|
children = getComponentNameFromType(type);
|
||||||
|
var keys = Object.keys(config).filter(function(k) {
|
||||||
|
return "key" !== k;
|
||||||
|
});
|
||||||
|
isStaticChildren = 0 < keys.length ? "{key: someKey, " + keys.join(": ..., ") + ": ...}" : "{key: someKey}";
|
||||||
|
didWarnAboutKeySpread[children + isStaticChildren] || (keys = 0 < keys.length ? "{" + keys.join(": ..., ") + ": ...}" : "{}", console.error("A props object containing a \"key\" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />", isStaticChildren, children, keys, children), didWarnAboutKeySpread[children + isStaticChildren] = !0);
|
||||||
|
}
|
||||||
|
children = null;
|
||||||
|
void 0 !== maybeKey && (checkKeyStringCoercion(maybeKey), children = "" + maybeKey);
|
||||||
|
hasValidKey(config) && (checkKeyStringCoercion(config.key), children = "" + config.key);
|
||||||
|
if ("key" in config) {
|
||||||
|
maybeKey = {};
|
||||||
|
for (var propName in config) "key" !== propName && (maybeKey[propName] = config[propName]);
|
||||||
|
} else maybeKey = config;
|
||||||
|
children && defineKeyPropWarningGetter(maybeKey, "function" === typeof type ? type.displayName || type.name || "Unknown" : type);
|
||||||
|
return ReactElement(type, children, maybeKey, getOwner(), debugStack, debugTask);
|
||||||
|
}
|
||||||
|
function validateChildKeys(node) {
|
||||||
|
isValidElement(node) ? node._store && (node._store.validated = 1) : "object" === typeof node && null !== node && node.$$typeof === REACT_LAZY_TYPE && ("fulfilled" === node._payload.status ? isValidElement(node._payload.value) && node._payload.value._store && (node._payload.value._store.validated = 1) : node._store && (node._store.validated = 1));
|
||||||
|
}
|
||||||
|
function isValidElement(object) {
|
||||||
|
return "object" === typeof object && null !== object && object.$$typeof === REACT_ELEMENT_TYPE;
|
||||||
|
}
|
||||||
|
var React = require_react(), REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler"), REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy"), REACT_ACTIVITY_TYPE = Symbol.for("react.activity"), REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, hasOwnProperty = Object.prototype.hasOwnProperty, isArrayImpl = Array.isArray, createTask = console.createTask ? console.createTask : function() {
|
||||||
|
return null;
|
||||||
|
};
|
||||||
|
React = { react_stack_bottom_frame: function(callStackForError) {
|
||||||
|
return callStackForError();
|
||||||
|
} };
|
||||||
|
var specialPropKeyWarningShown;
|
||||||
|
var didWarnAboutElementRef = {};
|
||||||
|
var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind(React, UnknownOwner)();
|
||||||
|
var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));
|
||||||
|
var didWarnAboutKeySpread = {};
|
||||||
|
exports.Fragment = REACT_FRAGMENT_TYPE;
|
||||||
|
exports.jsx = function(type, config, maybeKey) {
|
||||||
|
var trackActualOwner = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;
|
||||||
|
return jsxDEVImpl(type, config, maybeKey, !1, trackActualOwner ? Error("react-stack-top-frame") : unknownOwnerDebugStack, trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask);
|
||||||
|
};
|
||||||
|
exports.jsxs = function(type, config, maybeKey) {
|
||||||
|
var trackActualOwner = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;
|
||||||
|
return jsxDEVImpl(type, config, maybeKey, !0, trackActualOwner ? Error("react-stack-top-frame") : unknownOwnerDebugStack, trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask);
|
||||||
|
};
|
||||||
|
})();
|
||||||
|
}));
|
||||||
|
//#endregion
|
||||||
|
//#region node_modules/react/jsx-runtime.js
|
||||||
|
var require_jsx_runtime = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
||||||
|
module.exports = require_react_jsx_runtime_development();
|
||||||
|
}));
|
||||||
|
//#endregion
|
||||||
|
export default require_jsx_runtime();
|
||||||
|
|
||||||
|
//# sourceMappingURL=react_jsx-runtime.js.map
|
||||||
1
ostp-license/frontend/node_modules/.vite/deps/react_jsx-runtime.js.map
generated
vendored
Normal file
1
ostp-license/frontend/node_modules/.vite/deps/react_jsx-runtime.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,22 @@
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2014-present Sebastian McKenzie 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.
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
# @babel/code-frame
|
||||||
|
|
||||||
|
> Generate errors that contain a code frame that point to source locations.
|
||||||
|
|
||||||
|
See our website [@babel/code-frame](https://babeljs.io/docs/babel-code-frame) for more information.
|
||||||
|
|
||||||
|
## Install
|
||||||
|
|
||||||
|
Using npm:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
npm install --save-dev @babel/code-frame
|
||||||
|
```
|
||||||
|
|
||||||
|
or using yarn:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
yarn add @babel/code-frame --dev
|
||||||
|
```
|
||||||
217
ostp-license/frontend/node_modules/@babel/code-frame/lib/index.js
generated
vendored
Normal file
217
ostp-license/frontend/node_modules/@babel/code-frame/lib/index.js
generated
vendored
Normal file
|
|
@ -0,0 +1,217 @@
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
Object.defineProperty(exports, '__esModule', { value: true });
|
||||||
|
|
||||||
|
var picocolors = require('picocolors');
|
||||||
|
var jsTokens = require('js-tokens');
|
||||||
|
var helperValidatorIdentifier = require('@babel/helper-validator-identifier');
|
||||||
|
|
||||||
|
function isColorSupported() {
|
||||||
|
return (typeof process === "object" && (process.env.FORCE_COLOR === "0" || process.env.FORCE_COLOR === "false") ? false : picocolors.isColorSupported
|
||||||
|
);
|
||||||
|
}
|
||||||
|
const compose = (f, g) => v => f(g(v));
|
||||||
|
function buildDefs(colors) {
|
||||||
|
return {
|
||||||
|
keyword: colors.cyan,
|
||||||
|
capitalized: colors.yellow,
|
||||||
|
jsxIdentifier: colors.yellow,
|
||||||
|
punctuator: colors.yellow,
|
||||||
|
number: colors.magenta,
|
||||||
|
string: colors.green,
|
||||||
|
regex: colors.magenta,
|
||||||
|
comment: colors.gray,
|
||||||
|
invalid: compose(compose(colors.white, colors.bgRed), colors.bold),
|
||||||
|
gutter: colors.gray,
|
||||||
|
marker: compose(colors.red, colors.bold),
|
||||||
|
message: compose(colors.red, colors.bold),
|
||||||
|
reset: colors.reset
|
||||||
|
};
|
||||||
|
}
|
||||||
|
const defsOn = buildDefs(picocolors.createColors(true));
|
||||||
|
const defsOff = buildDefs(picocolors.createColors(false));
|
||||||
|
function getDefs(enabled) {
|
||||||
|
return enabled ? defsOn : defsOff;
|
||||||
|
}
|
||||||
|
|
||||||
|
const sometimesKeywords = new Set(["as", "async", "from", "get", "of", "set"]);
|
||||||
|
const NEWLINE$1 = /\r\n|[\n\r\u2028\u2029]/;
|
||||||
|
const BRACKET = /^[()[\]{}]$/;
|
||||||
|
let tokenize;
|
||||||
|
const JSX_TAG = /^[a-z][\w-]*$/i;
|
||||||
|
const getTokenType = function (token, offset, text) {
|
||||||
|
if (token.type === "name") {
|
||||||
|
const tokenValue = token.value;
|
||||||
|
if (helperValidatorIdentifier.isKeyword(tokenValue) || helperValidatorIdentifier.isStrictReservedWord(tokenValue, true) || sometimesKeywords.has(tokenValue)) {
|
||||||
|
return "keyword";
|
||||||
|
}
|
||||||
|
if (JSX_TAG.test(tokenValue) && (text[offset - 1] === "<" || text.slice(offset - 2, offset) === "</")) {
|
||||||
|
return "jsxIdentifier";
|
||||||
|
}
|
||||||
|
const firstChar = String.fromCodePoint(tokenValue.codePointAt(0));
|
||||||
|
if (firstChar !== firstChar.toLowerCase()) {
|
||||||
|
return "capitalized";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (token.type === "punctuator" && BRACKET.test(token.value)) {
|
||||||
|
return "bracket";
|
||||||
|
}
|
||||||
|
if (token.type === "invalid" && (token.value === "@" || token.value === "#")) {
|
||||||
|
return "punctuator";
|
||||||
|
}
|
||||||
|
return token.type;
|
||||||
|
};
|
||||||
|
tokenize = function* (text) {
|
||||||
|
let match;
|
||||||
|
while (match = jsTokens.default.exec(text)) {
|
||||||
|
const token = jsTokens.matchToToken(match);
|
||||||
|
yield {
|
||||||
|
type: getTokenType(token, match.index, text),
|
||||||
|
value: token.value
|
||||||
|
};
|
||||||
|
}
|
||||||
|
};
|
||||||
|
function highlight(text) {
|
||||||
|
if (text === "") return "";
|
||||||
|
const defs = getDefs(true);
|
||||||
|
let highlighted = "";
|
||||||
|
for (const {
|
||||||
|
type,
|
||||||
|
value
|
||||||
|
} of tokenize(text)) {
|
||||||
|
if (type in defs) {
|
||||||
|
highlighted += value.split(NEWLINE$1).map(str => defs[type](str)).join("\n");
|
||||||
|
} else {
|
||||||
|
highlighted += value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return highlighted;
|
||||||
|
}
|
||||||
|
|
||||||
|
let deprecationWarningShown = false;
|
||||||
|
const NEWLINE = /\r\n|[\n\r\u2028\u2029]/;
|
||||||
|
function getMarkerLines(loc, source, opts, startLineBaseZero) {
|
||||||
|
const startLoc = Object.assign({
|
||||||
|
column: 0,
|
||||||
|
line: -1
|
||||||
|
}, loc.start);
|
||||||
|
const endLoc = Object.assign({}, startLoc, loc.end);
|
||||||
|
const {
|
||||||
|
linesAbove = 2,
|
||||||
|
linesBelow = 3
|
||||||
|
} = opts || {};
|
||||||
|
const startLine = startLoc.line - startLineBaseZero;
|
||||||
|
const startColumn = startLoc.column;
|
||||||
|
const endLine = endLoc.line - startLineBaseZero;
|
||||||
|
const endColumn = endLoc.column;
|
||||||
|
let start = Math.max(startLine - (linesAbove + 1), 0);
|
||||||
|
let end = Math.min(source.length, endLine + linesBelow);
|
||||||
|
if (startLine === -1) {
|
||||||
|
start = 0;
|
||||||
|
}
|
||||||
|
if (endLine === -1) {
|
||||||
|
end = source.length;
|
||||||
|
}
|
||||||
|
const lineDiff = endLine - startLine;
|
||||||
|
const markerLines = {};
|
||||||
|
if (lineDiff) {
|
||||||
|
for (let i = 0; i <= lineDiff; i++) {
|
||||||
|
const lineNumber = i + startLine;
|
||||||
|
if (!startColumn) {
|
||||||
|
markerLines[lineNumber] = true;
|
||||||
|
} else if (i === 0) {
|
||||||
|
const sourceLength = source[lineNumber - 1].length;
|
||||||
|
markerLines[lineNumber] = [startColumn, sourceLength - startColumn + 1];
|
||||||
|
} else if (i === lineDiff) {
|
||||||
|
markerLines[lineNumber] = [0, endColumn];
|
||||||
|
} else {
|
||||||
|
const sourceLength = source[lineNumber - i].length;
|
||||||
|
markerLines[lineNumber] = [0, sourceLength];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (startColumn === endColumn) {
|
||||||
|
if (startColumn) {
|
||||||
|
markerLines[startLine] = [startColumn, 0];
|
||||||
|
} else {
|
||||||
|
markerLines[startLine] = true;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
markerLines[startLine] = [startColumn, endColumn - startColumn];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
start,
|
||||||
|
end,
|
||||||
|
markerLines
|
||||||
|
};
|
||||||
|
}
|
||||||
|
function codeFrameColumns(rawLines, loc, opts = {}) {
|
||||||
|
const shouldHighlight = opts.forceColor || isColorSupported() && opts.highlightCode;
|
||||||
|
const startLineBaseZero = (opts.startLine || 1) - 1;
|
||||||
|
const defs = getDefs(shouldHighlight);
|
||||||
|
const lines = rawLines.split(NEWLINE);
|
||||||
|
const {
|
||||||
|
start,
|
||||||
|
end,
|
||||||
|
markerLines
|
||||||
|
} = getMarkerLines(loc, lines, opts, startLineBaseZero);
|
||||||
|
const hasColumns = loc.start && typeof loc.start.column === "number";
|
||||||
|
const numberMaxWidth = String(end + startLineBaseZero).length;
|
||||||
|
const highlightedLines = shouldHighlight ? highlight(rawLines) : rawLines;
|
||||||
|
let frame = highlightedLines.split(NEWLINE, end).slice(start, end).map((line, index) => {
|
||||||
|
const number = start + 1 + index;
|
||||||
|
const paddedNumber = ` ${number + startLineBaseZero}`.slice(-numberMaxWidth);
|
||||||
|
const gutter = ` ${paddedNumber} |`;
|
||||||
|
const hasMarker = markerLines[number];
|
||||||
|
const lastMarkerLine = !markerLines[number + 1];
|
||||||
|
if (hasMarker) {
|
||||||
|
let markerLine = "";
|
||||||
|
if (Array.isArray(hasMarker)) {
|
||||||
|
const markerSpacing = line.slice(0, Math.max(hasMarker[0] - 1, 0)).replace(/[^\t]/g, " ");
|
||||||
|
const numberOfMarkers = hasMarker[1] || 1;
|
||||||
|
markerLine = ["\n ", defs.gutter(gutter.replace(/\d/g, " ")), " ", markerSpacing, defs.marker("^").repeat(numberOfMarkers)].join("");
|
||||||
|
if (lastMarkerLine && opts.message) {
|
||||||
|
markerLine += " " + defs.message(opts.message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return [defs.marker(">"), defs.gutter(gutter), line.length > 0 ? ` ${line}` : "", markerLine].join("");
|
||||||
|
} else {
|
||||||
|
return ` ${defs.gutter(gutter)}${line.length > 0 ? ` ${line}` : ""}`;
|
||||||
|
}
|
||||||
|
}).join("\n");
|
||||||
|
if (opts.message && !hasColumns) {
|
||||||
|
frame = `${" ".repeat(numberMaxWidth + 1)}${opts.message}\n${frame}`;
|
||||||
|
}
|
||||||
|
if (shouldHighlight) {
|
||||||
|
return defs.reset(frame);
|
||||||
|
} else {
|
||||||
|
return frame;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function index (rawLines, lineNumber, colNumber, opts = {}) {
|
||||||
|
if (!deprecationWarningShown) {
|
||||||
|
deprecationWarningShown = true;
|
||||||
|
const message = "Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.";
|
||||||
|
if (process.emitWarning) {
|
||||||
|
process.emitWarning(message, "DeprecationWarning");
|
||||||
|
} else {
|
||||||
|
const deprecationError = new Error(message);
|
||||||
|
deprecationError.name = "DeprecationWarning";
|
||||||
|
console.warn(new Error(message));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
colNumber = Math.max(colNumber, 0);
|
||||||
|
const location = {
|
||||||
|
start: {
|
||||||
|
column: colNumber,
|
||||||
|
line: lineNumber
|
||||||
|
}
|
||||||
|
};
|
||||||
|
return codeFrameColumns(rawLines, location, opts);
|
||||||
|
}
|
||||||
|
|
||||||
|
exports.codeFrameColumns = codeFrameColumns;
|
||||||
|
exports.default = index;
|
||||||
|
exports.highlight = highlight;
|
||||||
|
//# sourceMappingURL=index.js.map
|
||||||
1
ostp-license/frontend/node_modules/@babel/code-frame/lib/index.js.map
generated
vendored
Normal file
1
ostp-license/frontend/node_modules/@babel/code-frame/lib/index.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,32 @@
|
||||||
|
{
|
||||||
|
"name": "@babel/code-frame",
|
||||||
|
"version": "7.29.7",
|
||||||
|
"description": "Generate errors that contain a code frame that point to source locations.",
|
||||||
|
"author": "The Babel Team (https://babel.dev/team)",
|
||||||
|
"homepage": "https://babel.dev/docs/en/next/babel-code-frame",
|
||||||
|
"bugs": "https://github.com/babel/babel/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen",
|
||||||
|
"license": "MIT",
|
||||||
|
"publishConfig": {
|
||||||
|
"access": "public"
|
||||||
|
},
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/babel/babel.git",
|
||||||
|
"directory": "packages/babel-code-frame"
|
||||||
|
},
|
||||||
|
"main": "./lib/index.js",
|
||||||
|
"dependencies": {
|
||||||
|
"@babel/helper-validator-identifier": "^7.29.7",
|
||||||
|
"js-tokens": "^4.0.0",
|
||||||
|
"picocolors": "^1.1.1"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"charcodes": "^0.2.0",
|
||||||
|
"import-meta-resolve": "^4.1.0",
|
||||||
|
"strip-ansi": "^4.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=6.9.0"
|
||||||
|
},
|
||||||
|
"type": "commonjs"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2014-present Sebastian McKenzie 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.
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
# @babel/compat-data
|
||||||
|
|
||||||
|
> The compat-data to determine required Babel plugins
|
||||||
|
|
||||||
|
See our website [@babel/compat-data](https://babeljs.io/docs/babel-compat-data) for more information.
|
||||||
|
|
||||||
|
## Install
|
||||||
|
|
||||||
|
Using npm:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
npm install --save @babel/compat-data
|
||||||
|
```
|
||||||
|
|
||||||
|
or using yarn:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
yarn add @babel/compat-data
|
||||||
|
```
|
||||||
2
ostp-license/frontend/node_modules/@babel/compat-data/corejs2-built-ins.js
generated
vendored
Normal file
2
ostp-license/frontend/node_modules/@babel/compat-data/corejs2-built-ins.js
generated
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
// Todo (Babel 8): remove this file as Babel 8 drop support of core-js 2
|
||||||
|
module.exports = require("./data/corejs2-built-ins.json");
|
||||||
2
ostp-license/frontend/node_modules/@babel/compat-data/corejs3-shipped-proposals.js
generated
vendored
Normal file
2
ostp-license/frontend/node_modules/@babel/compat-data/corejs3-shipped-proposals.js
generated
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
// Todo (Babel 8): remove this file now that it is included in babel-plugin-polyfill-corejs3
|
||||||
|
module.exports = require("./data/corejs3-shipped-proposals.json");
|
||||||
2120
ostp-license/frontend/node_modules/@babel/compat-data/data/corejs2-built-ins.json
generated
vendored
Normal file
2120
ostp-license/frontend/node_modules/@babel/compat-data/data/corejs2-built-ins.json
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
5
ostp-license/frontend/node_modules/@babel/compat-data/data/corejs3-shipped-proposals.json
generated
vendored
Normal file
5
ostp-license/frontend/node_modules/@babel/compat-data/data/corejs3-shipped-proposals.json
generated
vendored
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
[
|
||||||
|
"esnext.promise.all-settled",
|
||||||
|
"esnext.string.match-all",
|
||||||
|
"esnext.global-this"
|
||||||
|
]
|
||||||
18
ostp-license/frontend/node_modules/@babel/compat-data/data/native-modules.json
generated
vendored
Normal file
18
ostp-license/frontend/node_modules/@babel/compat-data/data/native-modules.json
generated
vendored
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
{
|
||||||
|
"es6.module": {
|
||||||
|
"chrome": "61",
|
||||||
|
"and_chr": "61",
|
||||||
|
"edge": "16",
|
||||||
|
"firefox": "60",
|
||||||
|
"and_ff": "60",
|
||||||
|
"node": "13.2.0",
|
||||||
|
"opera": "48",
|
||||||
|
"op_mob": "45",
|
||||||
|
"safari": "10.1",
|
||||||
|
"ios": "10.3",
|
||||||
|
"samsung": "8.2",
|
||||||
|
"android": "61",
|
||||||
|
"electron": "2.0",
|
||||||
|
"ios_saf": "10.3"
|
||||||
|
}
|
||||||
|
}
|
||||||
38
ostp-license/frontend/node_modules/@babel/compat-data/data/overlapping-plugins.json
generated
vendored
Normal file
38
ostp-license/frontend/node_modules/@babel/compat-data/data/overlapping-plugins.json
generated
vendored
Normal file
|
|
@ -0,0 +1,38 @@
|
||||||
|
{
|
||||||
|
"transform-async-to-generator": [
|
||||||
|
"bugfix/transform-async-arrows-in-class"
|
||||||
|
],
|
||||||
|
"transform-parameters": [
|
||||||
|
"bugfix/transform-edge-default-parameters",
|
||||||
|
"bugfix/transform-safari-id-destructuring-collision-in-function-expression"
|
||||||
|
],
|
||||||
|
"transform-function-name": [
|
||||||
|
"bugfix/transform-edge-function-name"
|
||||||
|
],
|
||||||
|
"transform-block-scoping": [
|
||||||
|
"bugfix/transform-safari-block-shadowing",
|
||||||
|
"bugfix/transform-safari-for-shadowing"
|
||||||
|
],
|
||||||
|
"transform-destructuring": [
|
||||||
|
"bugfix/transform-safari-rest-destructuring-rhs-array"
|
||||||
|
],
|
||||||
|
"transform-template-literals": [
|
||||||
|
"bugfix/transform-tagged-template-caching"
|
||||||
|
],
|
||||||
|
"transform-optional-chaining": [
|
||||||
|
"bugfix/transform-v8-spread-parameters-in-optional-chaining"
|
||||||
|
],
|
||||||
|
"proposal-optional-chaining": [
|
||||||
|
"bugfix/transform-v8-spread-parameters-in-optional-chaining"
|
||||||
|
],
|
||||||
|
"transform-class-properties": [
|
||||||
|
"bugfix/transform-v8-static-class-fields-redefine-readonly",
|
||||||
|
"bugfix/transform-firefox-class-in-computed-class-key",
|
||||||
|
"bugfix/transform-safari-class-field-initializer-scope"
|
||||||
|
],
|
||||||
|
"proposal-class-properties": [
|
||||||
|
"bugfix/transform-v8-static-class-fields-redefine-readonly",
|
||||||
|
"bugfix/transform-firefox-class-in-computed-class-key",
|
||||||
|
"bugfix/transform-safari-class-field-initializer-scope"
|
||||||
|
]
|
||||||
|
}
|
||||||
231
ostp-license/frontend/node_modules/@babel/compat-data/data/plugin-bugfixes.json
generated
vendored
Normal file
231
ostp-license/frontend/node_modules/@babel/compat-data/data/plugin-bugfixes.json
generated
vendored
Normal file
|
|
@ -0,0 +1,231 @@
|
||||||
|
{
|
||||||
|
"bugfix/transform-async-arrows-in-class": {
|
||||||
|
"chrome": "55",
|
||||||
|
"opera": "42",
|
||||||
|
"edge": "15",
|
||||||
|
"firefox": "52",
|
||||||
|
"safari": "11",
|
||||||
|
"node": "7.6",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "11",
|
||||||
|
"samsung": "6",
|
||||||
|
"opera_mobile": "42",
|
||||||
|
"electron": "1.6"
|
||||||
|
},
|
||||||
|
"bugfix/transform-edge-default-parameters": {
|
||||||
|
"chrome": "49",
|
||||||
|
"opera": "36",
|
||||||
|
"edge": "18",
|
||||||
|
"firefox": "52",
|
||||||
|
"safari": "10",
|
||||||
|
"node": "6",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "10",
|
||||||
|
"samsung": "5",
|
||||||
|
"opera_mobile": "36",
|
||||||
|
"electron": "0.37"
|
||||||
|
},
|
||||||
|
"bugfix/transform-edge-function-name": {
|
||||||
|
"chrome": "51",
|
||||||
|
"opera": "38",
|
||||||
|
"edge": "79",
|
||||||
|
"firefox": "53",
|
||||||
|
"safari": "10",
|
||||||
|
"node": "6.5",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "10",
|
||||||
|
"samsung": "5",
|
||||||
|
"rhino": "1.9",
|
||||||
|
"opera_mobile": "41",
|
||||||
|
"electron": "1.2"
|
||||||
|
},
|
||||||
|
"bugfix/transform-safari-block-shadowing": {
|
||||||
|
"chrome": "49",
|
||||||
|
"opera": "36",
|
||||||
|
"edge": "12",
|
||||||
|
"firefox": "44",
|
||||||
|
"safari": "11",
|
||||||
|
"node": "6",
|
||||||
|
"deno": "1",
|
||||||
|
"ie": "11",
|
||||||
|
"ios": "11",
|
||||||
|
"samsung": "5",
|
||||||
|
"opera_mobile": "36",
|
||||||
|
"electron": "0.37"
|
||||||
|
},
|
||||||
|
"bugfix/transform-safari-for-shadowing": {
|
||||||
|
"chrome": "49",
|
||||||
|
"opera": "36",
|
||||||
|
"edge": "12",
|
||||||
|
"firefox": "4",
|
||||||
|
"safari": "11",
|
||||||
|
"node": "6",
|
||||||
|
"deno": "1",
|
||||||
|
"ie": "11",
|
||||||
|
"ios": "11",
|
||||||
|
"samsung": "5",
|
||||||
|
"rhino": "1.7.13",
|
||||||
|
"opera_mobile": "36",
|
||||||
|
"electron": "0.37"
|
||||||
|
},
|
||||||
|
"bugfix/transform-safari-id-destructuring-collision-in-function-expression": {
|
||||||
|
"chrome": "49",
|
||||||
|
"opera": "36",
|
||||||
|
"edge": "14",
|
||||||
|
"firefox": "2",
|
||||||
|
"safari": "16.3",
|
||||||
|
"node": "6",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "16.3",
|
||||||
|
"samsung": "5",
|
||||||
|
"opera_mobile": "36",
|
||||||
|
"electron": "0.37"
|
||||||
|
},
|
||||||
|
"bugfix/transform-safari-rest-destructuring-rhs-array": {
|
||||||
|
"chrome": "49",
|
||||||
|
"opera": "36",
|
||||||
|
"edge": "14",
|
||||||
|
"firefox": "34",
|
||||||
|
"safari": "14.1",
|
||||||
|
"node": "6",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "14.5",
|
||||||
|
"samsung": "5",
|
||||||
|
"opera_mobile": "36",
|
||||||
|
"electron": "0.37"
|
||||||
|
},
|
||||||
|
"bugfix/transform-tagged-template-caching": {
|
||||||
|
"chrome": "41",
|
||||||
|
"opera": "28",
|
||||||
|
"edge": "12",
|
||||||
|
"firefox": "34",
|
||||||
|
"safari": "13",
|
||||||
|
"node": "4",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "13",
|
||||||
|
"samsung": "3.4",
|
||||||
|
"rhino": "1.7.14",
|
||||||
|
"opera_mobile": "28",
|
||||||
|
"electron": "0.21"
|
||||||
|
},
|
||||||
|
"bugfix/transform-v8-spread-parameters-in-optional-chaining": {
|
||||||
|
"chrome": "91",
|
||||||
|
"opera": "77",
|
||||||
|
"edge": "91",
|
||||||
|
"firefox": "74",
|
||||||
|
"safari": "13.1",
|
||||||
|
"node": "16.9",
|
||||||
|
"deno": "1.9",
|
||||||
|
"ios": "13.4",
|
||||||
|
"samsung": "16",
|
||||||
|
"opera_mobile": "64",
|
||||||
|
"electron": "13.0"
|
||||||
|
},
|
||||||
|
"transform-optional-chaining": {
|
||||||
|
"chrome": "80",
|
||||||
|
"opera": "67",
|
||||||
|
"edge": "80",
|
||||||
|
"firefox": "74",
|
||||||
|
"safari": "13.1",
|
||||||
|
"node": "14",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "13.4",
|
||||||
|
"samsung": "13",
|
||||||
|
"rhino": "1.8",
|
||||||
|
"opera_mobile": "57",
|
||||||
|
"electron": "8.0"
|
||||||
|
},
|
||||||
|
"proposal-optional-chaining": {
|
||||||
|
"chrome": "80",
|
||||||
|
"opera": "67",
|
||||||
|
"edge": "80",
|
||||||
|
"firefox": "74",
|
||||||
|
"safari": "13.1",
|
||||||
|
"node": "14",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "13.4",
|
||||||
|
"samsung": "13",
|
||||||
|
"rhino": "1.8",
|
||||||
|
"opera_mobile": "57",
|
||||||
|
"electron": "8.0"
|
||||||
|
},
|
||||||
|
"transform-parameters": {
|
||||||
|
"chrome": "49",
|
||||||
|
"opera": "36",
|
||||||
|
"edge": "15",
|
||||||
|
"firefox": "52",
|
||||||
|
"safari": "10",
|
||||||
|
"node": "6",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "10",
|
||||||
|
"samsung": "5",
|
||||||
|
"opera_mobile": "36",
|
||||||
|
"electron": "0.37"
|
||||||
|
},
|
||||||
|
"transform-async-to-generator": {
|
||||||
|
"chrome": "55",
|
||||||
|
"opera": "42",
|
||||||
|
"edge": "15",
|
||||||
|
"firefox": "52",
|
||||||
|
"safari": "10.1",
|
||||||
|
"node": "7.6",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "10.3",
|
||||||
|
"samsung": "6",
|
||||||
|
"opera_mobile": "42",
|
||||||
|
"electron": "1.6"
|
||||||
|
},
|
||||||
|
"transform-template-literals": {
|
||||||
|
"chrome": "41",
|
||||||
|
"opera": "28",
|
||||||
|
"edge": "13",
|
||||||
|
"firefox": "34",
|
||||||
|
"safari": "9",
|
||||||
|
"node": "4",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "9",
|
||||||
|
"samsung": "3.4",
|
||||||
|
"rhino": "1.9",
|
||||||
|
"opera_mobile": "28",
|
||||||
|
"electron": "0.21"
|
||||||
|
},
|
||||||
|
"transform-function-name": {
|
||||||
|
"chrome": "51",
|
||||||
|
"opera": "38",
|
||||||
|
"edge": "14",
|
||||||
|
"firefox": "53",
|
||||||
|
"safari": "10",
|
||||||
|
"node": "6.5",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "10",
|
||||||
|
"samsung": "5",
|
||||||
|
"opera_mobile": "41",
|
||||||
|
"electron": "1.2"
|
||||||
|
},
|
||||||
|
"transform-destructuring": {
|
||||||
|
"chrome": "51",
|
||||||
|
"opera": "38",
|
||||||
|
"edge": "15",
|
||||||
|
"firefox": "53",
|
||||||
|
"safari": "10",
|
||||||
|
"node": "6.5",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "10",
|
||||||
|
"samsung": "5",
|
||||||
|
"opera_mobile": "41",
|
||||||
|
"electron": "1.2"
|
||||||
|
},
|
||||||
|
"transform-block-scoping": {
|
||||||
|
"chrome": "50",
|
||||||
|
"opera": "37",
|
||||||
|
"edge": "14",
|
||||||
|
"firefox": "53",
|
||||||
|
"safari": "10",
|
||||||
|
"node": "6",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "10",
|
||||||
|
"samsung": "5",
|
||||||
|
"opera_mobile": "37",
|
||||||
|
"electron": "1.1"
|
||||||
|
}
|
||||||
|
}
|
||||||
843
ostp-license/frontend/node_modules/@babel/compat-data/data/plugins.json
generated
vendored
Normal file
843
ostp-license/frontend/node_modules/@babel/compat-data/data/plugins.json
generated
vendored
Normal file
|
|
@ -0,0 +1,843 @@
|
||||||
|
{
|
||||||
|
"transform-explicit-resource-management": {
|
||||||
|
"chrome": "141",
|
||||||
|
"edge": "141",
|
||||||
|
"firefox": "141",
|
||||||
|
"node": "25",
|
||||||
|
"electron": "39.0"
|
||||||
|
},
|
||||||
|
"transform-duplicate-named-capturing-groups-regex": {
|
||||||
|
"chrome": "126",
|
||||||
|
"opera": "112",
|
||||||
|
"edge": "126",
|
||||||
|
"firefox": "129",
|
||||||
|
"safari": "17.4",
|
||||||
|
"node": "23",
|
||||||
|
"ios": "17.4",
|
||||||
|
"rhino": "1.9",
|
||||||
|
"electron": "31.0"
|
||||||
|
},
|
||||||
|
"transform-regexp-modifiers": {
|
||||||
|
"chrome": "125",
|
||||||
|
"opera": "111",
|
||||||
|
"edge": "125",
|
||||||
|
"firefox": "132",
|
||||||
|
"node": "23",
|
||||||
|
"samsung": "27",
|
||||||
|
"electron": "31.0"
|
||||||
|
},
|
||||||
|
"transform-unicode-sets-regex": {
|
||||||
|
"chrome": "112",
|
||||||
|
"opera": "98",
|
||||||
|
"edge": "112",
|
||||||
|
"firefox": "116",
|
||||||
|
"safari": "17",
|
||||||
|
"node": "20",
|
||||||
|
"deno": "1.32",
|
||||||
|
"ios": "17",
|
||||||
|
"samsung": "23",
|
||||||
|
"opera_mobile": "75",
|
||||||
|
"electron": "24.0"
|
||||||
|
},
|
||||||
|
"bugfix/transform-v8-static-class-fields-redefine-readonly": {
|
||||||
|
"chrome": "98",
|
||||||
|
"opera": "84",
|
||||||
|
"edge": "98",
|
||||||
|
"firefox": "75",
|
||||||
|
"safari": "15",
|
||||||
|
"node": "12",
|
||||||
|
"deno": "1.18",
|
||||||
|
"ios": "15",
|
||||||
|
"samsung": "11",
|
||||||
|
"opera_mobile": "52",
|
||||||
|
"electron": "17.0"
|
||||||
|
},
|
||||||
|
"bugfix/transform-firefox-class-in-computed-class-key": {
|
||||||
|
"chrome": "74",
|
||||||
|
"opera": "62",
|
||||||
|
"edge": "79",
|
||||||
|
"firefox": "126",
|
||||||
|
"safari": "16",
|
||||||
|
"node": "12",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "16",
|
||||||
|
"samsung": "11",
|
||||||
|
"opera_mobile": "53",
|
||||||
|
"electron": "6.0"
|
||||||
|
},
|
||||||
|
"bugfix/transform-safari-class-field-initializer-scope": {
|
||||||
|
"chrome": "74",
|
||||||
|
"opera": "62",
|
||||||
|
"edge": "79",
|
||||||
|
"firefox": "69",
|
||||||
|
"safari": "16",
|
||||||
|
"node": "12",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "16",
|
||||||
|
"samsung": "11",
|
||||||
|
"opera_mobile": "53",
|
||||||
|
"electron": "6.0"
|
||||||
|
},
|
||||||
|
"transform-class-static-block": {
|
||||||
|
"chrome": "94",
|
||||||
|
"opera": "80",
|
||||||
|
"edge": "94",
|
||||||
|
"firefox": "93",
|
||||||
|
"safari": "16.4",
|
||||||
|
"node": "16.11",
|
||||||
|
"deno": "1.14",
|
||||||
|
"ios": "16.4",
|
||||||
|
"samsung": "17",
|
||||||
|
"opera_mobile": "66",
|
||||||
|
"electron": "15.0"
|
||||||
|
},
|
||||||
|
"proposal-class-static-block": {
|
||||||
|
"chrome": "94",
|
||||||
|
"opera": "80",
|
||||||
|
"edge": "94",
|
||||||
|
"firefox": "93",
|
||||||
|
"safari": "16.4",
|
||||||
|
"node": "16.11",
|
||||||
|
"deno": "1.14",
|
||||||
|
"ios": "16.4",
|
||||||
|
"samsung": "17",
|
||||||
|
"opera_mobile": "66",
|
||||||
|
"electron": "15.0"
|
||||||
|
},
|
||||||
|
"transform-private-property-in-object": {
|
||||||
|
"chrome": "91",
|
||||||
|
"opera": "77",
|
||||||
|
"edge": "91",
|
||||||
|
"firefox": "90",
|
||||||
|
"safari": "15",
|
||||||
|
"node": "16.9",
|
||||||
|
"deno": "1.9",
|
||||||
|
"ios": "15",
|
||||||
|
"samsung": "16",
|
||||||
|
"opera_mobile": "64",
|
||||||
|
"electron": "13.0"
|
||||||
|
},
|
||||||
|
"proposal-private-property-in-object": {
|
||||||
|
"chrome": "91",
|
||||||
|
"opera": "77",
|
||||||
|
"edge": "91",
|
||||||
|
"firefox": "90",
|
||||||
|
"safari": "15",
|
||||||
|
"node": "16.9",
|
||||||
|
"deno": "1.9",
|
||||||
|
"ios": "15",
|
||||||
|
"samsung": "16",
|
||||||
|
"opera_mobile": "64",
|
||||||
|
"electron": "13.0"
|
||||||
|
},
|
||||||
|
"transform-class-properties": {
|
||||||
|
"chrome": "74",
|
||||||
|
"opera": "62",
|
||||||
|
"edge": "79",
|
||||||
|
"firefox": "90",
|
||||||
|
"safari": "14.1",
|
||||||
|
"node": "12",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "14.5",
|
||||||
|
"samsung": "11",
|
||||||
|
"opera_mobile": "53",
|
||||||
|
"electron": "6.0"
|
||||||
|
},
|
||||||
|
"proposal-class-properties": {
|
||||||
|
"chrome": "74",
|
||||||
|
"opera": "62",
|
||||||
|
"edge": "79",
|
||||||
|
"firefox": "90",
|
||||||
|
"safari": "14.1",
|
||||||
|
"node": "12",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "14.5",
|
||||||
|
"samsung": "11",
|
||||||
|
"opera_mobile": "53",
|
||||||
|
"electron": "6.0"
|
||||||
|
},
|
||||||
|
"transform-private-methods": {
|
||||||
|
"chrome": "84",
|
||||||
|
"opera": "70",
|
||||||
|
"edge": "84",
|
||||||
|
"firefox": "90",
|
||||||
|
"safari": "15",
|
||||||
|
"node": "14.6",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "15",
|
||||||
|
"samsung": "14",
|
||||||
|
"opera_mobile": "60",
|
||||||
|
"electron": "10.0"
|
||||||
|
},
|
||||||
|
"proposal-private-methods": {
|
||||||
|
"chrome": "84",
|
||||||
|
"opera": "70",
|
||||||
|
"edge": "84",
|
||||||
|
"firefox": "90",
|
||||||
|
"safari": "15",
|
||||||
|
"node": "14.6",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "15",
|
||||||
|
"samsung": "14",
|
||||||
|
"opera_mobile": "60",
|
||||||
|
"electron": "10.0"
|
||||||
|
},
|
||||||
|
"transform-numeric-separator": {
|
||||||
|
"chrome": "75",
|
||||||
|
"opera": "62",
|
||||||
|
"edge": "79",
|
||||||
|
"firefox": "70",
|
||||||
|
"safari": "13",
|
||||||
|
"node": "12.5",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "13",
|
||||||
|
"samsung": "11",
|
||||||
|
"rhino": "1.7.14",
|
||||||
|
"opera_mobile": "54",
|
||||||
|
"electron": "6.0"
|
||||||
|
},
|
||||||
|
"proposal-numeric-separator": {
|
||||||
|
"chrome": "75",
|
||||||
|
"opera": "62",
|
||||||
|
"edge": "79",
|
||||||
|
"firefox": "70",
|
||||||
|
"safari": "13",
|
||||||
|
"node": "12.5",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "13",
|
||||||
|
"samsung": "11",
|
||||||
|
"rhino": "1.7.14",
|
||||||
|
"opera_mobile": "54",
|
||||||
|
"electron": "6.0"
|
||||||
|
},
|
||||||
|
"transform-logical-assignment-operators": {
|
||||||
|
"chrome": "85",
|
||||||
|
"opera": "71",
|
||||||
|
"edge": "85",
|
||||||
|
"firefox": "79",
|
||||||
|
"safari": "14",
|
||||||
|
"node": "15",
|
||||||
|
"deno": "1.2",
|
||||||
|
"ios": "14",
|
||||||
|
"samsung": "14",
|
||||||
|
"opera_mobile": "60",
|
||||||
|
"electron": "10.0"
|
||||||
|
},
|
||||||
|
"proposal-logical-assignment-operators": {
|
||||||
|
"chrome": "85",
|
||||||
|
"opera": "71",
|
||||||
|
"edge": "85",
|
||||||
|
"firefox": "79",
|
||||||
|
"safari": "14",
|
||||||
|
"node": "15",
|
||||||
|
"deno": "1.2",
|
||||||
|
"ios": "14",
|
||||||
|
"samsung": "14",
|
||||||
|
"opera_mobile": "60",
|
||||||
|
"electron": "10.0"
|
||||||
|
},
|
||||||
|
"transform-nullish-coalescing-operator": {
|
||||||
|
"chrome": "80",
|
||||||
|
"opera": "67",
|
||||||
|
"edge": "80",
|
||||||
|
"firefox": "72",
|
||||||
|
"safari": "13.1",
|
||||||
|
"node": "14",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "13.4",
|
||||||
|
"samsung": "13",
|
||||||
|
"rhino": "1.8",
|
||||||
|
"opera_mobile": "57",
|
||||||
|
"electron": "8.0"
|
||||||
|
},
|
||||||
|
"proposal-nullish-coalescing-operator": {
|
||||||
|
"chrome": "80",
|
||||||
|
"opera": "67",
|
||||||
|
"edge": "80",
|
||||||
|
"firefox": "72",
|
||||||
|
"safari": "13.1",
|
||||||
|
"node": "14",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "13.4",
|
||||||
|
"samsung": "13",
|
||||||
|
"rhino": "1.8",
|
||||||
|
"opera_mobile": "57",
|
||||||
|
"electron": "8.0"
|
||||||
|
},
|
||||||
|
"transform-optional-chaining": {
|
||||||
|
"chrome": "91",
|
||||||
|
"opera": "77",
|
||||||
|
"edge": "91",
|
||||||
|
"firefox": "74",
|
||||||
|
"safari": "13.1",
|
||||||
|
"node": "16.9",
|
||||||
|
"deno": "1.9",
|
||||||
|
"ios": "13.4",
|
||||||
|
"samsung": "16",
|
||||||
|
"opera_mobile": "64",
|
||||||
|
"electron": "13.0"
|
||||||
|
},
|
||||||
|
"proposal-optional-chaining": {
|
||||||
|
"chrome": "91",
|
||||||
|
"opera": "77",
|
||||||
|
"edge": "91",
|
||||||
|
"firefox": "74",
|
||||||
|
"safari": "13.1",
|
||||||
|
"node": "16.9",
|
||||||
|
"deno": "1.9",
|
||||||
|
"ios": "13.4",
|
||||||
|
"samsung": "16",
|
||||||
|
"opera_mobile": "64",
|
||||||
|
"electron": "13.0"
|
||||||
|
},
|
||||||
|
"transform-json-strings": {
|
||||||
|
"chrome": "66",
|
||||||
|
"opera": "53",
|
||||||
|
"edge": "79",
|
||||||
|
"firefox": "62",
|
||||||
|
"safari": "12",
|
||||||
|
"node": "10",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "12",
|
||||||
|
"samsung": "9",
|
||||||
|
"rhino": "1.7.14",
|
||||||
|
"opera_mobile": "47",
|
||||||
|
"electron": "3.0"
|
||||||
|
},
|
||||||
|
"proposal-json-strings": {
|
||||||
|
"chrome": "66",
|
||||||
|
"opera": "53",
|
||||||
|
"edge": "79",
|
||||||
|
"firefox": "62",
|
||||||
|
"safari": "12",
|
||||||
|
"node": "10",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "12",
|
||||||
|
"samsung": "9",
|
||||||
|
"rhino": "1.7.14",
|
||||||
|
"opera_mobile": "47",
|
||||||
|
"electron": "3.0"
|
||||||
|
},
|
||||||
|
"transform-optional-catch-binding": {
|
||||||
|
"chrome": "66",
|
||||||
|
"opera": "53",
|
||||||
|
"edge": "79",
|
||||||
|
"firefox": "58",
|
||||||
|
"safari": "11.1",
|
||||||
|
"node": "10",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "11.3",
|
||||||
|
"samsung": "9",
|
||||||
|
"opera_mobile": "47",
|
||||||
|
"electron": "3.0"
|
||||||
|
},
|
||||||
|
"proposal-optional-catch-binding": {
|
||||||
|
"chrome": "66",
|
||||||
|
"opera": "53",
|
||||||
|
"edge": "79",
|
||||||
|
"firefox": "58",
|
||||||
|
"safari": "11.1",
|
||||||
|
"node": "10",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "11.3",
|
||||||
|
"samsung": "9",
|
||||||
|
"opera_mobile": "47",
|
||||||
|
"electron": "3.0"
|
||||||
|
},
|
||||||
|
"transform-parameters": {
|
||||||
|
"chrome": "49",
|
||||||
|
"opera": "36",
|
||||||
|
"edge": "18",
|
||||||
|
"firefox": "52",
|
||||||
|
"safari": "16.3",
|
||||||
|
"node": "6",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "16.3",
|
||||||
|
"samsung": "5",
|
||||||
|
"opera_mobile": "36",
|
||||||
|
"electron": "0.37"
|
||||||
|
},
|
||||||
|
"transform-async-generator-functions": {
|
||||||
|
"chrome": "63",
|
||||||
|
"opera": "50",
|
||||||
|
"edge": "79",
|
||||||
|
"firefox": "57",
|
||||||
|
"safari": "12",
|
||||||
|
"node": "10",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "12",
|
||||||
|
"samsung": "8",
|
||||||
|
"opera_mobile": "46",
|
||||||
|
"electron": "3.0"
|
||||||
|
},
|
||||||
|
"proposal-async-generator-functions": {
|
||||||
|
"chrome": "63",
|
||||||
|
"opera": "50",
|
||||||
|
"edge": "79",
|
||||||
|
"firefox": "57",
|
||||||
|
"safari": "12",
|
||||||
|
"node": "10",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "12",
|
||||||
|
"samsung": "8",
|
||||||
|
"opera_mobile": "46",
|
||||||
|
"electron": "3.0"
|
||||||
|
},
|
||||||
|
"transform-object-rest-spread": {
|
||||||
|
"chrome": "60",
|
||||||
|
"opera": "47",
|
||||||
|
"edge": "79",
|
||||||
|
"firefox": "55",
|
||||||
|
"safari": "11.1",
|
||||||
|
"node": "8.3",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "11.3",
|
||||||
|
"samsung": "8",
|
||||||
|
"opera_mobile": "44",
|
||||||
|
"electron": "2.0"
|
||||||
|
},
|
||||||
|
"proposal-object-rest-spread": {
|
||||||
|
"chrome": "60",
|
||||||
|
"opera": "47",
|
||||||
|
"edge": "79",
|
||||||
|
"firefox": "55",
|
||||||
|
"safari": "11.1",
|
||||||
|
"node": "8.3",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "11.3",
|
||||||
|
"samsung": "8",
|
||||||
|
"opera_mobile": "44",
|
||||||
|
"electron": "2.0"
|
||||||
|
},
|
||||||
|
"transform-dotall-regex": {
|
||||||
|
"chrome": "62",
|
||||||
|
"opera": "49",
|
||||||
|
"edge": "79",
|
||||||
|
"firefox": "78",
|
||||||
|
"safari": "11.1",
|
||||||
|
"node": "8.10",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "11.3",
|
||||||
|
"samsung": "8",
|
||||||
|
"rhino": "1.7.15",
|
||||||
|
"opera_mobile": "46",
|
||||||
|
"electron": "3.0"
|
||||||
|
},
|
||||||
|
"transform-unicode-property-regex": {
|
||||||
|
"chrome": "64",
|
||||||
|
"opera": "51",
|
||||||
|
"edge": "79",
|
||||||
|
"firefox": "78",
|
||||||
|
"safari": "11.1",
|
||||||
|
"node": "10",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "11.3",
|
||||||
|
"samsung": "9",
|
||||||
|
"rhino": "1.9",
|
||||||
|
"opera_mobile": "47",
|
||||||
|
"electron": "3.0"
|
||||||
|
},
|
||||||
|
"proposal-unicode-property-regex": {
|
||||||
|
"chrome": "64",
|
||||||
|
"opera": "51",
|
||||||
|
"edge": "79",
|
||||||
|
"firefox": "78",
|
||||||
|
"safari": "11.1",
|
||||||
|
"node": "10",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "11.3",
|
||||||
|
"samsung": "9",
|
||||||
|
"rhino": "1.9",
|
||||||
|
"opera_mobile": "47",
|
||||||
|
"electron": "3.0"
|
||||||
|
},
|
||||||
|
"transform-named-capturing-groups-regex": {
|
||||||
|
"chrome": "64",
|
||||||
|
"opera": "51",
|
||||||
|
"edge": "79",
|
||||||
|
"firefox": "78",
|
||||||
|
"safari": "11.1",
|
||||||
|
"node": "10",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "11.3",
|
||||||
|
"samsung": "9",
|
||||||
|
"rhino": "1.9",
|
||||||
|
"opera_mobile": "47",
|
||||||
|
"electron": "3.0"
|
||||||
|
},
|
||||||
|
"transform-async-to-generator": {
|
||||||
|
"chrome": "55",
|
||||||
|
"opera": "42",
|
||||||
|
"edge": "15",
|
||||||
|
"firefox": "52",
|
||||||
|
"safari": "11",
|
||||||
|
"node": "7.6",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "11",
|
||||||
|
"samsung": "6",
|
||||||
|
"opera_mobile": "42",
|
||||||
|
"electron": "1.6"
|
||||||
|
},
|
||||||
|
"transform-exponentiation-operator": {
|
||||||
|
"chrome": "52",
|
||||||
|
"opera": "39",
|
||||||
|
"edge": "14",
|
||||||
|
"firefox": "52",
|
||||||
|
"safari": "10.1",
|
||||||
|
"node": "7",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "10.3",
|
||||||
|
"samsung": "6",
|
||||||
|
"rhino": "1.7.14",
|
||||||
|
"opera_mobile": "41",
|
||||||
|
"electron": "1.3"
|
||||||
|
},
|
||||||
|
"transform-template-literals": {
|
||||||
|
"chrome": "41",
|
||||||
|
"opera": "28",
|
||||||
|
"edge": "13",
|
||||||
|
"firefox": "34",
|
||||||
|
"safari": "13",
|
||||||
|
"node": "4",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "13",
|
||||||
|
"samsung": "3.4",
|
||||||
|
"rhino": "1.9",
|
||||||
|
"opera_mobile": "28",
|
||||||
|
"electron": "0.21"
|
||||||
|
},
|
||||||
|
"transform-literals": {
|
||||||
|
"chrome": "44",
|
||||||
|
"opera": "31",
|
||||||
|
"edge": "12",
|
||||||
|
"firefox": "53",
|
||||||
|
"safari": "9",
|
||||||
|
"node": "4",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "9",
|
||||||
|
"samsung": "4",
|
||||||
|
"rhino": "1.7.15",
|
||||||
|
"opera_mobile": "32",
|
||||||
|
"electron": "0.30"
|
||||||
|
},
|
||||||
|
"transform-function-name": {
|
||||||
|
"chrome": "51",
|
||||||
|
"opera": "38",
|
||||||
|
"edge": "79",
|
||||||
|
"firefox": "53",
|
||||||
|
"safari": "10",
|
||||||
|
"node": "6.5",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "10",
|
||||||
|
"samsung": "5",
|
||||||
|
"opera_mobile": "41",
|
||||||
|
"electron": "1.2"
|
||||||
|
},
|
||||||
|
"transform-arrow-functions": {
|
||||||
|
"chrome": "47",
|
||||||
|
"opera": "34",
|
||||||
|
"edge": "13",
|
||||||
|
"firefox": "43",
|
||||||
|
"safari": "10",
|
||||||
|
"node": "6",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "10",
|
||||||
|
"samsung": "5",
|
||||||
|
"rhino": "1.7.13",
|
||||||
|
"opera_mobile": "34",
|
||||||
|
"electron": "0.36"
|
||||||
|
},
|
||||||
|
"transform-block-scoped-functions": {
|
||||||
|
"chrome": "41",
|
||||||
|
"opera": "28",
|
||||||
|
"edge": "12",
|
||||||
|
"firefox": "46",
|
||||||
|
"safari": "10",
|
||||||
|
"node": "4",
|
||||||
|
"deno": "1",
|
||||||
|
"ie": "11",
|
||||||
|
"ios": "10",
|
||||||
|
"samsung": "3.4",
|
||||||
|
"opera_mobile": "28",
|
||||||
|
"electron": "0.21"
|
||||||
|
},
|
||||||
|
"transform-classes": {
|
||||||
|
"chrome": "46",
|
||||||
|
"opera": "33",
|
||||||
|
"edge": "13",
|
||||||
|
"firefox": "45",
|
||||||
|
"safari": "10",
|
||||||
|
"node": "5",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "10",
|
||||||
|
"samsung": "5",
|
||||||
|
"opera_mobile": "33",
|
||||||
|
"electron": "0.36"
|
||||||
|
},
|
||||||
|
"transform-object-super": {
|
||||||
|
"chrome": "46",
|
||||||
|
"opera": "33",
|
||||||
|
"edge": "13",
|
||||||
|
"firefox": "45",
|
||||||
|
"safari": "10",
|
||||||
|
"node": "5",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "10",
|
||||||
|
"samsung": "5",
|
||||||
|
"opera_mobile": "33",
|
||||||
|
"electron": "0.36"
|
||||||
|
},
|
||||||
|
"transform-shorthand-properties": {
|
||||||
|
"chrome": "43",
|
||||||
|
"opera": "30",
|
||||||
|
"edge": "12",
|
||||||
|
"firefox": "33",
|
||||||
|
"safari": "9",
|
||||||
|
"node": "4",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "9",
|
||||||
|
"samsung": "4",
|
||||||
|
"rhino": "1.7.14",
|
||||||
|
"opera_mobile": "30",
|
||||||
|
"electron": "0.27"
|
||||||
|
},
|
||||||
|
"transform-duplicate-keys": {
|
||||||
|
"chrome": "42",
|
||||||
|
"opera": "29",
|
||||||
|
"edge": "12",
|
||||||
|
"firefox": "34",
|
||||||
|
"safari": "9",
|
||||||
|
"node": "4",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "9",
|
||||||
|
"samsung": "3.4",
|
||||||
|
"opera_mobile": "29",
|
||||||
|
"electron": "0.25"
|
||||||
|
},
|
||||||
|
"transform-computed-properties": {
|
||||||
|
"chrome": "44",
|
||||||
|
"opera": "31",
|
||||||
|
"edge": "12",
|
||||||
|
"firefox": "34",
|
||||||
|
"safari": "7.1",
|
||||||
|
"node": "4",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "8",
|
||||||
|
"samsung": "4",
|
||||||
|
"rhino": "1.8",
|
||||||
|
"opera_mobile": "32",
|
||||||
|
"electron": "0.30"
|
||||||
|
},
|
||||||
|
"transform-for-of": {
|
||||||
|
"chrome": "51",
|
||||||
|
"opera": "38",
|
||||||
|
"edge": "15",
|
||||||
|
"firefox": "53",
|
||||||
|
"safari": "10",
|
||||||
|
"node": "6.5",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "10",
|
||||||
|
"samsung": "5",
|
||||||
|
"opera_mobile": "41",
|
||||||
|
"electron": "1.2"
|
||||||
|
},
|
||||||
|
"transform-sticky-regex": {
|
||||||
|
"chrome": "49",
|
||||||
|
"opera": "36",
|
||||||
|
"edge": "13",
|
||||||
|
"firefox": "3",
|
||||||
|
"safari": "10",
|
||||||
|
"node": "6",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "10",
|
||||||
|
"samsung": "5",
|
||||||
|
"rhino": "1.7.15",
|
||||||
|
"opera_mobile": "36",
|
||||||
|
"electron": "0.37"
|
||||||
|
},
|
||||||
|
"transform-unicode-escapes": {
|
||||||
|
"chrome": "44",
|
||||||
|
"opera": "31",
|
||||||
|
"edge": "12",
|
||||||
|
"firefox": "53",
|
||||||
|
"safari": "9",
|
||||||
|
"node": "4",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "9",
|
||||||
|
"samsung": "4",
|
||||||
|
"rhino": "1.7.15",
|
||||||
|
"opera_mobile": "32",
|
||||||
|
"electron": "0.30"
|
||||||
|
},
|
||||||
|
"transform-unicode-regex": {
|
||||||
|
"chrome": "50",
|
||||||
|
"opera": "37",
|
||||||
|
"edge": "13",
|
||||||
|
"firefox": "46",
|
||||||
|
"safari": "12",
|
||||||
|
"node": "6",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "12",
|
||||||
|
"samsung": "5",
|
||||||
|
"opera_mobile": "37",
|
||||||
|
"electron": "1.1"
|
||||||
|
},
|
||||||
|
"transform-spread": {
|
||||||
|
"chrome": "46",
|
||||||
|
"opera": "33",
|
||||||
|
"edge": "13",
|
||||||
|
"firefox": "45",
|
||||||
|
"safari": "10",
|
||||||
|
"node": "5",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "10",
|
||||||
|
"samsung": "5",
|
||||||
|
"opera_mobile": "33",
|
||||||
|
"electron": "0.36"
|
||||||
|
},
|
||||||
|
"transform-destructuring": {
|
||||||
|
"chrome": "51",
|
||||||
|
"opera": "38",
|
||||||
|
"edge": "15",
|
||||||
|
"firefox": "53",
|
||||||
|
"safari": "14.1",
|
||||||
|
"node": "6.5",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "14.5",
|
||||||
|
"samsung": "5",
|
||||||
|
"opera_mobile": "41",
|
||||||
|
"electron": "1.2"
|
||||||
|
},
|
||||||
|
"transform-block-scoping": {
|
||||||
|
"chrome": "50",
|
||||||
|
"opera": "37",
|
||||||
|
"edge": "14",
|
||||||
|
"firefox": "53",
|
||||||
|
"safari": "11",
|
||||||
|
"node": "6",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "11",
|
||||||
|
"samsung": "5",
|
||||||
|
"opera_mobile": "37",
|
||||||
|
"electron": "1.1"
|
||||||
|
},
|
||||||
|
"transform-typeof-symbol": {
|
||||||
|
"chrome": "48",
|
||||||
|
"opera": "35",
|
||||||
|
"edge": "12",
|
||||||
|
"firefox": "36",
|
||||||
|
"safari": "9",
|
||||||
|
"node": "6",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "9",
|
||||||
|
"samsung": "5",
|
||||||
|
"rhino": "1.8",
|
||||||
|
"opera_mobile": "35",
|
||||||
|
"electron": "0.37"
|
||||||
|
},
|
||||||
|
"transform-new-target": {
|
||||||
|
"chrome": "46",
|
||||||
|
"opera": "33",
|
||||||
|
"edge": "14",
|
||||||
|
"firefox": "41",
|
||||||
|
"safari": "10",
|
||||||
|
"node": "5",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "10",
|
||||||
|
"samsung": "5",
|
||||||
|
"opera_mobile": "33",
|
||||||
|
"electron": "0.36"
|
||||||
|
},
|
||||||
|
"transform-regenerator": {
|
||||||
|
"chrome": "50",
|
||||||
|
"opera": "37",
|
||||||
|
"edge": "13",
|
||||||
|
"firefox": "53",
|
||||||
|
"safari": "10",
|
||||||
|
"node": "6",
|
||||||
|
"deno": "1",
|
||||||
|
"ios": "10",
|
||||||
|
"samsung": "5",
|
||||||
|
"opera_mobile": "37",
|
||||||
|
"electron": "1.1"
|
||||||
|
},
|
||||||
|
"transform-member-expression-literals": {
|
||||||
|
"chrome": "7",
|
||||||
|
"opera": "12",
|
||||||
|
"edge": "12",
|
||||||
|
"firefox": "2",
|
||||||
|
"safari": "5.1",
|
||||||
|
"node": "0.4",
|
||||||
|
"deno": "1",
|
||||||
|
"ie": "9",
|
||||||
|
"android": "4",
|
||||||
|
"ios": "6",
|
||||||
|
"phantom": "1.9",
|
||||||
|
"samsung": "1",
|
||||||
|
"rhino": "1.7.13",
|
||||||
|
"opera_mobile": "12",
|
||||||
|
"electron": "0.20"
|
||||||
|
},
|
||||||
|
"transform-property-literals": {
|
||||||
|
"chrome": "7",
|
||||||
|
"opera": "12",
|
||||||
|
"edge": "12",
|
||||||
|
"firefox": "2",
|
||||||
|
"safari": "5.1",
|
||||||
|
"node": "0.4",
|
||||||
|
"deno": "1",
|
||||||
|
"ie": "9",
|
||||||
|
"android": "4",
|
||||||
|
"ios": "6",
|
||||||
|
"phantom": "1.9",
|
||||||
|
"samsung": "1",
|
||||||
|
"rhino": "1.7.13",
|
||||||
|
"opera_mobile": "12",
|
||||||
|
"electron": "0.20"
|
||||||
|
},
|
||||||
|
"transform-reserved-words": {
|
||||||
|
"chrome": "13",
|
||||||
|
"opera": "10.50",
|
||||||
|
"edge": "12",
|
||||||
|
"firefox": "2",
|
||||||
|
"safari": "3.1",
|
||||||
|
"node": "0.6",
|
||||||
|
"deno": "1",
|
||||||
|
"ie": "9",
|
||||||
|
"android": "4.4",
|
||||||
|
"ios": "6",
|
||||||
|
"phantom": "1.9",
|
||||||
|
"samsung": "1",
|
||||||
|
"rhino": "1.7.13",
|
||||||
|
"opera_mobile": "10.1",
|
||||||
|
"electron": "0.20"
|
||||||
|
},
|
||||||
|
"transform-export-namespace-from": {
|
||||||
|
"chrome": "72",
|
||||||
|
"deno": "1.0",
|
||||||
|
"edge": "79",
|
||||||
|
"firefox": "80",
|
||||||
|
"node": "13.2.0",
|
||||||
|
"opera": "60",
|
||||||
|
"opera_mobile": "51",
|
||||||
|
"safari": "14.1",
|
||||||
|
"ios": "14.5",
|
||||||
|
"samsung": "11.0",
|
||||||
|
"android": "72",
|
||||||
|
"electron": "5.0"
|
||||||
|
},
|
||||||
|
"proposal-export-namespace-from": {
|
||||||
|
"chrome": "72",
|
||||||
|
"deno": "1.0",
|
||||||
|
"edge": "79",
|
||||||
|
"firefox": "80",
|
||||||
|
"node": "13.2.0",
|
||||||
|
"opera": "60",
|
||||||
|
"opera_mobile": "51",
|
||||||
|
"safari": "14.1",
|
||||||
|
"ios": "14.5",
|
||||||
|
"samsung": "11.0",
|
||||||
|
"android": "72",
|
||||||
|
"electron": "5.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
2
ostp-license/frontend/node_modules/@babel/compat-data/native-modules.js
generated
vendored
Normal file
2
ostp-license/frontend/node_modules/@babel/compat-data/native-modules.js
generated
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
// Todo (Babel 8): remove this file, in Babel 8 users import the .json directly
|
||||||
|
module.exports = require("./data/native-modules.json");
|
||||||
2
ostp-license/frontend/node_modules/@babel/compat-data/overlapping-plugins.js
generated
vendored
Normal file
2
ostp-license/frontend/node_modules/@babel/compat-data/overlapping-plugins.js
generated
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
// Todo (Babel 8): remove this file, in Babel 8 users import the .json directly
|
||||||
|
module.exports = require("./data/overlapping-plugins.json");
|
||||||
40
ostp-license/frontend/node_modules/@babel/compat-data/package.json
generated
vendored
Normal file
40
ostp-license/frontend/node_modules/@babel/compat-data/package.json
generated
vendored
Normal file
|
|
@ -0,0 +1,40 @@
|
||||||
|
{
|
||||||
|
"name": "@babel/compat-data",
|
||||||
|
"version": "7.29.7",
|
||||||
|
"author": "The Babel Team (https://babel.dev/team)",
|
||||||
|
"license": "MIT",
|
||||||
|
"description": "The compat-data to determine required Babel plugins",
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/babel/babel.git",
|
||||||
|
"directory": "packages/babel-compat-data"
|
||||||
|
},
|
||||||
|
"publishConfig": {
|
||||||
|
"access": "public"
|
||||||
|
},
|
||||||
|
"exports": {
|
||||||
|
"./plugins": "./plugins.js",
|
||||||
|
"./native-modules": "./native-modules.js",
|
||||||
|
"./corejs2-built-ins": "./corejs2-built-ins.js",
|
||||||
|
"./corejs3-shipped-proposals": "./corejs3-shipped-proposals.js",
|
||||||
|
"./overlapping-plugins": "./overlapping-plugins.js",
|
||||||
|
"./plugin-bugfixes": "./plugin-bugfixes.js"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"build-data": "./scripts/download-compat-table.sh && node ./scripts/build-data.mjs && node ./scripts/build-modules-support.mjs && node ./scripts/build-bugfixes-targets.mjs"
|
||||||
|
},
|
||||||
|
"keywords": [
|
||||||
|
"babel",
|
||||||
|
"compat-table",
|
||||||
|
"compat-data"
|
||||||
|
],
|
||||||
|
"devDependencies": {
|
||||||
|
"@mdn/browser-compat-data": "^6.0.8",
|
||||||
|
"core-js-compat": "^3.48.0",
|
||||||
|
"electron-to-chromium": "^1.5.278"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=6.9.0"
|
||||||
|
},
|
||||||
|
"type": "commonjs"
|
||||||
|
}
|
||||||
2
ostp-license/frontend/node_modules/@babel/compat-data/plugin-bugfixes.js
generated
vendored
Normal file
2
ostp-license/frontend/node_modules/@babel/compat-data/plugin-bugfixes.js
generated
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
// Todo (Babel 8): remove this file, in Babel 8 users import the .json directly
|
||||||
|
module.exports = require("./data/plugin-bugfixes.json");
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue