Skip to content

feat/dsfr-version #353

@mogador26

Description

@mogador26

dsfr version

Est-il possible d'ajouter dans l'action dsfr la version du dsfr ?

proposition :

  • ajout d'un fichier version-dsfr.js
const puppeteer = require('puppeteer');
const process = require( 'process' );

(async () => {
    site = process.argv[2];
    const browser = await puppeteer.launch();
    const page = await browser.newPage();
    await page.goto(site);

    // Exécuter dsfr.version dans la console de la page
    const dsfrVersion = await page.evaluate(() => {
        return window.dsfr?.version || 'Version non trouvée';
    });

    console.log(`${dsfrVersion}`);

    await browser.close();
})();
  • modification dsfr detection action
name: "DSFR detection action"
description: "Detect official DS fr theme"

inputs:
  url:
    description: URL to read
    required: true
  output:
    description: Path to output file
    default: scans/dsfr.json
    required: false

runs:
  using: "composite"
  steps:
    - uses: actions/setup-node@v3
      with:
        node-version: "20"
    - name: Get URL HTML
      uses: socialgouv/dashlord-actions/get-html@v1
      with:
        url: ${{ inputs.url }}
        output: dsfr-html.html
    - shell: bash
      run: |
        # version dsfr
        npm install puppeteer
        dsfr_version = `node version-dsfr.js ${url}`
        
        # this exits 1 when no fr-header__brand or rf-header__brand
        set +e
        grep -q "\(rf\|fr\)-header__brand" < ./dsfr-html.html
        if [ $? -eq 0 ]
        then
            JSON="{\"detected\": true,\"version\":\"${dsfr_version}\"}"
        else
            JSON="{\"detected\": false,\"version\":\"${dsfr_version}\"}"
        fi

        echo "$JSON" > ${{ github.workspace }}/${{ inputs.output }}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions