spdx-license-satisfies
This project is a fork from jslicense/spdx-satisfies.js. Please, note that the interface is slightly different.
satisfies(first, second)
Checks if first satisfies second. Both arguments must be a string with a simple license or a SPDX expressions. Disjunctive OR operator, conjunctive AND operator and exception WITH operator are allowed.
const { satisfies } = require('spdx-license-satisfies');
satisfies('MIT AND (Apache-2.0 OR GPL-1.0)', 'MIT AND Apache-2.0')
satisfies('MIT AND Apache-2.0', 'Apache-2.0')
satisfiesAny(first, second)
Checks if first satisfies any license in second.
first must be a string with a license or a SPDX expression. Disjunctive OR operator, conjunctive AND operator and exception WITH operator are allowed.
second must be an array of licenses. Disjunctive OR operator and conjunctive ANDoperator are not allowed.
const { satisfiesAny } = require('spdx-license-satisfies');
satisfiesAny('(MIT AND GPL-1.0) OR Apache-2.0', ['Apache-2.0'])
satisfiesAny('MIT OR GPL-1.0', ['Apache-2.0'])
satisfiesAll(first, second)
Checks if first satisfies all the licenses in second.
first must be a string with a license or a SPDX expression. Disjunctive OR operator, conjunctive AND operator and exception WITH operator are allowed.
second must be an array of licenses. Disjunctive OR operator and conjunctive ANDoperator are not allowed.
const { satisfiesAll } = require('spdx-license-satisfies');
satisfiesAll('MIT AND GPL-1.0 OR Apache-2.0', ['Apache-2.0'])
satisfiesAll('MIT OR GPL-1.0', ['MIT','GPL-1.0'])
Examples
See a list with more examples.
Contributors ✨
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!