Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,787 changes: 1,787 additions & 0 deletions 404-routes.txt

Large diffs are not rendered by default.

128 changes: 128 additions & 0 deletions 404s.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
URL,Last crawled
https://docs.zksync.io/ecosystem/ide,2025-10-03
https://docs.zksync.io/zk-stack/concepts/data-availability,2025-10-02
https://docs.zksync.io/zksync-era/guides/quick-start/paymasters-introduction,2025-09-23
https://docs.zksync.io/ecosystem/node-providers,2025-09-23
https://docs.zksync.io/build/developer-reference/fee-model/,2025-09-22
https://docs.zksync.io/zk-stack/components/smart-contracts/smart-contracts.html,2025-09-22
https://docs.zksync.io/build/api-reference,2025-09-21
https://docs.zksync.io/build/resources/faq,2025-09-20
https://docs.zksync.io/build/developer-reference/fee-model/how-l2-gas-price-works,2025-09-20
https://docs.zksync.io/userdocs/tokenomics,2025-09-20
https://docs.zksync.io/ecosystem/bridges,2025-09-19
https://docs.zksync.io/build/developer-reference/fee-model,2025-09-18
https://docs.zksync.io/zksync-node/quickstart,2025-09-18
https://docs.zksync.io/ecosystem/wallets,2025-09-18
https://docs.zksync.io/build/developer-reference/era-contracts/l1-ecosystem-contracts,2025-09-17
https://docs.zksync.io/dev,2025-09-15
https://docs.zksync.io/build/start-coding/quick-start/paymasters-introduction,2025-09-13
https://docs.zksync.io/zksync-network/sdk/troubleshooting,2025-09-13
https://docs.zksync.io/ecosystem/nft-marketplaces,2025-09-13
https://docs.zksync.io/zksync-network/sdk/release-note,2025-09-13
https://docs.zksync.io/zksync-network/sdk/glossary,2025-09-13
https://docs.zksync.io/zksync-network/sdk/faq,2025-09-12
https://docs.zksync.io/ecosystem/network-faucets,2025-09-12
https://docs.zksync.io/build/developer-reference/era-contracts/system-contracts,2025-09-12
https://docs.zksync.io/zksync-node/running-node,2025-09-01
https://docs.zksync.io/zksync-era/tooling/zksync-easy-onramp/util-helpers,2025-08-11
https://docs.zksync.io/zksync-node/component-breakdown,2025-08-08
https://docs.zksync.io/zksync-era/tooling/zksync-easy-onramp/configure-sdk-provider,2025-08-06
https://docs.zksync.io/userdocs/roadmap/,2025-07-30
https://docs.zksync.io/build/support/faq.html,2025-07-25
https://docs.zksync.io/zk-stack/components/zksync-evm/precompiles,2025-07-22
https://docs.zksync.io/zk-stack/concepts/data-availability/validiums,2025-07-22
https://docs.zksync.io/zksync-era/tooling/zksync-easy-onramp/faqs,2025-07-22
https://docs.zksync.io/zksync-node/troubleshooting,2025-07-21
https://docs.zksync.io/zksync-era/tooling/zksync-easy-onramp/configure-sdk,2025-07-16
https://docs.zksync.io/zksync-era/tooling/zksync-easy-onramp/sdk-config-settings,2025-07-16
https://docs.zksync.io/build/tooling/hardhat/hardhat-zksync-solc.html,2025-07-15
https://docs.zksync.io/zksync-era/tooling/zksync-easy-onramp/testing-integration,2025-07-15
https://docs.zksync.io/zksync-protocol/evm-emulator/pre-deployed-contracts,2025-07-15
https://docs.zksync.io/infra/configuration.html,2025-07-12
https://docs.zksync.io/contact,2025-07-11
https://docs.zksync.io/build/sdks/js/getting-started.html,2025-07-09
https://docs.zksync.io/zkevm/,2025-07-09
https://docs.zksync.io/docs/reference/concepts/aa.html,2025-07-06
https://docs.zksync.io/build/tooling/block-explorer/getting-started.html,2025-06-30
https://docs.zksync.io/zk-stack/components/shared-bridges.html,2025-06-29
https://docs.zksync.io/build/tutorials/tooling-guides/web3js.html,2025-06-28
https://docs.zksync.io/zksync-era/unique-features/evm-emulator/faq,2025-06-28
https://docs.zksync.io/zksync-protocol/evm-emulator/era-evm-interactions,2025-06-28
https://docs.zksync.io/infra/introduction.html,2025-06-26
https://docs.zksync.io/zk-stack/concepts/blocks.html,2025-06-26
https://docs.zksync.io/zksync-node/configuration,2025-06-25
https://docs.zksync.io/zk-stack/components/smart-contracts/system-contracts.html,2025-06-25
https://docs.zksync.io/zk-stack/concepts/transaction-lifecycle.html,2025-06-25
https://docs.zksync.io/build/tooling/block-explorer/contract-verification.html,2025-06-25
https://docs.zksync.io/zk-stack/concepts/data-availability/validiums/?ref=grvt.io,2025-06-23
https://docs.zksync.io/zk-stack/concepts/validiums.html?ref=basebiance.com,2025-06-23
https://docs.zksync.io/zk-stack/concepts/data-availability/validiums?ref=basebiance.com,2025-06-21
https://docs.zksync.io/zksync-node/component-breakdown/,2025-06-21
https://docs.zksync.io/build/tooling/hardhat/other-plugins.html,2025-06-21
https://docs.zksync.io/zksync-node/quickstart/,2025-06-21
https://docs.zksync.io/zksync-era/guides/quick-start/paymasters-introduction/,2025-06-21
https://docs.zksync.io/ecosystem/network-faucets/,2025-06-21
https://docs.zksync.io/build/quick-start/paymasters-introduction/,2025-06-21
https://docs.zksync.io/build/start-coding/quick-start/paymasters-introduction/,2025-06-21
https://docs.zksync.io/zk-stack/components/compiler/specification/,2025-06-19
https://docs.zksync.io/infra/quickstart.html,2025-06-19
https://docs.zksync.io/zksync-node/configuration/,2025-06-19
https://docs.zksync.io/build/sdks/js/utils.html,2025-06-11
https://docs.zksync.io/build/tooling/block-explorer/block-explorer-api.html,2025-06-11
https://docs.zksync.io/zk-stack/concepts/finality.html,2025-06-11
https://docs.zksync.io/build/tooling/hardhat/hardhat-zksync-upgradable.html,2025-06-10
https://docs.zksync.io/ecosystem/cross-chain/,2025-06-10
https://docs.zksync.io/zk-stack/concepts/hyperchains-hyperscaling.html,2025-06-09
https://docs.zksync.io/build/tooling/hardhat/hardhat-zksync-deploy.html,2025-06-09
https://docs.zksync.io/_fonts/N0bX2SlFPv1weGeLZDtQIg-MoHIo39i8o.woff,2025-06-08
https://docs.zksync.io/sdk/java/contracts,2025-06-07
https://docs.zksync.io/zk-stack/concepts/fee-mechanism.html,2025-06-07
https://docs.zksync.io/zk-stack/components/compiler/toolchain/solidity.html,2025-06-07
https://docs.zksync.io/zksync-era/unique-features/evm-emulator/evm-emulator,2025-06-07
https://docs.zksync.io/sdk/go/utils/,2025-06-06
https://docs.zksync.io/sdk/go/utils,2025-06-06
https://docs.zksync.io/build/tooling/hardhat,2025-06-04
https://docs.zksync.io/ecosystem/oracles,2025-06-04
https://docs.zksync.io/sdk/python/features/,2025-06-04
https://docs.zksync.io/sdk/python/quickstart/installation-python/,2025-06-03
https://docs.zksync.io/sdk/python/features,2025-06-03
https://docs.zksync.io/docs/reference/concepts/zkSync.html?ref=blog.quicknode.com,2025-06-03
https://docs.zksync.io/zk-stack/running-a-hyperchain/locally.html,2025-06-02
https://docs.zksync.io/zksync-protocol/evm-emulator/technical-details,2025-05-31
https://docs.zksync.io/zksync-protocol/evm-emulator/evm-differences,2025-05-27
https://docs.zksync.io/zksync-protocol/evm-emulator/deployment-execution,2025-05-27
https://docs.zksync.io/build/quick-start/paymasters-introduction,2025-05-26
https://docs.zksync.io/infra/running-node.html,2025-05-26
https://docs.zksync.io/build/test-and-debug/continuous-integration.html,2025-05-21
https://docs.zksync.io/zk-stack/concepts/data-availability/validiums/?ref=basebiance.com,2025-05-21
https://docs.zksync.io/build/test-and-debug/continuous-integration/,2025-05-18
https://docs.zksync.io/zk-stack/concepts/validiums.html,2025-05-18
https://docs.zksync.io/infra/,2025-05-18
https://docs.zksync.io/build/sdks/js/accounts.html,2025-05-17
https://docs.zksync.io/zk-stack/concepts/data-availability/overview.html,2025-05-17
https://docs.zksync.io/build/tooling/hardhat/hardhat-zksync-verify.html,2025-05-16
https://docs.zksync.io/zk-stack/components/zksync-evm/vm-specification/formal-spec/,2025-05-13
https://docs.zksync.io/build/zksync-sso/faqs,2025-05-13
https://docs.zksync.io/build/tooling/block-explorer/block-explorer-menu.html,2025-05-11
https://docs.zksync.io/build/test-and-debug/dockerized-l1-l2-nodes,2025-05-10
https://docs.zksync.io/zksync-protocol/compiler/specification/,2025-05-10
https://docs.zksync.io/zk-stack/components/compiler/specification,2025-05-10
https://docs.zksync.io/build/start-coding/zksync-101/paymaster/,2025-05-10
https://docs.zksync.io/zk-stack/concepts/validiums.html?ref=grvt.io,2025-05-09
https://docs.zksync.io/build/start-coding/zksync-101/paymaster,2025-05-09
https://docs.zksync.io/zk-stack/components/prover/running-the-prover,2025-05-09
https://docs.zksync.io/zk-stack/concepts/data-availability/validiums?ref=grvt.io,2025-05-09
https://docs.zksync.io/ecosystem/cross-chain,2025-05-08
https://docs.zksync.io/sdk/python/quickstart/installation-python,2025-05-08
https://docs.zksync.io/ecosystem/,2025-05-08
https://docs.zksync.io/userdocs/tokenomics/,2025-05-07
https://docs.zksync.io/sdk/java/utils,2025-05-07
https://docs.zksync.io/sdk/java/utils/,2025-05-07
https://docs.zksync.io/zk-stack/components/sequencer-server.html,2025-04-30
https://docs.zksync.io/ecosystem/bridges/,2025-04-29
https://docs.zksync.io/sdk/js/ethers/installation-js/,2025-04-28
https://docs.zksync.io/sdk/python/accounts-l1-l2/,2025-04-25
https://docs.zksync.io/sdk/go/accounts-l1-l2/,2025-04-25
https://docs.zksync.io/sdk/js/ethers/installation-js,2025-04-24
https://docs.zksync.io/sdk/python/accounts-l1-l2,2025-04-24
https://docs.zksync.io/sdk/python/paymaster-utils,2025-04-23
154 changes: 154 additions & 0 deletions REDIRECT_MIGRATION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,154 @@
# Redirect Consolidation Summary

