Skip to content

feat: rename tutorialkit to @tutorialkit/cli #153

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Aug 6, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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": "pnpm@8.15.6",
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.