Skip to content

Commit

Permalink
.
Browse files Browse the repository at this point in the history
  • Loading branch information
Nambiar committed Apr 7, 2020
0 parents commit ff5785e
Show file tree
Hide file tree
Showing 23 changed files with 7,428 additions and 0 deletions.
59 changes: 59 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
---
version: 2
jobs:
node-latest: &test
docker:
- image: node:latest
working_directory: ~/cli
steps:
- checkout
- restore_cache: &restore_cache
keys:
- v1-npm-{{checksum ".circleci/config.yml"}}-{{checksum "yarn.lock"}}
- v1-npm-{{checksum ".circleci/config.yml"}}
- run:
name: Install dependencies
command: yarn
- run:
name: Testing
command: yarn test
- run:
name: Submitting code coverage to codecov
command: |
./node_modules/.bin/nyc report --reporter text-lcov > coverage.lcov
curl -s https://codecov.io/bash | bash
node-8:
<<: *test
docker:
- image: node:8
node-10:
<<: *test
docker:
- image: node:10
cache:
<<: *test
steps:
- checkout
- run:
name: Install dependencies
command: yarn
- save_cache:
key: v1-npm-{{checksum ".circleci/config.yml"}}-{{checksum "yarn.lock"}}
paths:
- ~/cli/node_modules
- /usr/local/share/.cache/yarn
- /usr/local/share/.config/yarn

workflows:
version: 2
"SfTools":
jobs:
- node-latest
- node-8
- node-10
- cache:
filters:
tags:
only: /^v.*/
branches:
ignore: /.*/
11 changes: 11 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
root = true

[*]
indent_style = space
indent_size = 2
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.md]
trim_trailing_whitespace = false
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
*-debug.log
*-error.log
/.nyc_output
/dist
/package-lock.json
/tmp
/lib
node_modules
Binary file added .images/vscodeScreenshot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
32 changes: 32 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "attach",
"name": "Attach to Remote",
"address": "127.0.0.1",
"port": 9229,
"localRoot": "${workspaceFolder}"
},
{
"name": "Unit Tests",
"type": "node",
"request": "launch",
"protocol": "inspector",
"program": "${workspaceRoot}/node_modules/.bin/_mocha",
"args": [
"--require", "test/helpers/init.js",
"--require", "ts-node/register",
"--require", "source-map-support/register",
"--recursive",
"--reporter", "spec",
"test/**/*.test.ts"
],
"cwd": "${workspaceRoot}"
}
]
}
172 changes: 172 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,172 @@
sftools
=======

A compilation of Sfdx plugins that make working with Org Management/Test Runs easier.