## Overview

Successfully consolidated all redirects from `redirects.ts` into `firebase.json` to create a single source of truth for redirect management.

## What Was Done

### 1. Test Infrastructure Setup

- ✅ Installed Vitest as the test runner
- ✅ Created comprehensive test suite in `tests/redirects.test.ts`
- ✅ Added test scripts to `package.json`:
- `bun run test` - Run tests in watch mode
- `bun run test:ui` - Run tests with UI
- `bun run test:run` - Run tests once

### 2. Test Suite Features
The test suite validates:

- Firebase redirect structure and validity
- Pattern matching for glob and regex patterns
- Redirect chains (detecting multi-hop redirects)
- Duplicate source detection
- Conflict detection between redirect sources

### 3. Fixed Issues in firebase.json

- ✅ Removed 2 duplicate redirect sources:
- `/build/tooling/network-faucets.html` (exact duplicate)
- `/sdk/:path*` (conflicting destinations)

### 4. Redirect Consolidation

- ✅ Converted 219 redirects from `redirects.ts` to Firebase format
- ✅ Merged them into `firebase.json`
- ✅ Total redirects in firebase.json: **316**

### 5. Code Changes

- ✅ Updated `nuxt.config.ts` to remove `redirects.ts` import
- ✅ Replaced `redirects.ts` content with migration notice
- ✅ Created backup: `redirects.ts.backup`

