Skip to content
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

Revive and rework tooling around exported API #2367

Merged
merged 47 commits into from
Jan 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
0c6f5d3
bump dependencies
davidjgoss Dec 21, 2023
607103b
regenerate docs from current code
davidjgoss Dec 21, 2023
c82103b
improve some types
davidjgoss Dec 22, 2023
b1a4553
improve some types
davidjgoss Dec 22, 2023
1623302
update api-extractor configuration
davidjgoss Dec 22, 2023
1299f2d
add to test command
davidjgoss Dec 22, 2023
e1c263c
fix invalid angle brackets
davidjgoss Dec 22, 2023
78daa5b
export IPickleOrder
davidjgoss Dec 22, 2023
27c6a53
fix support code library issue
davidjgoss Dec 22, 2023
ad9094b
start to allow for multiple entry points
davidjgoss Dec 23, 2023
cf0b881
do exports check for root entry point too
davidjgoss Dec 24, 2023
d5e466b
typedoc over api-documenter
davidjgoss Dec 24, 2023
b7718ee
add barebones job
davidjgoss Dec 24, 2023
dd01ff3
build before generate docs
davidjgoss Dec 24, 2023
25fdccf
upload gh pages artifact
davidjgoss Dec 24, 2023
7c91805
deploy to gh pages
davidjgoss Dec 24, 2023
00c00ca
tweak job names
davidjgoss Dec 24, 2023
7170657
bump upload-pages-artifact
davidjgoss Dec 26, 2023
066a4d3
dont include readme, link to repo
davidjgoss Dec 26, 2023
25af631
whitespace
davidjgoss Dec 26, 2023
7315510
rename files for clarity
davidjgoss Dec 26, 2023
1784ff3
presentational changes
davidjgoss Dec 27, 2023
0fcaa33
use logo for favicon
davidjgoss Dec 27, 2023
72dda13
annotate the root entry point
davidjgoss Dec 27, 2023
5b460eb
navigation link to github
davidjgoss Dec 27, 2023
b1e6d5c
change script order
davidjgoss Dec 27, 2023
00ca35c
update link from written guide
davidjgoss Dec 27, 2023
1b016b3
fix missing exports for api
davidjgoss Dec 27, 2023
91a1389
make api-extractor pass
davidjgoss Dec 27, 2023
2a2efca
have prettier ignore exports stuff
davidjgoss Dec 28, 2023
676b14e
tweak remarks
davidjgoss Dec 28, 2023
af01741
prettier
davidjgoss Dec 28, 2023
16bf9a4
update dependency-lint.yml
davidjgoss Dec 28, 2023
9e2d007
improve docs around configuration, environment etc
davidjgoss Dec 31, 2023
237c04e
add more docs
davidjgoss Jan 1, 2024
c47ea77
allow format item with single value
davidjgoss Jan 2, 2024
3881dd7
fix some issues and regenerate api report
davidjgoss Jan 2, 2024
b5bf5c5
trim remarks for IRunEnvironment
davidjgoss Jan 7, 2024
9b47831
simplify environment and logger initialisation
davidjgoss Jan 7, 2024
8a48b58
update guide for api
davidjgoss Jan 7, 2024
03381a7
improve typing and logging for file option in loadConfiguration
davidjgoss Jan 7, 2024
a4c5e66
update CONTRIBUTING.md
davidjgoss Jan 7, 2024
cd9ef6d
update CHANGELOG.md
davidjgoss Jan 7, 2024
69d46de
deploy site from main branch
davidjgoss Jan 7, 2024
55f28e7
typo
davidjgoss Jan 7, 2024
0ca3cbc
typo
davidjgoss Jan 7, 2024
6289319
fix type for pickle order and document
davidjgoss Jan 7, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
35 changes: 35 additions & 0 deletions .github/workflows/site.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Site

on:
push:
branches:
- main

jobs:
upload-artifact:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 20.x
- run: npm install
- run: npm run exports-generate-docs
- run: |
chmod -c -R +rX "_site/" | while read line; do
echo "::warning title=Invalid file permissions automatically fixed::$line"
done
- uses: actions/upload-pages-artifact@v3