[![Version](https://img.shields.io/npm/v/sftools.svg)](https://npmjs.org/package/@knambiar/sftools)
[![Appveyor CI](https://ci.appveyor.com/api/projects/status/github/Pyronewbic/sftools?branch=master&svg=true)](https://ci.appveyor.com/project/heroku/sftools/branch/master)
[![Codecov](https://codecov.io/gh/Pyronewbic/sftools/branch/master/graph/badge.svg)](https://codecov.io/gh/Pyronewbic/sftools)
[![Known Vulnerabilities](https://snyk.io/test/github/Pyronewbic/sftools/badge.svg)](https://snyk.io/test/github/Pyronewbic/sftools)
[![Downloads/week](https://img.shields.io/npm/dw/sftools.svg)](https://npmjs.org/package/@knambiar/sftools)
[![License](https://img.shields.io/npm/l/sftools.svg)](https://github.com/Pyronewbic/sftools/blob/master/package.json)

<!-- toc -->

<!-- tocstop -->
<!-- install -->
<!-- usage -->
```sh-session
$ npm install -g @knambiar/sftools
$ sfdx COMMAND
running command...
$ sfdx (-v|--version|version)
@knambiar/sftools/1.0.1 win32-x64 node-v12.0.0
$ sfdx --help [COMMAND]
USAGE
$ sfdx COMMAND
...
```
<!-- usagestop -->
<!-- commands -->
* [`sfdx tools:apex:test:run [name=value...] [-e <string>] [-l <string>] [-t <number>] [-n <string>] [-p] [-v <string>] [-u <string>] [--apiversion <string>] [--verbose] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`](#sfdx-toolsapextestrun-namevalue--e-string--l-string--t-number--n-string--p--v-string--u-string---apiversion-string---verbose---json---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal)
* [`sfdx tools:repo:deploy [name=value...] -t <string> -b <string> [-s] [-w <string>] [-u <string>] [--apiversion <string>] [--verbose] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`](#sfdx-toolsrepodeploy-namevalue--t-string--b-string--s--w-string--u-string---apiversion-string---verbose---json---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal)

## `sfdx tools:apex:test:run [name=value...] [-e <string>] [-l <string>] [-t <number>] [-n <string>] [-p] [-v <string>] [-u <string>] [--apiversion <string>] [--verbose] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`

```
USAGE
$ sfdx tools:apex:test:run [name=value...] [-e <string>] [-l <string>] [-t <number>] [-n <string>] [-p] [-v <string>]
[-u <string>] [--apiversion <string>] [--verbose] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-e, --expath=expath Path For The Exemption List
-l, --level=level Test Levels
-n, --classnames=classnames Classnames you're running if it
isn't one of the Log Levels
-p, --parallel Pass the flag to run tests in
parallel mode in your Org
-t, --retrytime=retrytime Ms to wait for a class before it is
retried
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
-v, --targetdevhubusername=targetdevhubusername username or alias for the dev hub
org; overrides default dev hub org
--apiversion=apiversion override the api version used for
api requests made by this command
--json format output as json
--loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
this command invocation
--verbose emit additional command output to
stdout
EXAMPLE
$ sfdx tools:apex:test:run -e <Path to exemption file> -t <retry time>
This runs tests in serial/parallel mode - while aborting any ApexClasses that have been stuck in a Loop (A
Known platform bug), and updates values on ApexTestResult.
Also Saves Junits to /tests, so you can process them
```

_See code: [lib\commands\tools\apex\test\run.js](https://github.com/Pyronewbic/sftools/blob/v1.0.1/lib\commands\tools\apex\test\run.js)_

## `sfdx tools:repo:deploy [name=value...] -t <string> -b <string> [-s] [-w <string>] [-u <string>] [--apiversion <string>] [--verbose] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`

```
USAGE
$ sfdx tools:repo:deploy [name=value...] -t <string> -b <string> [-s] [-w <string>] [-u <string>] [--apiversion
<string>] [--verbose] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-b, --cbranch=cbranch (required) Current branch
-s, --settings Try To deploy settings to org first
(If found)
-t, --tbranch=tbranch (required) Target Branch to compare
to
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
-w, --workspace=workspace workspace where you have the
components stored
--apiversion=apiversion override the api version used for
api requests made by this command
--json format output as json
--loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
this command invocation
--verbose emit additional command output to
stdout
EXAMPLE
$ sfdx tools:repo:deploy -t "origin/CQA" -b "origin/xyzRelease" -s -u orgName
Deploys the difference between two branches to an org
1) Tries to Deploy any modified settings first.
2) If successful, Deploys the rest of the source to the org
3) Creates a list of deployed source and adds it to a json file, for reference
```

_See code: [lib\commands\tools\repo\deploy.js](https://github.com/Pyronewbic/sftools/blob/v1.0.1/lib\commands\tools\repo\deploy.js)_
<!-- commandsstop -->
* [`sfdx tools:apex:test:run [name=value...] [-e <string>] [-l <string>] [-t <number>] [-n <string>] [-p] [-v <string>] [-u <string>] [--apiversion <string>] [--verbose] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`](#sfdx-toolsapextestrun-namevalue--e-string--l-string--t-number--n-string--p--v-string--u-string---apiversion-string---verbose---json---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal)

## `sfdx tools:apex:test:run [name=value...] [-e <string>] [-l <string>] [-t <number>] [-n <string>] [-p] [-v <string>] [-u <string>] [--apiversion <string>] [--verbose] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`

```
USAGE
$ sfdx tools:apex:test:run [name=value...] [-e <string>] [-l <string>] [-t <number>] [-n <string>] [-p] [-v <string>]
[-u <string>] [--apiversion <string>] [--verbose] [--json] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
OPTIONS
-e, --expath=expath Path For The Exemption List
-l, --level=level Test Levels
-n, --classnames=classnames Classnames you're running if it
isn't one of the Log Levels
-p, --parallel Pass the flag to run tests in
parallel mode in your Org
-t, --retrytime=retrytime Ms to wait for a class before it is
retried
-u, --targetusername=targetusername username or alias for the target
org; overrides default target org
-v, --targetdevhubusername=targetdevhubusername username or alias for the dev hub
org; overrides default dev hub org
--apiversion=apiversion override the api version used for
api requests made by this command
--json format output as json
--loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
this command invocation
--verbose emit additional command output to
stdout
EXAMPLE
$ sfdx tools:apex:test:run -e <Path to exemption file> -t <retry time>
This runs tests in serial/parallel mode - while aborting any ApexClasses that have been stuck in a Loop (A
Known platform bug), and updates values on ApexTestResult. Also Saves Junits to /tests
```

_See code: [lib\commands\tools\apex\test\run.js](https://github.com/Pyronewbic/sftools/blob/v1.0.1/lib\commands\tools\apex\test\run.js)_
22 changes: 22 additions & 0 deletions appveyor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
environment:
nodejs_version: "10"
cache:
- '%LOCALAPPDATA%\Yarn -> appveyor.yml'
- node_modules -> yarn.lock

install:
- ps: Install-Product node $env:nodejs_version x64
- yarn
test_script:
- yarn test

after_test:
- .\node_modules\.bin\nyc report --reporter text-lcov > coverage.lcov
- ps: |
$env:PATH = 'C:\msys64\usr\bin;' + $env:PATH
Invoke-WebRequest -Uri 'https://codecov.io/bash' -OutFile codecov.sh
bash codecov.sh
build: off

4 changes: 4 additions & 0 deletions bin/run
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/usr/bin/env node

require('@oclif/command').run()
.catch(require('@oclif/errors/handle'))
3 changes: 3 additions & 0 deletions bin/run.cmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
@echo off

node "%~dp0\run" %*
6 changes: 6 additions & 0 deletions messages/org.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"commandDescription": "print a greeting and your org IDs",
"nameFlagDescription": "name to print",
"forceFlagDescription": "example boolean flag",
"errorNoOrgResults": "No results found for the org '%s'."
}
Loading

0 comments on commit ff5785e

Please sign in to comment.