### 6. Documentation

- ✅ Added inline documentation in `redirects.ts` explaining the migration
- ✅ Created conversion script in `scripts/convert-redirects.ts` for reference

## Files Changed

### Modified

- `firebase.json` - Now contains all 316 redirects
- `nuxt.config.ts` - Removed redirects import and routeRules
- `redirects.ts` - Now contains only migration documentation
- `package.json` - Added test scripts and conversion script

### Created

- `tests/redirects.test.ts` - Comprehensive test suite
- `scripts/convert-redirects.ts` - Conversion script (for reference)
- `redirects.ts.backup` - Backup of original redirects
- `vitest.config.ts` - Vitest configuration
- `REDIRECT_MIGRATION.md` - This document

## Test Results

All 15 tests passing:

- ✅ Firebase redirect validation
- ✅ Pattern matching tests
- ✅ Migration verification
- ✅ Utility function tests

```bash
Test Files 1 passed (1)
Tests 15 passed (15)
```

## How to Add New Redirects

Going forward, all redirects should be added to `firebase.json`:

1. Open `firebase.json`
2. Add your redirect to the `hosting.redirects` array:

```json
{
"source": "/old-path",
"destination": "/new-path",
"type": 301
}
```

3. Run tests: `bun run test:run`
4. Commit your changes

