-
Notifications
You must be signed in to change notification settings - Fork 6
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
Merge tslint-refactor into master #156
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sometimes when a CLI command gets a failed response from Salesforce, the JSON response from the server is NOT sent to the "result" key in the JSON that's returned by the CLI. Instead, it gets embedded as part of the "stack" key and needs to be extracted. Related to: #117
Not sure why these changes were made, but I don't see any harm in keeping them in place. Adding to the v0.0.93 build.
Bringing plugin in-line with latest standards from sfdx plugins:generate Now tracking .oclif.manifest.json and npm-shrinkwrap.json. Updated .gitignore to ensure proper tracking.
Bringing the latest dependencies and scripts standards the package.json that's auto-generated by sfdx plugins:generate. Main changes are the explicit use of the Instanbul CLI (nyc) and the addition of a "topics" stanza inside of the "oclif" stanza.
Update .circleci/config.yml to match the current default config created by sfdx plugins:generate Related to: #133
Start explorations of automated testing by bringing the boilerplate test code up to the most recent version from sfdx plugins:generate Related to: #133
Delete the old "hello world" mocha tests and add my first test for falcon:adk:create. Related to: #133
Customize tslint.json so that style settings fall in line with the standards we're already using on this project.
We will separate unit and integration tests in order to make it clear when running CI jobs which type of test is being run. Also, we'll focus the postpack tests on integration tests. Related to: #133
Some tests will require files to be saved to the local environment. Those files should be stored in this folder, then removed at the start of each test run.
Create a custom CLI command executor that is capable of accepting mock stdin input. This was necessary to properly test Falcon commands that expect interactive user input to properly function. Related to: #133
Add environment variables that are set during test initialization to ensure portability between local and CI Build environments Related to: #133
Modify logic that tests the falcon:adk:create command. Finalize the first true integration test (works on local, not sure if it will work on CircleCI yet). Related to: #133
Update dependency versions. Add new development dependencies (cross-spawn and del) to support automated tests in Mocha. Related to: #133
Using the sfdx-isv/testbed-falcon-adk project as a baseline, this group of files is the first commit related to creating a set of ADK test projects for use during automated testing. Related to: #133
Fixed missing code to make use of the -f flag in falcon:adk:install. Renamed --configfile flag to --recipefile (single char remains -f). Cleaned up multiple ts-lint errors/warnings in the files touched by this fix. Includes updates to tslint rules. Related to: #139
Utilize additional ExecOptions properties that specify whether stdout and stderr have output echoed to the console during tests. Set the "falcon:adk:create" test to skip to ease dev of other tests. Related to: #133
Create falcon/adk/install.test.ts. Create secondary recipe file falcon-test-01B-recipe.json. Update init.js with env var that tracks location of Falcon Test TempDir. Related to: #133
Getting close enough on the core framework and unit test code to want to start working on the CirlceCI side of things. This commit forms a solid baseline to use while working on .circleci/config.yml Related to: #133
Move the "module" sfdx-falcon-async into a single utils file sfdx-falcon-util/async.ts.
Add a 3 second delay to before beginning extraction operations. Update the "error" event handler for the unzipper call to parse incoming error objects and construct a well-formed SfdxFalconError.
Previously, only the "restart" Confirmation Answer was being checked inside of the confirmRestart() func. This led to less flexible behavior than intended. By adding a check for the "proceed" Confirmation Answer, we give the Confirm Restart prompts a way to guarantee that the prompt group does not repeat.
Moved the ShellExecResult interface into the Falcon Types module. Renamed a couple things. Functionality is the same.
For the "finalize Git" tasks, have all tasks after the first Git executable check look for success/failure of each previous step and SKIP themselves if the previous step was unsuccessful. This required that we set the "exitOnError" option to FALSE for the Git operations task group, then process the outcome of the task run as a possible exception.
Added "title" attribute to Interview Groups. Created titles for all interview groups in create-appx-package-project.ts. Fixed spacing issues after confirmation questions are show for Prompts.
Commented out the Unmanaged 1GP, Unlocked, and Managed 2GP package type options. This effectively disables creation of projects with those options.
APK create
Debug code was causing the questions-building function to be run TWICE when SfdxFalconPrompt.prompt() was called. To fix, we now extract the questions into a local var, then use that var for debug and the Inquirer prompt() call.
Ensure that if someone picks a "1GP:managed" project type, they do not see any packaging orgs that only have unmanaged packages.
Short inquirer lists look better when they have a leading separator, so I added one to the project-type choice list.
Wire up the "Environment Hub" check code. The Yeoman "initialization" tasks can now successfully identify EnvHub orgs.
Modify the "standardName" RegEx to allow apostrophes.
Moved Git cloning logic to async in order to provide a consistent UX for times when the Falcon plugin is "doing something". Starting this effort with falcon:apk:clone
Prior to this fix, if the packaging org did not have any uploaded package versions, an exception would be thrown when trying to access the latest release or beta package version IDs. With this fix, if no package versions have been uploaded, the string "UNAVAILABLE" is substituted in.
Continued work towards automating the selection of package org alias on project cloning.
Add the logic needed to automatically determine the pkgOrgAlias based on the managedPackageId value from the cloned project's sfdx-project.json file.
Fixed "falcon:apk:clone not running Git Remote URI validation during command initialization". Fixed "git remote seen as invalid if remote repo has no commits during falcon:apk:create".
Wired up create-appx-demo-project.ts with the new way of doing Yeoman interviews and file creation.
At this point, most changes to the four Yeoman Generators is done. Any changes from here should be bug fixes or adjustments due to new APK/ADK project boilerplate.
Final push to close out all of the tslint errors. Pretty sure I got 'em all. We'll see.
Due to changes in the CLI in v45.8.1 (March 28, 2019), all --json output started to come out color-coded. This broke our parsing logic. Shutting off terminal colors in the shell.exec() code prevents the parsing errors.
Update mock input sequence inside create.test.ts. Update testbed ADK project to use the latest schema for sfdx-project.json. Turn tslint back on as part of post-test actions. Related to: #139
This is an auto-generated file, but I can't figure out when it actually gets updated. I thought it was when npm install was run, but it has remained unbuilt for awhile now. The NPM shrinkwrap file is still being updated though. I'm going to delete this for now.
This is the final batch of fixes to eliminate all tslint errors. Hooray! Related to: #139
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains
So, a lot more than just tslint fixes in this one, in spite of the name of this branch. :-)