Source code
Revision control
Copy as Markdown
Other Tools
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
"use strict";
const PropTypes = require("resource://devtools/client/shared/vendor/react-prop-types.js");
const browser = {
// The id of the browser which is defined in MDN compatibility dataset.
// e.g. "firefox"
id: PropTypes.string.isRequired,
// The browser name.
// e.g. "Firefox", "Firefox Android".
name: PropTypes.string.isRequired,
// The status of the browser.
// This should be one of "release", "beta", "nightly", "esr" or undefined.
status: PropTypes.string,
// The version of this browser.
// e.g. "70.0"
version: PropTypes.string.isRequired,
};
const node = PropTypes.object;
const issue = {
// Type of this issue. The type should be one of COMPATIBILITY_ISSUE_TYPE.
type: PropTypes.string.isRequired,
// The CSS property which caused this issue.
property: PropTypes.string.isRequired,
// The url of MDN documentation for the CSS property.
url: PropTypes.string,
// The url of the specification for the CSS property.
specUrl: PropTypes.string,
// Whether the CSS property is deprecated or not.
deprecated: PropTypes.bool.isRequired,
// Whether the CSS property is experimental or not.
experimental: PropTypes.bool.isRequired,
// Whether the CSS property is needed prefix to cover all target browsers or not.
prefixNeeded: PropTypes.bool.isRequired,
// The browsers which do not support the CSS property.
unsupportedBrowsers: PropTypes.arrayOf(PropTypes.shape(browser)).isRequired,
// Nodes that caused this issue. This will be available for top-level target issues only.
nodes: PropTypes.arrayOf(node),
// Prefixed properties that the user set.
aliases: PropTypes.arrayOf(PropTypes.string),
};
exports.browser = browser;
exports.issue = issue;
exports.node = node;