### Firebase Redirect Format

- **source**: The URL pattern to match (supports glob patterns)
- **destination**: Where to redirect to (can be relative or absolute URL)
- **type**: HTTP status code (301 = permanent, 302 = temporary)

### Pattern Examples

- Exact match: `"/old-page"`
- With wildcard: `"/sdk/:path*"`
- File extension: `"**/*.html"`

For more details, see: https://firebase.google.com/docs/hosting/full-config#redirects

## Benefits of This Change

1. **Single Source of Truth**: All redirects in one file
2. **Consistency**: Firebase hosting handles all redirects
3. **Better Testing**: Comprehensive test suite validates redirects
4. **Easier Maintenance**: No need to sync between two files
5. **Redirect Chain Detection**: Tests identify multi-hop redirects
6. **Duplicate Detection**: Tests prevent duplicate sources

## Rollback Instructions

If you need to rollback this change:

1. Restore the original `redirects.ts`:

```bash
cp redirects.ts.backup redirects.ts
```

2. Restore the original `nuxt.config.ts`:

```bash
git checkout HEAD~1 nuxt.config.ts
```

3. Restore the original `firebase.json`:

```bash
git checkout HEAD~1 firebase.json
```

## Migration Date

October 21, 2025

## Related Files

- Test suite: `tests/redirects.test.ts`
- Conversion script: `scripts/convert-redirects.ts`
- Backup: `redirects.ts.backup`
- Firebase config: `firebase.json`
- Nuxt config: `nuxt.config.ts`
Loading
Loading