Repository: timjroberts/cucumber-js-tsflow Branch: master Commit: 87da1c24d45a Files: 54 Total size: 155.9 KB Directory structure: gitextract_67pl99xn/ ├── .build/ │ └── setPackageVersion.js ├── .github/ │ └── workflows/ │ ├── ci.yml │ ├── release.yml │ └── stale.yml ├── .gitignore ├── .npm-upgrade.json ├── .run/ │ ├── All Tests.run.xml │ └── Template Cucumber.js.run.xml ├── .vscode/ │ ├── launch.json │ └── settings.json ├── CONTRIBUTE.md ├── LICENSE ├── README.md ├── cucumber-tsflow/ │ ├── .npmignore │ ├── package.json │ ├── src/ │ │ ├── binding-decorator.ts │ │ ├── binding-registry.ts │ │ ├── hook-decorators.ts │ │ ├── index.ts │ │ ├── logger.ts │ │ ├── managed-scenario-context.ts │ │ ├── our-callsite.ts │ │ ├── provided-context.ts │ │ ├── scenario-context.ts │ │ ├── scenario-info.ts │ │ ├── step-binding-flags.ts │ │ ├── step-binding.ts │ │ ├── step-definition-decorators.ts │ │ ├── tag-normalization.ts │ │ └── types.ts │ └── tsconfig.json ├── cucumber-tsflow-specs/ │ ├── features/ │ │ ├── basic-test.feature │ │ ├── cucumber-context-objects.feature │ │ ├── custom-context-objects.feature │ │ ├── external-context-extraction.feature │ │ ├── global-hooks.feature │ │ ├── hooks.feature │ │ └── tag-parameters.feature │ ├── package.json │ ├── src/ │ │ ├── step_definitions/ │ │ │ ├── cucumber_steps.ts │ │ │ ├── file_steps.ts │ │ │ ├── prepare.ts │ │ │ └── scenario_steps.ts │ │ └── support/ │ │ ├── formatter_output_helpers.ts │ │ ├── helpers.ts │ │ ├── runner.ts │ │ └── testDir.ts │ └── tsconfig.json ├── cucumber.js ├── lerna.json ├── package.json ├── tsconfig.json ├── tslint.json └── version.json ================================================ FILE CONTENTS ================================================ ================================================ FILE: .build/setPackageVersion.js ================================================ const nbgv = require("nerdbank-gitversioning"); const setPackageVersionAndBuildNumber = (versionInfo) => { // Set a build output value representing the NPM package version console.log( "::set-output name=package_version::" + versionInfo.npmPackageVersion, ); nbgv.setPackageVersion("cucumber-tsflow"); nbgv.setPackageVersion("cucumber-tsflow-specs"); }; const handleError = (err) => console.error( "Failed to update the package version number. nerdbank-gitversion failed: " + err, ); nbgv.getVersion().then(setPackageVersionAndBuildNumber).catch(handleError); ================================================ FILE: .github/workflows/ci.yml ================================================ name: CI on: push: branches: [master, release/**] pull_request: branches: [master, release/**] jobs: # Build and Test the 'cucumber-tsflow' package build: name: Build and Test runs-on: ubuntu-latest strategy: matrix: cucumberVersion: ["^10", "^11", "^12"] steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 22 - name: Install npm packages run: |- npm ci npm install @cucumber/cucumber@${{ matrix.cucumberVersion }} - name: Build run: npm run build - name: Run specification tests run: npm test ================================================ FILE: .github/workflows/release.yml ================================================ # # This workflow creates a release from a specified branch. The Package version is managed # by Nerdbank Gitversioning based on configuration held in 'version.json' file. # name: Release on: workflow_dispatch: jobs: # Build, Test and Pack the 'cucumber-tsflow' package build: name: Build and Test runs-on: ubuntu-latest outputs: version: ${{ steps.set_package_version.outputs.NpmPackageVersion }} releaseTag: ${{ steps.tagInfo.outputs.releaseTag }} steps: - uses: actions/checkout@v3 with: # avoid shallow clone (required by Nerbank GitVersioning) fetch-depth: 0 - uses: actions/setup-node@v3 with: node-version: 22 - name: Install npm packages run: npm ci - name: Update package version id: set_package_version uses: dotnet/nbgv@master with: stamp: cucumber-tsflow/package.json - name: Build run: npm run build - name: Create npm package run: npm pack ./cucumber-tsflow - name: Read tag info id: tagInfo run: |- echo "releaseTag=$(jq '.releaseTag // "latest"' version.json)" | tee -a $GITHUB_OUTPUT - uses: actions/upload-artifact@v4 with: name: npm-package path: | cucumber-tsflow-${{ steps.set_package_version.outputs.NpmPackageVersion }}.tgz # Publish the 'cucumber-tsflow' package to npm publish: name: Publish to npm runs-on: ubuntu-latest needs: build permissions: contents: write steps: - uses: actions/setup-node@v3 with: node-version: 22 registry-url: "https://registry.npmjs.org" - uses: actions/download-artifact@v4 name: Download npm package with: name: npm-package - name: Publish npm package run: |- npm publish \ cucumber-tsflow-${{ needs.build.outputs.version }}.tgz \ --tag ${{ needs.build.outputs.releaseTag }} env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} - name: Publish GitHub release uses: ncipollo/release-action@v1 with: tag: ${{ needs.build.outputs.version }} commit: ${{ github.sha }} artifacts: cucumber-tsflow-${{ needs.build.outputs.version }}.tgz generateReleaseNotes: true ================================================ FILE: .github/workflows/stale.yml ================================================ name: "Stale issue handler" on: workflow_dispatch: schedule: - cron: "0 0 * * *" permissions: contents: write # only for delete-branch option issues: write pull-requests: write jobs: stale: runs-on: ubuntu-latest steps: - uses: actions/stale@v6 id: stale with: days-before-stale: 60 days-before-close: 7 stale-issue-message: "This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 7 days." close-issue-message: "There hasn't been any activity on this issue for 67 days. Closing it as Spoiled." stale-issue-label: stale close-issue-label: spoiled exempt-issue-labels: "blocked,discussion,good first issue" stale-pr-message: "This PR is stale because it has been 60 days with no activity. Remove stale lable or comment or this will be closed in 7 days." close-pr-message: "There hasn't been any activity on this PR for 67 days. Closing it as Spoiled." stale-pr-label: stale close-pr-label: spoiled exempt-pr-labels: "blocked,discussion" - name: Print outputs run: echo ${{ join(steps.stale.outputs.*, ',') }} ================================================ FILE: .gitignore ================================================ node_modules dist tmp/ .idea/ tsconfig.tsbuildinfo ================================================ FILE: .npm-upgrade.json ================================================ { "ignore": { "@cucumber/cucumber": { "versions": "^8", "reason": "Mantain compatibility with cucumber 7 and 8" } } } ================================================ FILE: .run/All Tests.run.xml ================================================