feat(app): improved errors and warning for disabled features
This commit is contained in:
@@ -226,7 +226,7 @@ export default async function(
|
||||
//Plugin execution
|
||||
try {
|
||||
//Check if plugin is enabled and requirements are met
|
||||
if ((!enabled)||(!q.my_plugin))
|
||||
if ((!q.my_plugin)||(imports.metadata.plugins.my_plugin.enabled(enabled, {extras})))
|
||||
return null
|
||||
|
||||
//Automatically validate user inputs
|
||||
|
||||
2
.github/scripts/quickstart/plugin/index.mjs
vendored
2
.github/scripts/quickstart/plugin/index.mjs
vendored
@@ -3,7 +3,7 @@ export default async function({login, q, imports, data, computed, rest, graphql,
|
||||
//Plugin execution
|
||||
try {
|
||||
//Check if plugin is enabled and requirements are met
|
||||
if ((!enabled) || (!q.<%= name %>) || (!imports.metadata.plugins.<%= name %>.extras("enabled", {extras})))
|
||||
if ((!q.<%= name %>) || (!imports.metadata.plugins.<%= name %>.enabled(enabled, {extras})))
|
||||
return null
|
||||
//Results
|
||||
return {}
|
||||
|
||||
@@ -217,9 +217,20 @@ metadata.plugin = async function({__plugins, __templates, name, logger}) {
|
||||
Object.assign(meta.inputs, inputs, Object.fromEntries(Object.entries(inputs).map(([key, value]) => [metadata.to.query(key, {name}), value])))
|
||||
}
|
||||
|
||||
//Enable state handler
|
||||
{
|
||||
meta.enabled = function(enabled, {extras = {}, error = true} = {}) {
|
||||
if ((process.env.GITHUB_ACTIONS)&&(!enabled))
|
||||
console.warn(`::warning::Plugin "${name}" is currently disabled. Add "plugin_${name}: yes" to your workflow to enable it.`)
|
||||
if ((error)&&(!enabled))
|
||||
throw Object.assign(new Error(`Plugin "${name}" is disabled${process.env.GITHUB_ACTIONS ? "" : " on this server"}`), {enabled: true})
|
||||
return (enabled) && (meta.extras("enabled", {extras, error}))
|
||||
}
|
||||
}
|
||||
|
||||
//Extra features parser
|
||||
{
|
||||
meta.extras = function(input, {extras = {}, error = true}) {
|
||||
meta.extras = function(input, {extras = {}, error = true} = {}) {
|
||||
const key = metadata.to.yaml(input, {name})
|
||||
try {
|
||||
//Required permissions
|
||||
@@ -270,7 +281,7 @@ metadata.plugin = async function({__plugins, __templates, name, logger}) {
|
||||
console.debug(`metrics/extras > ${name} > ${key} > skipping (no error mode)`)
|
||||
return false
|
||||
}
|
||||
throw Object.assign(new Error(`Unsupported option "${key}"`), {extras: true})
|
||||
throw Object.assign(new Error(`Option "${key}" is disabled on this server`), {extras: true})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -130,8 +130,8 @@ export function formatters({timeZone} = {}) {
|
||||
/**Error formatter */
|
||||
format.error = function(error, {descriptions = {}, ...attributes} = {}) {
|
||||
try {
|
||||
//Extras features error
|
||||
if (error.extras)
|
||||
//Extras features or enable state error
|
||||
if ((error.extras)||(error.enabled))
|
||||
throw {error: {message: error.message, instance: error}}
|
||||
//Already formatted error
|
||||
if (error.error?.message)
|
||||
|
||||
@@ -6,7 +6,7 @@ export default async function({login, q, imports, data, computed, graphql, queri
|
||||
//Plugin execution
|
||||
try {
|
||||
//Check if plugin is enabled and requirements are met
|
||||
if ((!enabled) || (!q.achievements) || (!imports.metadata.plugins.achievements.extras("enabled", {extras})))
|
||||
if ((!q.achievements) || (!imports.metadata.plugins.achievements.enabled(enabled, {extras})))
|
||||
return null
|
||||
|
||||
//Load inputs
|
||||
|
||||
@@ -3,7 +3,7 @@ export default async function({login, data, rest, q, account, imports}, {enabled
|
||||
//Plugin execution
|
||||
try {
|
||||
//Check if plugin is enabled and requirements are met
|
||||
if ((!enabled) || (!q.activity) || (!imports.metadata.plugins.activity.extras("enabled", {extras})))
|
||||
if ((!q.activity) || (!imports.metadata.plugins.activity.enabled(enabled, {extras})))
|
||||
return null
|
||||
|
||||
//Context
|
||||
|
||||
@@ -3,7 +3,7 @@ export default async function({login, data, queries, imports, q, account}, {enab
|
||||
//Plugin execution
|
||||
try {
|
||||
//Check if plugin is enabled and requirements are met
|
||||
if ((!enabled) || (!q.anilist) || (!imports.metadata.plugins.anilist.extras("enabled", {extras})))
|
||||
if ((!q.anilist) || (!imports.metadata.plugins.anilist.enabled(enabled, {extras})))
|
||||
return null
|
||||
|
||||
//Load inputs
|
||||
|
||||
@@ -3,7 +3,7 @@ export default async function({login, q, data, imports, graphql, queries, accoun
|
||||
//Plugin execution
|
||||
try {
|
||||
//Check if plugin is enabled and requirements are met
|
||||
if ((!enabled) || (!q.calendar) || (!imports.metadata.plugins.calendar.extras("enabled", {extras})))
|
||||
if ((!q.calendar) || (!imports.metadata.plugins.calendar.enabled(enabled, {extras})))
|
||||
return null
|
||||
|
||||
//Load inputs
|
||||
|
||||
@@ -3,7 +3,7 @@ export default async function({login, q, imports, data, rest, account}, {enabled
|
||||
//Plugin execution
|
||||
try {
|
||||
//Check if plugin is enabled and requirements are met
|
||||
if ((!enabled) || (!q.code) || (!imports.metadata.plugins.code.extras("enabled", {extras})))
|
||||
if ((!q.code) || (!imports.metadata.plugins.code.enabled(enabled, {extras})))
|
||||
return null
|
||||
|
||||
//Context
|
||||
|
||||
@@ -3,7 +3,7 @@ export default async function({q, data, imports, account}, {enabled = false, ext
|
||||
//Plugin execution
|
||||
try {
|
||||
//Check if plugin is enabled and requirements are met
|
||||
if ((!enabled) || (!q.fortune) || (!imports.metadata.plugins.fortune.extras("enabled", {extras})))
|
||||
if ((!q.fortune) || (!imports.metadata.plugins.fortune.enabled(enabled, {extras})))
|
||||
return null
|
||||
|
||||
//Load inputs
|
||||
|
||||
@@ -3,7 +3,7 @@ export default async function({q, imports, data, account}, {enabled = false, ext
|
||||
//Plugin execution
|
||||
try {
|
||||
//Check if plugin is enabled and requirements are met
|
||||
if ((!enabled) || (!q.nightscout) || (!imports.metadata.plugins.nightscout.extras("enabled", {extras})))
|
||||
if ((!q.nightscout) || (!imports.metadata.plugins.nightscout.enabled(enabled, {extras})))
|
||||
return null
|
||||
|
||||
//Load inputs
|
||||
|
||||
@@ -3,7 +3,7 @@ export default async function({q, imports, data, account}, {enabled = false, tok
|
||||
//Plugin execution
|
||||
try {
|
||||
//Check if plugin is enabled and requirements are met
|
||||
if ((!enabled) || (!q.poopmap) || (!imports.metadata.plugins.poopmap.extras("enabled", {extras})))
|
||||
if ((!q.poopmap) || (!imports.metadata.plugins.poopmap.enabled(enabled, {extras})))
|
||||
return null
|
||||
|
||||
if (!token)
|
||||
|
||||
@@ -3,7 +3,7 @@ export default async function({login, q, imports, data, account}, {enabled = fal
|
||||
//Plugin execution
|
||||
try {
|
||||
//Check if plugin is enabled and requirements are met
|
||||
if ((!enabled) || (!q.screenshot) || (!imports.metadata.plugins.screenshot.extras("enabled", {extras})))
|
||||
if ((!q.screenshot) || (!imports.metadata.plugins.screenshot.enabled(enabled, {extras})))
|
||||
return null
|
||||
|
||||
//Load inputs
|
||||
|
||||
@@ -3,7 +3,7 @@ export default async function({login, q, imports, data, account}, {enabled = fal
|
||||
//Plugin execution
|
||||
try {
|
||||
//Check if plugin is enabled and requirements are met
|
||||
if ((!enabled) || (!q.stock) || (!imports.metadata.plugins.stock.extras("enabled", {extras})))
|
||||
if ((!q.stock) || (!imports.metadata.plugins.stock.enabled(enabled, {extras})))
|
||||
return null
|
||||
|
||||
//Load inputs
|
||||
|
||||
@@ -3,7 +3,7 @@ export default async function({login, q, imports, data, rest, graphql, queries,
|
||||
//Plugin execution
|
||||
try {
|
||||
//Check if plugin is enabled and requirements are met
|
||||
if ((!enabled) || (!q.contributors) || (!imports.metadata.plugins.contributors.extras("enabled", {extras})))
|
||||
if ((!q.contributors) || (!imports.metadata.plugins.contributors.enabled(enabled, {extras})))
|
||||
return null
|
||||
|
||||
//Load inputs
|
||||
|
||||
@@ -59,7 +59,7 @@ export default async function({login, q}, {conf, data, rest, graphql, plugins, q
|
||||
|
||||
//Plugins
|
||||
for (const name of Object.keys(imports.plugins)) {
|
||||
if ((!plugins[name]?.enabled) || (!q[name]))
|
||||
if (!q[name])
|
||||
continue
|
||||
pending.push((async () => {
|
||||
try {
|
||||
|
||||
@@ -3,7 +3,7 @@ export default async function({login, q, imports, graphql, queries, data, accoun
|
||||
//Plugin execution
|
||||
try {
|
||||
//Check if plugin is enabled and requirements are met
|
||||
if ((!enabled) || (!q.discussions) || (!imports.metadata.plugins.discussions.extras("enabled", {extras})))
|
||||
if ((!q.discussions) || (!imports.metadata.plugins.discussions.enabled(enabled, {extras})))
|
||||
return null
|
||||
|
||||
//Load inputs
|
||||
|
||||
@@ -3,7 +3,7 @@ export default async function({login, data, computed, imports, q, graphql, queri
|
||||
//Plugin execution
|
||||
try {
|
||||
//Check if plugin is enabled and requirements are met
|
||||
if ((!enabled) || (!q.followup) || (!imports.metadata.plugins.followup.extras("enabled", {extras})))
|
||||
if ((!q.followup) || (!imports.metadata.plugins.followup.enabled(enabled, {extras})))
|
||||
return null
|
||||
|
||||
//Load inputs
|
||||
|
||||
@@ -3,7 +3,7 @@ export default async function({login, data, graphql, q, imports, queries, accoun
|
||||
//Plugin execution
|
||||
try {
|
||||
//Check if plugin is enabled and requirements are met
|
||||
if ((!enabled) || (!q.gists) || (!imports.metadata.plugins.gists.extras("enabled", {extras})))
|
||||
if ((!q.gists) || (!imports.metadata.plugins.gists.enabled(enabled, {extras})))
|
||||
return null
|
||||
|
||||
//Load inputs
|
||||
|
||||
@@ -6,7 +6,7 @@ export default async function({login, data, rest, imports, q, account}, {enabled
|
||||
//Plugin execution
|
||||
try {
|
||||
//Check if plugin is enabled and requirements are met
|
||||
if ((!enabled) || (!q.habits) || (!imports.metadata.plugins.habits.extras("enabled", {extras})))
|
||||
if ((!q.habits) || (!imports.metadata.plugins.habits.enabled(enabled, {extras})))
|
||||
return null
|
||||
|
||||
//Load inputs
|
||||
|
||||
@@ -3,7 +3,7 @@ export default async function({login, q, imports, data, graphql, queries, accoun
|
||||
//Plugin execution
|
||||
try {
|
||||
//Check if plugin is enabled and requirements are met
|
||||
if ((!enabled) || (!q.introduction) || (!imports.metadata.plugins.introduction.extras("enabled", {extras})))
|
||||
if ((!q.introduction) || (!imports.metadata.plugins.introduction.enabled(enabled, {extras})))
|
||||
return null
|
||||
|
||||
//Load inputs
|
||||
|
||||
@@ -3,7 +3,7 @@ export default async function({login, data, graphql, q, imports, queries, accoun
|
||||
//Plugin execution
|
||||
try {
|
||||
//Check if plugin is enabled and requirements are met
|
||||
if ((!enabled) || (!q.isocalendar) || (!imports.metadata.plugins.isocalendar.extras("enabled", {extras})))
|
||||
if ((!q.isocalendar) || (!imports.metadata.plugins.isocalendar.enabled(enabled, {extras})))
|
||||
return null
|
||||
|
||||
//Load inputs
|
||||
|
||||
@@ -6,7 +6,7 @@ export default async function({login, data, imports, q, rest, account}, {enabled
|
||||
//Plugin execution
|
||||
try {
|
||||
//Check if plugin is enabled and requirements are met
|
||||
if ((!enabled) || (!q.languages) || (!imports.metadata.plugins.languages.extras("enabled", {extras})))
|
||||
if ((!q.languages) || (!imports.metadata.plugins.languages.enabled(enabled, {extras})))
|
||||
return null
|
||||
|
||||
//Context
|
||||
|
||||
@@ -3,7 +3,7 @@ export default async function({login, q, imports, data, graphql, queries, accoun
|
||||
//Plugin execution
|
||||
try {
|
||||
//Check if plugin is enabled and requirements are met
|
||||
if ((!enabled) || (!q.licenses) || (!imports.metadata.plugins.licenses.extras("enabled", {extras})))
|
||||
if ((!q.licenses) || (!imports.metadata.plugins.licenses.enabled(enabled, {extras})))
|
||||
return null
|
||||
|
||||
//Load inputs
|
||||
|
||||
@@ -3,7 +3,7 @@ export default async function({login, data, imports, rest, q, account}, {enabled
|
||||
//Plugin execution
|
||||
try {
|
||||
//Check if plugin is enabled and requirements are met
|
||||
if ((!enabled) || (!q.lines) || (!imports.metadata.plugins.lines.extras("enabled", {extras})))
|
||||
if ((!q.lines) || (!imports.metadata.plugins.lines.enabled(enabled, {extras})))
|
||||
return null
|
||||
|
||||
//Load inputs
|
||||
|
||||
@@ -32,7 +32,7 @@ export default async function({login, imports, data, q, account}, {enabled = fal
|
||||
//Plugin execution
|
||||
try {
|
||||
//Check if plugin is enabled and requirements are met
|
||||
if ((!enabled) || (!q.music) || (!imports.metadata.plugins.music.extras("enabled", {extras})))
|
||||
if ((!q.music) || (!imports.metadata.plugins.music.enabled(enabled, {extras})))
|
||||
return null
|
||||
|
||||
//Initialization
|
||||
|
||||
@@ -3,7 +3,7 @@ export default async function({login, q, imports, rest, graphql, data, account,
|
||||
//Plugin execution
|
||||
try {
|
||||
//Check if plugin is enabled and requirements are met
|
||||
if ((!enabled) || (!q.notable) || (!imports.metadata.plugins.notable.extras("enabled", {extras})))
|
||||
if ((!q.notable) || (!imports.metadata.plugins.notable.enabled(enabled, {extras})))
|
||||
return null
|
||||
|
||||
//Load inputs
|
||||
|
||||
@@ -3,7 +3,7 @@ export default async function({login, imports, data, q, account}, {enabled = fal
|
||||
//Plugin execution
|
||||
try {
|
||||
//Check if plugin is enabled and requirements are met
|
||||
if ((!enabled) || (!q.pagespeed) || (!imports.metadata.plugins.pagespeed.extras("enabled", {extras})))
|
||||
if ((!q.pagespeed) || (!imports.metadata.plugins.pagespeed.enabled(enabled, {extras})))
|
||||
return null
|
||||
|
||||
//Load inputs
|
||||
|
||||
@@ -3,7 +3,7 @@ export default async function({login, data, graphql, rest, q, queries, imports,
|
||||
//Plugin execution
|
||||
try {
|
||||
//Check if plugin is enabled and requirements are met
|
||||
if ((!enabled) || (!q.people) || (!imports.metadata.plugins.people.extras("enabled", {extras})))
|
||||
if ((!q.people) || (!imports.metadata.plugins.people.enabled(enabled, {extras})))
|
||||
return null
|
||||
|
||||
//Context
|
||||
|
||||
@@ -3,7 +3,7 @@ export default async function({login, data, imports, q, queries, account}, {enab
|
||||
//Plugin execution
|
||||
try {
|
||||
//Check if plugin is enabled and requirements are met
|
||||
if ((!enabled) || (!q.posts) || (!imports.metadata.plugins.posts.extras("enabled", {extras})))
|
||||
if ((!q.posts) || (!imports.metadata.plugins.posts.enabled(enabled, {extras})))
|
||||
return null
|
||||
|
||||
//Load inputs
|
||||
|
||||
@@ -3,7 +3,7 @@ export default async function({login, data, imports, graphql, q, queries, accoun
|
||||
//Plugin execution
|
||||
try {
|
||||
//Check if plugin is enabled and requirements are met
|
||||
if ((!enabled) || (!q.projects) || (!imports.metadata.plugins.projects.extras("enabled", {extras})))
|
||||
if ((!q.projects) || (!imports.metadata.plugins.projects.enabled(enabled, {extras})))
|
||||
return null
|
||||
|
||||
//Load inputs
|
||||
|
||||
@@ -3,7 +3,7 @@ export default async function({login, q, imports, data, graphql, queries, accoun
|
||||
//Plugin execution
|
||||
try {
|
||||
//Check if plugin is enabled and requirements are met
|
||||
if ((!enabled) || (!q.reactions) || (!imports.metadata.plugins.reactions.extras("enabled", {extras})))
|
||||
if ((!q.reactions) || (!imports.metadata.plugins.reactions.enabled(enabled, {extras})))
|
||||
return null
|
||||
|
||||
//Load inputs
|
||||
|
||||
@@ -3,7 +3,7 @@ export default async function({login, q, imports, graphql, queries, data, accoun
|
||||
//Plugin execution
|
||||
try {
|
||||
//Check if plugin is enabled and requirements are met
|
||||
if ((!enabled) || (!q.repositories) || (!imports.metadata.plugins.repositories.extras("enabled", {extras})))
|
||||
if ((!q.repositories) || (!imports.metadata.plugins.repositories.enabled(enabled, {extras})))
|
||||
return null
|
||||
|
||||
//Load inputs
|
||||
|
||||
@@ -3,7 +3,7 @@ export default async function({login, q, imports, data, account}, {enabled = fal
|
||||
//Plugin execution
|
||||
try {
|
||||
//Check if plugin is enabled and requirements are met
|
||||
if ((!enabled) || (!q.rss) || (!imports.metadata.plugins.rss.extras("enabled", {extras})))
|
||||
if ((!q.rss) || (!imports.metadata.plugins.rss.enabled(enabled, {extras})))
|
||||
return null
|
||||
|
||||
//Load inputs
|
||||
|
||||
@@ -3,7 +3,7 @@ export default async function({login, q, imports, data, account}, {enabled = fal
|
||||
//Plugin execution
|
||||
try {
|
||||
//Check if plugin is enabled and requirements are met
|
||||
if ((!enabled) || (!q.skyline) || (!imports.metadata.plugins.skyline.extras("enabled", {extras})))
|
||||
if ((!q.skyline) || (!imports.metadata.plugins.skyline.enabled(enabled, {extras})))
|
||||
return null
|
||||
|
||||
//Load inputs
|
||||
|
||||
@@ -3,7 +3,7 @@ export default async function({login, q, imports, data, graphql, queries, accoun
|
||||
//Plugin execution
|
||||
try {
|
||||
//Check if plugin is enabled and requirements are met
|
||||
if ((!enabled) || (!q.sponsors) || (!imports.metadata.plugins.sponsors.extras("enabled", {extras})))
|
||||
if ((!q.sponsors) || (!imports.metadata.plugins.sponsors.enabled(enabled, {extras})))
|
||||
return null
|
||||
|
||||
//Load inputs
|
||||
|
||||
@@ -3,7 +3,7 @@ export default async function({login, q, imports, data, account}, {enabled = fal
|
||||
//Plugin execution
|
||||
try {
|
||||
//Check if plugin is enabled and requirements are met
|
||||
if ((!enabled) || (!q.stackoverflow) || (!imports.metadata.plugins.stackoverflow.extras("enabled", {extras})))
|
||||
if ((!q.stackoverflow) || (!imports.metadata.plugins.stackoverflow.enabled(enabled, {extras})))
|
||||
return null
|
||||
|
||||
//Load inputs
|
||||
|
||||
@@ -3,7 +3,7 @@ export default async function({login, graphql, data, imports, q, queries, accoun
|
||||
//Plugin execution
|
||||
try {
|
||||
//Check if plugin is enabled and requirements are met
|
||||
if ((!enabled) || (!q.stargazers) || (!imports.metadata.plugins.stargazers.extras("enabled", {extras})))
|
||||
if ((!q.stargazers) || (!imports.metadata.plugins.stargazers.enabled(enabled, {extras})))
|
||||
return null
|
||||
|
||||
//Load inputs
|
||||
|
||||
@@ -3,7 +3,7 @@ export default async function({login, q, imports, data, account}, {enabled = fal
|
||||
//Plugin execution
|
||||
try {
|
||||
//Check if plugin is enabled and requirements are met
|
||||
if ((!enabled) || (!q.starlists) || (!imports.metadata.plugins.starlists.extras("enabled", {extras})))
|
||||
if ((!q.starlists) || (!imports.metadata.plugins.starlists.enabled(enabled, {extras})))
|
||||
return null
|
||||
|
||||
//Load inputs
|
||||
|
||||
@@ -3,7 +3,7 @@ export default async function({login, data, graphql, q, queries, imports, accoun
|
||||
//Plugin execution
|
||||
try {
|
||||
//Check if plugin is enabled and requirements are met
|
||||
if ((!enabled) || (!q.stars) || (!imports.metadata.plugins.stars.extras("enabled", {extras})))
|
||||
if ((!q.stars) || (!imports.metadata.plugins.stars.enabled(enabled, {extras})))
|
||||
return null
|
||||
|
||||
//Load inputs
|
||||
|
||||
@@ -3,7 +3,7 @@ export default async function({login, q, imports, data, account}, {enabled = fal
|
||||
//Plugin execution
|
||||
try {
|
||||
//Check if plugin is enabled and requirements are met
|
||||
if ((!enabled) || (!q.support) || (!imports.metadata.plugins.support.extras("enabled", {extras})))
|
||||
if ((!q.support) || (!imports.metadata.plugins.support.enabled(enabled, {extras})))
|
||||
return null
|
||||
|
||||
//Load inputs
|
||||
|
||||
@@ -3,7 +3,7 @@ export default async function({login, data, imports, q, account}, {enabled = fal
|
||||
//Plugin execution
|
||||
try {
|
||||
//Check if plugin is enabled and requirements are met
|
||||
if ((!enabled) || (!q.topics) || (!imports.metadata.plugins.topics.extras("enabled", {extras})))
|
||||
if ((!q.topics) || (!imports.metadata.plugins.topics.enabled(enabled, {extras})))
|
||||
return null
|
||||
|
||||
//Load inputs
|
||||
|
||||
@@ -3,7 +3,7 @@ export default async function({login, imports, data, rest, q, account}, {enabled
|
||||
//Plugin execution
|
||||
try {
|
||||
//Check if plugin is enabled and requirements are met
|
||||
if ((!enabled) || (!q.traffic) || (!imports.metadata.plugins.traffic.extras("enabled", {extras})))
|
||||
if ((!q.traffic) || (!imports.metadata.plugins.traffic.enabled(enabled, {extras})))
|
||||
return null
|
||||
|
||||
//Load inputs
|
||||
|
||||
@@ -3,7 +3,7 @@ export default async function({login, imports, data, q, account}, {enabled = fal
|
||||
//Plugin execution
|
||||
try {
|
||||
//Check if plugin is enabled and requirements are met
|
||||
if ((!enabled) || (!q.tweets) || (!imports.metadata.plugins.tweets.extras("enabled", {extras})))
|
||||
if ((!q.tweets) || (!imports.metadata.plugins.tweets.enabled(enabled, {extras})))
|
||||
return null
|
||||
|
||||
//Load inputs
|
||||
|
||||
@@ -3,7 +3,7 @@ export default async function({login, q, imports, data, account}, {enabled = fal
|
||||
//Plugin execution
|
||||
try {
|
||||
//Check if plugin is enabled and requirements are met
|
||||
if ((!enabled) || (!q.wakatime) || (!imports.metadata.plugins.wakatime.extras("enabled", {extras})))
|
||||
if ((!q.wakatime) || (!imports.metadata.plugins.wakatime.enabled(enabled, {extras})))
|
||||
return null
|
||||
|
||||
//Load inputs
|
||||
|
||||
Reference in New Issue
Block a user