From 56611f49593de90b0bf1d23c3e1a9393726cfb86 Mon Sep 17 00:00:00 2001 From: Mike Donnalley Date: Fri, 29 Mar 2024 14:06:42 -0600 Subject: [PATCH 1/3] feat: add spring 24 blog --- website/blog/2020-08-26-summer-update.md | 2 +- website/blog/2024-03-29-spring-update.md | 60 ++++++++++++++++++++++++ 2 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 website/blog/2024-03-29-spring-update.md diff --git a/website/blog/2020-08-26-summer-update.md b/website/blog/2020-08-26-summer-update.md index e3bec70c..09436902 100644 --- a/website/blog/2020-08-26-summer-update.md +++ b/website/blog/2020-08-26-summer-update.md @@ -1,5 +1,5 @@ --- -title: oclif Summer Update +title: oclif Summer 2020 Update --- Hello oclif developers! We hope you are all doing well. diff --git a/website/blog/2024-03-29-spring-update.md b/website/blog/2024-03-29-spring-update.md new file mode 100644 index 00000000..460609d0 --- /dev/null +++ b/website/blog/2024-03-29-spring-update.md @@ -0,0 +1,60 @@ +--- +title: oclif Spring 2024 Update +--- + +Hello oclif developers! It's been an while since we last uploaded a blog - and *a lot* has happened. + +The work we've been focusing on over the past couple of years focuses on a few high-level areas: +- Improving `@oclif/core` +- ESM Support +- Improving and revitalizing oclif.io +- Reengaging the oclif community + +## Improving `@oclif/core` + +Since we [announced `@oclif/core` over three years ago](./2021-03-01-introducing-oclif-core.md), we've released two new major versions, each packed with a lot of features that we're really exited about. + +To name just a few: +- Full support for ESM as well as interoperability with CommonJS (more on this below). +- We introduced configurable command discovery features that gives you more control over how commands are loaded at runtime. Check out the [docs](/docs/command_discovery_strategies.md). +- We added `preparse` hook that allows you to manipulate the provided arguments before they're parsed. Salesforce used this to [implement](https://github.com/salesforcecli/cli/pull/1536) a neat `--flags-dir` feature that translates files into flags. +- There's now a `Performance` class that you can use to track performance inside of `@oclif/core` and your own CLI or plugin. Check out the [docs](/docs/performance). +- A new flag type, `Flags.option`, lets you define a flag with a preset list of options, which typescript will then use to infer the flag's type. +- Flags now have a `relationship` property that allows you to define more complex relationships between flags. Check out the [flags docs](/docs/flags) for more. +- Flags now have a `defaultHelp` property that allows you to set the human readable default value in the help. This is useful when your flag's `parse` method returns a complex type like an object or a class. Check out the [flags docs](/docs/flags) for more. +- Commands now have a `hiddenAliases` property that allows you to define aliases that should be hidden from the user. Super helpful when trying to wean users off a deprecated command. +- You can now use [bun](https://bun.sh/) or [tsx](https://www.npmjs.com/package/tsx) as dev runtimes (as opposed to node or ts-node) +- A command's usage, args, and flags are now shown whenever a user forgets to provide a required arg or flag or when they provided a non-existent flag. + +As well as many other great changes! + +If you need help migrating to the latest version, you can head over to [core's README](https://github.com/oclif/core/?tab=readme-ov-file#-migrating) where we have links to the migration guides. Feel free to open a new [discussion](https://github.com/oclif/core/discussions) if you need more hands-on help from us or the community. + +## ESM Support + +Version 3 of `@oclif/core` introduced full support for developing ESM plugins and CLIs in addition to offering full support for interoperability between CommonJS plugins and ESM plugins. + +Put more simply, this means that you can migrate your CLI to ESM while keeping individual plugins in CommonJS (or vice versa). This makes the upgrade path much simpler for you and means that you don't have to worry about any community plugins that might have migrated to ESM before you (like all the `@oclif` plugins) or are staunchly sticking with CommonJS for the forseeable future. + +You can read more about this [here](/docs/esm.md). + +## Improving and Revitalizing oclif.io + +Another area of focus for us has been improving our docs site, [oclif.io](htttps://oclif.io). + +While improving the quality and accuracy of the documentation was our priority, we also took the time to upgrade to the latest version of [docusaurus](https://docusaurus.io/), which gave our site a much-need facelift as well as cool new features like dark mode and announcements. + +We'd love to hear any feedback (or about any issue!) over at the [repo for oclif.io](https://github.com/oclif/oclif.github.io). + +## Reengaging the oclif Community + +Lastly, our biggest priority at the moment is to reengage the oclif community. We understand how frustrating it might have been over the years to see your issues and pull requests go unacknowledged. We apologize for not prioritizing the community and are earnestly trying to make sure that every issue and pull request gets it's deserved attention going forward. + +We've also opened up github discussions for [@oclif/core](https://github.com/oclif/core/discussions) and the [oclif cli](https://github.com/oclif/oclif/discussions), where you can now post any questions or ideas you might have, which we hope you take advantage of - we'd love to hear from you! + +One more thing: we intend to publicly post our roadmap so that you can have more visibility into what we're working on. So stay tuned for that! + + +All our best, + +The oclif team From 71b52da5cfa3020755850689339c2e075e2f0b4e Mon Sep 17 00:00:00 2001 From: Juliet Shackell Date: Fri, 29 Mar 2024 15:20:00 -0700 Subject: [PATCH 2/3] Update 2024-03-29-spring-update.md --- website/blog/2024-03-29-spring-update.md | 55 +++++++++++------------- 1 file changed, 26 insertions(+), 29 deletions(-) diff --git a/website/blog/2024-03-29-spring-update.md b/website/blog/2024-03-29-spring-update.md index 460609d0..73113c57 100644 --- a/website/blog/2024-03-29-spring-update.md +++ b/website/blog/2024-03-29-spring-update.md @@ -2,58 +2,55 @@ title: oclif Spring 2024 Update --- -Hello oclif developers! It's been an while since we last uploaded a blog - and *a lot* has happened. +Hello oclif developers! It's been a while since we last uploaded a blog - and *a lot* has happened. -The work we've been focusing on over the past couple of years focuses on a few high-level areas: +We've been focusing on these high-level areas over the past couple of years: - Improving `@oclif/core` - ESM Support - Improving and revitalizing oclif.io -- Reengaging the oclif community +- Re-engaging the oclif community ## Improving `@oclif/core` -Since we [announced `@oclif/core` over three years ago](./2021-03-01-introducing-oclif-core.md), we've released two new major versions, each packed with a lot of features that we're really exited about. +Since we [announced `@oclif/core` over three years ago](./2021-03-01-introducing-oclif-core.md), we've released two new major versions, each packed with lots of features that we're really excited about. -To name just a few: -- Full support for ESM as well as interoperability with CommonJS (more on this below). -- We introduced configurable command discovery features that gives you more control over how commands are loaded at runtime. Check out the [docs](/docs/command_discovery_strategies.md). -- We added `preparse` hook that allows you to manipulate the provided arguments before they're parsed. Salesforce used this to [implement](https://github.com/salesforcecli/cli/pull/1536) a neat `--flags-dir` feature that translates files into flags. -- There's now a `Performance` class that you can use to track performance inside of `@oclif/core` and your own CLI or plugin. Check out the [docs](/docs/performance). -- A new flag type, `Flags.option`, lets you define a flag with a preset list of options, which typescript will then use to infer the flag's type. -- Flags now have a `relationship` property that allows you to define more complex relationships between flags. Check out the [flags docs](/docs/flags) for more. -- Flags now have a `defaultHelp` property that allows you to set the human readable default value in the help. This is useful when your flag's `parse` method returns a complex type like an object or a class. Check out the [flags docs](/docs/flags) for more. -- Commands now have a `hiddenAliases` property that allows you to define aliases that should be hidden from the user. Super helpful when trying to wean users off a deprecated command. -- You can now use [bun](https://bun.sh/) or [tsx](https://www.npmjs.com/package/tsx) as dev runtimes (as opposed to node or ts-node) -- A command's usage, args, and flags are now shown whenever a user forgets to provide a required arg or flag or when they provided a non-existent flag. +Here are some of these changes: +- Full support for ESM and interoperability with CommonJS (more on this topic below). +- Configurable command discovery features that give you more control over how commands are loaded at runtime. Check out the [docs](/docs/command_discovery_strategies.md). +- A new `preparse` hook that allows you to manipulate the provided arguments before they're parsed. Salesforce used this hook to [implement](https://github.com/salesforcecli/cli/pull/1536) a neat `--flags-dir` feature that translates files into flags. +- A new `Performance` class that you can use to track performance inside of `@oclif/core` and your own CLI or plugin. Check out the [docs](/docs/performance). +- A new flag type, `Flags.option`, that lets you define a flag with a preset list of options. Typescript then uses the options to infer the flag's type. +- Flags now have a `relationship` property that allows you to define more complex relationships between flags. Check out the [flags docs](/docs/flags) for more information. +- Flags now have a `defaultHelp` property that allows you to set the human readable default value in the command help. This property is useful when your flag's `parse` method returns a complex type, such as an object or a class. Check out the [flags docs](/docs/flags) for more. +- Commands now have a `hiddenAliases` property that allows you to define aliases that you want to hide from the user. The property is super helpful when you're trying to wean users off a deprecated command. +- You can now use [bun](https://bun.sh/) or [tsx](https://www.npmjs.com/package/tsx) as dev runtimes (as opposed to node or ts-node). +- A command's usage, args, and flags are now shown whenever a user forgets to provide a required arg or flag, or when they provided a non-existent flag. -As well as many other great changes! - -If you need help migrating to the latest version, you can head over to [core's README](https://github.com/oclif/core/?tab=readme-ov-file#-migrating) where we have links to the migration guides. Feel free to open a new [discussion](https://github.com/oclif/core/discussions) if you need more hands-on help from us or the community. +If you need help migrating to the latest version, head over to [core's README](https://github.com/oclif/core/?tab=readme-ov-file#-migrating) which has links to the migration guides. Feel free to open a new [discussion](https://github.com/oclif/core/discussions) if you need more hands-on help from us or the community. ## ESM Support -Version 3 of `@oclif/core` introduced full support for developing ESM plugins and CLIs in addition to offering full support for interoperability between CommonJS plugins and ESM plugins. +Version 3 of `@oclif/core` introduced full support for developing ESM plugins and CLIs. It also offered full support for interoperability between CommonJS and ESM plugins. -Put more simply, this means that you can migrate your CLI to ESM while keeping individual plugins in CommonJS (or vice versa). This makes the upgrade path much simpler for you and means that you don't have to worry about any community plugins that might have migrated to ESM before you (like all the `@oclif` plugins) or are staunchly sticking with CommonJS for the forseeable future. +Put more simply, you can now migrate your CLI to ESM while keeping individual plugins in CommonJS (or vice versa). The upgrade path is now much simpler for you. You also don't need to worry about any community plugins that have migrated to ESM before you did (such as all the `@oclif` plugins) or are staunchly sticking with CommonJS for the foreseeable future. -You can read more about this [here](/docs/esm.md). +Read more about this topic [here](/docs/esm.md). ## Improving and Revitalizing oclif.io -Another area of focus for us has been improving our docs site, [oclif.io](htttps://oclif.io). - -While improving the quality and accuracy of the documentation was our priority, we also took the time to upgrade to the latest version of [docusaurus](https://docusaurus.io/), which gave our site a much-need facelift as well as cool new features like dark mode and announcements. +Another area of focus for us has been improving our documentation site, [oclif.io](htttps://oclif.io). -We'd love to hear any feedback (or about any issue!) over at the [repo for oclif.io](https://github.com/oclif/oclif.github.io). +While improving the quality and accuracy of the documentation was our priority, we also took the time to upgrade to the latest version of [docusaurus](https://docusaurus.io/). This new version gave our site a much-needed facelift, as well as cool new features such as dark mode and announcements. -## Reengaging the oclif Community +If you have any feedback or are running into issues, we want to hear about it. Just create an issue in the [oclif.io repo](https://github.com/oclif/oclif.github.io/issues). -Lastly, our biggest priority at the moment is to reengage the oclif community. We understand how frustrating it might have been over the years to see your issues and pull requests go unacknowledged. We apologize for not prioritizing the community and are earnestly trying to make sure that every issue and pull request gets it's deserved attention going forward. +## Re-engaging the oclif Community -We've also opened up github discussions for [@oclif/core](https://github.com/oclif/core/discussions) and the [oclif cli](https://github.com/oclif/oclif/discussions), where you can now post any questions or ideas you might have, which we hope you take advantage of - we'd love to hear from you! +Lastly, our biggest priority at the moment is to re-engage the oclif community. We understand how frustrating it has been over the years to see your issues and pull requests go unacknowledged. We apologize for not prioritizing the community, and are earnestly trying to make sure that every issue and pull request gets the attention it deserves going forward. -One more thing: we intend to publicly post our roadmap so that you can have more visibility into what we're working on. So stay tuned for that! +We also opened up GitHub discussions for [@oclif/core](https://github.com/oclif/core/discussions) and the [oclif CLI](https://github.com/oclif/oclif/discussions), where you can now post your questions or ideas. We hope you take advantage of them, we love hearing from you! +One last thing: we intend to publicly post our roadmap so you have more visibility into what we're working on. Stay tuned! All our best, From d1fa203f09a38d9caea7f7c23a1cc36cd81b9323 Mon Sep 17 00:00:00 2001 From: Mike Donnalley Date: Mon, 1 Apr 2024 08:33:04 -0600 Subject: [PATCH 3/3] chore: light edit --- website/blog/2024-03-29-spring-update.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/blog/2024-03-29-spring-update.md b/website/blog/2024-03-29-spring-update.md index 73113c57..fd99a921 100644 --- a/website/blog/2024-03-29-spring-update.md +++ b/website/blog/2024-03-29-spring-update.md @@ -16,8 +16,8 @@ Since we [announced `@oclif/core` over three years ago](./2021-03-01-introducing Here are some of these changes: - Full support for ESM and interoperability with CommonJS (more on this topic below). -- Configurable command discovery features that give you more control over how commands are loaded at runtime. Check out the [docs](/docs/command_discovery_strategies.md). -- A new `preparse` hook that allows you to manipulate the provided arguments before they're parsed. Salesforce used this hook to [implement](https://github.com/salesforcecli/cli/pull/1536) a neat `--flags-dir` feature that translates files into flags. +- Configurable command discovery strategies that give you more control over how commands are loaded at runtime. Check out the [docs](/docs/command_discovery_strategies.md). +- A new `preparse` hook that allows you to manipulate the provided arguments before they're parsed. Salesforce used this hook to [implement](https://github.com/salesforcecli/cli/pull/1536) a neat `--flags-dir` feature that translates local files into flags. - A new `Performance` class that you can use to track performance inside of `@oclif/core` and your own CLI or plugin. Check out the [docs](/docs/performance). - A new flag type, `Flags.option`, that lets you define a flag with a preset list of options. Typescript then uses the options to infer the flag's type. - Flags now have a `relationship` property that allows you to define more complex relationships between flags. Check out the [flags docs](/docs/flags) for more information. @@ -46,7 +46,7 @@ If you have any feedback or are running into issues, we want to hear about it. J ## Re-engaging the oclif Community -Lastly, our biggest priority at the moment is to re-engage the oclif community. We understand how frustrating it has been over the years to see your issues and pull requests go unacknowledged. We apologize for not prioritizing the community, and are earnestly trying to make sure that every issue and pull request gets the attention it deserves going forward. +Lastly, our biggest priority at the moment is to re-engage the oclif community. We understand how frustrating it has been over the years to see your issues and pull requests go unacknowledged. We apologize for not prioritizing the community, and are earnestly trying to make sure that every issue and pull request gets the attention it deserves going forward. We also opened up GitHub discussions for [@oclif/core](https://github.com/oclif/core/discussions) and the [oclif CLI](https://github.com/oclif/oclif/discussions), where you can now post your questions or ideas. We hope you take advantage of them, we love hearing from you!