├── .github ├── labeler.yml └── workflows │ ├── node.yml │ ├── stale.yml │ └── test.yml ├── .gitignore ├── .npmignore ├── .prettierrc.cjs ├── .upptimerc.yml ├── CHANGELOG.md ├── LICENSE ├── README.md ├── cypress.json ├── cypress ├── fixtures │ └── example.json ├── integration │ ├── incident.spec.js │ └── live-status.spec.js ├── plugins │ └── index.js └── support │ ├── commands.js │ └── index.js ├── i18n.yml ├── init-tests.ts ├── jest.config.js ├── package-lock.json ├── package.json ├── post-process.ts ├── pre-process.ts ├── release.config.js ├── rollup.config.js ├── src ├── client.js ├── components │ ├── ActiveIncidents.svelte │ ├── ActiveScheduled.svelte │ ├── Graph.svelte │ ├── History.svelte │ ├── Incident.svelte │ ├── Incidents.svelte │ ├── LiveStatus.svelte │ ├── Loading.svelte │ ├── Nav.svelte │ ├── Scheduled.svelte │ └── Summary.svelte ├── routes │ ├── _error.svelte │ ├── _layout.svelte │ ├── error.svelte │ ├── history │ │ └── [number].svelte │ ├── incident │ │ └── [number].svelte │ ├── index.svelte │ └── rate-limit-exceeded.svelte ├── server.js ├── service-worker.js ├── template.html └── utils │ └── createOctokit.js ├── static ├── global.css ├── logo-192.png ├── logo-512.png ├── manifest.json └── themes │ ├── dark.css │ ├── light.css │ ├── night.css │ └── ocean.css └── tsconfig.json /.github/labeler.yml: -------------------------------------------------------------------------------- 1 | config: 2 | - ./* 3 | tooling: 4 | - tooling/**/*.* 5 | assets: 6 | - static/**/*.* 7 | tests: 8 | - any: ["src/**/*.spec.js", "cypress/**/*"] 9 | package: 10 | - any: ["package.json", "package-lock.json"] 11 | source: 12 | - src/**/* 13 | -------------------------------------------------------------------------------- /.github/workflows/node.yml: -------------------------------------------------------------------------------- 1 | name: Node CI 2 | on: 3 | push: 4 | branches: 5 | - master 6 | jobs: 7 | release: 8 | name: Build, test, and release 9 | runs-on: ubuntu-latest 10 | if: "!contains(github.event.head_commit.message, '[skip ci]')" 11 | steps: 12 | - name: Checkout 13 | uses: actions/checkout@v4.2.2 14 | - name: Setup Node.js 15 | uses: actions/setup-node@v4.3.0 16 | with: 17 | node-version: 14 18 | - name: Cache node modules 19 | uses: actions/cache@v4.2.3 20 | env: 21 | cache-name: cache-node-modules 22 | with: 23 | path: ~/.npm 24 | key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} 25 | restore-keys: | 26 | ${{ runner.os }}-build-${{ env.cache-name }}- 27 | ${{ runner.os }}-build- 28 | ${{ runner.os }}- 29 | - name: Install dependencies 30 | run: npm ci 31 | - name: Build TypeScript 32 | run: npm run build 33 | - name: Release 34 | run: npx semantic-release 35 | env: 36 | GITHUB_TOKEN: ${{ secrets.GH_PAT }} 37 | NPM_TOKEN: ${{ secrets.NPM_TOKEN }} 38 | GIT_AUTHOR_NAME: "Koj Bot" 39 | GIT_AUTHOR_EMAIL: "bot@koj.co" 40 | GIT_COMMITTER_NAME: "Koj Bot" 41 | GIT_COMMITTER_EMAIL: "bot@koj.co" 42 | -------------------------------------------------------------------------------- /.github/workflows/stale.yml: -------------------------------------------------------------------------------- 1 | name: "Stale Issues CI" 2 | on: 3 | workflow_dispatch: 4 | schedule: 5 | - cron: "0 0 * * *" 6 | jobs: 7 | stale: 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: actions/stale@v9.1.0 11 | with: 12 | repo-token: ${{ secrets.GH_PAT }} 13 | stale-issue-message: "⚠️ This issue has not seen any activity in the past 2 months so I'm marking it as stale. I'll close it if it doesn't see any activity in the coming week." 14 | stale-pr-message: "⚠️ This PR has not seen any activity in the past 2 months so I'm marking it as stale. I'll close it if it doesn't see any activity in the coming week." 15 | days-before-stale: 60 16 | days-before-close: 7 17 | stale-issue-label: "wontfix" 18 | exempt-issue-labels: "wip" 19 | stale-pr-label: "wontfix" 20 | exempt-pr-labels: "wip" 21 | -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- 1 | name: Test CI 2 | on: 3 | workflow_dispatch: 4 | push: 5 | branches-ignore: 6 | - master 7 | jobs: 8 | release: 9 | name: Build and test 10 | runs-on: ubuntu-18.04 11 | if: "!contains(github.event.head_commit.message, '[skip ci]')" 12 | steps: 13 | - name: Checkout 14 | uses: actions/checkout@v4.2.2 15 | - name: Setup Node.js 16 | uses: actions/setup-node@v4.3.0 17 | with: 18 | node-version: 14 19 | - name: Install dependencies 20 | run: npm ci 21 | - name: Build TypeScript 22 | run: npm run build 23 | - name: Run tests 24 | run: npm run test 25 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | dist/ 3 | .env 4 | .DS_Store 5 | /src/node_modules/@sapper/ 6 | /cypress/screenshots/ 7 | /__sapper__/ 8 | data/ 9 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | .vscode 2 | .licenses 3 | .github 4 | -------------------------------------------------------------------------------- /.prettierrc.cjs: -------------------------------------------------------------------------------- 1 | module.exports = require("@koj/config").prettier; 2 | -------------------------------------------------------------------------------- /.upptimerc.yml: -------------------------------------------------------------------------------- 1 | owner: upptime 2 | repo: upptime 3 | user-agent: KojBot 4 | 5 | # Add your sites here 6 | sites: 7 | - name: Google 8 | url: https://www.google.com 9 | - name: Wikipedia 10 | url: https://en.wikipedia.org 11 | - name: Internet Archive 12 | url: https://archive.org 13 | - name: Hacker News 14 | url: https://news.ycombinator.com 15 | - name: Broken Site 16 | url: https://thissitedoesnotexist.com 17 | - name: Secret Site 18 | url: $SECRET_SITE 19 | 20 | # Add downtime notifications 21 | # https://upptime.js.org/docs/notifications 22 | notifications: 23 | - type: slack 24 | channel: C016QTU9S9Y 25 | assignees: 26 | - AnandChowdhary 27 | 28 | # Configure your status website 29 | # http://localhost:3000/docs/configuration#status-website 30 | status-website: 31 | cname: demo.upptime.js.org 32 | logoUrl: https://raw.githubusercontent.com/upptime/upptime.js.org/master/static/img/icon.svg 33 | name: Upptime 34 | introTitle: "**Upptime** is the open-source uptime monitor and status page, powered entirely by GitHub." 35 | introMessage: This is a sample status page which uses **real-time** data from our [Github repository](https://github.com/upptime/upptime). No server required — just GitHub Actions, Issues, and Pages. [**Get your own for free**](https://github.com/upptime/upptime) 36 | apiBaseUrl: https://api.github.com 37 | userContentBaseUrl: https://raw.githubusercontent.com 38 | navbar: 39 | - title: Status 40 | href: / 41 | - title: GitHub 42 | href: https://github.com/$OWNER/$REPO 43 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## v1.17.0 (2024-06-29) 2 | 3 | [📝 Release notes](https://github.com/upptime/status-page/releases/tag/v1.17.0) · [💻 Compare](https://github.com/upptime/status-page/compare/v1.16.0...v1.17.0) · [🔖 Tag](https://github.com/upptime/status-page/tree/v1.17.0) · 🗄️ Archive ([zip](https://github.com/upptime/status-page/archive/v1.17.0.zip) · [tar.gz](https://github.com/upptime/status-page/archive/v1.17.0.tar.gz)) 4 | 5 | ### ✨ New features 6 | 7 | - [`bdf7fcd`](https://github.com/upptime/status-page/commit/bdf7fcd) Date formats in i18n configuration 8 | (Issues: [`#549`](https://github.com/upptime/status-page/issues/549)) 9 | 10 | ## v1.16.0 (2024-04-02) 11 | 12 | [📝 Release notes](https://github.com/upptime/status-page/releases/tag/v1.16.0) · [💻 Compare](https://github.com/upptime/status-page/compare/v1.15.3...v1.16.0) · [🔖 Tag](https://github.com/upptime/status-page/tree/v1.16.0) · 🗄️ Archive ([zip](https://github.com/upptime/status-page/archive/v1.16.0.zip) · [tar.gz](https://github.com/upptime/status-page/archive/v1.16.0.tar.gz)) 13 | 14 | ### ✨ New features 15 | 16 | - [`9e6ecbd`](https://github.com/upptime/status-page/commit/9e6ecbd) Append base URL to CNAME to fix asset loading 17 | 18 | ## v1.15.3 (2023-05-31) 19 | 20 | [📝 Release notes](https://github.com/upptime/status-page/releases/tag/v1.15.3) · [💻 Compare](https://github.com/upptime/status-page/compare/v1.15.2...v1.15.3) · [🔖 Tag](https://github.com/upptime/status-page/tree/v1.15.3) · 🗄️ Archive ([zip](https://github.com/upptime/status-page/archive/v1.15.3.zip) · [tar.gz](https://github.com/upptime/status-page/archive/v1.15.3.tar.gz)) 21 | 22 | ### 🐛 Bug fixes 23 | 24 | - [`fe601cf`](https://github.com/upptime/status-page/commit/fe601cf) Merge pull request #541 from titanism/master 25 | (Issues: [`#541`](https://github.com/upptime/status-page/issues/541)) 26 | 27 | ## v1.15.2 (2023-05-31) 28 | 29 | [📝 Release notes](https://github.com/upptime/status-page/releases/tag/v1.15.2) · [💻 Compare](https://github.com/upptime/status-page/compare/v1.15.1...v1.15.2) · [🔖 Tag](https://github.com/upptime/status-page/tree/v1.15.2) · 🗄️ Archive ([zip](https://github.com/upptime/status-page/archive/v1.15.2.zip) · [tar.gz](https://github.com/upptime/status-page/archive/v1.15.2.tar.gz)) 30 | 31 | ### 🐛 Bug fixes 32 | 33 | - [`d235df8`](https://github.com/upptime/status-page/commit/d235df8) Remove dependabot config 34 | 35 | ## v1.15.1 (2023-04-03) 36 | 37 | [📝 Release notes](https://github.com/upptime/status-page/releases/tag/v1.15.1) · [💻 Compare](https://github.com/upptime/status-page/compare/v1.15.0...v1.15.1) · [🔖 Tag](https://github.com/upptime/status-page/tree/v1.15.1) · 🗄️ Archive ([zip](https://github.com/upptime/status-page/archive/v1.15.1.zip) · [tar.gz](https://github.com/upptime/status-page/archive/v1.15.1.tar.gz)) 38 | 39 | ### 🐛 Bug fixes 40 | 41 | - [`14f7f8f`](https://github.com/upptime/status-page/commit/14f7f8f) Check for window & document in code 42 | 43 | ## v1.15.0 (2023-02-18) 44 | 45 | [📝 Release notes](https://github.com/upptime/status-page/releases/tag/v1.15.0) · [💻 Compare](https://github.com/upptime/status-page/compare/v1.14.1...v1.15.0) · [🔖 Tag](https://github.com/upptime/status-page/tree/v1.15.0) · 🗄️ Archive ([zip](https://github.com/upptime/status-page/archive/v1.15.0.zip) · [tar.gz](https://github.com/upptime/status-page/archive/v1.15.0.tar.gz)) 46 | 47 | ### ✨ New features 48 | 49 | - [`61a4967`](https://github.com/upptime/status-page/commit/61a4967) Add light + dark theme support 50 | 51 | ### 🐛 Bug fixes 52 | 53 | - [`47d2cfa`](https://github.com/upptime/status-page/commit/47d2cfa) Fix error in Svelte syntax 54 | 55 | ## v1.14.1 (2022-09-23) 56 | 57 | [📝 Release notes](https://github.com/upptime/status-page/releases/tag/v1.14.1) · [💻 Compare](https://github.com/upptime/status-page/compare/v1.14.0...v1.14.1) · [🔖 Tag](https://github.com/upptime/status-page/tree/v1.14.1) · 🗄️ Archive ([zip](https://github.com/upptime/status-page/archive/v1.14.1.zip) · [tar.gz](https://github.com/upptime/status-page/archive/v1.14.1.tar.gz)) 58 | 59 | ### 🐛 Bug fixes 60 | 61 | - [`a331d49`](https://github.com/upptime/status-page/commit/a331d49) Remove background mask for graph 62 | 63 | ## v1.14.0 (2022-08-01) 64 | 65 | [📝 Release notes](https://github.com/upptime/status-page/releases/tag/v1.14.0) · [💻 Compare](https://github.com/upptime/status-page/compare/v1.13.0...v1.14.0) · [🔖 Tag](https://github.com/upptime/status-page/tree/v1.14.0) · 🗄️ Archive ([zip](https://github.com/upptime/status-page/archive/v1.14.0.zip) · [tar.gz](https://github.com/upptime/status-page/archive/v1.14.0.tar.gz)) 66 | 67 | ### ✨ New features 68 | 69 | - [`aeb6b33`](https://github.com/upptime/status-page/commit/aeb6b33) Allow the use of other mirrors instead of raw.githubusercontent.com 70 | (Issues: [`#444`](https://github.com/upptime/status-page/issues/444)) 71 | 72 | ## v1.13.0 (2022-07-22) 73 | 74 | [📝 Release notes](https://github.com/upptime/status-page/releases/tag/v1.13.0) · [💻 Compare](https://github.com/upptime/status-page/compare/v1.12.6...v1.13.0) · [🔖 Tag](https://github.com/upptime/status-page/tree/v1.13.0) · 🗄️ Archive ([zip](https://github.com/upptime/status-page/archive/v1.13.0.zip) · [tar.gz](https://github.com/upptime/status-page/archive/v1.13.0.tar.gz)) 75 | 76 | ### ✨ New features 77 | 78 | - [`48259ef`](https://github.com/upptime/status-page/commit/48259ef) Trigger new release 79 | 80 | ## v1.12.6 (2022-05-26) 81 | 82 | [📝 Release notes](https://github.com/upptime/status-page/releases/tag/v1.12.6) · [💻 Compare](https://github.com/upptime/status-page/compare/v1.12.5...v1.12.6) · [🔖 Tag](https://github.com/upptime/status-page/tree/v1.12.6) · 🗄️ Archive ([zip](https://github.com/upptime/status-page/archive/v1.12.6.zip) · [tar.gz](https://github.com/upptime/status-page/archive/v1.12.6.tar.gz)) 83 | 84 | ### 🐛 Bug fixes 85 | 86 | - [`6cb6f23`](https://github.com/upptime/status-page/commit/6cb6f23) Update all dependencies (testing) 87 | 88 | ## v1.12.5 (2022-05-26) 89 | 90 | [📝 Release notes](https://github.com/upptime/status-page/releases/tag/v1.12.5) · [💻 Compare](https://github.com/upptime/status-page/compare/v1.12.4...v1.12.5) · [🔖 Tag](https://github.com/upptime/status-page/tree/v1.12.5) · 🗄️ Archive ([zip](https://github.com/upptime/status-page/archive/v1.12.5.zip) · [tar.gz](https://github.com/upptime/status-page/archive/v1.12.5.tar.gz)) 91 | 92 | ### 🐛 Bug fixes 93 | 94 | - [`d432470`](https://github.com/upptime/status-page/commit/d432470) Update dependencies 95 | 96 | ## v1.12.4 (2021-05-07) 97 | 98 | [📝 Release notes](https://github.com/upptime/status-page/releases/tag/v1.12.4) · [💻 Compare](https://github.com/upptime/status-page/compare/v1.12.3...v1.12.4) · [🔖 Tag](https://github.com/upptime/status-page/tree/v1.12.4) · 🗄️ Archive ([zip](https://github.com/upptime/status-page/archive/v1.12.4.zip) · [tar.gz](https://github.com/upptime/status-page/archive/v1.12.4.tar.gz)) 99 | 100 | ### 🐛 Bug fixes 101 | 102 | - [`90fd816`](https://github.com/upptime/status-page/commit/90fd816) Trigger patch release 103 | 104 | ## v1.12.3 (2021-03-15) 105 | 106 | [📝 Release notes](https://github.com/upptime/status-page/releases/tag/v1.12.3) · [💻 Compare](https://github.com/upptime/status-page/compare/v1.12.2...v1.12.3) · [🔖 Tag](https://github.com/upptime/status-page/tree/v1.12.3) · 🗄️ Archive ([zip](https://github.com/upptime/status-page/archive/v1.12.3.zip) · [tar.gz](https://github.com/upptime/status-page/archive/v1.12.3.tar.gz)) 107 | 108 | ### ⬆️ Dependency updates 109 | 110 | - [`1b13699`](https://github.com/upptime/status-page/commit/1b13699) Bump @octokit/rest from 18.3.3 to 18.3.4 111 | 112 | ## v1.12.2 (2021-03-08) 113 | 114 | [📝 Release notes](https://github.com/upptime/status-page/releases/tag/v1.12.2) · [💻 Compare](https://github.com/upptime/status-page/compare/v1.12.1...v1.12.2) · [🔖 Tag](https://github.com/upptime/status-page/tree/v1.12.2) · 🗄️ Archive ([zip](https://github.com/upptime/status-page/archive/v1.12.2.zip) · [tar.gz](https://github.com/upptime/status-page/archive/v1.12.2.tar.gz)) 115 | 116 | ### ⬆️ Dependency updates 117 | 118 | - [`5d21699`](https://github.com/upptime/status-page/commit/5d21699) Bump @babel/preset-env from 7.13.5 to 7.13.8 119 | - [`d8ff323`](https://github.com/upptime/status-page/commit/d8ff323) Bump @babel/core from 7.13.1 to 7.13.8 120 | - [`0a37575`](https://github.com/upptime/status-page/commit/0a37575) Bump rollup from 2.39.1 to 2.40.0 121 | - [`5cd31d9`](https://github.com/upptime/status-page/commit/5cd31d9) Bump @octokit/rest from 18.2.1 to 18.3.0 122 | - [`825d2bf`](https://github.com/upptime/status-page/commit/825d2bf) Bump @babel/plugin-transform-runtime from 7.13.7 to 7.13.8 123 | - [`ee5fdd9`](https://github.com/upptime/status-page/commit/ee5fdd9) Bump @types/fs-extra from 9.0.7 to 9.0.8 124 | - [`ec8ae1b`](https://github.com/upptime/status-page/commit/ec8ae1b) Bump @babel/runtime from 7.13.7 to 7.13.8 125 | - [`a62fffb`](https://github.com/upptime/status-page/commit/a62fffb) Bump cypress from 6.5.0 to 6.6.0 126 | - [`b0a6f1d`](https://github.com/upptime/status-page/commit/b0a6f1d) Bump @babel/preset-env from 7.13.8 to 7.13.9 127 | - [`dae4f67`](https://github.com/upptime/status-page/commit/dae4f67) Bump @babel/runtime from 7.13.8 to 7.13.9 128 | - [`9afed12`](https://github.com/upptime/status-page/commit/9afed12) Bump @octokit/rest from 18.3.0 to 18.3.1 129 | - [`2497e95`](https://github.com/upptime/status-page/commit/2497e95) Bump svelte from 3.34.0 to 3.35.0 130 | - [`06dc8d1`](https://github.com/upptime/status-page/commit/06dc8d1) Bump @babel/plugin-transform-runtime from 7.13.8 to 7.13.9 131 | - [`0ea4f20`](https://github.com/upptime/status-page/commit/0ea4f20) Bump @octokit/rest from 18.3.1 to 18.3.2 132 | - [`31baed0`](https://github.com/upptime/status-page/commit/31baed0) Bump semantic-release from 17.4.0 to 17.4.1 133 | - [`29ad3e3`](https://github.com/upptime/status-page/commit/29ad3e3) Bump ts-jest from 26.5.2 to 26.5.3 134 | - [`b209f44`](https://github.com/upptime/status-page/commit/b209f44) Bump @octokit/rest from 18.3.2 to 18.3.3 135 | - [`810fa77`](https://github.com/upptime/status-page/commit/810fa77) Bump typescript from 4.2.2 to 4.2.3 136 | 137 | ## v1.12.1 (2021-02-26) 138 | 139 | [📝 Release notes](https://github.com/upptime/status-page/releases/tag/v1.12.1) · [💻 Compare](https://github.com/upptime/status-page/compare/v1.12.0...v1.12.1) · [🔖 Tag](https://github.com/upptime/status-page/tree/v1.12.1) · 🗄️ Archive ([zip](https://github.com/upptime/status-page/archive/v1.12.1.zip) · [tar.gz](https://github.com/upptime/status-page/archive/v1.12.1.tar.gz)) 140 | 141 | ### 🐛 Bug fixes 142 | 143 | - [`5544b85`](https://github.com/upptime/status-page/commit/5544b85) Fix upptime/upptime/issues/270, remove active message 144 | 145 | ### ⬆️ Dependency updates 146 | 147 | - [`17c41b9`](https://github.com/upptime/status-page/commit/17c41b9) Bump @babel/plugin-transform-runtime from 7.13.6 to 7.13.7 148 | - [`af1cb9c`](https://github.com/upptime/status-page/commit/af1cb9c) Bump @babel/runtime from 7.13.6 to 7.13.7 149 | - [`eaac2ab`](https://github.com/upptime/status-page/commit/eaac2ab) Bump svelte from 3.32.3 to 3.34.0 150 | - [`8eb895e`](https://github.com/upptime/status-page/commit/8eb895e) Bump semantic-release from 17.3.9 to 17.4.0 151 | 152 | ## v1.12.0 (2021-02-24) 153 | 154 | [📝 Release notes](https://github.com/upptime/status-page/releases/tag/v1.12.0) · [💻 Compare](https://github.com/upptime/status-page/compare/v1.11.7...v1.12.0) · [🔖 Tag](https://github.com/upptime/status-page/tree/v1.12.0) · 🗄️ Archive ([zip](https://github.com/upptime/status-page/archive/v1.12.0.zip) · [tar.gz](https://github.com/upptime/status-page/archive/v1.12.0.tar.gz)) 155 | 156 | ### ✨ New features 157 | 158 | - [`ca13c83`](https://github.com/upptime/status-page/commit/ca13c83) Add scheduled maintenance events 159 | 160 | ### ⬆️ Dependency updates 161 | 162 | - [`fdb8937`](https://github.com/upptime/status-page/commit/fdb8937) Bump @rollup/plugin-replace from 2.3.4 to 2.4.0 163 | - [`f53c6cc`](https://github.com/upptime/status-page/commit/f53c6cc) Bump actions/setup-node from v2.1.4 to v2.1.5 164 | - [`1f29eac`](https://github.com/upptime/status-page/commit/1f29eac) Bump rollup from 2.39.0 to 2.39.1 165 | - [`56454a5`](https://github.com/upptime/status-page/commit/56454a5) Bump @rollup/plugin-replace from 2.4.0 to 2.4.1 166 | - [`d8eaed6`](https://github.com/upptime/status-page/commit/d8eaed6) Bump @babel/runtime from 7.12.18 to 7.13.2 167 | - [`cbff063`](https://github.com/upptime/status-page/commit/cbff063) Bump @babel/preset-env from 7.12.17 to 7.13.0 168 | - [`4978cdb`](https://github.com/upptime/status-page/commit/4978cdb) Bump @babel/core from 7.12.17 to 7.13.1 169 | - [`23ed1be`](https://github.com/upptime/status-page/commit/23ed1be) Bump @babel/plugin-transform-runtime from 7.12.17 to 7.13.6 170 | - [`6c0088d`](https://github.com/upptime/status-page/commit/6c0088d) Bump @babel/runtime from 7.13.2 to 7.13.6 171 | - [`9d705c9`](https://github.com/upptime/status-page/commit/9d705c9) Bump typescript from 4.1.5 to 4.2.2 172 | - [`60fb5d2`](https://github.com/upptime/status-page/commit/60fb5d2) Bump @babel/preset-env from 7.13.0 to 7.13.5 173 | - [`84a3956`](https://github.com/upptime/status-page/commit/84a3956) Bump ts-jest from 26.5.1 to 26.5.2 174 | - [`ce8f253`](https://github.com/upptime/status-page/commit/ce8f253) Bump @octokit/rest from 18.2.0 to 18.2.1 175 | 176 | ## v1.11.7 (2021-02-22) 177 | 178 | [📝 Release notes](https://github.com/upptime/status-page/releases/tag/v1.11.7) · [💻 Compare](https://github.com/upptime/status-page/compare/v1.11.6...v1.11.7) · [🔖 Tag](https://github.com/upptime/status-page/tree/v1.11.7) · 🗄️ Archive ([zip](https://github.com/upptime/status-page/archive/v1.11.7.zip) · [tar.gz](https://github.com/upptime/status-page/archive/v1.11.7.tar.gz)) 179 | 180 | ### ⬆️ Dependency updates 181 | 182 | - [`260c160`](https://github.com/upptime/status-page/commit/260c160) Bump @rollup/plugin-node-resolve from 11.1.1 to 11.2.0 183 | - [`3831ddc`](https://github.com/upptime/status-page/commit/3831ddc) Bump semantic-release from 17.3.8 to 17.3.9 184 | - [`994da2f`](https://github.com/upptime/status-page/commit/994da2f) Bump rollup from 2.38.5 to 2.39.0 185 | - [`b17c1ac`](https://github.com/upptime/status-page/commit/b17c1ac) Bump @octokit/rest from 18.1.0 to 18.1.1 186 | - [`1063e3f`](https://github.com/upptime/status-page/commit/1063e3f) Bump @rollup/plugin-babel from 5.2.3 to 5.3.0 187 | - [`bae95fa`](https://github.com/upptime/status-page/commit/bae95fa) Bump vsoch/pull-request-action from 1.0.13 to 1.0.14 188 | - [`6e12581`](https://github.com/upptime/status-page/commit/6e12581) Bump pascalgn/automerge-action from v0.13.0 to v0.13.1 189 | - [`0eee281`](https://github.com/upptime/status-page/commit/0eee281) Bump vsoch/pull-request-action from 1.0.14 to 1.0.15 190 | - [`75caf9c`](https://github.com/upptime/status-page/commit/75caf9c) Bump cypress from 6.4.0 to 6.5.0 191 | - [`9e5678b`](https://github.com/upptime/status-page/commit/9e5678b) Bump @babel/plugin-transform-runtime from 7.12.15 to 7.12.17 192 | - [`b379a5a`](https://github.com/upptime/status-page/commit/b379a5a) Bump @babel/core from 7.12.16 to 7.12.17 193 | - [`9aac802`](https://github.com/upptime/status-page/commit/9aac802) Bump @babel/preset-env from 7.12.16 to 7.12.17 194 | - [`c4c227c`](https://github.com/upptime/status-page/commit/c4c227c) Bump @octokit/rest from 18.1.1 to 18.2.0 195 | - [`2d5c509`](https://github.com/upptime/status-page/commit/2d5c509) Bump @babel/runtime from 7.12.13 to 7.12.18 196 | 197 | ## v1.11.6 (2021-02-15) 198 | 199 | [📝 Release notes](https://github.com/upptime/status-page/releases/tag/v1.11.6) · [💻 Compare](https://github.com/upptime/status-page/compare/v1.11.5...v1.11.6) · [🔖 Tag](https://github.com/upptime/status-page/tree/v1.11.6) · 🗄️ Archive ([zip](https://github.com/upptime/status-page/archive/v1.11.6.zip) · [tar.gz](https://github.com/upptime/status-page/archive/v1.11.6.tar.gz)) 200 | 201 | ### ⬆️ Dependency updates 202 | 203 | - [`bcfd31d`](https://github.com/upptime/status-page/commit/bcfd31d) Bump actions/cache from v2 to v2.1.4 204 | - [`5af660b`](https://github.com/upptime/status-page/commit/5af660b) Bump semantic-release from 17.3.7 to 17.3.8 205 | - [`defeaff`](https://github.com/upptime/status-page/commit/defeaff) Bump svelte from 3.32.1 to 3.32.2 206 | - [`453553a`](https://github.com/upptime/status-page/commit/453553a) Bump typescript from 4.1.3 to 4.1.4 207 | - [`1c1b3f8`](https://github.com/upptime/status-page/commit/1c1b3f8) Bump ts-jest from 26.5.0 to 26.5.1 208 | - [`021a18a`](https://github.com/upptime/status-page/commit/021a18a) Bump svelte from 3.32.2 to 3.32.3 209 | - [`96ebf9c`](https://github.com/upptime/status-page/commit/96ebf9c) Bump typescript from 4.1.4 to 4.1.5 210 | - [`509e84d`](https://github.com/upptime/status-page/commit/509e84d) Bump @babel/core from 7.12.13 to 7.12.16 211 | - [`acfa6c6`](https://github.com/upptime/status-page/commit/acfa6c6) Bump @types/fs-extra from 9.0.6 to 9.0.7 212 | - [`c11a1b7`](https://github.com/upptime/status-page/commit/c11a1b7) Bump @babel/preset-env from 7.12.13 to 7.12.16 213 | 214 | ## v1.11.5 (2021-02-08) 215 | 216 | [📝 Release notes](https://github.com/upptime/status-page/releases/tag/v1.11.5) · [💻 Compare](https://github.com/upptime/status-page/compare/v1.11.4...v1.11.5) · [🔖 Tag](https://github.com/upptime/status-page/tree/v1.11.5) · 🗄️ Archive ([zip](https://github.com/upptime/status-page/archive/v1.11.5.zip) · [tar.gz](https://github.com/upptime/status-page/archive/v1.11.5.tar.gz)) 217 | 218 | ### ⬆️ Dependency updates 219 | 220 | - [`37c4e61`](https://github.com/upptime/status-page/commit/37c4e61) Bump svelte from 3.32.0 to 3.32.1 221 | - [`99a8575`](https://github.com/upptime/status-page/commit/99a8575) Bump ts-jest from 26.4.4 to 26.5.0 222 | - [`6b6b286`](https://github.com/upptime/status-page/commit/6b6b286) Bump sirv from 1.0.10 to 1.0.11 223 | - [`c710562`](https://github.com/upptime/status-page/commit/c710562) Bump rollup from 2.38.1 to 2.38.3 224 | - [`2621c5d`](https://github.com/upptime/status-page/commit/2621c5d) Bump @rollup/plugin-node-resolve from 11.1.0 to 11.1.1 225 | - [`f8be5cd`](https://github.com/upptime/status-page/commit/f8be5cd) Bump @rollup/plugin-babel from 5.2.2 to 5.2.3 226 | - [`0a0c9d4`](https://github.com/upptime/status-page/commit/0a0c9d4) Bump @rollup/plugin-commonjs from 17.0.0 to 17.1.0 227 | - [`9687f1c`](https://github.com/upptime/status-page/commit/9687f1c) Bump rollup from 2.38.3 to 2.38.4 228 | - [`a820122`](https://github.com/upptime/status-page/commit/a820122) Bump cypress from 6.3.0 to 6.4.0 229 | - [`7b7dd10`](https://github.com/upptime/status-page/commit/7b7dd10) Bump @babel/core from 7.12.10 to 7.12.13 230 | - [`3850296`](https://github.com/upptime/status-page/commit/3850296) Bump @octokit/rest from 18.0.15 to 18.1.0 231 | - [`a88591f`](https://github.com/upptime/status-page/commit/a88591f) Bump @babel/runtime from 7.12.5 to 7.12.13 232 | - [`ddd370f`](https://github.com/upptime/status-page/commit/ddd370f) Bump @babel/preset-env from 7.12.11 to 7.12.13 233 | - [`2e9c5aa`](https://github.com/upptime/status-page/commit/2e9c5aa) Bump @babel/plugin-transform-runtime from 7.12.10 to 7.12.13 234 | - [`3494db2`](https://github.com/upptime/status-page/commit/3494db2) Bump sapper from 0.29.0 to 0.29.1 235 | - [`e901f4c`](https://github.com/upptime/status-page/commit/e901f4c) Bump @babel/plugin-transform-runtime from 7.12.13 to 7.12.15 236 | - [`69c8067`](https://github.com/upptime/status-page/commit/69c8067) Bump rollup from 2.38.4 to 2.38.5 237 | 238 | ## v1.11.4 (2021-02-01) 239 | 240 | [📝 Release notes](https://github.com/upptime/status-page/releases/tag/v1.11.4) · [💻 Compare](https://github.com/upptime/status-page/compare/v1.11.3...v1.11.4) · [🔖 Tag](https://github.com/upptime/status-page/tree/v1.11.4) · 🗄️ Archive ([zip](https://github.com/upptime/status-page/archive/v1.11.4.zip) · [tar.gz](https://github.com/upptime/status-page/archive/v1.11.4.tar.gz)) 241 | 242 | ### ⬆️ Dependency updates 243 | 244 | - [`0e837cc`](https://github.com/upptime/status-page/commit/0e837cc) Bump rollup from 2.38.0 to 2.38.1 245 | 246 | ## v1.11.3 (2021-01-27) 247 | 248 | [📝 Release notes](https://github.com/upptime/status-page/releases/tag/v1.11.3) · [💻 Compare](https://github.com/upptime/status-page/compare/v1.11.2...v1.11.3) · [🔖 Tag](https://github.com/upptime/status-page/tree/v1.11.3) · 🗄️ Archive ([zip](https://github.com/upptime/status-page/archive/v1.11.3.zip) · [tar.gz](https://github.com/upptime/status-page/archive/v1.11.3.tar.gz)) 249 | 250 | ### ♻️ Updates 251 | 252 | - [`883b8df`](https://github.com/upptime/status-page/commit/883b8df) Don't allow demo.upptime.js.org to others 253 | 254 | ### ⬆️ Dependency updates 255 | 256 | - [`082b095`](https://github.com/upptime/status-page/commit/082b095) Bump semantic-release from 17.3.6 to 17.3.7 257 | - [`f00a1fd`](https://github.com/upptime/status-page/commit/f00a1fd) Bump @octokit/rest from 18.0.13 to 18.0.14 258 | - [`3100ae0`](https://github.com/upptime/status-page/commit/3100ae0) Bump sapper from 0.28.10 to 0.29.0 259 | - [`bb0446d`](https://github.com/upptime/status-page/commit/bb0446d) Bump rollup from 2.37.1 to 2.38.0 260 | - [`1153cf5`](https://github.com/upptime/status-page/commit/1153cf5) Bump svelte from 3.31.2 to 3.32.0 261 | - [`c093355`](https://github.com/upptime/status-page/commit/c093355) Bump @octokit/rest from 18.0.14 to 18.0.15 262 | 263 | ## v1.11.2 (2021-01-25) 264 | 265 | [📝 Release notes](https://github.com/upptime/status-page/releases/tag/v1.11.2) · [💻 Compare](https://github.com/upptime/status-page/compare/v1.11.1...v1.11.2) · [🔖 Tag](https://github.com/upptime/status-page/tree/v1.11.2) · 🗄️ Archive ([zip](https://github.com/upptime/status-page/archive/v1.11.2.zip) · [tar.gz](https://github.com/upptime/status-page/archive/v1.11.2.tar.gz)) 266 | 267 | ### 🐛 Bug fixes 268 | 269 | - [`811b6a4`](https://github.com/upptime/status-page/commit/811b6a4) Catch error in copying assets 270 | 271 | ## v1.11.1 (2021-01-24) 272 | 273 | [📝 Release notes](https://github.com/upptime/status-page/releases/tag/v1.11.1) · [💻 Compare](https://github.com/upptime/status-page/compare/v1.11.0...v1.11.1) · [🔖 Tag](https://github.com/upptime/status-page/tree/v1.11.1) · 🗄️ Archive ([zip](https://github.com/upptime/status-page/archive/v1.11.1.zip) · [tar.gz](https://github.com/upptime/status-page/archive/v1.11.1.tar.gz)) 274 | 275 | ### ♻️ Updates 276 | 277 | - [`f99f965`](https://github.com/upptime/status-page/commit/f99f965) Change static -> assets 278 | 279 | ## v1.11.0 (2021-01-24) 280 | 281 | [📝 Release notes](https://github.com/upptime/status-page/releases/tag/v1.11.0) · [💻 Compare](https://github.com/upptime/status-page/compare/v1.10.0...v1.11.0) · [🔖 Tag](https://github.com/upptime/status-page/tree/v1.11.0) · 🗄️ Archive ([zip](https://github.com/upptime/status-page/archive/v1.11.0.zip) · [tar.gz](https://github.com/upptime/status-page/archive/v1.11.0.tar.gz)) 282 | 283 | ### ✨ New features 284 | 285 | - [`b388ca2`](https://github.com/upptime/status-page/commit/b388ca2) Add support for custom themeUrl 286 | 287 | ### 🐛 Bug fixes 288 | 289 | - [`5a91d85`](https://github.com/upptime/status-page/commit/5a91d85) Ensure variable exists 290 | 291 | ## v1.10.0 (2021-01-24) 292 | 293 | [📝 Release notes](https://github.com/upptime/status-page/releases/tag/v1.10.0) · [💻 Compare](https://github.com/upptime/status-page/compare/v1.9.1...v1.10.0) · [🔖 Tag](https://github.com/upptime/status-page/tree/v1.10.0) · 🗄️ Archive ([zip](https://github.com/upptime/status-page/archive/v1.10.0.zip) · [tar.gz](https://github.com/upptime/status-page/archive/v1.10.0.tar.gz)) 294 | 295 | ### ✨ New features 296 | 297 | - [`2740579`](https://github.com/upptime/status-page/commit/2740579) Add support for static directory 298 | 299 | ## v1.9.1 (2021-01-24) 300 | 301 | [📝 Release notes](https://github.com/upptime/status-page/releases/tag/v1.9.1) · [💻 Compare](https://github.com/upptime/status-page/compare/v1.9.0...v1.9.1) · [🔖 Tag](https://github.com/upptime/status-page/tree/v1.9.1) · 🗄️ Archive ([zip](https://github.com/upptime/status-page/archive/v1.9.1.zip) · [tar.gz](https://github.com/upptime/status-page/archive/v1.9.1.tar.gz)) 302 | 303 | ### 🐛 Bug fixes 304 | 305 | - [`cc89673`](https://github.com/upptime/status-page/commit/cc89673) Fix paths to theme (fixed upptime/upptime#228) 306 | (Issues: [`upptime/upptime#228`](https://github.com/upptime/upptime/issues/228)) 307 | 308 | ## v1.9.0 (2021-01-23) 309 | 310 | [📝 Release notes](https://github.com/upptime/status-page/releases/tag/v1.9.0) · [💻 Compare](https://github.com/upptime/status-page/compare/v1.8.0...v1.9.0) · [🔖 Tag](https://github.com/upptime/status-page/tree/v1.9.0) · 🗄️ Archive ([zip](https://github.com/upptime/status-page/archive/v1.9.0.zip) · [tar.gz](https://github.com/upptime/status-page/archive/v1.9.0.tar.gz)) 311 | 312 | ### ✨ New features 313 | 314 | - [`2b56dbd`](https://github.com/upptime/status-page/commit/2b56dbd) Add support for custom HTML and meta tags 315 | 316 | ## v1.8.0 (2021-01-22) 317 | 318 | [📝 Release notes](https://github.com/upptime/status-page/releases/tag/v1.8.0) · [💻 Compare](https://github.com/upptime/status-page/compare/v1.7.11...v1.8.0) · [🔖 Tag](https://github.com/upptime/status-page/tree/v1.8.0) · 🗄️ Archive ([zip](https://github.com/upptime/status-page/archive/v1.8.0.zip) · [tar.gz](https://github.com/upptime/status-page/archive/v1.8.0.tar.gz)) 319 | 320 | ### ✨ New features 321 | 322 | - [`17aa659`](https://github.com/upptime/status-page/commit/17aa659) Add support for multiple themes 323 | - [`ecfada6`](https://github.com/upptime/status-page/commit/ecfada6) Add themes 324 | - [`6ec7d61`](https://github.com/upptime/status-page/commit/6ec7d61) Add support for robots.txt 325 | 326 | ### ♻️ Updates 327 | 328 | - [`f7a28bc`](https://github.com/upptime/status-page/commit/f7a28bc) Move theme styles to global.css 329 | - [`527499a`](https://github.com/upptime/status-page/commit/527499a) Add options hideNavLogo, hideNavTitle 330 | - [`f6f12a0`](https://github.com/upptime/status-page/commit/f6f12a0) Use image instead of background image 331 | - [`4f826a7`](https://github.com/upptime/status-page/commit/4f826a7) Use variables for themes 332 | 333 | ### 💄 Interface changes 334 | 335 | - [`44c169a`](https://github.com/upptime/status-page/commit/44c169a) Add dark theme 336 | - [`eb50ba9`](https://github.com/upptime/status-page/commit/eb50ba9) Add ocean theme 337 | 338 | ### ⬆️ Dependency updates 339 | 340 | - [`fc53969`](https://github.com/upptime/status-page/commit/fc53969) Bump semantic-release from 17.3.2 to 17.3.3 341 | - [`372bf6c`](https://github.com/upptime/status-page/commit/372bf6c) Bump rollup from 2.36.1 to 2.36.2 342 | - [`6f508bf`](https://github.com/upptime/status-page/commit/6f508bf) Bump @rollup/plugin-node-resolve from 11.0.1 to 11.1.0 343 | - [`ff64ff7`](https://github.com/upptime/status-page/commit/ff64ff7) Bump @semantic-release/npm from 7.0.9 to 7.0.10 344 | - [`6cb8d3d`](https://github.com/upptime/status-page/commit/6cb8d3d) Bump rollup from 2.36.2 to 2.37.0 345 | - [`708aeb8`](https://github.com/upptime/status-page/commit/708aeb8) Bump fs-extra from 9.0.1 to 9.1.0 346 | - [`b13c79b`](https://github.com/upptime/status-page/commit/b13c79b) Bump semantic-release from 17.3.3 to 17.3.4 347 | - [`a16a467`](https://github.com/upptime/status-page/commit/a16a467) Bump cypress from 6.2.1 to 6.3.0 348 | - [`afe5e54`](https://github.com/upptime/status-page/commit/afe5e54) Bump semantic-release from 17.3.4 to 17.3.6 349 | - [`4f2ff6c`](https://github.com/upptime/status-page/commit/4f2ff6c) Bump rollup from 2.37.0 to 2.37.1 350 | - [`b0dfa2e`](https://github.com/upptime/status-page/commit/b0dfa2e) Bump @octokit/rest from 18.0.12 to 18.0.13 351 | 352 | ## v1.7.11 (2021-01-18) 353 | 354 | [📝 Release notes](https://github.com/upptime/status-page/releases/tag/v1.7.11) · [💻 Compare](https://github.com/upptime/status-page/compare/v1.7.10...v1.7.11) · [🔖 Tag](https://github.com/upptime/status-page/tree/v1.7.11) · 🗄️ Archive ([zip](https://github.com/upptime/status-page/archive/v1.7.11.zip) · [tar.gz](https://github.com/upptime/status-page/archive/v1.7.11.tar.gz)) 355 | 356 | ### ⬆️ Dependency updates 357 | 358 | - [`a177e00`](https://github.com/upptime/status-page/commit/a177e00) Bump semantic-release from 17.3.1 to 17.3.2 359 | 360 | ## v1.7.10 (2021-01-11) 361 | 362 | [📝 Release notes](https://github.com/upptime/status-page/releases/tag/v1.7.10) · [💻 Compare](https://github.com/upptime/status-page/compare/v1.7.9...v1.7.10) · [🔖 Tag](https://github.com/upptime/status-page/tree/v1.7.10) · 🗄️ Archive ([zip](https://github.com/upptime/status-page/archive/v1.7.10.zip) · [tar.gz](https://github.com/upptime/status-page/archive/v1.7.10.tar.gz)) 363 | 364 | ### ♻️ Updates 365 | 366 | - [`e62d088`](https://github.com/upptime/status-page/commit/e62d088) Trigger patch release 367 | 368 | ## v1.7.9 (2021-01-11) 369 | 370 | [📝 Release notes](https://github.com/upptime/status-page/releases/tag/v1.7.9) · [💻 Compare](https://github.com/upptime/status-page/compare/v1.7.8...v1.7.9) · [🔖 Tag](https://github.com/upptime/status-page/tree/v1.7.9) · 🗄️ Archive ([zip](https://github.com/upptime/status-page/archive/v1.7.9.zip) · [tar.gz](https://github.com/upptime/status-page/archive/v1.7.9.tar.gz)) 371 | 372 | ### ⬆️ Dependency updates 373 | 374 | - [`f794c58`](https://github.com/upptime/status-page/commit/f794c58) Bump @types/js-yaml from 3.12.5 to 4.0.0 375 | - [`3beef38`](https://github.com/upptime/status-page/commit/3beef38) Bump rollup from 2.35.1 to 2.36.0 376 | - [`5f7bd29`](https://github.com/upptime/status-page/commit/5f7bd29) Bump rollup from 2.36.0 to 2.36.1 377 | - [`c04f7c3`](https://github.com/upptime/status-page/commit/c04f7c3) Bump @types/jest from 26.0.19 to 26.0.20 378 | 379 | ## v1.7.8 (2021-01-05) 380 | 381 | [📝 Release notes](https://github.com/upptime/status-page/releases/tag/v1.7.8) · [💻 Compare](https://github.com/upptime/status-page/compare/v1.7.7...v1.7.8) · [🔖 Tag](https://github.com/upptime/status-page/tree/v1.7.8) · 🗄️ Archive ([zip](https://github.com/upptime/status-page/archive/v1.7.8.zip) · [tar.gz](https://github.com/upptime/status-page/archive/v1.7.8.tar.gz)) 382 | 383 | ### ♻️ Updates 384 | 385 | - [`21813c4`](https://github.com/upptime/status-page/commit/21813c4) Change safeLoad -> load 386 | 387 | ### ⬆️ Dependency updates 388 | 389 | - [`bd2033a`](https://github.com/upptime/status-page/commit/bd2033a) Bump @rollup/plugin-node-resolve from 10.0.0 to 11.0.1 390 | - [`a5bcee3`](https://github.com/upptime/status-page/commit/a5bcee3) Bump js-yaml from 3.14.1 to 4.0.0 391 | - [`4e7d895`](https://github.com/upptime/status-page/commit/4e7d895) Bump svelte from 3.31.0 to 3.31.1 392 | - [`7369cea`](https://github.com/upptime/status-page/commit/7369cea) Bump cypress from 6.2.0 to 6.2.1 393 | - [`f18f151`](https://github.com/upptime/status-page/commit/f18f151) Bump svelte from 3.31.1 to 3.31.2 394 | 395 | ## v1.7.7 (2021-01-04) 396 | 397 | [📝 Release notes](https://github.com/upptime/status-page/releases/tag/v1.7.7) · [💻 Compare](https://github.com/upptime/status-page/compare/v1.7.6...v1.7.7) · [🔖 Tag](https://github.com/upptime/status-page/tree/v1.7.7) · 🗄️ Archive ([zip](https://github.com/upptime/status-page/archive/v1.7.7.zip) · [tar.gz](https://github.com/upptime/status-page/archive/v1.7.7.tar.gz)) 398 | 399 | ### ⬆️ Dependency updates 400 | 401 | - [`bc37f8f`](https://github.com/upptime/status-page/commit/bc37f8f) Bump semantic-release from 17.3.0 to 17.3.1 402 | 403 | ## v1.7.6 (2020-12-28) 404 | 405 | [📝 Release notes](https://github.com/upptime/status-page/releases/tag/v1.7.6) · [💻 Compare](https://github.com/upptime/status-page/compare/v1.7.5...v1.7.6) · [🔖 Tag](https://github.com/upptime/status-page/tree/v1.7.6) · 🗄️ Archive ([zip](https://github.com/upptime/status-page/archive/v1.7.6.zip) · [tar.gz](https://github.com/upptime/status-page/archive/v1.7.6.tar.gz)) 406 | 407 | ### ⬆️ Dependency updates 408 | 409 | - [`633e571`](https://github.com/upptime/status-page/commit/633e571) Bump vsoch/pull-request-action from 1.0.12 to 1.0.13 410 | - [`6f00944`](https://github.com/upptime/status-page/commit/6f00944) Bump cypress from 6.1.0 to 6.2.0 411 | - [`26ba761`](https://github.com/upptime/status-page/commit/26ba761) Bump pascalgn/automerge-action from v0.12.0 to v0.13.0 412 | - [`6fec6ad`](https://github.com/upptime/status-page/commit/6fec6ad) Bump node-notifier from 8.0.0 to 8.0.1 413 | - [`23d9944`](https://github.com/upptime/status-page/commit/23d9944) Bump @types/fs-extra from 9.0.5 to 9.0.6 414 | 415 | ## v1.7.5 (2020-12-21) 416 | 417 | [📝 Release notes](https://github.com/upptime/status-page/releases/tag/v1.7.5) · [💻 Compare](https://github.com/upptime/status-page/compare/v1.7.4...v1.7.5) · [🔖 Tag](https://github.com/upptime/status-page/tree/v1.7.5) · 🗄️ Archive ([zip](https://github.com/upptime/status-page/archive/v1.7.5.zip) · [tar.gz](https://github.com/upptime/status-page/archive/v1.7.5.tar.gz)) 418 | 419 | ### ⬆️ Dependency updates 420 | 421 | - [`bfcd94f`](https://github.com/upptime/status-page/commit/bfcd94f) Bump typescript from 4.1.2 to 4.1.3 422 | - [`f4e5fc5`](https://github.com/upptime/status-page/commit/f4e5fc5) Bump rollup from 2.34.2 to 2.35.0 423 | - [`1f67c21`](https://github.com/upptime/status-page/commit/1f67c21) Bump rollup from 2.35.0 to 2.35.1 424 | - [`caca2cd`](https://github.com/upptime/status-page/commit/caca2cd) Bump @babel/preset-env from 7.12.10 to 7.12.11 425 | - [`012f04b`](https://github.com/upptime/status-page/commit/012f04b) Bump actions/setup-node from v2.1.3 to v2.1.4 426 | 427 | ## v1.7.4 (2020-12-14) 428 | 429 | [📝 Release notes](https://github.com/upptime/status-page/releases/tag/v1.7.4) · [💻 Compare](https://github.com/upptime/status-page/compare/v1.7.3...v1.7.4) · [🔖 Tag](https://github.com/upptime/status-page/tree/v1.7.4) · 🗄️ Archive ([zip](https://github.com/upptime/status-page/archive/v1.7.4.zip) · [tar.gz](https://github.com/upptime/status-page/archive/v1.7.4.tar.gz)) 430 | 431 | ### ⬆️ Dependency updates 432 | 433 | - [`95d1722`](https://github.com/upptime/status-page/commit/95d1722) Bump @babel/preset-env from 7.12.7 to 7.12.10 434 | - [`9a4216c`](https://github.com/upptime/status-page/commit/9a4216c) Bump @babel/plugin-transform-runtime from 7.12.1 to 7.12.10 435 | - [`c5cd10c`](https://github.com/upptime/status-page/commit/c5cd10c) Bump @babel/core from 7.12.9 to 7.12.10 436 | - [`f8709d7`](https://github.com/upptime/status-page/commit/f8709d7) Bump actions/setup-node from v2.1.2 to v2.1.3 437 | - [`5e0b20f`](https://github.com/upptime/status-page/commit/5e0b20f) Bump @types/fs-extra from 9.0.4 to 9.0.5 438 | - [`44c5e15`](https://github.com/upptime/status-page/commit/44c5e15) Bump @types/jest from 26.0.18 to 26.0.19 439 | - [`3e0e87d`](https://github.com/upptime/status-page/commit/3e0e87d) Bump ini from 1.3.5 to 1.3.8 440 | 441 | ## v1.7.3 (2020-12-10) 442 | 443 | [📝 Release notes](https://github.com/upptime/status-page/releases/tag/v1.7.3) · [💻 Compare](https://github.com/upptime/status-page/compare/v1.7.2...v1.7.3) · [🔖 Tag](https://github.com/upptime/status-page/tree/v1.7.3) · 🗄️ Archive ([zip](https://github.com/upptime/status-page/archive/v1.7.3.zip) · [tar.gz](https://github.com/upptime/status-page/archive/v1.7.3.tar.gz)) 444 | 445 | ### ♻️ Updates 446 | 447 | - [`bf21f20`](https://github.com/upptime/status-page/commit/bf21f20) Use .dark globally for dark theme 448 | 449 | ### ⬆️ Dependency updates 450 | 451 | - [`26b7c33`](https://github.com/upptime/status-page/commit/26b7c33) Bump sirv from 1.0.7 to 1.0.9 452 | - [`3f15f33`](https://github.com/upptime/status-page/commit/3f15f33) Bump rollup from 2.34.1 to 2.34.2 453 | - [`64158cf`](https://github.com/upptime/status-page/commit/64158cf) Bump @octokit/rest from 18.0.11 to 18.0.12 454 | - [`906dadd`](https://github.com/upptime/status-page/commit/906dadd) Bump ts-node from 9.1.0 to 9.1.1 455 | - [`5a6e68b`](https://github.com/upptime/status-page/commit/5a6e68b) Bump @types/jest from 26.0.16 to 26.0.17 456 | - [`e431d1f`](https://github.com/upptime/status-page/commit/e431d1f) Bump js-yaml from 3.14.0 to 3.14.1 457 | - [`88d32ee`](https://github.com/upptime/status-page/commit/88d32ee) Bump sirv from 1.0.9 to 1.0.10 458 | - [`364f02b`](https://github.com/upptime/status-page/commit/364f02b) Bump cypress from 6.0.1 to 6.1.0 459 | - [`50c2378`](https://github.com/upptime/status-page/commit/50c2378) Bump @types/jest from 26.0.17 to 26.0.18 460 | 461 | ## v1.7.2 (2020-12-07) 462 | 463 | [📝 Release notes](https://github.com/upptime/status-page/releases/tag/v1.7.2) · [💻 Compare](https://github.com/upptime/status-page/compare/v1.7.1...v1.7.2) · [🔖 Tag](https://github.com/upptime/status-page/tree/v1.7.2) · 🗄️ Archive ([zip](https://github.com/upptime/status-page/archive/v1.7.2.zip) · [tar.gz](https://github.com/upptime/status-page/archive/v1.7.2.tar.gz)) 464 | 465 | ### 💄 Interface changes 466 | 467 | - [`1a22120`](https://github.com/upptime/status-page/commit/1a22120) Add dark theme 468 | - [`f23c9eb`](https://github.com/upptime/status-page/commit/f23c9eb) Update colors for dark theme 469 | 470 | ### 🐛 Bug fixes 471 | 472 | - [`ba3cd12`](https://github.com/upptime/status-page/commit/ba3cd12) Fix error with missing base URL 473 | 474 | ## v1.7.1 (2020-12-06) 475 | 476 | [📝 Release notes](https://github.com/upptime/status-page/releases/tag/v1.7.1) · [💻 Compare](https://github.com/upptime/status-page/compare/v1.7.0...v1.7.1) · [🔖 Tag](https://github.com/upptime/status-page/tree/v1.7.1) · 🗄️ Archive ([zip](https://github.com/upptime/status-page/archive/v1.7.1.zip) · [tar.gz](https://github.com/upptime/status-page/archive/v1.7.1.tar.gz)) 477 | 478 | ### ♻️ Updates 479 | 480 | - [`9177df4`](https://github.com/upptime/status-page/commit/9177df4) Cache API response for 10 min 481 | - [`130394c`](https://github.com/upptime/status-page/commit/130394c) Add config for cache time, local time 482 | 483 | ## v1.7.0 (2020-12-06) 484 | 485 | [📝 Release notes](https://github.com/upptime/status-page/releases/tag/v1.7.0) · [💻 Compare](https://github.com/upptime/status-page/compare/v1.6.1...v1.7.0) · [🔖 Tag](https://github.com/upptime/status-page/tree/v1.7.0) · 🗄️ Archive ([zip](https://github.com/upptime/status-page/archive/v1.7.0.zip) · [tar.gz](https://github.com/upptime/status-page/archive/v1.7.0.tar.gz)) 486 | 487 | ### ✨ New features 488 | 489 | - [`d6b0ad6`](https://github.com/upptime/status-page/commit/d6b0ad6) Add support for custom scripts/styles 490 | 491 | ### ♻️ Updates 492 | 493 | - [`fd10380`](https://github.com/upptime/status-page/commit/fd10380) Add custom plain JS 494 | 495 | ## v1.6.1 (2020-12-06) 496 | 497 | [📝 Release notes](https://github.com/upptime/status-page/releases/tag/v1.6.1) · [💻 Compare](https://github.com/upptime/status-page/compare/v1.6.0...v1.6.1) · [🔖 Tag](https://github.com/upptime/status-page/tree/v1.6.1) · 🗄️ Archive ([zip](https://github.com/upptime/status-page/archive/v1.6.1.zip) · [tar.gz](https://github.com/upptime/status-page/archive/v1.6.1.tar.gz)) 498 | 499 | ### 🐛 Bug fixes 500 | 501 | - [`e96423e`](https://github.com/upptime/status-page/commit/e96423e) FIx redirect to config path page 502 | - [`3b9189a`](https://github.com/upptime/status-page/commit/3b9189a) Fix link to homepage (fixed upptime/upptime#104) 503 | (Issues: [`upptime/upptime#104`](https://github.com/upptime/upptime/issues/104)) 504 | 505 | ## v1.6.0 (2020-12-06) 506 | 507 | [📝 Release notes](https://github.com/upptime/status-page/releases/tag/v1.6.0) · [💻 Compare](https://github.com/upptime/status-page/compare/v1.5.7...v1.6.0) · [🔖 Tag](https://github.com/upptime/status-page/tree/v1.6.0) · 🗄️ Archive ([zip](https://github.com/upptime/status-page/archive/v1.6.0.zip) · [tar.gz](https://github.com/upptime/status-page/archive/v1.6.0.tar.gz)) 508 | 509 | ### ✨ New features 510 | 511 | - [`a0b6623`](https://github.com/upptime/status-page/commit/a0b6623) Add icons for status sites 512 | - [`31e11a9`](https://github.com/upptime/status-page/commit/31e11a9) Add duration selector 513 | 514 | ### 💄 Interface changes 515 | 516 | - [`9c33593`](https://github.com/upptime/status-page/commit/9c33593) Add styles for updating data 517 | 518 | ### ⬆️ Dependency updates 519 | 520 | - [`d2efe01`](https://github.com/upptime/status-page/commit/d2efe01) Bump @rollup/plugin-commonjs from 16.0.0 to 17.0.0 521 | - [`0015d63`](https://github.com/upptime/status-page/commit/0015d63) Bump @octokit/rest from 18.0.9 to 18.0.10 522 | - [`b691bcc`](https://github.com/upptime/status-page/commit/b691bcc) Bump @types/jest from 26.0.15 to 26.0.16 523 | - [`9bc307a`](https://github.com/upptime/status-page/commit/9bc307a) Bump rollup from 2.34.0 to 2.34.1 524 | - [`4d4e687`](https://github.com/upptime/status-page/commit/4d4e687) Bump @koj/config from 1.2.9 to 1.2.11 525 | - [`e34c427`](https://github.com/upptime/status-page/commit/e34c427) Bump svelte from 3.30.1 to 3.31.0 526 | - [`26a3963`](https://github.com/upptime/status-page/commit/26a3963) Bump @octokit/rest from 18.0.10 to 18.0.11 527 | - [`73f0951`](https://github.com/upptime/status-page/commit/73f0951) Bump ts-node from 9.0.0 to 9.1.0 528 | - [`72123f6`](https://github.com/upptime/status-page/commit/72123f6) Bump @semantic-release/npm from 7.0.8 to 7.0.9 529 | 530 | ## [v1.5.7](https://github.com/upptime/status-page/compare/v1.5.6...v1.5.7) (2020-12-01) 531 | 532 | ### 🐛 Bug fixes 533 | 534 | - [`b2f6aa7`](https://github.com/upptime/status-page/commit/b2f6aa7) Fix redirect to rate-limit (fixed upptime/upptime#100) 535 | (Issues: [`upptime/upptime#100`](https://github.com/upptime/upptime/issues/100)) 536 | 537 | ### ⬆️ Dependency updates 538 | 539 | - [`b1db07c`](https://github.com/upptime/status-page/commit/b1db07c) Bump rollup from 2.33.3 to 2.34.0 540 | - [`11715c5`](https://github.com/upptime/status-page/commit/11715c5) Bump cypress from 6.0.0 to 6.0.1 541 | - [`029c9ee`](https://github.com/upptime/status-page/commit/029c9ee) Bump @rollup/plugin-babel from 5.2.1 to 5.2.2 542 | - [`0dbce81`](https://github.com/upptime/status-page/commit/0dbce81) Bump svelte from 3.30.0 to 3.30.1 543 | 544 | ## [v1.5.6](https://github.com/upptime/status-page/compare/v1.5.5...v1.5.6) (2020-11-30) 545 | 546 | ### 🐛 Bug fixes 547 | 548 | - [`2dd47b5`](https://github.com/upptime/status-page/commit/2dd47b5) Fix reversed graph direction (fixed upptime/upptime#82) 549 | (Issues: [`upptime/upptime#82`](https://github.com/upptime/upptime/issues/82))- [`69f30a2`](https://github.com/upptime/status-page/commit/69f30a2) Force render graphs (fixed upptime/upptime#53) 550 | (Issues: [`upptime/upptime#53`](https://github.com/upptime/upptime/issues/53)) 551 | 552 | ## [v1.5.5](https://github.com/upptime/status-page/compare/v1.5.4...v1.5.5) (2020-11-27) 553 | 554 | ### 🐛 Bug fixes 555 | 556 | - [`cd12191`](https://github.com/upptime/status-page/commit/cd12191) Trigger minor release after fixing double % 557 | 558 | ### ⬆️ Dependency updates 559 | 560 | - [`9c30049`](https://github.com/upptime/status-page/commit/9c30049) Bump @babel/core from 7.12.7 to 7.12.8 561 | - [`f7d3942`](https://github.com/upptime/status-page/commit/f7d3942) Bump cypress from 5.6.0 to 6.0.0 562 | - [`7ef361f`](https://github.com/upptime/status-page/commit/7ef361f) Bump svelte from 3.29.7 to 3.30.0 563 | - [`ad96309`](https://github.com/upptime/status-page/commit/ad96309) Bump @babel/core from 7.12.8 to 7.12.9 564 | 565 | ## [v1.5.4](https://github.com/upptime/status-page/compare/v1.5.3...v1.5.4) (2020-11-24) 566 | 567 | ### 🐛 Bug fixes 568 | 569 | - [`77b08f9`](https://github.com/upptime/status-page/commit/77b08f9) Prevent double slashed (fixed upptime/upptime#85) 570 | (Issues: [`upptime/upptime#85`](https://github.com/upptime/upptime/issues/85)) 571 | 572 | ## [v1.5.3](https://github.com/upptime/status-page/compare/v1.5.2...v1.5.3) (2020-11-23) 573 | 574 | ### ♻️ Updates 575 | 576 | - [`1c932ce`](https://github.com/upptime/status-page/commit/1c932ce) Add base URL in config 577 | 578 | ### 💄 Interface changes 579 | 580 | - [`376bdf9`](https://github.com/upptime/status-page/commit/376bdf9) Add UI for degraded 581 | 582 | ### 🐛 Bug fixes 583 | 584 | - [`c4bd2d0`](https://github.com/upptime/status-page/commit/c4bd2d0) Fix homepage path (fixed upptime/upptime#69) 585 | (Issues: [`upptime/upptime#69`](https://github.com/upptime/upptime/issues/69))- [`aa91251`](https://github.com/upptime/status-page/commit/aa91251) Fix config.path in href 586 | 587 | ### ⬆️ Dependency updates 588 | 589 | - [`31dfe8c`](https://github.com/upptime/status-page/commit/31dfe8c) Bump @babel/preset-env from 7.12.1 to 7.12.7 590 | - [`272fcac`](https://github.com/upptime/status-page/commit/272fcac) Bump @babel/core from 7.12.3 to 7.12.7 591 | - [`f6589bd`](https://github.com/upptime/status-page/commit/f6589bd) Bump semantic-release from 17.2.4 to 17.3.0 592 | 593 | ## [v1.5.2](https://github.com/upptime/status-page/compare/v1.5.1...v1.5.2) (2020-11-23) 594 | 595 | ### ⬆️ Dependency updates 596 | 597 | - [`8a1bc39`](https://github.com/upptime/status-page/commit/8a1bc39) Bump vsoch/pull-request-action from 1.0.11 to 1.0.12 598 | - [`027253f`](https://github.com/upptime/status-page/commit/027253f) Bump @semantic-release/github from 7.1.2 to 7.2.0 599 | - [`55547cd`](https://github.com/upptime/status-page/commit/55547cd) Bump @koj/config from 1.2.8 to 1.2.9 600 | - [`18333f5`](https://github.com/upptime/status-page/commit/18333f5) Bump rollup from 2.33.2 to 2.33.3 601 | - [`ae1b32b`](https://github.com/upptime/status-page/commit/ae1b32b) Bump typescript from 4.0.5 to 4.1.2 602 | - [`e868d81`](https://github.com/upptime/status-page/commit/e868d81) Bump semantic-release from 17.2.3 to 17.2.4 603 | 604 | ## [v1.5.1](https://github.com/upptime/status-page/compare/v1.5.0...v1.5.1) (2020-11-17) 605 | 606 | ### 🐛 Bug fixes 607 | 608 | - [`b7806cd`](https://github.com/upptime/status-page/commit/b7806cd) Fix graphs base URL broken in #52 609 | (Issues: [`#52`](https://github.com/upptime/status-page/issues/52)) 610 | 611 | ## [v1.5.0](https://github.com/upptime/status-page/compare/v1.4.1...v1.5.0) (2020-11-17) 612 | 613 | ### ✨ New features 614 | 615 | - [`dbe1300`](https://github.com/upptime/status-page/commit/dbe1300) Add rate limit exceeded page 616 | - [`33f2652`](https://github.com/upptime/status-page/commit/33f2652) Add general error page 617 | 618 | ### ♻️ Updates 619 | 620 | - [`4a9bb09`](https://github.com/upptime/status-page/commit/4a9bb09) Use local token in Octokit 621 | - [`c89a310`](https://github.com/upptime/status-page/commit/c89a310) Add error handler helper 622 | 623 | ### ⬆️ Dependency updates 624 | 625 | - [`b4674c8`](https://github.com/upptime/status-page/commit/b4674c8) Bump @semantic-release/npm from 7.0.6 to 7.0.8 626 | - [`ac4e767`](https://github.com/upptime/status-page/commit/ac4e767) Update koj-co/template 627 | - [`c165898`](https://github.com/upptime/status-page/commit/c165898) Bump semantic-release from 17.2.2 to 17.2.3 628 | 629 | ## [v1.4.1](https://github.com/upptime/status-page/compare/v1.4.0...v1.4.1) (2020-11-17) 630 | 631 | ### 🐛 Bug fixes 632 | 633 | - [`fed467e`](https://github.com/upptime/status-page/commit/fed467e) Fix upptime/upptime#55 634 | (Issues: [`upptime/upptime#55`](https://github.com/upptime/upptime/issues/55)) 635 | 636 | ## [v1.4.0](https://github.com/upptime/status-page/compare/v1.3.1...v1.4.0) (2020-11-16) 637 | 638 | ### ✨ New features 639 | 640 | - [`bcc9557`](https://github.com/upptime/status-page/commit/bcc9557) Add apiBaseUrl in status-website for custom API 641 | 642 | ### ⬆️ Dependency updates 643 | 644 | - [`44d71ad`](https://github.com/upptime/status-page/commit/44d71ad) Bump @octokit/rest from 18.0.6 to 18.0.7 645 | - [`ce7556b`](https://github.com/upptime/status-page/commit/ce7556b) Bump semantic-release from 17.2.1 to 17.2.2 646 | - [`19117d7`](https://github.com/upptime/status-page/commit/19117d7) Bump @koj/config from 1.2.6 to 1.2.7 647 | - [`97c7d6c`](https://github.com/upptime/status-page/commit/97c7d6c) Bump rollup from 2.32.1 to 2.33.1 648 | - [`4361fbc`](https://github.com/upptime/status-page/commit/4361fbc) Bump @octokit/rest from 18.0.7 to 18.0.8 649 | - [`4f9e3b9`](https://github.com/upptime/status-page/commit/4f9e3b9) Bump jest from 26.6.1 to 26.6.2 650 | - [`f5af9ec`](https://github.com/upptime/status-page/commit/f5af9ec) Bump @octokit/rest from 18.0.8 to 18.0.9 651 | - [`06e2d07`](https://github.com/upptime/status-page/commit/06e2d07) Bump actions/checkout from v2.3.3 to v2.3.4 652 | - [`70863f6`](https://github.com/upptime/status-page/commit/70863f6) Bump @babel/runtime from 7.12.1 to 7.12.5 653 | - [`55c9148`](https://github.com/upptime/status-page/commit/55c9148) Bump jest from 26.6.2 to 26.6.3 654 | - [`4a89812`](https://github.com/upptime/status-page/commit/4a89812) Bump @types/fs-extra from 9.0.2 to 9.0.3 655 | - [`b0d7ad8`](https://github.com/upptime/status-page/commit/b0d7ad8) Bump @koj/config from 1.2.7 to 1.2.8 656 | - [`2744ed8`](https://github.com/upptime/status-page/commit/2744ed8) Bump ts-jest from 26.4.3 to 26.4.4 657 | - [`516464e`](https://github.com/upptime/status-page/commit/516464e) Bump svelte from 3.29.4 to 3.29.6 658 | - [`1f0faa4`](https://github.com/upptime/status-page/commit/1f0faa4) Bump rollup-plugin-svelte from 6.1.0 to 6.1.1 659 | - [`73a355e`](https://github.com/upptime/status-page/commit/73a355e) Bump svelte from 3.29.6 to 3.29.7 660 | - [`0ca4fa5`](https://github.com/upptime/status-page/commit/0ca4fa5) Bump @types/fs-extra from 9.0.3 to 9.0.4 661 | - [`a358c4f`](https://github.com/upptime/status-page/commit/a358c4f) Bump rollup from 2.33.1 to 2.33.2 662 | - [`f1ddfa2`](https://github.com/upptime/status-page/commit/f1ddfa2) Bump @semantic-release/github from 7.1.1 to 7.1.2 663 | 664 | ## [v1.3.1](https://github.com/upptime/status-page/compare/v1.3.0...v1.3.1) (2020-10-29) 665 | 666 | ### 💄 Interface changes 667 | 668 | - [`7e1746a`](https://github.com/upptime/status-page/commit/7e1746a) Add padding to logo 669 | 670 | ## [v1.3.0](https://github.com/upptime/status-page/compare/v1.2.8...v1.3.0) (2020-10-29) 671 | 672 | ### ✨ New features 673 | 674 | - [`e794ae0`](https://github.com/upptime/status-page/commit/e794ae0) Add support for custom navbar items 675 | 676 | ### ♻️ Updates 677 | 678 | - [`12e67ab`](https://github.com/upptime/status-page/commit/12e67ab) Change config gitHubNavBar -> navbarGitHub 679 | 680 | ## [v1.2.8](https://github.com/upptime/status-page/compare/v1.2.7...v1.2.8) (2020-10-28) 681 | 682 | ### ♻️ Updates 683 | 684 | - [`4ed23a7`](https://github.com/upptime/status-page/commit/4ed23a7) Use relative links in URLs 685 | 686 | ## [v1.2.7](https://github.com/upptime/status-page/compare/v1.2.6...v1.2.7) (2020-10-28) 687 | 688 | ### 🐛 Bug fixes 689 | 690 | - [`d9c5cc9`](https://github.com/upptime/status-page/commit/d9c5cc9) Read correct .upptimerc.yml file 691 | 692 | ## [v1.2.6](https://github.com/upptime/status-page/compare/v1.2.5...v1.2.6) (2020-10-28) 693 | 694 | ### ♻️ Updates 695 | 696 | - [`87342a7`](https://github.com/upptime/status-page/commit/87342a7) Use 2 dir up config 697 | 698 | ## [v1.2.5](https://github.com/upptime/status-page/compare/v1.2.4...v1.2.5) (2020-10-28) 699 | 700 | ### 🐛 Bug fixes 701 | 702 | - [`053d51d`](https://github.com/upptime/status-page/commit/053d51d) Ensure join exists (upptime/upptime#40) 703 | (Issues: [`upptime/upptime#40`](https://github.com/upptime/upptime/issues/40)) 704 | 705 | ## [v1.2.4](https://github.com/upptime/status-page/compare/v1.2.3...v1.2.4) (2020-10-28) 706 | 707 | ### 🐛 Bug fixes 708 | 709 | - [`50fb197`](https://github.com/upptime/status-page/commit/50fb197) Use correct config file (fixed upptime/upptime#40) 710 | (Issues: [`upptime/upptime#40`](https://github.com/upptime/upptime/issues/40)) 711 | 712 | ## [v1.2.3](https://github.com/upptime/status-page/compare/v1.2.2...v1.2.3) (2020-10-28) 713 | 714 | ### 🐛 Bug fixes 715 | 716 | - [`028692a`](https://github.com/upptime/status-page/commit/028692a) Remove check 1 dir up 717 | 718 | ## [v1.2.2](https://github.com/upptime/status-page/compare/v1.2.1...v1.2.2) (2020-10-28) 719 | 720 | ### 🐛 Bug fixes 721 | 722 | - [`209c6f9`](https://github.com/upptime/status-page/commit/209c6f9) Try using root config 1 dir up 723 | 724 | ## [v1.2.1](https://github.com/upptime/status-page/compare/v1.2.0...v1.2.1) (2020-10-27) 725 | 726 | ### 🐛 Bug fixes 727 | 728 | - [`b1c64da`](https://github.com/upptime/status-page/commit/b1c64da) Don't use ?. for base URL 729 | 730 | ## [v1.2.0](https://github.com/upptime/status-page/compare/v1.1.2...v1.2.0) (2020-10-27) 731 | 732 | ### ✨ New features 733 | 734 | - [`ef07d8e`](https://github.com/upptime/status-page/commit/ef07d8e) Add support for custom base URLs 735 | 736 | ### ♻️ Updates 737 | 738 | - [`35ec506`](https://github.com/upptime/status-page/commit/35ec506) Export site with base URL 739 | 740 | ## [v1.1.2](https://github.com/upptime/status-page/compare/v1.1.1...v1.1.2) (2020-10-20) 741 | 742 | ### ♻️ Updates 743 | 744 | - [`eda619a`](https://github.com/upptime/status-page/commit/eda619a) Remove service worker in template 745 | 746 | ## [v1.1.1](https://github.com/upptime/status-page/compare/v1.1.0...v1.1.1) (2020-10-14) 747 | 748 | ### 🐛 Bug fixes 749 | 750 | - [`0678ec5`](https://github.com/upptime/status-page/commit/0678ec5) Fix logo href tag 751 | 752 | ## [v1.1.0](https://github.com/upptime/status-page/compare/v1.0.4...v1.1.0) (2020-10-14) 753 | 754 | ### ✨ New features 755 | 756 | - [`21b6f24`](https://github.com/upptime/status-page/commit/21b6f24) Support site config logo, favicon 757 | 758 | ## [v1.0.4](https://github.com/upptime/status-page/compare/v1.0.3...v1.0.4) (2020-10-13) 759 | 760 | ### 🐛 Bug fixes 761 | 762 | - [`62476f7`](https://github.com/upptime/status-page/commit/62476f7) Change ?. to && check 763 | 764 | ## [v1.0.3](https://github.com/upptime/status-page/compare/v1.0.2...v1.0.3) (2020-10-13) 765 | 766 | ### 🐛 Bug fixes 767 | 768 | - [`3c3df6f`](https://github.com/upptime/status-page/commit/3c3df6f) Use root config in post-process 769 | 770 | ## [v1.0.2](https://github.com/upptime/status-page/compare/v1.0.1...v1.0.2) (2020-10-13) 771 | 772 | ### 🐛 Bug fixes 773 | 774 | - [`b376314`](https://github.com/upptime/status-page/commit/b376314) Use root config if available 775 | 776 | ## [v1.0.1](https://github.com/upptime/status-page/compare/v1.0.0...v1.0.1) (2020-10-13) 777 | 778 | ### 🐛 Bug fixes 779 | 780 | - [`d71ef9a`](https://github.com/upptime/status-page/commit/d71ef9a) Add support for graph colors from config 781 | 782 | ## v1.0.0 (2020-10-13) 783 | 784 | ### ✨ New features 785 | 786 | - [`3c84a05`](https://github.com/upptime/status-page/commit/3c84a05) Add pre and post-process scripts 787 | - [`275ee0c`](https://github.com/upptime/status-page/commit/275ee0c) Add all code from @upptime 788 | 789 | ### ♻️ Updates 790 | 791 | - [`e38a9dd`](https://github.com/upptime/status-page/commit/e38a9dd) Use .upptimerc.yml in same dir 792 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Anand Chowdhary 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ⬆️ Upptime Status Page 2 | 3 | This repository contains the web app for Upptime's status page website. It's written in Svelte and a sample website is published at https://demo.upptime.js.org/. 4 | 5 | [**To get started, visit upptime/upptime →**](https://github.com/upptime/upptime) 6 | 7 | 8 | | | Status | 9 | | - | - | 10 | | Build | [![Node CI](https://github.com/upptime/status-page/workflows/Node%20CI/badge.svg)](https://github.com/upptime/status-page/actions?query=workflow%3A%22Node+CI%22) [![Dependencies](https://img.shields.io/librariesio/github/upptime/status-page)](https://libraries.io/github/upptime/status-page) [![GitHub release (latest by date)](https://img.shields.io/github/v/release/upptime/status-page)](https://github.com/upptime/status-page/releases) [![Snyk Vulnerabilities for GitHub Repo](https://img.shields.io/snyk/vulnerabilities/github/upptime/status-page)](https://snyk.io/test/github/upptime/status-page) | 11 | | Health | [![License CI](https://github.com/upptime/status-page/workflows/License%20CI/badge.svg)](https://github.com/upptime/status-page/actions?query=workflow%3A%22License+CI%22) [![CLA Assistant](https://github.com/upptime/status-page/workflows/CLA%20Assistant/badge.svg)](https://github.com/upptime/status-page/actions?query=workflow%3A%22CLA+Assistant%22) [![Pull Request Labeler](https://github.com/upptime/status-page/workflows/Pull%20Request%20Labeler/badge.svg)](https://github.com/upptime/status-page/actions?query=workflow%3A%22Pull+Request+Labeler%22) | 12 | | PRs | [![Feature Branch Pull Request](https://github.com/upptime/status-page/workflows/Feature%20Branch%20Pull%20Request/badge.svg)](https://github.com/upptime/status-page/actions?query=workflow%3A%22Feature+Branch+Pull+Request%22) [![Hotfix Branch Pull Request](https://github.com/upptime/status-page/workflows/Hotfix%20Branch%20Pull%20Request/badge.svg)](https://github.com/upptime/status-page/actions?query=workflow%3A%22Hotfix+Branch+Pull+Request%22) [![Merge PRs](https://github.com/upptime/status-page/workflows/Merge%20PRs/badge.svg)](https://github.com/upptime/status-page/actions?query=workflow%3A%22Merge+PRs%22) | 13 | 14 | 15 | ## 🎁 Contributing 16 | 17 | This repository is for Upptime's embeddable web app. We love contributions, so please read our [Contributing Guidelines](https://github.com/upptime-js/.github/blob/master/CONTRIBUTING.md) and [Code of Conduct](https://github.com/upptime-js/.github/blob/master/CODE_OF_CONDUCT.md) and open an issue or make a pull request! 18 | 19 | ### Issues 20 | 21 | We use the [upptime/upptime](https://github.com/upptime/upptime) repository for issues for all projects, including this one. If you found a bug or have a feature request, [open an issue](https://github.com/upptime/upptime/issues) in the Upptime repository and add the label "static-site". 22 | 23 | ## 💻 Usage 24 | 25 | When you use Upptime, we automatically generate a static status website and push it to the `gh-pages` branch. You don't have to manually manage any code from this repository. 26 | 27 | When building locally, you can start a server: 28 | 29 | ```bash 30 | npm run dev 31 | ``` 32 | 33 | Currently, the `.upptimerc.yml` configuration file is required one directly above the project root. 34 | 35 | ## 📄 License 36 | 37 | [MIT](./LICENSE) © [Koj](https://koj.co) 38 | 39 |

40 | 41 | Koj 42 | 43 |

44 |

45 | An open source project by Koj.
Furnish your home in style, for as low as CHF175/month →
46 |

47 | -------------------------------------------------------------------------------- /cypress.json: -------------------------------------------------------------------------------- 1 | { 2 | "baseUrl": "http://localhost:3000", 3 | "video": false 4 | } 5 | -------------------------------------------------------------------------------- /cypress/fixtures/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Using fixtures to represent data", 3 | "email": "hello@cypress.io", 4 | "body": "Fixtures are a great way to mock data for responses to routes" 5 | } 6 | -------------------------------------------------------------------------------- /cypress/integration/incident.spec.js: -------------------------------------------------------------------------------- 1 | describe("Live status", () => { 2 | beforeEach(() => { 3 | cy.visit("/incident/8"); 4 | cy.wait(2000); 5 | }); 6 | it("has multiple status messages", () => { 7 | cy.get("article").should("have.lengthOf.above", 1); 8 | }); 9 | }); 10 | -------------------------------------------------------------------------------- /cypress/integration/live-status.spec.js: -------------------------------------------------------------------------------- 1 | describe("Live status", () => { 2 | beforeEach(() => { 3 | cy.visit("/"); 4 | cy.wait(2000); 5 | }); 6 | it("has multiple status boxes", () => { 7 | cy.get("article.link").should("have.lengthOf.above", 2); 8 | }); 9 | it("has past issues", () => { 10 | cy.get("article.down.link").should("have.lengthOf.above", 3); 11 | }); 12 | }); 13 | -------------------------------------------------------------------------------- /cypress/plugins/index.js: -------------------------------------------------------------------------------- 1 | // *********************************************************** 2 | // This example plugins/index.js can be used to load plugins 3 | // 4 | // You can change the location of this file or turn off loading 5 | // the plugins file with the 'pluginsFile' configuration option. 6 | // 7 | // You can read more here: 8 | // https://on.cypress.io/plugins-guide 9 | // *********************************************************** 10 | 11 | // This function is called when a project is opened or re-opened (e.g. due to 12 | // the project's config changing) 13 | 14 | module.exports = (on, config) => { 15 | // `on` is used to hook into various events Cypress emits 16 | // `config` is the resolved Cypress config 17 | }; 18 | -------------------------------------------------------------------------------- /cypress/support/commands.js: -------------------------------------------------------------------------------- 1 | // *********************************************** 2 | // This example commands.js shows you how to 3 | // create various custom commands and overwrite 4 | // existing commands. 5 | // 6 | // For more comprehensive examples of custom 7 | // commands please read more here: 8 | // https://on.cypress.io/custom-commands 9 | // *********************************************** 10 | // 11 | // 12 | // -- This is a parent command -- 13 | // Cypress.Commands.add("login", (email, password) => { ... }) 14 | // 15 | // 16 | // -- This is a child command -- 17 | // Cypress.Commands.add("drag", { prevSubject: 'element'}, (subject, options) => { ... }) 18 | // 19 | // 20 | // -- This is a dual command -- 21 | // Cypress.Commands.add("dismiss", { prevSubject: 'optional'}, (subject, options) => { ... }) 22 | // 23 | // 24 | // -- This is will overwrite an existing command -- 25 | // Cypress.Commands.overwrite("visit", (originalFn, url, options) => { ... }) 26 | -------------------------------------------------------------------------------- /cypress/support/index.js: -------------------------------------------------------------------------------- 1 | // *********************************************************** 2 | // This example support/index.js is processed and 3 | // loaded automatically before your test files. 4 | // 5 | // This is a great place to put global configuration and 6 | // behavior that modifies Cypress. 7 | // 8 | // You can change the location of this file or turn off 9 | // automatically serving support files with the 10 | // 'supportFile' configuration option. 11 | // 12 | // You can read more here: 13 | // https://on.cypress.io/configuration 14 | // *********************************************************** 15 | 16 | // Import commands.js using ES2015 syntax: 17 | import "./commands"; 18 | 19 | // Alternatively you can use CommonJS syntax: 20 | // require('./commands') 21 | -------------------------------------------------------------------------------- /i18n.yml: -------------------------------------------------------------------------------- 1 | activeIncidents: Active Incidents 2 | allSystemsOperational: All systems are operational 3 | incidentReport: "Incident #$NUMBER report →" 4 | activeIncidentSummary: Opened at $DATE with $POSTS posts 5 | incidentTitle: Incident $NUMBER Details 6 | incidentDetails: Incident Details 7 | incidentFixed: Fixed 8 | incidentOngoing: Ongoing 9 | incidentOpenedAt: Opened at 10 | incidentClosedAt: Closed at 11 | incidentViewOnGitHub: View and Subscribe on GitHub 12 | incidentCommentSummary: Posted at $DATE by $AUTHOR 13 | incidentBack: ← Back to all incidents 14 | pastIncidents: Past Incidents 15 | pastIncidentsResolved: Resolved in $MINUTES minutes with $POSTS posts 16 | liveStatus: Live Status 17 | overallUptime: "Overall uptime: $UPTIME" 18 | overallUptimeTitle: Overall uptime 19 | averageResponseTime: "Average response time: $TIMEms" 20 | averageResponseTimeTitle: Average response 21 | sevelDayResponseTime: 7-day response time 22 | responseTimeMs: Response time (ms) 23 | up: Up 24 | down: Down 25 | degraded: Degraded 26 | ms: ms 27 | loading: Loading 28 | navGitHub: GitHub 29 | footer: This page is [open source]($REPO), powered by [Upptime](https://upptime.js.org) 30 | rateLimitExceededTitle: Rate limit exceeded 31 | rateLimitExceededIntro: You have exceeded the number of requests you can do in an hour, so you'll have to wait before accessing this website again. Alternately, you can add a GitHub Personal Access Token to continue to use this website. 32 | rateLimitExceededWhatDoesErrorMean: What does this error mean? 33 | rateLimitExceededErrorMeaning: This website uses the GitHub API to access real-time data about our websites' status. By default, GitHub allows each IP address 60 requests per hour, which you have consumed. 34 | rateLimitExceededErrorHowCanFix: How can I fix it? 35 | rateLimitExceededErrorFix: You can wait for another hour and your IP address' limit will be restored. Alternately, you can add your GitHub Personal Access Token, which gives you an additional 5,000 requests per hour. 36 | rateLimitExceededGeneratePAT: Learn how to generate a Personal Access Token 37 | rateLimitExceededHasSet: You have a personal access token set. 38 | rateLimitExceededRemoveToken: Remove token 39 | rateLimitExceededGitHubPAT: GitHub Personal Access Token 40 | rateLimitExceededCopyPastePAT: Copy and paste your token 41 | rateLimitExceededSaveToken: Save token 42 | errorTitle: An error occurred 43 | errorIntro: An error occurred in trying to get the latest status details. 44 | errorText: You can try again in a few moments. 45 | errorHome: Go to the homepage 46 | pastScheduledMaintenance: Past Scheduled Maintenance 47 | scheduledMaintenance: Scheduled Maintenance 48 | scheduledMaintenanceSummaryStarted: Started at $DATE for $DURATION minutes 49 | scheduledMaintenanceSummaryStarts: Starts at $DATE for $DURATION minutes 50 | startedAt: Started at 51 | startsAt: Starts at 52 | duration: Duration 53 | durationMin: $DURATION minutes 54 | incidentCompleted: Completed 55 | incidentScheduled: Scheduled 56 | duration24H: 24h 57 | duration7D: 7d 58 | duration30D: 30d 59 | duration1Y: 1y 60 | durationAll: all 61 | locale: en-US 62 | -------------------------------------------------------------------------------- /init-tests.ts: -------------------------------------------------------------------------------- 1 | import { copyFile, readFile } from "fs-extra"; 2 | import { join } from "path"; 3 | 4 | const initTests = async () => { 5 | let hasFile = false; 6 | try { 7 | await readFile(join("..", ".upptimerc.yml")); 8 | hasFile = true; 9 | } catch (error) {} 10 | if (!hasFile) await copyFile(join(".", ".upptimerc.yml"), join("..", ".upptimerc.yml")); 11 | }; 12 | initTests(); 13 | -------------------------------------------------------------------------------- /jest.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | preset: "ts-jest", 3 | testEnvironment: "node", 4 | }; 5 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@upptime/status-page", 3 | "version": "1.17.0", 4 | "description": "Upptime status page website", 5 | "main": "dist/index.js", 6 | "scripts": { 7 | "pre-process": "ts-node pre-process.ts", 8 | "post-process": "ts-node post-process.ts", 9 | "init-tests": "ts-node init-tests.ts", 10 | "dev": "npm run pre-process && sapper dev", 11 | "build": "npm run init-tests && npm run pre-process && sapper build --legacy", 12 | "export": "npm run pre-process && npm run post-process", 13 | "start": "node __sapper__/build", 14 | "cy:run": "cypress run", 15 | "cy:open": "cypress open", 16 | "test": "npm run init-tests && run-p --race dev cy:run", 17 | "semantic-release": "semantic-release" 18 | }, 19 | "repository": { 20 | "type": "git", 21 | "url": "git+https://github.com/upptime/status-page.git" 22 | }, 23 | "keywords": [ 24 | "koj", 25 | "template", 26 | "nodejs", 27 | "typescript" 28 | ], 29 | "author": "Anand Chowdhary ", 30 | "license": "MIT", 31 | "bugs": { 32 | "url": "https://github.com/upptime/status-page/issues" 33 | }, 34 | "homepage": "https://github.com/upptime/status-page#readme", 35 | "dependencies": { 36 | "@octokit/rest": "^18.12.0", 37 | "compression": "^1.7.4", 38 | "fs-extra": "^10.1.0", 39 | "js-yaml": "^4.1.0", 40 | "polka": "next", 41 | "sirv": "^1.0.5", 42 | "snarkdown": "^2.0.0", 43 | "svelte-chartjs": "^1.1.4" 44 | }, 45 | "devDependencies": { 46 | "@babel/core": "^7.18.2", 47 | "@babel/plugin-syntax-dynamic-import": "^7.8.3", 48 | "@babel/plugin-transform-runtime": "^7.18.2", 49 | "@babel/preset-env": "^7.18.2", 50 | "@babel/runtime": "^7.18.3", 51 | "@koj/config": "^1.2.11", 52 | "@rollup/plugin-babel": "^5.1.0", 53 | "@rollup/plugin-commonjs": "^17.0.0", 54 | "@rollup/plugin-json": "^4.1.0", 55 | "@rollup/plugin-node-resolve": "^11.0.1", 56 | "@rollup/plugin-replace": "^2.3.3", 57 | "@semantic-release/changelog": "^6.0.1", 58 | "@semantic-release/git": "^10.0.1", 59 | "@semantic-release/github": "^8.0.4", 60 | "@semantic-release/npm": "^9.0.1", 61 | "@types/fs-extra": "^9.0.13", 62 | "@types/jest": "^27.5.1", 63 | "@types/js-yaml": "^4.0.5", 64 | "cypress": "^9.7.0", 65 | "jest": "^28.1.0", 66 | "npm-run-all": "^4.1.5", 67 | "rollup": "^2.74.1", 68 | "rollup-plugin-svelte": "^6.0.1", 69 | "rollup-plugin-terser": "^7.0.2", 70 | "sapper": "^0.29.0", 71 | "semantic-release": "^19.0.2", 72 | "semantic-release-gitmoji": "^1.4.4", 73 | "svelte": "^3.24.1", 74 | "ts-jest": "^28.0.3", 75 | "ts-node": "^10.8.0", 76 | "typescript": "^4.7.2" 77 | } 78 | } 79 | -------------------------------------------------------------------------------- /post-process.ts: -------------------------------------------------------------------------------- 1 | import { readFile, writeFile, copyFile, copy, remove, pathExists } from "fs-extra"; 2 | import { load } from "js-yaml"; 3 | import { join } from "path"; 4 | import { execSync } from "child_process"; 5 | 6 | export const postProcess = async () => { 7 | let config: { 8 | "status-website"?: { 9 | cname?: string; 10 | robotsText?: string; 11 | baseUrl?: string; 12 | }; 13 | } = load(await readFile(join("..", ".upptimerc.yml"), "utf8")) as any; 14 | const baseUrl = (config["status-website"] || {}).baseUrl || "/"; 15 | 16 | execSync(`sapper export --legacy --basepath ${baseUrl}`, { 17 | stdio: "inherit", 18 | }); 19 | 20 | if (baseUrl !== "/") { 21 | await copy(join(".", "__sapper__", "export", baseUrl), join(".", "__sapper__", "export")); 22 | await remove(join(".", "__sapper__", "export", baseUrl)); 23 | } 24 | 25 | try { 26 | if (await pathExists(join(".", "assets"))) 27 | await copy(join(".", "assets"), join(".", "__sapper__", "export"), { recursive: true }); 28 | } catch (error) { 29 | console.log("Got an error in copying assets", error); 30 | } 31 | 32 | const [owner, repo] = (process.env.GITHUB_REPOSITORY || "").split("/"); 33 | 34 | if ( 35 | config["status-website"] && 36 | config["status-website"].cname && 37 | config["status-website"].cname !== "demo.upptime.js.org" 38 | ) 39 | await writeFile(join(".", "__sapper__", "export", "CNAME"), config["status-website"].cname); 40 | else if ( 41 | config["status-website"] && 42 | config["status-website"].cname && 43 | config["status-website"].cname === "demo.upptime.js.org" && 44 | owner === "upptime" && 45 | repo === "upptime" 46 | ) 47 | await writeFile(join(".", "__sapper__", "export", "CNAME"), "demo.upptime.js.org"); 48 | 49 | if (config["status-website"] && config["status-website"].robotsText) 50 | await writeFile( 51 | join(".", "__sapper__", "export", "robots.txt"), 52 | config["status-website"].robotsText 53 | ); 54 | 55 | await copyFile( 56 | join(".", "__sapper__", "export", "service-worker-index.html"), 57 | join(".", "__sapper__", "export", "404.html") 58 | ); 59 | }; 60 | 61 | postProcess(); 62 | -------------------------------------------------------------------------------- /pre-process.ts: -------------------------------------------------------------------------------- 1 | import { readFile, writeJson, ensureDir } from "fs-extra"; 2 | import { load } from "js-yaml"; 3 | import { join } from "path"; 4 | 5 | export const preProcess = async () => { 6 | const i18n = load(await readFile(join(".", "i18n.yml"), "utf8")) as { 7 | [index: string]: string; 8 | }; 9 | 10 | let config: { 11 | logoUrl?: string; 12 | name?: string; 13 | owner: string; 14 | repo: string; 15 | introTitle?: string; 16 | introMessage?: string; 17 | path: string; 18 | i18n?: { [index: string]: string }; 19 | "status-website"?: { 20 | cname?: string; 21 | baseUrl?: string; 22 | }; 23 | } = load(await readFile(join("..", ".upptimerc.yml"), "utf8")) as any; 24 | if (!config.owner || !config.repo) throw new Error("Owner/repo not set"); 25 | config.path = `https://${config.owner}.github.io/${config.repo}`; 26 | if (config["status-website"]?.cname) config.path = `https://${config["status-website"].cname}${config["status-website"]?.baseUrl ?? ""}`; 27 | config.i18n = { ...i18n, ...config.i18n }; 28 | await ensureDir(join(".", "src", "data")); 29 | await writeJson(join(".", "src", "data", "config.json"), config); 30 | }; 31 | 32 | preProcess(); 33 | -------------------------------------------------------------------------------- /release.config.js: -------------------------------------------------------------------------------- 1 | module.exports = require("@koj/config").releaseMaster; 2 | -------------------------------------------------------------------------------- /rollup.config.js: -------------------------------------------------------------------------------- 1 | import resolve from "@rollup/plugin-node-resolve"; 2 | import replace from "@rollup/plugin-replace"; 3 | import commonjs from "@rollup/plugin-commonjs"; 4 | import svelte from "rollup-plugin-svelte"; 5 | import babel from "@rollup/plugin-babel"; 6 | import json from "@rollup/plugin-json"; 7 | import { terser } from "rollup-plugin-terser"; 8 | import config from "sapper/config/rollup.js"; 9 | import pkg from "./package.json"; 10 | 11 | const mode = process.env.NODE_ENV; 12 | const dev = mode === "development"; 13 | const legacy = !!process.env.SAPPER_LEGACY_BUILD; 14 | 15 | const onwarn = (warning, onwarn) => 16 | (warning.code === "MISSING_EXPORT" && /'preload'/.test(warning.message)) || 17 | (warning.code === "CIRCULAR_DEPENDENCY" && /[/\\]@sapper[/\\]/.test(warning.message)) || 18 | onwarn(warning); 19 | 20 | export default { 21 | client: { 22 | input: config.client.input(), 23 | output: config.client.output(), 24 | plugins: [ 25 | json(), 26 | replace({ 27 | "process.browser": true, 28 | "process.env.NODE_ENV": JSON.stringify(mode), 29 | }), 30 | svelte({ 31 | dev, 32 | hydratable: true, 33 | emitCss: true, 34 | }), 35 | resolve({ 36 | browser: true, 37 | dedupe: ["svelte"], 38 | }), 39 | commonjs(), 40 | 41 | legacy && 42 | babel({ 43 | extensions: [".js", ".mjs", ".html", ".svelte"], 44 | babelHelpers: "runtime", 45 | exclude: ["node_modules/@babel/**"], 46 | presets: [ 47 | [ 48 | "@babel/preset-env", 49 | { 50 | targets: "> 0.25%, not dead", 51 | }, 52 | ], 53 | ], 54 | plugins: [ 55 | "@babel/plugin-syntax-dynamic-import", 56 | [ 57 | "@babel/plugin-transform-runtime", 58 | { 59 | useESModules: true, 60 | }, 61 | ], 62 | ], 63 | }), 64 | 65 | !dev && 66 | terser({ 67 | module: true, 68 | }), 69 | ], 70 | 71 | preserveEntrySignatures: false, 72 | onwarn, 73 | }, 74 | 75 | server: { 76 | input: config.server.input(), 77 | output: config.server.output(), 78 | plugins: [ 79 | json(), 80 | replace({ 81 | "process.browser": false, 82 | "process.env.NODE_ENV": JSON.stringify(mode), 83 | }), 84 | svelte({ 85 | generate: "ssr", 86 | hydratable: true, 87 | dev, 88 | }), 89 | resolve({ 90 | dedupe: ["svelte"], 91 | }), 92 | commonjs(), 93 | ], 94 | external: Object.keys(pkg.dependencies).concat(require("module").builtinModules), 95 | 96 | preserveEntrySignatures: "strict", 97 | onwarn, 98 | }, 99 | 100 | serviceworker: { 101 | input: config.serviceworker.input(), 102 | output: config.serviceworker.output(), 103 | plugins: [ 104 | resolve(), 105 | replace({ 106 | "process.browser": true, 107 | "process.env.NODE_ENV": JSON.stringify(mode), 108 | }), 109 | commonjs(), 110 | !dev && terser(), 111 | ], 112 | 113 | preserveEntrySignatures: false, 114 | onwarn, 115 | }, 116 | }; 117 | -------------------------------------------------------------------------------- /src/client.js: -------------------------------------------------------------------------------- 1 | import * as sapper from '@sapper/app'; 2 | 3 | // 4 | // 5 | // if we do not use this then we need to move sapper at end of 6 | // 7 | // 8 | if (document.readyState !== 'loading') { 9 | sapper.start({ 10 | target: document.querySelector('#sapper') 11 | }); 12 | } else { 13 | document.addEventListener('DOMContentLoaded', function() { 14 | sapper.start({ 15 | target: document.querySelector('#sapper') 16 | }); 17 | }); 18 | } 19 | -------------------------------------------------------------------------------- /src/components/ActiveIncidents.svelte: -------------------------------------------------------------------------------- 1 | 41 | 42 | {#if !incidents.length && !loading} 43 |
✅   {config.i18n.allSystemsOperational}
44 | {/if} 45 | 46 |
47 | {#if loading} 48 | 49 | {:else if incidents.length} 50 |

{config.i18n.activeIncidents}

51 | {#each incidents as incident} 52 | 71 | {/each} 72 | {/if} 73 |
74 | 75 | 80 | -------------------------------------------------------------------------------- /src/components/ActiveScheduled.svelte: -------------------------------------------------------------------------------- 1 | 52 | 53 |
54 | {#if loading} 55 | 56 | {:else if incidents.length} 57 |

{config.i18n.scheduledMaintenance}

58 | {#each incidents as incident} 59 | 88 | {/each} 89 | {/if} 90 |
91 | 92 | 97 | -------------------------------------------------------------------------------- /src/components/Graph.svelte: -------------------------------------------------------------------------------- 1 | 49 | 50 |
51 | {#if loading} 52 | 53 | {:else if data.length} 54 |

{config.i18n.sevelDayResponseTime}

55 | 75 | {/if} 76 |
77 | -------------------------------------------------------------------------------- /src/components/History.svelte: -------------------------------------------------------------------------------- 1 | 42 | 43 | 48 | 49 |
50 | {#if loading} 51 | 52 | {:else if incidents.length} 53 |

{config.i18n.pastIncidents}

54 | {#each incidents as incident} 55 | {#if incident.showHeading} 56 |

{new Date(incident.created_at).toLocaleDateString(config.i18n.locale)}

57 | {/if} 58 | 82 | {/each} 83 | {/if} 84 |
85 | -------------------------------------------------------------------------------- /src/components/Incident.svelte: -------------------------------------------------------------------------------- 1 | 64 | 65 | 66 | {config.i18n.incidentTitle.replace("$NUMBER", number)} 67 | 68 | 69 |

70 | {#if loadingIncident} 71 | {config.i18n.incidentDetails} 72 | {:else} 73 | {incident.title} 74 | 75 | {incident.state === "closed" 76 | ? incident.metadata.start 77 | ? config.i18n.incidentCompleted 78 | : config.i18n.incidentFixed 79 | : incident.metadata.start 80 | ? config.i18n.incidentScheduled 81 | : config.i18n.incidentOngoing} 82 | 83 | {/if} 84 |

85 | 86 |
87 | {#if loading} 88 | 89 | {:else} 90 |
91 |
92 | {#if incident.metadata.start} 93 |
94 | {new Date(incident.metadata.start).getTime() < new Date().getTime() 95 | ? config.i18n.startedAt 96 | : config.i18n.startsAt} 97 |
98 |
{new Date(incident.metadata.start).toLocaleString(config.i18n.locale)}
99 | {:else} 100 |
{config.i18n.incidentOpenedAt}
101 |
{new Date(incident.created_at).toLocaleString(config.i18n.locale)}
102 | {/if} 103 | {#if incident.metadata.start && incident.metadata.end} 104 |
{config.i18n.duration}
105 |
106 | {config.i18n.durationMin.replace( 107 | /\$DURATION/g, 108 | Math.floor( 109 | (new Date(incident.metadata.end).getTime() - 110 | new Date(incident.metadata.start).getTime()) / 111 | 60000 112 | ) 113 | )} 114 |
115 | {:else if incident.closed_at} 116 |
{config.i18n.incidentClosedAt}
117 |
{new Date(incident.closed_at).toLocaleString(config.i18n.locale)}
118 | {/if} 119 |
120 | 127 |
128 | {#each comments as comment} 129 | 142 | {/each} 143 | {/if} 144 |
145 | 146 | 147 | 148 | 162 | -------------------------------------------------------------------------------- /src/components/Incidents.svelte: -------------------------------------------------------------------------------- 1 | 41 | 42 | 47 | 48 |
49 | {#if loading} 50 | 51 | {:else if incidents.length} 52 |

{config.i18n.pastIncidents}

53 | {#each incidents as incident} 54 | {#if incident.showHeading} 55 |

{new Date(incident.created_at).toLocaleDateString(config.i18n.locale)}

56 | {/if} 57 | 81 | {/each} 82 | {/if} 83 |
84 | -------------------------------------------------------------------------------- /src/components/LiveStatus.svelte: -------------------------------------------------------------------------------- 1 | 40 | 41 |
42 |

{config.i18n.liveStatus}

43 |
44 |
45 | 53 |
54 |
55 | 63 |
64 |
65 | 73 |
74 |
75 | 83 |
84 |
85 | 93 |
94 |
95 |
96 |
97 | {#if loading} 98 | 99 | {:else if sites.length} 100 | {#each sites as site} 101 |

115 | 116 | {site.name} 117 |

118 |
119 | {@html config.i18n.overallUptime.split("$UPTIME")[0]} 120 | {selected === "day" 122 | ? site.uptimeDay 123 | : selected === "week" 124 | ? site.uptimeWeek 125 | : selected === "month" 126 | ? site.uptimeMonth 127 | : selected === "year" 128 | ? site.uptimeYear 129 | : site.uptime} 130 | {@html config.i18n.overallUptime.split("$UPTIME")[1]} 132 |
133 | {#if site.showAverageResponseTime === undefined || site.showAverageResponseTime} 134 |
135 | {@html config.i18n.averageResponseTime.split("$TIME")[0]} 136 | {selected === "day" 138 | ? site.timeDay 139 | : selected === "week" 140 | ? site.timeWeek 141 | : selected === "month" 142 | ? site.timeMonth 143 | : selected === "year" 144 | ? site.timeYear 145 | : site.time} 146 | {@html config.i18n.averageResponseTime.split("$TIME")[1]} 148 |
149 | {/if} 150 |
151 | {/each} 152 | {/if} 153 |
154 | 155 | 191 | -------------------------------------------------------------------------------- /src/components/Loading.svelte: -------------------------------------------------------------------------------- 1 | 4 | 5 | 14 | 15 |
16 | 22 | 23 | 24 | 25 | 26 | 33 | 34 | 35 | 36 | 37 |
38 | -------------------------------------------------------------------------------- /src/components/Nav.svelte: -------------------------------------------------------------------------------- 1 | 5 | 6 | 45 | 46 | 89 | -------------------------------------------------------------------------------- /src/components/Scheduled.svelte: -------------------------------------------------------------------------------- 1 | 41 | 42 |
43 | {#if loading} 44 | 45 | {:else if incidents.length} 46 |

{config.i18n.pastScheduledMaintenance}

47 | {#each incidents as incident} 48 | {#if incident.showHeading} 49 |

{new Date(incident.created_at).toLocaleDateString(config.i18n.locale)}

50 | {/if} 51 | 64 | {/each} 65 | {/if} 66 |
67 | 68 | 73 | -------------------------------------------------------------------------------- /src/components/Summary.svelte: -------------------------------------------------------------------------------- 1 | 28 | 29 | 34 | 35 |
36 | {#if loading} 37 | 38 | {:else if summary} 39 |

40 | {summary.name} 41 | 42 | {summary.status === 'up' ? config.i18n.up : config.i18n.down} 43 | 44 |

45 |
46 |
{config.i18n.overallUptimeTitle}
47 |
{summary.uptime}
48 | {#if summary.showAverageResponseTime === undefined || summary.showAverageResponseTime} 49 |
{config.i18n.averageResponseTimeTitle}
50 |
{summary.time}{config.i18n.ms}
51 | {/if} 52 |
53 | {/if} 54 |
55 | -------------------------------------------------------------------------------- /src/routes/_error.svelte: -------------------------------------------------------------------------------- 1 | 7 | 8 | 30 | 31 | 32 | {status} 33 | 34 | 35 |

{status}

36 | 37 |

{error.message}

38 | 39 | {#if dev && error.stack} 40 |
{error.stack}
41 | {/if} 42 | -------------------------------------------------------------------------------- /src/routes/_layout.svelte: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | {#if (config["status-website"] || {}).customHeadHtml} 10 | {@html (config["status-website"] || {}).customHeadHtml} 11 | {/if} 12 | {#if (config["status-website"] || {}).themeUrl} 13 | 14 | {:else if (config["status-website"] || {}).theme} 15 | 19 | {:else} 20 | 21 | 22 | 33 | 38 | 43 | {/if} 44 | 45 | 52 | 57 | {#if (config["status-website"] || {}).scripts} 58 | {#each (config["status-website"] || {}).scripts as script}{/each} 63 | {/if} 64 | {#if (config["status-website"] || {}).links} 65 | {#each (config["status-website"] || {}).links as link} 66 | 67 | {/each} 68 | {/if} 69 | {#if (config["status-website"] || {}).metaTags} 70 | {#each (config["status-website"] || {}).metaTags as link} 71 | 72 | {/each} 73 | {/if} 74 | {#if config['status-website'].css} 75 | {@html ``} 76 | {/if} 77 | {#if config['status-website'].js} 78 | {@html ``} 79 | {/if} 80 | 81 | 82 | {#if (config["status-website"] || {}).customBodyHtml} 83 | {@html (config["status-website"] || {}).customBodyHtml} 84 | {/if} 85 | 86 |