php-forge/baseline-frontend

Frontend baseline for Prettier and stylelint tooling shared via yii2-extensions/scaffold.

Maintainers

Package info

github.com/php-forge/baseline-frontend

pkg:composer/php-forge/baseline-frontend

Transparency log

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 1

Open Issues: 0

dev-main / 0.2.x-dev 2026-08-27 13:42 UTC

This package is auto-updated.

Last update: 2026-08-27 13:42:42 UTC


README

PHP Forge

Baseline Frontend


Frontend baseline for PHP Forge
Prettier and stylelint configs shared via yii2-extensions/scaffold. Pair with php-forge/baseline for core PHP/editor/CI tooling.

System requirements

  • PHP 8.3 or higher.
  • Composer for dependency management.

Installation

composer require php-forge/baseline-frontend:^0.1 --dev

Or add the dependency manually to composer.json:

{
    "require-dev": {
        "php-forge/baseline-frontend": "^0.1"
    }
}

Then run composer update.

Scaffolded distribution

This package is a yii2-extensions/scaffold provider for frontend formatting and linting metadata (Prettier + stylelint). Templates live under metadata/ and are mapped to consumer roots via the {from, to} form in scaffold.json.

Opt in by allowing the plugin and listing this package as an authorised provider:

composer require yii2-extensions/scaffold:^0.1 --dev
{
    "config": {
        "allow-plugins": {
            "yii2-extensions/scaffold": true
        }
    },
    "extra": {
        "scaffold": {
            "auto": false,
            "allowed-packages": ["php-forge/baseline-frontend"]
        }
    }
}

With auto: false, the plugin does not run on composer install; sync templates manually:

vendor/bin/scaffold reapply --provider=php-forge/baseline-frontend
vendor/bin/scaffold diff <file>
vendor/bin/scaffold status

Files distributed

.
├── .prettierrc.json                   # replace: Prettier formatting rules (tabWidth 4, yml/md overrides)
├── .prettierignore                    # replace: Paths Prettier should skip
├── .stylelintignore                   # replace: Paths stylelint should skip
├── .stylelintrc.json                  # replace: stylelint config (standard-scss)
└── .github
    └── linters
        └── .stylelintrc.json          # replace: stylelint config for CI (mirrors root)

Why two .stylelintrc.json? Some projects invoke stylelint --config .stylelintrc.json (root), others use stylelint --config .github/linters/.stylelintrc.json --config-basedir . (as in php-forge/debug-core). This provider ships both targets from the same source so either invocation works after scaffold.

Mode semantics:

  • replace: lock-step with this package. Local edits trigger a warning and the file is skipped on update.
  • append: provider content is merged into the existing file; consumer additions never blown away.
  • preserve: file is written once on first install and never overwritten.

Related packages

For core PHP editor, git and generic linter configs, see php-forge/baseline. For ECS and Rector configurations and their root wrapper templates, see php-forge/coding-standard. The three packages are independent — adopt any combination.

Install only baseline for pure PHP libraries. Add baseline-frontend in projects with JS/CSS/SCSS or where quality.yml needs prettier-config/prettier-ignore-path (optional inputs):

{
    "require-dev": {
        "php-forge/baseline": "^0.1",
        "php-forge/baseline-frontend": "^0.1",
        "php-forge/coding-standard": "^0.3",
        "yii2-extensions/scaffold": "^0.1"
    },
    "extra": {
        "scaffold": {
            "allowed-packages": [
                "php-forge/baseline",
                "php-forge/baseline-frontend",
                "php-forge/coding-standard"
            ]
        }
    }
}

Frontend package.json setup:

{
    "devDependencies": {
        "prettier": "^3.9.6",
        "stylelint": "^17.14.1",
        "stylelint-config-standard-scss": "^17.0.0"
    },
    "scripts": {
        "format": "prettier --write 'resources/**/*.{js,css,scss}' 'docs/**/*.md' 'package.json'",
        "format:check": "prettier --check 'resources/**/*.{js,css,scss}' 'docs/**/*.md' 'package.json'",
        "lint:css": "stylelint --config .stylelintrc.json --config-basedir . 'resources/src/**/*.{css,scss}'",
        "lint:css:fix": "stylelint --config .stylelintrc.json --config-basedir . --fix 'resources/src/**/*.{css,scss}'"
    }
}

Package information

PHP Latest Stable Version Total Downloads

Project status

Quality Security StyleCI

Our social networks

Follow on X

License

License