Skip to content

New unlocked packages (with and without namespace)#39

Merged
jongpie merged 14 commits intomainfrom
feature/new-unlocked-packages
Jun 27, 2023
Merged

New unlocked packages (with and without namespace)#39
jongpie merged 14 commits intomainfrom
feature/new-unlocked-packages

Conversation

@jongpie
Copy link
Owner

@jongpie jongpie commented Mar 16, 2023

Summary

Since it's been nearly 3 years since the last release, this PR is not focused on making any major enhancements or bugfixes to the existing code. Instead, this PR is primarily focused on improving 2 areas:

  1. Modernizing the repo: this PR includes the setup of dev tools like pre-commit hooks, prettier formatting, PMD scanning with sfdx scanner, document generation, and so on
  2. Switching to using 2nd Generation Packages (2GP) for distributing the code: to try to make this switch easier for orgs that currently have the repo's code deployed, I don't want to make any drastic functional changes yet. Subsequent releases will focus on enhancements & bugfixes

New Unlocked Packages

Fixes #34 by providing 2 new unlocked packages:

  • No namespace - this package can/should be used in orgs that have been previously been deploying the repo's code to their org. When the package is installed, the existing metadata in the org will be absorbed by the package, and orgs will then be able to easily upgrade to future versions of the package
  • Nebula namespace - this package can be used in orgs where having a namespace is preferred. All metadata is the same, with the exception that the test suite QueryAndSearch is not included in the namespaced package

Code Cleanup & Changes

  • Simplified directory structure within nebula-query-and-search directory
  • Added & updated project config files (package.json, .forceignore, .gitignore, .prettierrc, etc)
  • Bumped all Apex classes to API v57.0 (Spring '23)
  • Added @SuppressWarnings annotations in Apex test classes. Several of these suppressions will eventually be removed in future releases, once I have time to address some of these issues - but for now, I've suppressed all known warnings
  • Reformatted all of the Apex code, in a few ways
    • Changed casing of class names from Soql & Sosl to SOQL & SOSL
    • Added missing curly braces to any one-liner statements (e.g., statements like if (someBoolean) return; now uses curly braces like if (someBoolean) { return; }
    • Ran prettier on all files, including changing the tabWidth from 4 to 2 spaces
  • Added ApexDocs comments to the top of each class + added precommit hooks for auto-generating docs markdown any time an Apex class is committed (using apexdocs)
    • I'll add more ApexDocs comments in future releases for methods, enums, and inner classes - for now, I just wanted to get the basics working
  • Added Apex test suite QueryAndSearch
  • Made some very minor improvements & clean-up in the test classes

@jongpie jongpie force-pushed the feature/new-unlocked-packages branch from 3842739 to 323b1cd Compare March 16, 2023 05:12
@jongpie jongpie marked this pull request as ready for review May 12, 2023 00:42
@jongpie jongpie force-pushed the feature/new-unlocked-packages branch 2 times, most recently from 754bec5 to dc54e36 Compare June 27, 2023 16:47
@jongpie jongpie force-pushed the feature/new-unlocked-packages branch from dc54e36 to 81619c7 Compare June 27, 2023 16:55
@jongpie jongpie merged commit 293bec3 into main Jun 27, 2023
@jongpie jongpie deleted the feature/new-unlocked-packages branch June 27, 2023 18:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Release an unlocked package (2GP)

1 participant