-
Notifications
You must be signed in to change notification settings - Fork 27
feat: allow plugins to use the userConfig object to set arbitrary data #118
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Just to note, this is just an idea. As a plugin developer I can also use |
With respect to your comment about using |
src/services/config.js
Outdated
@@ -142,6 +143,18 @@ class ConfigData { | |||
prompt.acked = true; | |||
} | |||
|
|||
setPluginData(pluginName, data) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall, I like this idea and the clean naming convention.
With this setup, it seems like we need to be careful with name spacing to avoid unintended data manipulation. Perhaps the pluginName
needs to be <org>/<name of plugin>
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's not much we can do about data manipulation, any plugin can overwrite the entire userConfig
if it wanted to. The idea that setting the plugin name (which could be defined as "serverless" or "@twilio-labs/plugin-serverless", for example) should be a unique namespace.
A better alternative would be to have the function setPluginData(data)
and the name get read from the plugin itself. But I don't know if plugin name/namespace is available to the plugin during runtime. Do you know if that is possible?
It felt like a good idea to make a conventional space for all plugins to use if they want to rather than to potentially clog up Arguments against are that a plugin could enter a lot of data into It's also possible that most plugins don't need this store available, so this would be a waste inside the core. In the plugin I am writing right now, I've implemented my own config store so that I could continue development. I'm ok with this, but I personally think it would be good to have a convention built into the core. |
I like the idea of giving each plugin its own space with There's also a I also agree about a single config file getting too bloated and slowing things down. If we combine the two things above, we could load the plugin's config as-needed at runtime from its own space, or any other arbitrary files in that space. |
I like the idea of giving plugin authors a way to store config that is simple and controlled by the main CLI. Are you thinking something like creating a const pluginConfig = this.pluginConfig;
// update pluginConfig
this.pluginConfig = newPluginConfig; Could add this in class BaseCommand extends Command {
// constructor etc
get pluginConfig() {
const pluginName = getCommandPlugin(this).pjson.name;
const configPath = path.join(this.config.configDir, `${pluginName}.json`);
try {
const config = fs.readFileSync(configPath, { encoding: 'utf-8' });
return JSON.parse(config);
} catch(error) {
return {};
}
}
set pluginConfig(config) {
const pluginName = getCommandPlugin(this).pjson.name;
const configPath = path.join(this.config.configDir, `${pluginName}.json`);
fs.writeFile(configPath, JSON.stringify(config);
}
} What do you think? |
I like that. Also prefer to wrap all this in a separate tree:
Then plugins get their own folder to stick anything else in (like OpenAPI docs ...). |
I like it. Will get an update to this PR prepped! |
Ok, here's an update based on the above conversation. I am missing tests for the base-command, because I did not have time to work out mocking a plugin in the tests before Friday came to a close. Any hints on that are welcome. |
@philnash I've not forgotten about this, but may not have time to review until late next week. |
test/services/config.test.js
Outdated
|
||
test.it('overwrites config when it already exists', () => { | ||
fs.mkdirSync(path.join(tempConfigDir.name, 'plugins', 'test-plugin'), { recursive: true }); | ||
fs.writeFileSync( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Prefer the tests not do any fs.*
operations as it's an implementation detail. Better to set the config twice and verify only the second set of data is returned in the get,
test/services/config.test.js
Outdated
|
||
test.it('loads an existing plugin config', () => { | ||
fs.mkdirSync(path.join(tempConfigDir.name, 'plugins', 'test-plugin'), { recursive: true }); | ||
fs.writeFileSync( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same here. Should just set the config and then get it (with a new instance of PluginConfig
to verify it's not just cached in memory).
src/services/config.js
Outdated
fs.writeFileSync(this.filePath, JSON.stringify(config)); | ||
} catch (error) { | ||
fs.mkdirSync(path.dirname(this.filePath), { recursive: true }); | ||
fs.writeFileSync(this.filePath, JSON.stringify(config)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The APIs here differ from what's done for the main config file: writeFileSync
instead of writeJSON
and readFileSync
instead of readJSON
. Should be made consistent.
src/base-commands/base-command.js
Outdated
if (!this._pluginConfig) { | ||
const pluginName = getCommandPlugin(this); | ||
this._pluginConfig = new PluginConfig(this.config.configDir, pluginName); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: this block is duplicated (only a nit since it doesn't violate the rule of 3)
Updated the read/write functions, which meant I updated to async functions. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
test/services/config.test.js
Outdated
@@ -1,9 +1,10 @@ | |||
const path = require('path'); | |||
const fs = require('fs'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: not required
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorted!
Do we reckon we can get this into the next CLI release? I'd like to use this in my new Assets plugin (see WIP PR here) and I can pull out this configStore implementation and replace it with this (with a warning to upgrade the CLI if these methods aren't available). |
Yup, it will be included in the next release. |
# 1.0.0 (2021-08-17) ### Bug Fixes * Add http agent to axios to work with proxy ([twilio#109](https://github.com/LakshmiRavali/twilio-cli-core/issues/109)) ([6762db4](6762db4)) * add keytar sanity-check during install ([twilio#75](https://github.com/LakshmiRavali/twilio-cli-core/issues/75)) ([b7c2d2c](b7c2d2c)) * add support for null response fields ([twilio#115](https://github.com/LakshmiRavali/twilio-cli-core/issues/115)) ([206854e](206854e)) * add titles to inline schemas ([twilio#112](https://github.com/LakshmiRavali/twilio-cli-core/issues/112)) ([cdd2964](cdd2964)) * Added new file ([000e346](000e346)) * allow API redirect responses ([twilio#101](https://github.com/LakshmiRavali/twilio-cli-core/issues/101)) ([9b766d7](9b766d7)) * axios expects paramsSerializer ([twilio#82](https://github.com/LakshmiRavali/twilio-cli-core/issues/82)) ([8c55d29](8c55d29)) * delay module-loading error logs until all locations have been exhausted ([twilio#89](https://github.com/LakshmiRavali/twilio-cli-core/issues/89)) ([fb8368e](fb8368e)) * don't display "undefined" when no profiles exists ([twilio#92](https://github.com/LakshmiRavali/twilio-cli-core/issues/92)) ([e753fcd](e753fcd)) * don't get so fancy with the font color scheme ([twilio#96](https://github.com/LakshmiRavali/twilio-cli-core/issues/96)) ([3f12305](3f12305)) * dynamically install keytar if it fails to load ([twilio#74](https://github.com/LakshmiRavali/twilio-cli-core/issues/74)) ([9e7e1d1](9e7e1d1)) * encode URL path params ([twilio#94](https://github.com/LakshmiRavali/twilio-cli-core/issues/94)) ([7c42fcc](7c42fcc)) * fixing semantic errors in the openAPI specs ([twilio#106](https://github.com/LakshmiRavali/twilio-cli-core/issues/106)) ([135a40c](135a40c)) * getParams when operation parameters is absent ([twilio#103](https://github.com/LakshmiRavali/twilio-cli-core/issues/103)) ([3757872](3757872)) * increase Node minimum version requirement to 10.12.0 ([twilio#91](https://github.com/LakshmiRavali/twilio-cli-core/issues/91)) ([fcc13d9](fcc13d9)) * move the mocha config file to the project root ([189e5d9](189e5d9)) * need to use the plugin name, not the plugin object ([twilio#121](https://github.com/LakshmiRavali/twilio-cli-core/issues/121)) ([ad89bde](ad89bde)) * no more ignoring low severity vulnerabilities ([33eabe1](33eabe1)) * npm audit vulnerabilities ([twilio#120](https://github.com/LakshmiRavali/twilio-cli-core/issues/120)) ([9b7a3f6](9b7a3f6)) * Outputting entire error response w/ JSON format flag enabled ([twilio#111](https://github.com/LakshmiRavali/twilio-cli-core/issues/111)) ([ae08a07](ae08a07)) * pin 'tslib' to avoid issues when interacting with plugin-plugins ([twilio#88](https://github.com/LakshmiRavali/twilio-cli-core/issues/88)) ([845f65d](845f65d)) * properly describe request bodies and add response descriptions ([twilio#85](https://github.com/LakshmiRavali/twilio-cli-core/issues/85)) ([8821832](8821832)) * remove duplicate enum values ([twilio#114](https://github.com/LakshmiRavali/twilio-cli-core/issues/114)) ([f27c07e](f27c07e)) * remove the lock file since this is a library, upgrade dev dependencies, and fix eslint errors/warnings ([55c2091](55c2091)) * removed dist ([c464dbc](c464dbc)) * rollback plugin-help upgrade ([4152d89](4152d89)) * travis deploy config ([twilio#77](https://github.com/LakshmiRavali/twilio-cli-core/issues/77)) ([820f17d](820f17d)) * travis.yml formatting ([9be0527](9be0527)) * update ([4ba4798](4ba4798)) * update ([4f7a450](4f7a450)) * Update ([2c975fc](2c975fc)) * update the wording for the env vars help message ([twilio#80](https://github.com/LakshmiRavali/twilio-cli-core/issues/80)) ([8468619](8468619)) * update travis deploy ([twilio#76](https://github.com/LakshmiRavali/twilio-cli-core/issues/76)) ([8fe5e65](8fe5e65)) * Updated ([bcbfeb9](bcbfeb9)) * upgrade dependencies and drop tslib pinning ([twilio#97](https://github.com/LakshmiRavali/twilio-cli-core/issues/97)) ([98987a3](98987a3)) * use new 'instanceOf' in the catch blocks ([twilio#99](https://github.com/LakshmiRavali/twilio-cli-core/issues/99)) ([1cffe58](1cffe58)) ### Features * add custom header param support ([twilio#98](https://github.com/LakshmiRavali/twilio-cli-core/issues/98)) ([2de7aff](2de7aff)) * add operation IDs ([twilio#107](https://github.com/LakshmiRavali/twilio-cli-core/issues/107)) ([1d5f595](1d5f595)) * add property descriptions to OAI ([twilio#117](https://github.com/LakshmiRavali/twilio-cli-core/issues/117)) ([57268a9](57268a9)) * add regional and edge support ([twilio#86](https://github.com/LakshmiRavali/twilio-cli-core/issues/86)) ([42d7d6b](42d7d6b)) * allow plugins to use the userConfig object to set arbitrary data ([twilio#118](https://github.com/LakshmiRavali/twilio-cli-core/issues/118)) ([852477e](852477e)) * improve 'access denied' error messaging ([twilio#95](https://github.com/LakshmiRavali/twilio-cli-core/issues/95)) ([62c3c5f](62c3c5f)) * look through plugin pjson for an issue URL ([twilio#87](https://github.com/LakshmiRavali/twilio-cli-core/issues/87)) ([075aa23](075aa23)) * migrate from deprecated request package to axios ([twilio#81](https://github.com/LakshmiRavali/twilio-cli-core/issues/81)) ([2eba9ba](2eba9ba)) * splitting openAPI specs by version ([twilio#104](https://github.com/LakshmiRavali/twilio-cli-core/issues/104)) ([4a8ee37](4a8ee37)) * update the env var message to use the proper OS syntax ([twilio#93](https://github.com/LakshmiRavali/twilio-cli-core/issues/93)) ([91a1898](91a1898)) ### Reverts * Revert "chore: bump axios version" ([de3ffcf](de3ffcf)) * Revert "fix: no more ignoring low severity vulnerabilities" ([f472207](f472207))
# 1.0.0 (2021-08-28) ### Bug Fixes * Add http agent to axios to work with proxy ([twilio#109](https://github.com/LakshmiRavali/twilio-cli-core/issues/109)) ([6762db4](6762db4)) * add keytar sanity-check during install ([twilio#75](https://github.com/LakshmiRavali/twilio-cli-core/issues/75)) ([b7c2d2c](b7c2d2c)) * add support for null response fields ([twilio#115](https://github.com/LakshmiRavali/twilio-cli-core/issues/115)) ([206854e](206854e)) * add titles to inline schemas ([twilio#112](https://github.com/LakshmiRavali/twilio-cli-core/issues/112)) ([cdd2964](cdd2964)) * Added changes in package.json and Updated scriot file ([749a316](749a316)) * Added condition to check changeLog.md file exist or not ([7a9ba55](7a9ba55)) * Added console log back ([6673e2c](6673e2c)) * Added missing change ([be144a3](be144a3)) * Added release step in workflow ([bbfe334](bbfe334)) * allow API redirect responses ([twilio#101](https://github.com/LakshmiRavali/twilio-cli-core/issues/101)) ([9b766d7](9b766d7)) * axios expects paramsSerializer ([twilio#82](https://github.com/LakshmiRavali/twilio-cli-core/issues/82)) ([8c55d29](8c55d29)) * Code refactoring ([a262359](a262359)) * Corrected branch ([c573a2e](c573a2e)) * Created config file for semantic release ([b372756](b372756)) * delay module-loading error logs until all locations have been exhausted ([twilio#89](https://github.com/LakshmiRavali/twilio-cli-core/issues/89)) ([fb8368e](fb8368e)) * don't display "undefined" when no profiles exists ([twilio#92](https://github.com/LakshmiRavali/twilio-cli-core/issues/92)) ([e753fcd](e753fcd)) * don't get so fancy with the font color scheme ([twilio#96](https://github.com/LakshmiRavali/twilio-cli-core/issues/96)) ([3f12305](3f12305)) * dynamically install keytar if it fails to load ([twilio#74](https://github.com/LakshmiRavali/twilio-cli-core/issues/74)) ([9e7e1d1](9e7e1d1)) * encode URL path params ([twilio#94](https://github.com/LakshmiRavali/twilio-cli-core/issues/94)) ([7c42fcc](7c42fcc)) * fixing semantic errors in the openAPI specs ([twilio#106](https://github.com/LakshmiRavali/twilio-cli-core/issues/106)) ([135a40c](135a40c)) * getParams when operation parameters is absent ([twilio#103](https://github.com/LakshmiRavali/twilio-cli-core/issues/103)) ([3757872](3757872)) * increase Node minimum version requirement to 10.12.0 ([twilio#91](https://github.com/LakshmiRavali/twilio-cli-core/issues/91)) ([fcc13d9](fcc13d9)) * move the mocha config file to the project root ([189e5d9](189e5d9)) * need to use the plugin name, not the plugin object ([twilio#121](https://github.com/LakshmiRavali/twilio-cli-core/issues/121)) ([ad89bde](ad89bde)) * no more ignoring low severity vulnerabilities ([33eabe1](33eabe1)) * npm audit vulnerabilities ([twilio#120](https://github.com/LakshmiRavali/twilio-cli-core/issues/120)) ([9b7a3f6](9b7a3f6)) * Outputting entire error response w/ JSON format flag enabled ([twilio#111](https://github.com/LakshmiRavali/twilio-cli-core/issues/111)) ([ae08a07](ae08a07)) * pin 'tslib' to avoid issues when interacting with plugin-plugins ([twilio#88](https://github.com/LakshmiRavali/twilio-cli-core/issues/88)) ([845f65d](845f65d)) * properly describe request bodies and add response descriptions ([twilio#85](https://github.com/LakshmiRavali/twilio-cli-core/issues/85)) ([8821832](8821832)) * remove duplicate enum values ([twilio#114](https://github.com/LakshmiRavali/twilio-cli-core/issues/114)) ([f27c07e](f27c07e)) * remove the lock file since this is a library, upgrade dev dependencies, and fix eslint errors/warnings ([55c2091](55c2091)) * rollback plugin-help upgrade ([4152d89](4152d89)) * travis deploy config ([twilio#77](https://github.com/LakshmiRavali/twilio-cli-core/issues/77)) ([820f17d](820f17d)) * travis.yml formatting ([9be0527](9be0527)) * update the wording for the env vars help message ([twilio#80](https://github.com/LakshmiRavali/twilio-cli-core/issues/80)) ([8468619](8468619)) * update travis deploy ([twilio#76](https://github.com/LakshmiRavali/twilio-cli-core/issues/76)) ([8fe5e65](8fe5e65)) * Updated package.json ([553844d](553844d)) * Updated script with logger ([ec964c7](ec964c7)) * Updated suffix version ([b98c93c](b98c93c)) * Updated with dynamic branch ([954a02d](954a02d)) * Updated with dynamic branch ([7e8882b](7e8882b)) * upgrade dependencies and drop tslib pinning ([twilio#97](https://github.com/LakshmiRavali/twilio-cli-core/issues/97)) ([98987a3](98987a3)) * use new 'instanceOf' in the catch blocks ([twilio#99](https://github.com/LakshmiRavali/twilio-cli-core/issues/99)) ([1cffe58](1cffe58)) ### Features * add custom header param support ([twilio#98](https://github.com/LakshmiRavali/twilio-cli-core/issues/98)) ([2de7aff](2de7aff)) * add operation IDs ([twilio#107](https://github.com/LakshmiRavali/twilio-cli-core/issues/107)) ([1d5f595](1d5f595)) * add property descriptions to OAI ([twilio#117](https://github.com/LakshmiRavali/twilio-cli-core/issues/117)) ([57268a9](57268a9)) * add regional and edge support ([twilio#86](https://github.com/LakshmiRavali/twilio-cli-core/issues/86)) ([42d7d6b](42d7d6b)) * Added changeLog script file ([7b5cfda](7b5cfda)) * Added the version script of twilio oai ([74e2509](74e2509)) * Added the workflow file ([3b0996a](3b0996a)) * Added updated api definition script ([525f817](525f817)) * allow plugins to use the userConfig object to set arbitrary data ([twilio#118](https://github.com/LakshmiRavali/twilio-cli-core/issues/118)) ([852477e](852477e)) * improve 'access denied' error messaging ([twilio#95](https://github.com/LakshmiRavali/twilio-cli-core/issues/95)) ([62c3c5f](62c3c5f)) * look through plugin pjson for an issue URL ([twilio#87](https://github.com/LakshmiRavali/twilio-cli-core/issues/87)) ([075aa23](075aa23)) * migrate from deprecated request package to axios ([twilio#81](https://github.com/LakshmiRavali/twilio-cli-core/issues/81)) ([2eba9ba](2eba9ba)) * Shell script to execute update api definitions and changelog. ([c631fa8](c631fa8)) * splitting openAPI specs by version ([twilio#104](https://github.com/LakshmiRavali/twilio-cli-core/issues/104)) ([4a8ee37](4a8ee37)) * update the env var message to use the proper OS syntax ([twilio#93](https://github.com/LakshmiRavali/twilio-cli-core/issues/93)) ([91a1898](91a1898)) * Updated api definitions ([4ea913a](4ea913a)) ### Reverts * Revert "chore: bump axios version" ([de3ffcf](de3ffcf)) * Revert "fix: no more ignoring low severity vulnerabilities" ([f472207](f472207))
# 1.0.0-rc.1 (2021-08-29) ### Bug Fixes * Add http agent to axios to work with proxy ([twilio#109](https://github.com/LakshmiRavali/twilio-cli-core/issues/109)) ([6762db4](6762db4)) * add keytar sanity-check during install ([twilio#75](https://github.com/LakshmiRavali/twilio-cli-core/issues/75)) ([b7c2d2c](b7c2d2c)) * add support for null response fields ([twilio#115](https://github.com/LakshmiRavali/twilio-cli-core/issues/115)) ([206854e](206854e)) * add titles to inline schemas ([twilio#112](https://github.com/LakshmiRavali/twilio-cli-core/issues/112)) ([cdd2964](cdd2964)) * Added changes in package.json and Updated scriot file ([749a316](749a316)) * Added condition to check changeLog.md file exist or not ([7a9ba55](7a9ba55)) * Added console log back ([6673e2c](6673e2c)) * Added missing change ([be144a3](be144a3)) * Added release step in workflow ([bbfe334](bbfe334)) * allow API redirect responses ([twilio#101](https://github.com/LakshmiRavali/twilio-cli-core/issues/101)) ([9b766d7](9b766d7)) * axios expects paramsSerializer ([twilio#82](https://github.com/LakshmiRavali/twilio-cli-core/issues/82)) ([8c55d29](8c55d29)) * Code refactoring ([a262359](a262359)) * Corrected branch ([c573a2e](c573a2e)) * Created config file for semantic release ([b372756](b372756)) * delay module-loading error logs until all locations have been exhausted ([twilio#89](https://github.com/LakshmiRavali/twilio-cli-core/issues/89)) ([fb8368e](fb8368e)) * don't display "undefined" when no profiles exists ([twilio#92](https://github.com/LakshmiRavali/twilio-cli-core/issues/92)) ([e753fcd](e753fcd)) * don't get so fancy with the font color scheme ([twilio#96](https://github.com/LakshmiRavali/twilio-cli-core/issues/96)) ([3f12305](3f12305)) * Dummy commit ([123074e](123074e)) * dynamically install keytar if it fails to load ([twilio#74](https://github.com/LakshmiRavali/twilio-cli-core/issues/74)) ([9e7e1d1](9e7e1d1)) * encode URL path params ([twilio#94](https://github.com/LakshmiRavali/twilio-cli-core/issues/94)) ([7c42fcc](7c42fcc)) * Fixing rc release ([d5ad211](d5ad211)) * fixing semantic errors in the openAPI specs ([twilio#106](https://github.com/LakshmiRavali/twilio-cli-core/issues/106)) ([135a40c](135a40c)) * getParams when operation parameters is absent ([twilio#103](https://github.com/LakshmiRavali/twilio-cli-core/issues/103)) ([3757872](3757872)) * increase Node minimum version requirement to 10.12.0 ([twilio#91](https://github.com/LakshmiRavali/twilio-cli-core/issues/91)) ([fcc13d9](fcc13d9)) * move the mocha config file to the project root ([189e5d9](189e5d9)) * need to use the plugin name, not the plugin object ([twilio#121](https://github.com/LakshmiRavali/twilio-cli-core/issues/121)) ([ad89bde](ad89bde)) * no more ignoring low severity vulnerabilities ([33eabe1](33eabe1)) * npm audit vulnerabilities ([twilio#120](https://github.com/LakshmiRavali/twilio-cli-core/issues/120)) ([9b7a3f6](9b7a3f6)) * Outputting entire error response w/ JSON format flag enabled ([twilio#111](https://github.com/LakshmiRavali/twilio-cli-core/issues/111)) ([ae08a07](ae08a07)) * pin 'tslib' to avoid issues when interacting with plugin-plugins ([twilio#88](https://github.com/LakshmiRavali/twilio-cli-core/issues/88)) ([845f65d](845f65d)) * properly describe request bodies and add response descriptions ([twilio#85](https://github.com/LakshmiRavali/twilio-cli-core/issues/85)) ([8821832](8821832)) * remove duplicate enum values ([twilio#114](https://github.com/LakshmiRavali/twilio-cli-core/issues/114)) ([f27c07e](f27c07e)) * remove the lock file since this is a library, upgrade dev dependencies, and fix eslint errors/warnings ([55c2091](55c2091)) * rollback plugin-help upgrade ([4152d89](4152d89)) * travis deploy config ([twilio#77](https://github.com/LakshmiRavali/twilio-cli-core/issues/77)) ([820f17d](820f17d)) * travis.yml formatting ([9be0527](9be0527)) * update the wording for the env vars help message ([twilio#80](https://github.com/LakshmiRavali/twilio-cli-core/issues/80)) ([8468619](8468619)) * update travis deploy ([twilio#76](https://github.com/LakshmiRavali/twilio-cli-core/issues/76)) ([8fe5e65](8fe5e65)) * Updated package.json ([553844d](553844d)) * updated package.json with rc ([d8c94f9](d8c94f9)) * Updated script with logger ([ec964c7](ec964c7)) * Updated suffix version ([b98c93c](b98c93c)) * Updated with dynamic branch ([954a02d](954a02d)) * Updated with dynamic branch ([7e8882b](7e8882b)) * Updated with pre release ([6de0d44](6de0d44)) * upgrade dependencies and drop tslib pinning ([twilio#97](https://github.com/LakshmiRavali/twilio-cli-core/issues/97)) ([98987a3](98987a3)) * use new 'instanceOf' in the catch blocks ([twilio#99](https://github.com/LakshmiRavali/twilio-cli-core/issues/99)) ([1cffe58](1cffe58)) ### Features * add custom header param support ([twilio#98](https://github.com/LakshmiRavali/twilio-cli-core/issues/98)) ([2de7aff](2de7aff)) * add operation IDs ([twilio#107](https://github.com/LakshmiRavali/twilio-cli-core/issues/107)) ([1d5f595](1d5f595)) * add property descriptions to OAI ([twilio#117](https://github.com/LakshmiRavali/twilio-cli-core/issues/117)) ([57268a9](57268a9)) * add regional and edge support ([twilio#86](https://github.com/LakshmiRavali/twilio-cli-core/issues/86)) ([42d7d6b](42d7d6b)) * Added changeLog script file ([7b5cfda](7b5cfda)) * Added the version script of twilio oai ([74e2509](74e2509)) * Added the workflow file ([3b0996a](3b0996a)) * Added updated api definition script ([525f817](525f817)) * allow plugins to use the userConfig object to set arbitrary data ([twilio#118](https://github.com/LakshmiRavali/twilio-cli-core/issues/118)) ([852477e](852477e)) * improve 'access denied' error messaging ([twilio#95](https://github.com/LakshmiRavali/twilio-cli-core/issues/95)) ([62c3c5f](62c3c5f)) * look through plugin pjson for an issue URL ([twilio#87](https://github.com/LakshmiRavali/twilio-cli-core/issues/87)) ([075aa23](075aa23)) * migrate from deprecated request package to axios ([twilio#81](https://github.com/LakshmiRavali/twilio-cli-core/issues/81)) ([2eba9ba](2eba9ba)) * Shell script to execute update api definitions and changelog. ([c631fa8](c631fa8)) * splitting openAPI specs by version ([twilio#104](https://github.com/LakshmiRavali/twilio-cli-core/issues/104)) ([4a8ee37](4a8ee37)) * update the env var message to use the proper OS syntax ([twilio#93](https://github.com/LakshmiRavali/twilio-cli-core/issues/93)) ([91a1898](91a1898)) * Updated api definitions ([4ea913a](4ea913a)) ### Reverts * Revert "chore: bump axios version" ([de3ffcf](de3ffcf)) * Revert "fix: no more ignoring low severity vulnerabilities" ([f472207](f472207))
## 1.0.0 (2022-11-14) ### ⚠ BREAKING CHANGES * unlocking oclif v2 Co-authored-by: sr010 <[email protected]> Co-authored-by: sburman <[email protected]> Co-authored-by: shrutiburman <[email protected]> * update description (twilio#207) * add node engine support from 14.x+ (twilio#204) * Storing profiles in config file instead of keytar. * Support detailed error objects in cli (twilio#108) * raise Node requirement to v10 and upgrade dependencies (twilio#84) * only camelCase object keys when a schema is specified for the value (twilio#83) ### Library - Docs * baseline all the templated markdown docs ([twilio#78](https://github.com/AsabuHere/twilio-cli-core/issues/78)) ([ab6cf7b](ab6cf7b)) * remove internal changelong entires ([8284a4e](8284a4e)) * Update templated markdown docs to use new default branch name ([1c5c1f1](1c5c1f1)) ### Library - Features * add custom header param support ([twilio#98](https://github.com/AsabuHere/twilio-cli-core/issues/98)) ([2de7aff](2de7aff)) * Add flag no header for list and fetch commands ([twilio#182](https://github.com/AsabuHere/twilio-cli-core/issues/182)) ([22f6ea9](22f6ea9)) * add operation IDs ([twilio#107](https://github.com/AsabuHere/twilio-cli-core/issues/107)) ([1d5f595](1d5f595)) * add property descriptions to OAI ([twilio#117](https://github.com/AsabuHere/twilio-cli-core/issues/117)) ([57268a9](57268a9)) * add regional and edge support ([twilio#86](https://github.com/AsabuHere/twilio-cli-core/issues/86)) ([42d7d6b](42d7d6b)) * Added the github actions to send the slack notifications ([twilio#164](https://github.com/AsabuHere/twilio-cli-core/issues/164)) ([06e2cb1](06e2cb1)) * allow plugins to use the userConfig object to set arbitrary data ([twilio#118](https://github.com/AsabuHere/twilio-cli-core/issues/118)) ([852477e](852477e)) * Enable GitHub actions. ([twilio#150](https://github.com/AsabuHere/twilio-cli-core/issues/150)) ([002dd1f](002dd1f)) * improve 'access denied' error messaging ([twilio#95](https://github.com/AsabuHere/twilio-cli-core/issues/95)) ([62c3c5f](62c3c5f)) * look through plugin pjson for an issue URL ([twilio#87](https://github.com/AsabuHere/twilio-cli-core/issues/87)) ([075aa23](075aa23)) * migrate from deprecated request package to axios ([twilio#81](https://github.com/AsabuHere/twilio-cli-core/issues/81)) ([2eba9ba](2eba9ba)) * Release feature branch ([twilio#188](https://github.com/AsabuHere/twilio-cli-core/issues/188)) ([4380dac](4380dac)) * splitting openAPI specs by version ([twilio#104](https://github.com/AsabuHere/twilio-cli-core/issues/104)) ([4a8ee37](4a8ee37)) * Support detailed error objects in cli ([twilio#108](https://github.com/AsabuHere/twilio-cli-core/issues/108)) ([f204fa3](f204fa3)) * update the env var message to use the proper OS syntax ([twilio#93](https://github.com/AsabuHere/twilio-cli-core/issues/93)) ([91a1898](91a1898)) ### Library - Fixes * Add http agent to axios to work with proxy ([twilio#109](https://github.com/AsabuHere/twilio-cli-core/issues/109)) ([6762db4](6762db4)) * add keytar sanity-check during install ([twilio#75](https://github.com/AsabuHere/twilio-cli-core/issues/75)) ([b7c2d2c](b7c2d2c)) * add support for null response fields ([twilio#115](https://github.com/AsabuHere/twilio-cli-core/issues/115)) ([206854e](206854e)) * add titles to inline schemas ([twilio#112](https://github.com/AsabuHere/twilio-cli-core/issues/112)) ([cdd2964](cdd2964)) * Added changes to fix the lcov issue ([twilio#170](https://github.com/AsabuHere/twilio-cli-core/issues/170)) ([a3aaa7b](a3aaa7b)) * Added condition to deploy specific regex match tags ([twilio#138](https://github.com/AsabuHere/twilio-cli-core/issues/138)) ([2b73c97](2b73c97)) * added support for default output prop in operation ([twilio#192](https://github.com/AsabuHere/twilio-cli-core/issues/192)) ([8ae4ba5](8ae4ba5)) * allow API redirect responses ([twilio#101](https://github.com/AsabuHere/twilio-cli-core/issues/101)) ([9b766d7](9b766d7)) * axios expects paramsSerializer ([twilio#82](https://github.com/AsabuHere/twilio-cli-core/issues/82)) ([8c55d29](8c55d29)) * Cleaning travis code ([twilio#193](https://github.com/AsabuHere/twilio-cli-core/issues/193)) ([ecb2ae5](ecb2ae5)) * cleanup keytar ([twilio#209](https://github.com/AsabuHere/twilio-cli-core/issues/209)) ([7a37f0b](7a37f0b)) * cleanup keytar ([twilio#209](https://github.com/AsabuHere/twilio-cli-core/issues/209)) ([9f1c2d9](9f1c2d9)) * delay module-loading error logs until all locations have been exhausted ([twilio#89](https://github.com/AsabuHere/twilio-cli-core/issues/89)) ([fb8368e](fb8368e)) * don't display "undefined" when no profiles exists ([twilio#92](https://github.com/AsabuHere/twilio-cli-core/issues/92)) ([e753fcd](e753fcd)) * don't get so fancy with the font color scheme ([twilio#96](https://github.com/AsabuHere/twilio-cli-core/issues/96)) ([3f12305](3f12305)) * dynamically install keytar if it fails to load ([twilio#74](https://github.com/AsabuHere/twilio-cli-core/issues/74)) ([9e7e1d1](9e7e1d1)) * encode URL path params ([twilio#94](https://github.com/AsabuHere/twilio-cli-core/issues/94)) ([7c42fcc](7c42fcc)) * fix naming ([twilio#157](https://github.com/AsabuHere/twilio-cli-core/issues/157)) ([d454b81](d454b81)) * Fixing ocktokit api calls ([twilio#211](https://github.com/AsabuHere/twilio-cli-core/issues/211)) ([b025ba2](b025ba2)) * Fixing ocktokit api calls ([twilio#211](https://github.com/AsabuHere/twilio-cli-core/issues/211)) ([b5150dd](b5150dd)) * fixing semantic errors in the openAPI specs ([twilio#106](https://github.com/AsabuHere/twilio-cli-core/issues/106)) ([135a40c](135a40c)) * getParams when operation parameters is absent ([twilio#103](https://github.com/AsabuHere/twilio-cli-core/issues/103)) ([3757872](3757872)) * increase Node minimum version requirement to 10.12.0 ([twilio#91](https://github.com/AsabuHere/twilio-cli-core/issues/91)) ([fcc13d9](fcc13d9)) * Modified flag description to eliminate new line indentation issue ([twilio#174](https://github.com/AsabuHere/twilio-cli-core/issues/174)) ([d8dd071](d8dd071)) * move the mocha config file to the project root ([189e5d9](189e5d9)) * need to use the plugin name, not the plugin object ([twilio#121](https://github.com/AsabuHere/twilio-cli-core/issues/121)) ([ad89bde](ad89bde)) * no more ignoring low severity vulnerabilities ([33eabe1](33eabe1)) * npm audit vulnerabilities ([twilio#120](https://github.com/AsabuHere/twilio-cli-core/issues/120)) ([9b7a3f6](9b7a3f6)) * Octokit changes reversed ([twilio#213](https://github.com/AsabuHere/twilio-cli-core/issues/213)) ([e66838c](e66838c)) * only camelCase object keys when a schema is specified for the value ([twilio#83](https://github.com/AsabuHere/twilio-cli-core/issues/83)) ([42d94fd](42d94fd)) * Outputting entire error response w/ JSON format flag enabled ([twilio#111](https://github.com/AsabuHere/twilio-cli-core/issues/111)) ([ae08a07](ae08a07)) * pin 'tslib' to avoid issues when interacting with plugin-plugins ([twilio#88](https://github.com/AsabuHere/twilio-cli-core/issues/88)) ([845f65d](845f65d)) * properly describe request bodies and add response descriptions ([twilio#85](https://github.com/AsabuHere/twilio-cli-core/issues/85)) ([8821832](8821832)) * remove duplicate enum values ([twilio#114](https://github.com/AsabuHere/twilio-cli-core/issues/114)) ([f27c07e](f27c07e)) * remove the lock file since this is a library, upgrade dev dependencies, and fix eslint errors/warnings ([55c2091](55c2091)) * Replace oclif-v1 dependencies with oclif-v2 version ([twilio#212](https://github.com/AsabuHere/twilio-cli-core/issues/212)) ([d87c83a](d87c83a)), closes [twilio#207](https://github.com/AsabuHere/twilio-cli-core/issues/207) [twilio#211](https://github.com/AsabuHere/twilio-cli-core/issues/211) * Revert "Resolve sec vulnerability ([twilio#166](https://github.com/AsabuHere/twilio-cli-core/issues/166))" ([twilio#168](https://github.com/AsabuHere/twilio-cli-core/issues/168)) ([7d2a374](7d2a374)) * rollback plugin-help upgrade ([4152d89](4152d89)) * travis deploy config ([twilio#77](https://github.com/AsabuHere/twilio-cli-core/issues/77)) ([820f17d](820f17d)) * travis.yml formatting ([9be0527](9be0527)) * update description ([twilio#207](https://github.com/AsabuHere/twilio-cli-core/issues/207)) ([79c1cc5](79c1cc5)) * update description ([twilio#207](https://github.com/AsabuHere/twilio-cli-core/issues/207)) ([80ae344](80ae344)) * Update semantic-release via npm bin ([twilio#187](https://github.com/AsabuHere/twilio-cli-core/issues/187)) ([b35a2ac](b35a2ac)) * update the wording for the env vars help message ([twilio#80](https://github.com/AsabuHere/twilio-cli-core/issues/80)) ([8468619](8468619)) * update travis deploy ([twilio#76](https://github.com/AsabuHere/twilio-cli-core/issues/76)) ([8fe5e65](8fe5e65)) * update vulnerable dependencies packages ([twilio#180](https://github.com/AsabuHere/twilio-cli-core/issues/180)) ([0e5c492](0e5c492)) * Updated api definitions ([906518f](906518f)) * upgrade dependencies and drop tslib pinning ([twilio#97](https://github.com/AsabuHere/twilio-cli-core/issues/97)) ([98987a3](98987a3)) * use new 'instanceOf' in the catch blocks ([twilio#99](https://github.com/AsabuHere/twilio-cli-core/issues/99)) ([1cffe58](1cffe58)) ### Library - Chores * **release:** set `package.json` to 5.32.1 [skip ci] ([bd27319](bd27319)), closes [twilio#170](https://github.com/AsabuHere/twilio-cli-core/issues/170) [twilio#174](https://github.com/AsabuHere/twilio-cli-core/issues/174) [twilio#179](https://github.com/AsabuHere/twilio-cli-core/issues/179) * **release:** set `package.json` to 5.32.2 [skip ci] ([16ee681](16ee681)), closes [twilio#180](https://github.com/AsabuHere/twilio-cli-core/issues/180) * **release:** set `package.json` to 5.33.0 [skip ci] ([a49d861](a49d861)), closes [twilio#182](https://github.com/AsabuHere/twilio-cli-core/issues/182) [twilio#183](https://github.com/AsabuHere/twilio-cli-core/issues/183) [twilio#186](https://github.com/AsabuHere/twilio-cli-core/issues/186) [twilio#185](https://github.com/AsabuHere/twilio-cli-core/issues/185) [twilio#184](https://github.com/AsabuHere/twilio-cli-core/issues/184) [twilio#187](https://github.com/AsabuHere/twilio-cli-core/issues/187) * **release:** set `package.json` to 6.0.0 [skip ci] ([03609c4](03609c4)), closes [twilio#189](https://github.com/AsabuHere/twilio-cli-core/issues/189) [twilio#188](https://github.com/AsabuHere/twilio-cli-core/issues/188) * **release:** set `package.json` to 6.0.1 [skip ci] ([0a013aa](0a013aa)), closes [twilio#190](https://github.com/AsabuHere/twilio-cli-core/issues/190) * **release:** set `package.json` to 6.1.0 [skip ci] ([c50937e](c50937e)), closes [twilio#192](https://github.com/AsabuHere/twilio-cli-core/issues/192) [twilio#193](https://github.com/AsabuHere/twilio-cli-core/issues/193) [twilio#196](https://github.com/AsabuHere/twilio-cli-core/issues/196) * **release:** set `package.json` to 6.2.0 [skip ci] ([51e610c](51e610c)) * **release:** set `package.json` to 6.2.1 [skip ci] ([1c8e512](1c8e512)), closes [twilio#200](https://github.com/AsabuHere/twilio-cli-core/issues/200) * **release:** set `package.json` to 6.3.0 [skip ci] ([2b62ecc](2b62ecc)) * **release:** set `package.json` to 6.3.1 [skip ci] ([1188739](1188739)) * **release:** set `package.json` to 6.3.2 [skip ci] ([0d6059e](0d6059e)) * **release:** set `package.json` to 6.4.0 [skip ci] ([7bcc7b6](7bcc7b6)) * **release:** set `package.json` to 6.4.1 [skip ci] ([a3c924d](a3c924d)) * **release:** set `package.json` to 6.4.2 [skip ci] ([57bcebf](57bcebf)) * **release:** set `package.json` to 6.5.0 [skip ci] ([fa65211](fa65211)) * **release:** set `package.json` to 6.6.0 [skip ci] ([d2e851e](d2e851e)) * **release:** set `package.json` to 6.7.0 [skip ci] ([9c8bcfb](9c8bcfb)), closes [twilio#204](https://github.com/AsabuHere/twilio-cli-core/issues/204) [twilio#204](https://github.com/AsabuHere/twilio-cli-core/issues/204) [twilio#205](https://github.com/AsabuHere/twilio-cli-core/issues/205) * **release:** set `package.json` to 6.8.0 [skip ci] ([58b6809](58b6809)), closes [twilio#209](https://github.com/AsabuHere/twilio-cli-core/issues/209) [twilio#211](https://github.com/AsabuHere/twilio-cli-core/issues/211) [twilio#207](https://github.com/AsabuHere/twilio-cli-core/issues/207) * **release:** set `package.json` to 6.8.1 [skip ci] ([ba6a147](ba6a147)), closes [twilio#213](https://github.com/AsabuHere/twilio-cli-core/issues/213) * **release:** set `package.json` to 7.0.0 [skip ci] ([bdcb3b9](bdcb3b9)), closes [twilio#207](https://github.com/AsabuHere/twilio-cli-core/issues/207) [twilio#211](https://github.com/AsabuHere/twilio-cli-core/issues/211) * **release:** set `package.json` to 7.1.0 [skip ci] ([c061150](c061150)) * **release:** set `package.json` to 7.2.0 [skip ci] ([7255716](7255716)), closes [twilio#207](https://github.com/AsabuHere/twilio-cli-core/issues/207) [twilio#209](https://github.com/AsabuHere/twilio-cli-core/issues/209) [twilio#211](https://github.com/AsabuHere/twilio-cli-core/issues/211) [twilio#207](https://github.com/AsabuHere/twilio-cli-core/issues/207) * **release:** set `package.json` to 7.2.1 [skip ci] ([68ae836](68ae836)) * **release:** set `package.json` to 7.3.0 [skip ci] ([e8f132b](e8f132b)) * **release:** set `package.json` to 7.4.0 [skip ci] ([08cb4e6](08cb4e6)) * **release:** set `package.json` to 7.4.1 [skip ci] ([3a055af](3a055af)) * add node engine support from 14.x+ ([twilio#204](https://github.com/AsabuHere/twilio-cli-core/issues/204)) ([7b81cb2](7b81cb2)) * Add node v12 support ([twilio#200](https://github.com/AsabuHere/twilio-cli-core/issues/200)) ([ef09c7c](ef09c7c)) * Add Npm Audit workflow ([twilio#196](https://github.com/AsabuHere/twilio-cli-core/issues/196)) ([5dd1887](5dd1887)) * bump dependency axios ([twilio#190](https://github.com/AsabuHere/twilio-cli-core/issues/190)) ([3836cbf](3836cbf)) * github workflow update ([twilio#183](https://github.com/AsabuHere/twilio-cli-core/issues/183)) ([a96ebc3](a96ebc3)) * Remove audit run with posttest script ([twilio#186](https://github.com/AsabuHere/twilio-cli-core/issues/186)) ([ea5c744](ea5c744)) * remove outdated announcements ([960a478](960a478)) * revert updated oclif major dependencies ([twilio#185](https://github.com/AsabuHere/twilio-cli-core/issues/185)) ([aa74e0e](aa74e0e)) * Update LICENSE ([twilio#189](https://github.com/AsabuHere/twilio-cli-core/issues/189)) ([5b6a3a5](5b6a3a5)) * Update package.json ([41a1498](41a1498)) * update slack alerts color ([twilio#179](https://github.com/AsabuHere/twilio-cli-core/issues/179)) ([c96bbfb](c96bbfb)) * update version of vulnerable dependencies ([twilio#184](https://github.com/AsabuHere/twilio-cli-core/issues/184)) ([b8de6f6](b8de6f6)) * **release:** set `package.json` to 5.32.0 [skip ci] ([d971661](d971661)), closes [twilio#169](https://github.com/AsabuHere/twilio-cli-core/issues/169) * [Snyk] Security upgrade @oclif/plugin-help from 2.2.3 to 3.2.0 ([twilio#165](https://github.com/AsabuHere/twilio-cli-core/issues/165)) ([188120a](188120a)) * Added changes to use scripts instead of community Github actions ([twilio#155](https://github.com/AsabuHere/twilio-cli-core/issues/155)) ([27bd508](27bd508)) * Added tests and sonarcloud scan while adding the PR's ([twilio#169](https://github.com/AsabuHere/twilio-cli-core/issues/169)) ([a26d6ee](a26d6ee)) * **release:** set `package.json` to 5.29.0 [skip ci] ([8e5a785](8e5a785)), closes [twilio#150](https://github.com/AsabuHere/twilio-cli-core/issues/150) * **release:** set `package.json` to 5.30.0 [skip ci] ([26e4594](26e4594)), closes [twilio#157](https://github.com/AsabuHere/twilio-cli-core/issues/157) [twilio#155](https://github.com/AsabuHere/twilio-cli-core/issues/155) * **release:** set `package.json` to 5.31.0 [skip ci] ([ad437be](ad437be)), closes [twilio#165](https://github.com/AsabuHere/twilio-cli-core/issues/165) [twilio#164](https://github.com/AsabuHere/twilio-cli-core/issues/164) * **release:** set `package.json` to 5.31.1 [skip ci] ([dc18140](dc18140)), closes [twilio#166](https://github.com/AsabuHere/twilio-cli-core/issues/166) [twilio#168](https://github.com/AsabuHere/twilio-cli-core/issues/168) * Add none output and silent flag ([twilio#139](https://github.com/AsabuHere/twilio-cli-core/issues/139)) ([d650f8e](d650f8e)) * bump axios version ([twilio#110](https://github.com/AsabuHere/twilio-cli-core/issues/110)) ([c8ab6d5](c8ab6d5)) * bump twilio package version ([6af0bdd](6af0bdd)) * Bump yarn from 1.21.1 to 1.22.0 ([twilio#79](https://github.com/AsabuHere/twilio-cli-core/issues/79)) ([e42042b](e42042b)) * Cache processing step for Travis builds ([twilio#145](https://github.com/AsabuHere/twilio-cli-core/issues/145)) ([33cc65d](33cc65d)) * drop shelljs requirement ([766860a](766860a)) * fix security vulnerability ([a0fc162](a0fc162)) * Integrate with Sonarcloud ([twilio#136](https://github.com/AsabuHere/twilio-cli-core/issues/136)) ([e88136d](e88136d)) * lint using twilio-style ([twilio#100](https://github.com/AsabuHere/twilio-cli-core/issues/100)) ([90ee3f3](90ee3f3)) * move encrypted tokens to environment variables ([8814745](8814745)) * pin eslint config dependencies ([d6d84e6](d6d84e6)) * raise Node requirement to v10 and upgrade dependencies ([twilio#84](https://github.com/AsabuHere/twilio-cli-core/issues/84)) ([b77eaaa](b77eaaa)) * refactor the Twilio vendor extensions into single object ([twilio#125](https://github.com/AsabuHere/twilio-cli-core/issues/125)) ([a2e0fca](a2e0fca)) * remove deprecated preview domain ([twilio#116](https://github.com/AsabuHere/twilio-cli-core/issues/116)) ([aadf90a](aadf90a)) * replace tags with vendor extension ([twilio#105](https://github.com/AsabuHere/twilio-cli-core/issues/105)) ([d4f4e97](d4f4e97)) * rotate slack token ([4a7db48](4a7db48)) * rotate sonarcloud token ([5423df6](5423df6)) * rotate sonarcloud token ([8de01c0](8de01c0)) * standardize User-Agent string: format and include more details ([twilio#140](https://github.com/AsabuHere/twilio-cli-core/issues/140)) ([2a42604](2a42604)) * update CI config to use new default branch name ([c5f654e](c5f654e)) * update dependencies after audit ([b8c2d3d](b8c2d3d)) * update dependencies after audit ([55da175](55da175)) * update oai specs ([twilio#113](https://github.com/AsabuHere/twilio-cli-core/issues/113)) ([3312861](3312861)) * update README to reflect default branch rename ([ee95673](ee95673)) * update template files ([453b697](453b697)) * update template files ([957dc75](957dc75)) * update template files ([89ca112](89ca112)) * update template files ([9fdc032](9fdc032)) * update Travis CI Slack notifications ([c145f03](c145f03)) * update vulnerabilities dependencies ([twilio#205](https://github.com/AsabuHere/twilio-cli-core/issues/205)) ([105be81](105be81))
Plugins can read
this.userConfig
but they can't use it to set other data. I am writing a plugin that I think would benefit from a central config store and writing data tothis.userConfig
would be ideal.I am proposing that we add a
plugins
property to the object and allow for plugins to add arbitrary data under their own namespace. e.g.Checklist
If you have questions, please file a support ticket, or create a GitHub Issue in this repository.