stylelint-config-ali
Version:
stylelint shareable config for Alibaba F2E Guidelines
88 lines (73 loc) • 2.5 kB
text/typescript
import { readFile } from 'fs/promises';
import { join } from 'path';
import stylelint from 'stylelint';
import config from '../index.cjs';
describe('test/rules-validate.test.js', () => {
it('Validate default', async () => {
const result = await stylelint.lint({
config: config as any,
code: await readFile(join(import.meta.dirname, 'fixtures/index.css'), 'utf-8'),
fix: false,
});
if (result && result.errored) {
const filesResult = JSON.parse(result.report || '[]') || [];
filesResult.forEach((fileResult) => {
console.log(fileResult.warnings);
});
expect(filesResult.length).toBeGreaterThan(0);
}
});
it('Validate sass', async () => {
const result = await stylelint.lint({
config: config as any,
code: await readFile(join(import.meta.dirname, 'fixtures/sass-test.scss'), 'utf-8'),
fix: false,
});
if (result && result.errored) {
console.log(result.results);
}
expect(result.results.length).toBeGreaterThan(0);
});
it('Validate less', async () => {
const result = await stylelint.lint({
config: config as any,
code: await readFile(join(import.meta.dirname, 'fixtures/less-test.less'), 'utf-8'),
fix: false,
});
if (result && result.errored) {
const filesResult = JSON.parse(result.report || '[]') || [];
filesResult.forEach((fileResult) => {
console.log(fileResult.warnings);
});
expect(filesResult.length).toBeGreaterThan(0);
}
});
it('Validate miniapp', async () => {
const result = await stylelint.lint({
config: config as any,
code: await readFile(join(import.meta.dirname, 'fixtures/miniapp.acss'), 'utf-8'),
fix: false,
});
if (result && result.errored) {
const filesResult = JSON.parse(result.report || '[]') || [];
filesResult.forEach((fileResult) => {
console.log(fileResult.warnings);
});
expect(filesResult.length).toBe(0);
}
});
it('Validate css-module', async () => {
const result = await stylelint.lint({
config: config as any,
code: await readFile(join(import.meta.dirname, 'fixtures/css-module.scss'), 'utf-8'),
fix: false,
});
if (result && result.errored) {
const filesResult = JSON.parse(result.report || '[]') || [];
filesResult.forEach((fileResult) => {
console.log(fileResult.warnings);
});
expect(filesResult.length).toBe(0);
}
});
});