Skip to content

Commit

Permalink
init
Browse files Browse the repository at this point in the history
  • Loading branch information
james-elicx committed Sep 29, 2024
0 parents commit 9b6f5b7
Show file tree
Hide file tree
Showing 23 changed files with 4,185 additions and 0 deletions.
8 changes: 8 additions & 0 deletions .changeset/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Changesets

Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works
with multi-package repos, or single-package repos to help you version and publish your code. You can
find the full documentation for it [in our repository](https://github.com/changesets/changesets)

We have a quick list of common questions to get you started engaging with this project in
[our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md)
11 changes: 11 additions & 0 deletions .changeset/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"$schema": "https://unpkg.com/@changesets/config@2.3.0/schema.json",
"changelog": "@changesets/cli/changelog",
"commit": false,
"fixed": [],
"linked": [],
"access": "public",
"baseBranch": "main",
"updateInternalDependencies": "patch",
"ignore": []
}
19 changes: 19 additions & 0 deletions .eslintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"parserOptions": {
"project": "./tsconfig.json",
},
"extends": ["ixn"],
"rules": {
"prettier/prettier": "off",

"no-restricted-syntax": "off",
"no-await-in-loop": "off",

"import/no-extraneous-dependencies": [
"error",
{ "devDependencies": ["**/*.spec.ts", "vite.config.ts"] },
],
"no-console": "error",
},
"ignorePatterns": ["dist", "scripts"],
}
33 changes: 33 additions & 0 deletions .github/DISCUSSION_TEMPLATE/ideas.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
body:
- type: markdown
attributes:
value: |
Thank you for taking the time to file a feature request.
Before you submit an issue, please ensure that you have done the following.
- Read the [documentation](https://github.com/james-elicx/build-output-router/tree/main/docs).
- Searched for existing feature requests.
To increase the chance of your feature request being accepted, please provide as much information as possible.
- type: textarea
attributes:
label: Description of the Feature
description: Please provider a detailed description of the feature you are requesting.
validations:
required: true

- type: textarea
attributes:
label: Additional Information
description: Is there anything else you'd like to add, or any other information that may be relevant to this feature request?
validations:
required: false

- type: checkboxes
attributes:
label: Interested in Contributing?
description: Would you be interested in contributing and helping to implement this feature?
options:
- label: I would like to help implement this feature.
required: false
51 changes: 51 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Bug Report
description: Report a bug or issue with this library.
title: '[Bug] '
labels: ['bug']
body:
- type: markdown
attributes:
value: |
Thank you for taking the time to report a bug with this library.
Before you submit an issue, please ensure that you have searched for it in the existing issues.
To help us address your issue as quickly as possible, please fill out the following information.
- type: checkboxes
attributes:
label: Verify Beta Release
description: Please run `npm install build-output-router@beta` to check that your issue exists in the latest beta release of this library.
options:
- label: I verified that the issue exists in the latest beta release.
required: true

- type: textarea
attributes:
label: Description of the Issue
description: Please provider a clear and concise description of the issue you are experiencing.
validations:
required: true

- type: textarea
attributes:
label: Reproduction
description: |
Please provide a minimal reproduction of the bug, or steps to reproduce it. If possible, please provide a link to a repository on GitHub that we can clone.
validations:
required: true

- type: textarea
attributes:
label: Additional Information
description: Is there anything else you'd like to add, or any other information that may be relevant to this issue?
validations:
required: false

- type: checkboxes
attributes:
label: Interested in Contributing?
description: Would you be interested in contributing and helping to fix this bug?
options:
- label: I would like to help fix this bug.
required: false
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: true
contact_links:
- name: Feature Request
url: https://github.com/james-elicx/build-output-router/discussions/new?category=feature-request
about: Feature requests should be opened as discussions
35 changes: 35 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Feature Request
description: Have an idea for a new feature? Submit a feature request here.
title: '[Feature] '
labels: ['enhancement']
body:
- type: markdown
attributes:
value: |
Thank you for taking the time to file a feature request.
Before you submit an issue, please ensure that you have searched for it in the existing issues.
To increase the chance of your feature request being accepted, please provide as much information as possible.
- type: textarea
attributes:
label: Description of the Feature
description: Please provider a detailed description of the feature you are requesting.
validations:
required: true

- type: textarea
attributes:
label: Additional Information
description: Is there anything else you'd like to add, or any other information that may be relevant to this feature request?
validations:
required: false

- type: checkboxes
attributes:
label: Interested in Contributing?
description: Would you be interested in contributing and helping to implement this feature?
options:
- label: I would like to help implement this feature.
required: false
45 changes: 45 additions & 0 deletions .github/workflows/beta-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Beta Release

on:
push:
branches: [main]

jobs:
release:
name: Beta Release
if: ${{ github.repository_owner == 'james-elicx' }}
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v4

- uses: pnpm/action-setup@v4
with:
version: 8

- name: Setup Node.js environment
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'pnpm'

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Set outputs
id: hash
run: echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT

- name: Alter version
run: pnpm alter-version ${{ steps.hash.outputs.sha_short }} BETA

- name: Build
run: pnpm build

- name: Set publishing config
run: pnpm config set '//registry.npmjs.org/:_authToken' "${NPM_TOKEN}"
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

- name: Publish to npm
run: pnpm publish --tag beta --no-git-checks
38 changes: 38 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: Checks

on:
push:
branches: [main]
pull_request:
branches: [main]

jobs:
checks:
name: Check ${{ matrix.script }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
script: [lint, prettier, ts-check, test]
steps:
- name: Check out code
uses: actions/checkout@v4

- uses: pnpm/action-setup@v4
with:
version: 8

- name: Setup Node.js environment
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'pnpm'

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Build
run: pnpm build

- name: ${{ matrix.script }}
run: pnpm ${{ matrix.script }}
55 changes: 55 additions & 0 deletions .github/workflows/prerelease-comment.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: Write Pre-Release Comment

# Adapted from the following workflow:
# https://github.com/cloudflare/next-on-pages/blob/main/.github/workflows/write-prerelease-comment.yml

on:
workflow_run:
workflows: [Pre-Release]
types:
- completed

jobs:
comment:
name: Comment on PR
if: ${{ github.repository_owner == 'james-elicx' && github.event.workflow_run.conclusion == 'success' }}
runs-on: ubuntu-latest
steps:
- name: Put PR and workflow ID into env
uses: actions/github-script@v7
with:
script: |
const allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({
owner: context.repo.owner,
repo: context.repo.repo,
run_id: context.payload.workflow_run.id,
});
for (const artifact of allArtifacts.data.artifacts) {
// Extract the PR number from the artifact name
const match = /^npm-package-build-output-router-(\d+)$/.exec(artifact.name);
if (match) {
require("fs").appendFileSync(
process.env.GITHUB_ENV,
`\nWORKFLOW_RUN_PR=${match[1]}` +
`\nWORKFLOW_RUN_ID=${context.payload.workflow_run.id}`
);
break;
}
}
- name: Comment on PR
uses: marocchino/sticky-pull-request-comment@v2
with:
number: ${{ env.WORKFLOW_RUN_PR }}
message: |
🧪 A prerelease is available for testing 🧪
<details>
You can install this latest build in your project with:
```sh
npm i https://pmm-prereleases.ixion-labs.workers.dev/${{ env.WORKFLOW_RUN_ID }}/${{ env.WORKFLOW_RUN_PR }}
```
</details>
49 changes: 49 additions & 0 deletions .github/workflows/prerelease.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Pre-Release

# Adapted from the following workflow:
# https://github.com/cloudflare/next-on-pages/blob/main/.github/workflows/create-pullrequest-prerelease.yml

on:
pull_request:
branches: [main]

jobs:
publish:
name: Publish Pre-Release to Internal Registry
if: ${{ github.repository_owner == 'james-elicx' }}
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v4

- uses: pnpm/action-setup@v4
with:
version: 8

- name: Setup Node.js environment
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'pnpm'

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Set outputs
id: hash
run: echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT

- name: Alter version
run: pnpm alter-version ${{ steps.hash.outputs.sha_short }} PR=${{ github.event.number }}

- name: Build
run: pnpm build

- name: Package
run: pnpm pack

- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: npm-package-build-output-router-${{ github.event.number }} # encode the PR number into the artifact name
path: dist/build-output-router-*.tgz
Loading

0 comments on commit 9b6f5b7

Please sign in to comment.