Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jamerrone/graduation-project
A CSS Support Validator.
https://github.com/jamerrone/graduation-project
browser-compatibility css mdn-data validation
Last synced: about 1 month ago
JSON representation
A CSS Support Validator.
- Host: GitHub
- URL: https://github.com/jamerrone/graduation-project
- Owner: Jamerrone
- License: gpl-3.0
- Created: 2019-03-06T09:26:10.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2019-12-27T09:37:44.000Z (almost 5 years ago)
- Last Synced: 2024-10-01T19:15:25.687Z (about 2 months ago)
- Topics: browser-compatibility, css, mdn-data, validation
- Language: JavaScript
- Size: 571 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Project Firefly
[![npm version](https://badge.fury.io/js/project-firefly.svg)](https://badge.fury.io/js/project-firefly)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/a3530b42dade4a84830aafae6b910b57)](https://app.codacy.com/app/Jamerrone/graduation-project?utm_source=github.com&utm_medium=referral&utm_content=Jamerrone/graduation-project&utm_campaign=Badge_Grade_Dashboard)
[![XO code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/xojs/xo)> A CSS Support Validator.
## Installation
You can install Project Firefly either through cloning with git or by using npm (the recommended way):
```console
npm install -g project-firefly
```## Usage
```console
firefly
```For CLI options, use the -h (or --help) argument:
```console
firefly -h
``````text
Usage: firefly or
firefly [-i | --input ] [-e | --export ] [-w | --watch]
[-j | --json] [-h | --help] [-v | --version]Options:
-i, --input Specify the input file path.
-e, --export Export the generated report in JSON format.Flags:
-w, --watch Rerun firefly on file change.
-j, --json Output firefly's report in JSON format.
-h, --help Output usage information.
-v, --version Output the version number.
```## Configuration File
Use a JavaScript, JSON or YAML file to specify configuration information for an entire directory and all of its subdirectories. Firefly supports the following formats:
- a `firefly` property in `package.json`
- a `.fireflyrc` file in JSON or YAML format
- a `.fireflyrc.json` file
- a `.fireflyrc.yaml`, `.fireflyrc.yml`, or `.fireflyrc.js` file
- a `firefly.config.js` file exporting a JS object### Options
**mode**
Type: `string`
Default: `'default'`
Modes:- `default` - Validate the project and output its report.
- `export` - Export the generated report in JSON format.
- `json` - Output Firefly's report in JSON format.
- `watch` - Rerun Firefly on file change.**entry**
Type: `string` or `null`
Default: `null`Specify the input file path. `null` will validate the entire project.
**export**
Type: `object`
Default: `{filename: 'report.json', path: './'}`
Properties: `filename` and `path`Specify the export path and filename using the relative syntax.
**browserslist**
Type: `array`
Default: `['defaults']`An array containing the project's [browserslist](https://github.com/browserslist/browserslist).
**disableFeedbackSystem**
Type: `boolean`
Default: `false`Whether Firefly should display the alternatives/feedback or not.
**exclude**
Type: `array`
Default: `['**/node_modules']`An array containing files and directories which Firefly should ignore. E.g. `['**/dist, **/node_modules']`
**ignoreAtSupports**
Type: `boolean`
Default: `false`Whether Firefly should ignore `@supports` declarations or not.
**ignoreVendorPrefixes**
Type: `boolean`
Default: `false`Whether Firefly should ignore venter prefixes or not. E.g. `-webkit-**`, `-moz-**`, etc.
## Output
```bash
~/Projects/usability-test
❯ firefly
FAIL bootstrap.css
At-Rules (1)
✘ [8224:3] safari 12 does not support 'page'.
Properties (16)
✘ [273:3] edge 17 & ie 11 does not support 'resize'.
✘ [300:3] ie 11 does not support 'outline-offset'.
✘ [633:3] ie 11 does not support 'grid-template-columns'.
✘ [634:3] ie 11 does not support 'grid-template-rows'.
✘ [3395:3] ie 11 does not support 'appearance'.
✘ [3493:3] ie 11 does not support 'appearance'.
✘ [3509:3] ie 11 does not support 'appearance'.
✘ [3534:3] ie 11 does not support 'appearance'.
✘ [3558:3] ie 11 does not support 'appearance'.
✘ [4114:3] ie 11 does not support 'object-fit'.
✘ [4244:5] firefox 65, safari_ios 11.3 & safari 12 does not support 'orphans'.
✘ [4245:5] firefox 65, safari_ios 11.3 & safari 12 does not support 'widows'.
✘ [5042:3] firefox 65 does not support 'line-break'.
✘ [5152:3] firefox 65 does not support 'line-break'.
✘ [8217:5] firefox 65, safari_ios 11.3 & safari 12 does not support 'orphans'.
✘ [8218:5] firefox 65, safari_ios 11.3 & safari 12 does not support 'widows'.
Media Features (7)
✘ [1735:19] chrome 72, edge 17 & others does not support 'prefers-reduced-motion'.
✘ [2222:19] chrome 72, edge 17 & others does not support 'prefers-reduced-motion'.
✘ [2814:19] chrome 72, edge 17 & others does not support 'prefers-reduced-motion'.
✘ [2831:19] chrome 72, edge 17 & others does not support 'prefers-reduced-motion'.
✘ [4645:19] chrome 72, edge 17 & others does not support 'prefers-reduced-motion'.
✘ [4911:19] chrome 72, edge 17 & others does not support 'prefers-reduced-motion'.
✘ [5327:19] chrome 72, edge 17 & others does not support 'prefers-reduced-motion'.
```