Skip to content

Commit

Permalink
feat: rename tutorialkit to @tutorialkit/cli (#153)
Browse files Browse the repository at this point in the history
  • Loading branch information
AriPerkkio authored Aug 6, 2024
1 parent 70d20c7 commit 2986157
Show file tree
Hide file tree
Showing 11 changed files with 43 additions and 36 deletions.
7 changes: 4 additions & 3 deletions .github/workflows/prepare-release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ jobs:
- name: Bump versions
run: >
pnpm --recursive
--filter "!@tutorialkit/cli"
--filter "@tutorialkit/*"
exec pnpm version --no-git-tag-version --allow-same-version ${{ inputs.version }}
Expand All @@ -34,9 +35,9 @@ jobs:
uses: peter-evans/create-pull-request@c5a7806660adbe173f04e3e038b0ccdcd758773c
with:
# Note: `publish-release.yaml` checks explicitly for this commit message
commit-message: 'chore: release `@tutorialkit` packages v${{ inputs.version }}'
title: 'chore: release `@tutorialkit` packages v${{ inputs.version }}'
body: 'Bump `@tutorialkit` packages to version ${{ inputs.version }} and generate changelogs.'
commit-message: 'chore: release core packages v${{ inputs.version }}'
title: 'chore: release core packages v${{ inputs.version }}'
body: 'Bump core packages to version ${{ inputs.version }} and generate changelogs.'
reviewers: SamVerschueren,d3lm,Nemikolh,AriPerkkio
branch: chore/release-${{ inputs.version }}
token: ${{ secrets.GITOPS_REPO_PAT }}
17 changes: 9 additions & 8 deletions .github/workflows/publish-release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
contents: write
id-token: write
# Note: `prepare-release.yaml` sets this commit message
if: ${{ contains(github.event.head_commit.message, 'release `@tutorialkit` packages') }}
if: ${{ contains(github.event.head_commit.message, 'release core packages') }}
steps:
- name: Checkout
uses: actions/checkout@v4
Expand All @@ -29,6 +29,7 @@ jobs:
- name: Publish to npm
run: >
pnpm --recursive
--filter "!@tutorialkit/cli"
--filter "@tutorialkit/*"
exec pnpm publish --provenance --access public
env:
Expand Down Expand Up @@ -60,16 +61,16 @@ jobs:
- name: Bump version
run: >
pnpm --recursive
--filter tutorialkit
--filter @tutorialkit/cli
exec npm version --no-git-tag-version --allow-same-version ${{ steps.resolve-release-version.outputs.version }}
- name: Create Pull Request
uses: peter-evans/create-pull-request@c5a7806660adbe173f04e3e038b0ccdcd758773c
with:
# Note: `publish-release.yaml` checks explicitly for this commit message
commit-message: 'chore: release TutorialKit CLI v${{ steps.resolve-release-version.outputs.version }}'
title: 'chore: release TutorialKit CLI v${{ steps.resolve-release-version.outputs.version }}'
body: 'Bump TutorialKit CLI to version ${{ steps.resolve-release-version.outputs.version }}.'
commit-message: 'chore: release CLI v${{ steps.resolve-release-version.outputs.version }}'
title: 'chore: release CLI v${{ steps.resolve-release-version.outputs.version }}'
body: 'Bump CLI to version ${{ steps.resolve-release-version.outputs.version }}.'
reviewers: SamVerschueren,d3lm,Nemikolh,AriPerkkio
branch: chore/release-cli-${{ steps.resolve-release-version.outputs.version }}
token: ${{ secrets.GITOPS_REPO_PAT }}
Expand All @@ -80,8 +81,8 @@ jobs:
permissions:
contents: write
id-token: write
# Note: `prepare-release.yaml` sets this commit message
if: ${{ contains(github.event.head_commit.message, 'release TutorialKit CLI') }}
# Note: commit message is set by prepare_cli_release above
if: ${{ contains(github.event.head_commit.message, 'release CLI') }}
steps:
- name: Checkout
uses: actions/checkout@v4
Expand All @@ -101,7 +102,7 @@ jobs:
- name: Publish to npm
run: >
pnpm --recursive
--filter tutorialkit
--filter @tutorialkit/cli
exec pnpm publish --provenance --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
20 changes: 20 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,26 @@ cd tutorialkit

5. Run `pnpm run test` to run core tests

The monorepo consists of multiple packages that are grouped into following groups:

### Core Packages

These packages will be installed by the end-users in their `package.json`.

- `@tutorialkit/astro`
- `@tutorialkit/components-react`
- `@tutorialkit/runtime`
- `@tutorialkit/theme`
- `@tutorialkit/types`

### CLI Packages

The CLI packages are expected to be run by users using `npm create tutorial` and `npx tutorialkit` commands.
These should not be added to `package.json`.

- `@tutorialkit/cli`
- `create-tutorial`

## Testing TutorialKit against external packages

You may wish to test your locally-modified copy of TutorialKit against another package that is using it. For pnpm, after building TutorialKit, you can use [`pnpm.overrides`](https://pnpm.io/package_json#pnpmoverrides). Please note that `pnpm.overrides` must be specified in the root `package.json` and you must first list the package as a dependency in the root `package.json`:
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ Read our documentation on [tutorialkit.dev](https://tutorialkit.dev/guides/about

### Contribution

See [Contributing Guide](https://github.com/stackblitz/tutorialkit/blob/main/CONTRIBUTING.md).
See [Contributing Guide](./CONTRIBUTING.md).

## Community

Expand Down
2 changes: 1 addition & 1 deletion extensions/vscode/package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"name": "tutorialkit-vscode",
"name": "tutorialkit",
"displayName": "TutorialKit",
"description": "TutorialKit support in VS Code",
"icon": "resources/tutorialkit-icon.png",
Expand Down
9 changes: 0 additions & 9 deletions extensions/vscode/scripts/build.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -55,15 +55,6 @@ async function main() {
await ctx.dispose();

await buildMetadataSchema();

if (production) {
// rename name in `package.json` to match extension name on store
const pkgJSON = JSON.parse(fs.readFileSync('./package.json', { encoding: 'utf8' }));

pkgJSON.name = 'tutorialkit';

fs.writeFileSync('./package.json', JSON.stringify(pkgJSON, undefined, 2), 'utf8');
}
}
}

Expand Down
10 changes: 5 additions & 5 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
{
"private": true,
"scripts": {
"build": "pnpm run --filter=@tutorialkit/* --filter=tutorialkit --filter=create-tutorial build",
"build": "pnpm run --stream --filter=@tutorialkit/* --filter=create-tutorial build",
"dev": "TUTORIALKIT_DEV=true pnpm -r --parallel --stream --filter='./packages/**' run dev",
"changelog": "./scripts/changelog.mjs",
"clean": "./scripts/clean.sh",
"prepare": "is-ci || husky install",
"extension:dev": "pnpm --parallel --stream --filter=@tutorialkit/types --filter=tutorialkit-vscode run dev",
"extension:build": "pnpm run --filter=tutorialkit-vscode build",
"extension:dev": "pnpm run --parallel --stream --filter=@tutorialkit/types --filter='./extensions/**' dev",
"extension:build": "pnpm run --filter='./extensions/**' build",
"template:dev": "TUTORIALKIT_DEV=true pnpm run build && pnpm run --filter=tutorialkit-starter dev",
"template:build": "pnpm run build && pnpm run --filter=tutorialkit-starter build",
"cli:build-release": "pnpm run --filter=tutorialkit build-release",
"cli:build-release": "pnpm run --filter=@tutorialkit/cli build-release",
"docs": "pnpm run --filter=tutorialkit.dev dev",
"docs:build": "pnpm run build && pnpm run --filter=tutorialkit.dev build",
"demo": "pnpm run --filter=demo.tutorialkit.dev dev",
"demo:build": "pnpm run build && pnpm run --filter=demo.tutorialkit.dev build",
"lint": "eslint \"{packages,docs,extensions,integration}/**/*\"",
"test": "pnpm run --stream --filter=@tutorialkit/* --filter=tutorialkit test --run"
"test": "pnpm run --stream --filter=@tutorialkit/* test --run"
},
"license": "MIT",
"packageManager": "[email protected]",
Expand Down
2 changes: 1 addition & 1 deletion packages/cli/package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"name": "tutorialkit",
"name": "@tutorialkit/cli",
"version": "0.1.2",
"description": "Interactive tutorials powered by WebContainer API",
"author": "StackBlitz Inc.",
Expand Down
2 changes: 1 addition & 1 deletion packages/create-tutorial/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
"dist"
],
"dependencies": {
"tutorialkit": "latest"
"@tutorialkit/cli": "latest"
},
"devDependencies": {
"@types/node": "^20.14.6",
Expand Down
2 changes: 1 addition & 1 deletion pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 0 additions & 6 deletions scripts/publish.sh

This file was deleted.

0 comments on commit 2986157

Please sign in to comment.