deploy:
needs: upload-artifact
permissions:
pages: write
id-token: write
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- id: deployment
uses: actions/deploy-pages@v4
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
.nyc_output_feature/
.nyc_output_unit/
.nyc_output/
_site/
@rerun.txt
coverage/
lib/
Expand Down
1 change: 1 addition & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
bin
docs
exports
lib
node_modules
reports
Expand Down
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
Please see [CONTRIBUTING.md](./CONTRIBUTING.md) on how to contribute to Cucumber.

## [Unreleased]
### Changed
- Improve API documentation and TypeScript types ([#2367](https://github.com/cucumber/cucumber-js/pull/2367))

## [10.1.0] - 2023-12-21
### Added
Expand Down
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,9 @@ Type `npm run` or see the `package.json` scripts section for how to run each cat
* feature tests - `npm run feature-test`
* cucumber-js tests itself

## API Documentation
## Exports

The functionality exposed under the `@cucumber/cucumber/api` entry point is analysed and has documentation generated by [API Extractor](https://api-extractor.com/). If you make a change that affects the public API surface, you'll need to run `npm run docs:local` to run the analysis and regenerate the docs, and commit the changes. If you forget to do this locally, the CI build will fail and remind you.
The functionality exposed under both the `@cucumber/cucumber` and `@cucumber/cucumber/api` entry points is analysed and has a report generated by [API Extractor](https://api-extractor.com/). If you make a change that affects the exported API surface, you'll need to run `npm run exports-update` to run the analysis and regenerate the file, and commit the changes. If you forget to do this locally, the CI build will fail and remind you.

## Internals

Expand Down
6 changes: 4 additions & 2 deletions dependency-lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,9 @@ executedModules:
npmScripts:
dev:
- build
- docs:ci
- docs:local
- exports-generate-docs
- exports-test
- exports-update
- lint
- publish
- test
Expand Down Expand Up @@ -37,6 +38,7 @@ ignoreErrors:
- prettier # peer dependency of eslint-plugin-prettier
- ts-node # .mocharc.yml / cucumber.js
- type-fest # utility types
- typedoc-plugin-extras

requiredModules:
files:
Expand Down
13 changes: 0 additions & 13 deletions docs/api/cucumber.iloadconfigurationoptions.file.md

This file was deleted.

21 changes: 0 additions & 21 deletions docs/api/cucumber.iloadconfigurationoptions.md

This file was deleted.

13 changes: 0 additions & 13 deletions docs/api/cucumber.iloadconfigurationoptions.profiles.md

This file was deleted.

13 changes: 0 additions & 13 deletions docs/api/cucumber.iloadconfigurationoptions.provided.md

This file was deleted.

11 changes: 0 additions & 11 deletions docs/api/cucumber.iloadsourcesresult.errors.md

This file was deleted.

20 changes: 0 additions & 20 deletions docs/api/cucumber.iloadsourcesresult.md

This file was deleted.

11 changes: 0 additions & 11 deletions docs/api/cucumber.iloadsourcesresult.plan.md

This file was deleted.

20 changes: 0 additions & 20 deletions docs/api/cucumber.iloadsupportoptions.md

This file was deleted.

11 changes: 0 additions & 11 deletions docs/api/cucumber.iloadsupportoptions.sources.md

This file was deleted.

11 changes: 0 additions & 11 deletions docs/api/cucumber.iloadsupportoptions.support.md

This file was deleted.

14 changes: 0 additions & 14 deletions docs/api/cucumber.iplannedpickle.location.md

This file was deleted.

21 changes: 0 additions & 21 deletions docs/api/cucumber.iplannedpickle.md

This file was deleted.

11 changes: 0 additions & 11 deletions docs/api/cucumber.iplannedpickle.name.md

This file was deleted.

11 changes: 0 additions & 11 deletions docs/api/cucumber.iplannedpickle.uri.md

This file was deleted.

20 changes: 0 additions & 20 deletions docs/api/cucumber.iresolvedconfiguration.md

This file was deleted.

13 changes: 0 additions & 13 deletions docs/api/cucumber.iresolvedconfiguration.runconfiguration.md

This file was deleted.

13 changes: 0 additions & 13 deletions docs/api/cucumber.iresolvedconfiguration.useconfiguration.md

This file was deleted.

11 changes: 0 additions & 11 deletions docs/api/cucumber.irunconfiguration.formats.md

This file was deleted.

22 changes: 0 additions & 22 deletions docs/api/cucumber.irunconfiguration.md

This file was deleted.