Skip to content
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

feat: allow plugins to use the userConfig object to set arbitrary data #118

Merged
merged 8 commits into from
Apr 13, 2021

Conversation

philnash
Copy link
Contributor

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 to this.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.

this.userConfig.setPluginData('my-new-plugin', { this: 'is', really: 'cool' });

this.userConfig.getPluginData('my-new-plugin').really;
// => 'cool';

Checklist

  • I acknowledge that all my contributions will be made under the project's license
  • I have made a material change to the repo (functionality, testing, spelling, grammar)
  • I have read the Contribution Guidelines and my PR follows them
  • I have titled the PR appropriately
  • I have updated my branch with the main branch
  • I have added tests that prove my fix is effective or that my feature works

If you have questions, please file a support ticket, or create a GitHub Issue in this repository.

@philnash
Copy link
Contributor Author

Just to note, this is just an idea. As a plugin developer I can also use this.config.configDir and add my own config files in there. That may be preferable. Let me know what you think!

@thinkingserious
Copy link
Contributor

With respect to your comment about using this.config.configDir, what prompted you to seek this alternative?

@thinkingserious thinkingserious added status: waiting for feedback waiting for feedback from the submitter type: twilio enhancement feature request on Twilio's roadmap labels Mar 23, 2021
@@ -142,6 +143,18 @@ class ConfigData {
prompt.acked = true;
}

setPluginData(pluginName, data) {
Copy link
Contributor

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>.

Copy link
Contributor Author

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?

@philnash
Copy link
Contributor Author

With respect to your comment about using this.config.configDir, what prompted you to seek this alternative?

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 ~/.twilio-cli/ with a bunch of JSON files. Also, this.userConfig is read by the Twilio CLI every time regardless, so if a plugin used it for data then it would already be present by the time the plugin's command is called.

Arguments against are that a plugin could enter a lot of data into userConfig and that could slow down loading of all commands. In that situation it would be better for that plugin to have their own data store (or consider how much data it needs to store).

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.

@childish-sambino
Copy link
Contributor

I like the idea of giving each plugin its own space with .twilio-cli/. We have prior art for this in the way we allow for dynamic installation of modules (see requireInstall()).

There's also a getCommandPlugin() method which takes in the command instance and returns details about the plugin the command is from. This could be used to simplify the interface.

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.

@philnash
Copy link
Contributor Author

philnash commented Mar 25, 2021

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 pluginConfig getter and setter on the command object so that a plugin author could fetch it with:

const pluginConfig = this.pluginConfig;
// update pluginConfig
this.pluginConfig = newPluginConfig;

Could add this in BaseCommand, something like:

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?

@childish-sambino
Copy link
Contributor

I like that. Also prefer to wrap all this in a separate tree:

path.join(this.config.configDir, 'plugins', pluginName, 'config.json');

Then plugins get their own folder to stick anything else in (like OpenAPI docs ...).

@philnash
Copy link
Contributor Author

I like it. Will get an update to this PR prepped!

@philnash
Copy link
Contributor Author

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.

@childish-sambino
Copy link
Contributor

@philnash I've not forgotten about this, but may not have time to review until late next week.


test.it('overwrites config when it already exists', () => {
fs.mkdirSync(path.join(tempConfigDir.name, 'plugins', 'test-plugin'), { recursive: true });
fs.writeFileSync(
Copy link
Contributor

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.it('loads an existing plugin config', () => {
fs.mkdirSync(path.join(tempConfigDir.name, 'plugins', 'test-plugin'), { recursive: true });
fs.writeFileSync(
Copy link
Contributor

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).

fs.writeFileSync(this.filePath, JSON.stringify(config));
} catch (error) {
fs.mkdirSync(path.dirname(this.filePath), { recursive: true });
fs.writeFileSync(this.filePath, JSON.stringify(config));
Copy link
Contributor

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.

if (!this._pluginConfig) {
const pluginName = getCommandPlugin(this);
this._pluginConfig = new PluginConfig(this.config.configDir, pluginName);
}
Copy link
Contributor

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)

@philnash
Copy link
Contributor Author

Updated the read/write functions, which meant I updated to async functions.
Removed the fs methods from tests, which left two of the tests doing the same, so removed the unnecessary test.

Copy link
Contributor

@childish-sambino childish-sambino left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@@ -1,9 +1,10 @@
const path = require('path');
const fs = require('fs');
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: not required

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorted!

@philnash
Copy link
Contributor Author

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).

@childish-sambino childish-sambino removed the status: waiting for feedback waiting for feedback from the submitter label Apr 13, 2021
@childish-sambino
Copy link
Contributor

Yup, it will be included in the next release.

@childish-sambino childish-sambino merged commit 852477e into twilio:main Apr 13, 2021
@philnash philnash deleted the plugin-data branch April 13, 2021 23:31
github-actions bot pushed a commit to LakshmiRavali/twilio-cli-core that referenced this pull request Aug 17, 2021
# 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))
github-actions bot pushed a commit to LakshmiRavali/twilio-cli-core that referenced this pull request Aug 28, 2021
# 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))
github-actions bot pushed a commit to LakshmiRavali/twilio-cli-core that referenced this pull request Aug 29, 2021
# 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))
AsabuHere pushed a commit to AsabuHere/twilio-cli-core that referenced this pull request Nov 14, 2022
## 1.0.0 (2022-11-14)

### ⚠ BREAKING CHANGES

* unlocking oclif v2

Co-authored-by: sr010 <87780745+sr010@users.noreply.github.com>
Co-authored-by: sburman <sburman@twilio.com>
Co-authored-by: shrutiburman <87537688+shrutiburman@users.noreply.github.com>
* 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))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: twilio enhancement feature request on Twilio's roadmap
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants