2026-04-05
This commit is contained in:
parent
5f835ca4e6
commit
949195caf8
71 changed files with 535 additions and 458 deletions
|
|
@ -1,3 +1,11 @@
|
|||
import config from "@gcch/configuration-oxlint";
|
||||
import gcchConfig from "@gcch/configuration-oxlint";
|
||||
import { OxlintConfig } from "oxlint";
|
||||
|
||||
const config: OxlintConfig = {
|
||||
...gcchConfig,
|
||||
globals: {
|
||||
Bun: "readonly",
|
||||
},
|
||||
};
|
||||
|
||||
export default config;
|
||||
|
|
|
|||
|
|
@ -2,24 +2,6 @@ import { defineConfig, devices } from "@playwright/test";
|
|||
|
||||
export default defineConfig({
|
||||
fullyParallel: true,
|
||||
reporter: "list",
|
||||
retries: 1,
|
||||
testDir: "../tests",
|
||||
timeout: 10_000,
|
||||
workers: "100%",
|
||||
use: {
|
||||
/* Base URL to use in actions like `await page.goto('/')`. */
|
||||
baseURL: "https://haikuatelier.gcch.local",
|
||||
trace: "retry-with-trace",
|
||||
clientCertificates: [
|
||||
{
|
||||
origin: "https://haikuatelier.gcch.local",
|
||||
certPath: "../containers/data/certs/_wildcard.gcch.local.pem",
|
||||
keyPath: "../containers/data/certs/_wildcard.gcch.local-key.pem",
|
||||
},
|
||||
],
|
||||
ignoreHTTPSErrors: true,
|
||||
},
|
||||
projects: [
|
||||
{
|
||||
name: "desktop-chromium-1920",
|
||||
|
|
@ -62,4 +44,22 @@ export default defineConfig({
|
|||
// use: { ...devices["Pixel 7 landscape"] },
|
||||
// },
|
||||
],
|
||||
reporter: "list",
|
||||
retries: 1,
|
||||
testDir: "../tests",
|
||||
timeout: 10_000,
|
||||
use: {
|
||||
/* Base URL to use in actions like `await page.goto('/')`. */
|
||||
baseURL: "https://haikuatelier.gcch.local",
|
||||
trace: "retry-with-trace",
|
||||
clientCertificates: [
|
||||
{
|
||||
origin: "https://haikuatelier.gcch.local",
|
||||
certPath: "../containers/data/certs/_wildcard.gcch.local.pem",
|
||||
keyPath: "../containers/data/certs/_wildcard.gcch.local-key.pem",
|
||||
},
|
||||
],
|
||||
ignoreHTTPSErrors: true,
|
||||
},
|
||||
workers: "100%",
|
||||
});
|
||||
|
|
|
|||
|
|
@ -1,40 +1,59 @@
|
|||
// @ts-expect-error -- La dépendance ne dispose pas de types.
|
||||
import { pipe, Array as FxArray } from "effect";
|
||||
import type stylelint from "stylelint";
|
||||
import { propertyGroups } from "stylelint-config-clean-order";
|
||||
|
||||
/** @type {string[][]} */
|
||||
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument -- Impossible de typer correctement avec JSDoc.
|
||||
const groupesProprietes = Array.from(/** @type {GroupeProprietes} */ propertyGroups);
|
||||
/**
|
||||
* Définition d'un groupe de Propriétés _CSS_ du plugin `stylelint-config-clean-order` pour _Stylelint_.
|
||||
*/
|
||||
type StylelintConfigCleanOrderPropertyGroup = {
|
||||
emptyLineBefore: "never" | "threshold";
|
||||
noEmptyLineBetween: boolean;
|
||||
properties: ReadonlyArray<string> | string;
|
||||
};
|
||||
|
||||
/** @import { StylelintConfigCleanOrderPropertyGroup } from "./lib/stylelint" */
|
||||
/** @type {Array<StylelintConfigCleanOrderPropertyGroup>} */
|
||||
const ordreProprietes = groupesProprietes.map((properties) => ({
|
||||
emptyLineBefore: "never",
|
||||
noEmptyLineBetween: true,
|
||||
properties,
|
||||
}));
|
||||
const ordreProprietes: ReadonlyArray<StylelintConfigCleanOrderPropertyGroup> = pipe(
|
||||
Array.from(propertyGroups),
|
||||
FxArray.map((properties: ReadonlyArray<string>) => ({
|
||||
emptyLineBefore: "never",
|
||||
noEmptyLineBetween: true,
|
||||
properties,
|
||||
})),
|
||||
);
|
||||
|
||||
/** @type {import("stylelint").Config} */
|
||||
export default {
|
||||
const stylelintConfig: stylelint.Config = {
|
||||
extends: ["stylelint-config-standard-scss", "stylelint-config-sass-guidelines", "stylelint-config-clean-order"],
|
||||
plugins: ["stylelint-declaration-block-no-ignored-properties"],
|
||||
rules: {
|
||||
"@stylistic/function-parentheses-space-inside": null,
|
||||
"@stylistic/selector-list-comma-newline-after": null,
|
||||
"@stylistic/string-quotes": null,
|
||||
"custom-property-pattern": null,
|
||||
"@stylistic/function-parentheses-space-inside": undefined,
|
||||
"@stylistic/selector-list-comma-newline-after": undefined,
|
||||
"@stylistic/string-quotes": undefined,
|
||||
"custom-property-pattern": undefined,
|
||||
"declaration-block-no-duplicate-custom-properties": true,
|
||||
"declaration-block-no-duplicate-properties": true,
|
||||
"declaration-block-no-redundant-longhand-properties": true,
|
||||
"declaration-block-no-shorthand-property-overrides": true,
|
||||
"max-nesting-depth": null,
|
||||
"no-descending-specificity": null,
|
||||
"no-duplicate-selectors": [true, { disallowInList: false }],
|
||||
"order/properties-order": [ordreProprietes, { severity: "error", unspecified: "bottomAlphabetical" }],
|
||||
"max-nesting-depth": undefined,
|
||||
"no-descending-specificity": undefined,
|
||||
"no-duplicate-selectors": [
|
||||
true,
|
||||
{
|
||||
disallowInList: false,
|
||||
},
|
||||
],
|
||||
"order/properties-order": [
|
||||
ordreProprietes,
|
||||
{
|
||||
severity: "error",
|
||||
unspecified: "bottomAlphabetical",
|
||||
},
|
||||
],
|
||||
"plugin/declaration-block-no-ignored-properties": true,
|
||||
"selector-class-pattern": null,
|
||||
"selector-id-pattern": null,
|
||||
"selector-max-compound-selectors": null,
|
||||
"selector-max-id": null,
|
||||
"selector-no-qualifying-type": null,
|
||||
"selector-class-pattern": undefined,
|
||||
"selector-id-pattern": undefined,
|
||||
"selector-max-compound-selectors": undefined,
|
||||
"selector-max-id": undefined,
|
||||
"selector-no-qualifying-type": undefined,
|
||||
},
|
||||
};
|
||||
|
||||
export default stylelintConfig;
|
||||
|
|
|
|||
|
|
@ -17,7 +17,6 @@ export default defineConfig(({ mode }) => {
|
|||
|
||||
return {
|
||||
base: "/",
|
||||
cacheDir: ".cache/vite",
|
||||
build: {
|
||||
assetsDir: ".",
|
||||
cssMinify: "lightningcss",
|
||||
|
|
@ -40,6 +39,7 @@ export default defineConfig(({ mode }) => {
|
|||
target: "es2020",
|
||||
write: true,
|
||||
},
|
||||
cacheDir: ".cache/vite",
|
||||
css: {
|
||||
devSourcemap: true,
|
||||
transformer: "lightningcss",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue