diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 0000000..8c6ddf8 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,36 @@ +--- + name: Lint + on: + pull_request: + branches: [main] + paths: + - 'src/pages/**' + + jobs: + lint: + runs-on: ubuntu-latest + permissions: + contents: read + pull-requests: write + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Lint + id: lint + continue-on-error: true + run: npx --yes github:AdobeDocs/adp-devsite-utils runLint -v + + - name: Post Linter Report to PR + if: always() + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + PR_ID: ${{ github.event.pull_request.number }} + GITHUB_REPOSITORY: ${{ github.repository }} + run: | + npm install --no-save github:AdobeDocs/adp-devsite-scripts + node node_modules/adp-devsite-scripts/linter-bot/postLinterReport.js + + - name: Fail if linter found errors + if: steps.lint.outcome == 'failure' + run: exit 1 \ No newline at end of file diff --git a/.gitignore b/.gitignore index 51fad6e..413ede8 100644 --- a/.gitignore +++ b/.gitignore @@ -14,10 +14,30 @@ Thumbs.db # npm yarn node_modules package.lock +package-lock.json yarn-error.log .pnp.* .yarn/* +# keep in repo +!.gitignore +!.yarn.lock +!.yarnrc.yml +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/sdks +!.yarn/versions + +# gatsby files +.env +.cache +public + +# cypress +cypress/videos +cypress/screenshots + # lerna lerna-debug.log @@ -32,3 +52,7 @@ yalc.lock # local tmp/ + +#txt +linter-output.txt +linter-report.txt diff --git a/package.json b/package.json index 7f39a0f..2972ba4 100644 --- a/package.json +++ b/package.json @@ -10,12 +10,20 @@ "sitePath": "commerce/cloud-tools" }, "scripts": { - "dev": "node ./dev.mjs", + "dev": "npx --yes github:AdobeDocs/adp-devsite-utils dev", + "buildNavigation": "npx --yes github:AdobeDocs/adp-devsite-utils buildNavigation -v", + "buildRedirections": "npx --yes github:AdobeDocs/adp-devsite-utils buildRedirections -v", + "renameFiles": "npx --yes github:AdobeDocs/adp-devsite-utils renameFiles -v", + "normalizeLinks": "npx --yes github:AdobeDocs/adp-devsite-utils normalizeLinks -v", + "buildSiteWideBanner": "npx --yes github:AdobeDocs/adp-devsite-utils buildSiteWideBanner -v", + "buildSiteMetadata": "npx --yes github:AdobeDocs/adp-devsite-utils buildSiteMetadata -v", + "buildContributors": "npx --yes github:AdobeDocs/adp-devsite-utils buildContributors -v", "lint": "npx --yes github:AdobeDocs/adp-devsite-utils runLint -v", - "lint:md": "npx --yes markdownlint-cli2 'src/pages/**/*.md' '*.md'", - "lint:md:fix": "npx --yes markdownlint-cli2 --fix 'src/pages/**/*.md' '*.md'", - "test": "npx --yes jest", - "test:config": "npx --yes jest tests/config.test.js" + "lint:errorOnly": "npx --yes github:AdobeDocs/adp-devsite-utils runLint", + "link:externalLinkOnly": "npx --yes github:AdobeDocs/adp-devsite-utils runLint --external-links-only -v", + "link:checkAllLinks": "npx --yes github:AdobeDocs/adp-devsite-utils runLint --internal-links-only --external-links-only -v", + "redirectCheck:stage": "npx --yes github:AdobeDocs/adp-devsite-utils redirectChecker stage --verbose", + "redirectCheck:prod": "npx --yes github:AdobeDocs/adp-devsite-utils redirectChecker prod --verbose" }, "devDependencies": { "express": "5.2.1"