Skip to content

Commit 2986157

Browse files
authored
feat: rename tutorialkit to @tutorialkit/cli (#153)
1 parent 70d20c7 commit 2986157

File tree

11 files changed

+43
-36
lines changed

11 files changed

+43
-36
lines changed

.github/workflows/prepare-release.yaml

+4-3
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ jobs:
2424
- name: Bump versions
2525
run: >
2626
pnpm --recursive
27+
--filter "!@tutorialkit/cli"
2728
--filter "@tutorialkit/*"
2829
exec pnpm version --no-git-tag-version --allow-same-version ${{ inputs.version }}
2930
@@ -34,9 +35,9 @@ jobs:
3435
uses: peter-evans/create-pull-request@c5a7806660adbe173f04e3e038b0ccdcd758773c
3536
with:
3637
# Note: `publish-release.yaml` checks explicitly for this commit message
37-
commit-message: 'chore: release `@tutorialkit` packages v${{ inputs.version }}'
38-
title: 'chore: release `@tutorialkit` packages v${{ inputs.version }}'
39-
body: 'Bump `@tutorialkit` packages to version ${{ inputs.version }} and generate changelogs.'
38+
commit-message: 'chore: release core packages v${{ inputs.version }}'
39+
title: 'chore: release core packages v${{ inputs.version }}'
40+
body: 'Bump core packages to version ${{ inputs.version }} and generate changelogs.'
4041
reviewers: SamVerschueren,d3lm,Nemikolh,AriPerkkio
4142
branch: chore/release-${{ inputs.version }}
4243
token: ${{ secrets.GITOPS_REPO_PAT }}

.github/workflows/publish-release.yaml

+9-8
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
contents: write
1414
id-token: write
1515
# Note: `prepare-release.yaml` sets this commit message
16-
if: ${{ contains(github.event.head_commit.message, 'release `@tutorialkit` packages') }}
16+
if: ${{ contains(github.event.head_commit.message, 'release core packages') }}
1717
steps:
1818
- name: Checkout
1919
uses: actions/checkout@v4
@@ -29,6 +29,7 @@ jobs:
2929
- name: Publish to npm
3030
run: >
3131
pnpm --recursive
32+
--filter "!@tutorialkit/cli"
3233
--filter "@tutorialkit/*"
3334
exec pnpm publish --provenance --access public
3435
env:
@@ -60,16 +61,16 @@ jobs:
6061
- name: Bump version
6162
run: >
6263
pnpm --recursive
63-
--filter tutorialkit
64+
--filter @tutorialkit/cli
6465
exec npm version --no-git-tag-version --allow-same-version ${{ steps.resolve-release-version.outputs.version }}
6566
6667
- name: Create Pull Request
6768
uses: peter-evans/create-pull-request@c5a7806660adbe173f04e3e038b0ccdcd758773c
6869
with:
6970
# Note: `publish-release.yaml` checks explicitly for this commit message
70-
commit-message: 'chore: release TutorialKit CLI v${{ steps.resolve-release-version.outputs.version }}'
71-
title: 'chore: release TutorialKit CLI v${{ steps.resolve-release-version.outputs.version }}'
72-
body: 'Bump TutorialKit CLI to version ${{ steps.resolve-release-version.outputs.version }}.'
71+
commit-message: 'chore: release CLI v${{ steps.resolve-release-version.outputs.version }}'
72+
title: 'chore: release CLI v${{ steps.resolve-release-version.outputs.version }}'
73+
body: 'Bump CLI to version ${{ steps.resolve-release-version.outputs.version }}.'
7374
reviewers: SamVerschueren,d3lm,Nemikolh,AriPerkkio
7475
branch: chore/release-cli-${{ steps.resolve-release-version.outputs.version }}
7576
token: ${{ secrets.GITOPS_REPO_PAT }}
@@ -80,8 +81,8 @@ jobs:
8081
permissions:
8182
contents: write
8283
id-token: write
83-
# Note: `prepare-release.yaml` sets this commit message
84-
if: ${{ contains(github.event.head_commit.message, 'release TutorialKit CLI') }}
84+
# Note: commit message is set by prepare_cli_release above
85+
if: ${{ contains(github.event.head_commit.message, 'release CLI') }}
8586
steps:
8687
- name: Checkout
8788
uses: actions/checkout@v4
@@ -101,7 +102,7 @@ jobs:
101102
- name: Publish to npm
102103
run: >
103104
pnpm --recursive
104-
--filter tutorialkit
105+
--filter @tutorialkit/cli
105106
exec pnpm publish --provenance --access public
106107
env:
107108
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

CONTRIBUTING.md

+20
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,26 @@ cd tutorialkit
2424

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

27+
The monorepo consists of multiple packages that are grouped into following groups:
28+
29+
### Core Packages
30+
31+
These packages will be installed by the end-users in their `package.json`.
32+
33+
- `@tutorialkit/astro`
34+
- `@tutorialkit/components-react`
35+
- `@tutorialkit/runtime`
36+
- `@tutorialkit/theme`
37+
- `@tutorialkit/types`
38+
39+
### CLI Packages
40+
41+
The CLI packages are expected to be run by users using `npm create tutorial` and `npx tutorialkit` commands.
42+
These should not be added to `package.json`.
43+
44+
- `@tutorialkit/cli`
45+
- `create-tutorial`
46+
2747
## Testing TutorialKit against external packages
2848

2949
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`:

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ Read our documentation on [tutorialkit.dev](https://tutorialkit.dev/guides/about
3636

3737
### Contribution
3838

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

4141
## Community
4242

extensions/vscode/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"name": "tutorialkit-vscode",
2+
"name": "tutorialkit",
33
"displayName": "TutorialKit",
44
"description": "TutorialKit support in VS Code",
55
"icon": "resources/tutorialkit-icon.png",

extensions/vscode/scripts/build.mjs

-9
Original file line numberDiff line numberDiff line change
@@ -55,15 +55,6 @@ async function main() {
5555
await ctx.dispose();
5656

5757
await buildMetadataSchema();
58-
59-
if (production) {
60-
// rename name in `package.json` to match extension name on store
61-
const pkgJSON = JSON.parse(fs.readFileSync('./package.json', { encoding: 'utf8' }));
62-
63-
pkgJSON.name = 'tutorialkit';
64-
65-
fs.writeFileSync('./package.json', JSON.stringify(pkgJSON, undefined, 2), 'utf8');
66-
}
6758
}
6859
}
6960

package.json

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
{
22
"private": true,
33
"scripts": {
4-
"build": "pnpm run --filter=@tutorialkit/* --filter=tutorialkit --filter=create-tutorial build",
4+
"build": "pnpm run --stream --filter=@tutorialkit/* --filter=create-tutorial build",
55
"dev": "TUTORIALKIT_DEV=true pnpm -r --parallel --stream --filter='./packages/**' run dev",
66
"changelog": "./scripts/changelog.mjs",
77
"clean": "./scripts/clean.sh",
88
"prepare": "is-ci || husky install",
9-
"extension:dev": "pnpm --parallel --stream --filter=@tutorialkit/types --filter=tutorialkit-vscode run dev",
10-
"extension:build": "pnpm run --filter=tutorialkit-vscode build",
9+
"extension:dev": "pnpm run --parallel --stream --filter=@tutorialkit/types --filter='./extensions/**' dev",
10+
"extension:build": "pnpm run --filter='./extensions/**' build",
1111
"template:dev": "TUTORIALKIT_DEV=true pnpm run build && pnpm run --filter=tutorialkit-starter dev",
1212
"template:build": "pnpm run build && pnpm run --filter=tutorialkit-starter build",
13-
"cli:build-release": "pnpm run --filter=tutorialkit build-release",
13+
"cli:build-release": "pnpm run --filter=@tutorialkit/cli build-release",
1414
"docs": "pnpm run --filter=tutorialkit.dev dev",
1515
"docs:build": "pnpm run build && pnpm run --filter=tutorialkit.dev build",
1616
"demo": "pnpm run --filter=demo.tutorialkit.dev dev",
1717
"demo:build": "pnpm run build && pnpm run --filter=demo.tutorialkit.dev build",
1818
"lint": "eslint \"{packages,docs,extensions,integration}/**/*\"",
19-
"test": "pnpm run --stream --filter=@tutorialkit/* --filter=tutorialkit test --run"
19+
"test": "pnpm run --stream --filter=@tutorialkit/* test --run"
2020
},
2121
"license": "MIT",
2222
"packageManager": "pnpm@8.15.6",

packages/cli/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"name": "tutorialkit",
2+
"name": "@tutorialkit/cli",
33
"version": "0.1.2",
44
"description": "Interactive tutorials powered by WebContainer API",
55
"author": "StackBlitz Inc.",

packages/create-tutorial/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
"dist"
2424
],
2525
"dependencies": {
26-
"tutorialkit": "latest"
26+
"@tutorialkit/cli": "latest"
2727
},
2828
"devDependencies": {
2929
"@types/node": "^20.14.6",

pnpm-lock.yaml

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

scripts/publish.sh

-6
This file was deleted.

0 commit comments

Comments
 (0)