- 1. Property
SASjs Config File > binaryFolders
- 2. Property
SASjs Config File > buildOutputFolder
- 3. Property
SASjs Config File > defaultTarget
- 4. Property
SASjs Config File > docConfig
- 4.1. Property
SASjs Config File > docConfig > displayMacroCore
- 4.2. Property
SASjs Config File > docConfig > outDirectory
- 4.3. Property
SASjs Config File > docConfig > dataControllerUrl
- 4.4. Property
SASjs Config File > docConfig > enableLineage
- 4.5. Property
SASjs Config File > docConfig > doxyContent
- 4.5.1. Property
SASjs Config File > docConfig > doxyContent > favIcon
- 4.5.2. Property
SASjs Config File > docConfig > doxyContent > footer
- 4.5.3. Property
SASjs Config File > docConfig > doxyContent > header
- 4.5.4. Property
SASjs Config File > docConfig > doxyContent > layout
- 4.5.5. Property
SASjs Config File > docConfig > doxyContent > logo
- 4.5.6. Property
SASjs Config File > docConfig > doxyContent > readMe
- 4.5.7. Property
SASjs Config File > docConfig > doxyContent > stylesheet
- 4.5.8. Property
SASjs Config File > docConfig > doxyContent > path
- 4.5.1. Property
- 4.1. Property
- 5. Property
SASjs Config File > httpsAgentOptions
- 5.1. Property
SASjs Config File > httpsAgentOptions > allowInsecureRequests
- 5.2. Property
SASjs Config File > httpsAgentOptions > caPath
- 5.3. Property
SASjs Config File > httpsAgentOptions > keyFile
- 5.4. Property
SASjs Config File > httpsAgentOptions > certFile
- 5.5. Property
SASjs Config File > httpsAgentOptions > requestCert
- 5.6. Property
SASjs Config File > httpsAgentOptions > rejectUnauthorized
- 5.1. Property
- 6. Property
SASjs Config File > buildConfig
- 6.1. Property
SASjs Config File > buildConfig > buildOutputFileName
- 6.2. Property
SASjs Config File > buildConfig > buildOutputFolder
- 6.3. Property
SASjs Config File > buildConfig > buildResultsFolder
- 6.4. Property
SASjs Config File > buildConfig > initProgram
- 6.5. Property
SASjs Config File > buildConfig > termProgram
- 6.6. Property
SASjs Config File > buildConfig > macroVars
- 6.1. Property
- 7. Property
SASjs Config File > deployConfig
- 8. Property
SASjs Config File > serviceConfig
- 9. Property
SASjs Config File > jobConfig
- 10. Property
SASjs Config File > streamConfig
- 10.1. Property
SASjs Config File > streamConfig > assetPaths
- 10.2. Property
SASjs Config File > streamConfig > streamLogo
- 10.3. Property
SASjs Config File > streamConfig > streamWeb
- 10.4. Property
SASjs Config File > streamConfig > streamWebFolder
- 10.5. Property
SASjs Config File > streamConfig > webSourcePath
- 10.6. Property
SASjs Config File > streamConfig > streamServiceName
- 10.1. Property
- 11. Property
SASjs Config File > testConfig
- 12. Property
SASjs Config File > macroFolders
- 13. Property
SASjs Config File > programFolders
- 14. Property
SASjs Config File > syncFolder
- 15. Property
SASjs Config File > targets
- 15.1. SASjs Config File > targets > targets items
- 15.1.1. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets
- 15.1.1.1. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > name
- 15.1.1.2. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > serverType
- 15.1.1.3. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > appLoc
- 15.1.1.4. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > binaryFolders
- 15.1.1.5. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > buildConfig
- 15.1.1.5.1. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > buildConfig > buildOutputFileName
- 15.1.1.5.2. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > buildConfig > buildOutputFolder
- 15.1.1.5.3. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > buildConfig > buildResultsFolder
- 15.1.1.5.4. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > buildConfig > initProgram
- 15.1.1.5.5. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > buildConfig > termProgram
- 15.1.1.5.6. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > buildConfig > macroVars
- 15.1.1.5.1. Property
- 15.1.1.6. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > contextName
- 15.1.1.7. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > deployConfig
- 15.1.1.8. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > httpsAgentOptions
- 15.1.1.8.1. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > httpsAgentOptions > allowInsecureRequests
- 15.1.1.8.2. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > httpsAgentOptions > caPath
- 15.1.1.8.3. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > httpsAgentOptions > keyFile
- 15.1.1.8.4. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > httpsAgentOptions > certFile
- 15.1.1.8.5. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > httpsAgentOptions > requestCert
- 15.1.1.8.6. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > httpsAgentOptions > rejectUnauthorized
- 15.1.1.8.1. Property
- 15.1.1.9. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > serverUrl
- 15.1.1.10. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > serviceConfig
- 15.1.1.10.1. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > serviceConfig > serviceFolders
- 15.1.1.10.2. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > serviceConfig > initProgram
- 15.1.1.10.3. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > serviceConfig > termProgram
- 15.1.1.10.4. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > serviceConfig > macroVars
- 15.1.1.10.1. Property
- 15.1.1.11. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > jobConfig
- 15.1.1.11.1. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > jobConfig > jobFolders
- 15.1.1.11.2. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > jobConfig > initProgram
- 15.1.1.11.3. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > jobConfig > termProgram
- 15.1.1.11.4. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > jobConfig > macroVars
- 15.1.1.11.1. Property
- 15.1.1.12. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > docConfig
- 15.1.1.12.1. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > docConfig > displayMacroCore
- 15.1.1.12.2. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > docConfig > outDirectory
- 15.1.1.12.3. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > docConfig > dataControllerUrl
- 15.1.1.12.4. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > docConfig > enableLineage
- 15.1.1.12.5. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > docConfig > doxyContent
- 15.1.1.12.5.1. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > docConfig > doxyContent > favIcon
- 15.1.1.12.5.2. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > docConfig > doxyContent > footer
- 15.1.1.12.5.3. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > docConfig > doxyContent > header
- 15.1.1.12.5.4. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > docConfig > doxyContent > layout
- 15.1.1.12.5.5. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > docConfig > doxyContent > logo
- 15.1.1.12.5.6. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > docConfig > doxyContent > readMe
- 15.1.1.12.5.7. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > docConfig > doxyContent > stylesheet
- 15.1.1.12.5.8. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > docConfig > doxyContent > path
- 15.1.1.12.5.1. Property
- 15.1.1.12.1. Property
- 15.1.1.13. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > streamConfig
- 15.1.1.13.1. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > streamConfig > assetPaths
- 15.1.1.13.2. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > streamConfig > streamLogo
- 15.1.1.13.3. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > streamConfig > streamWeb
- 15.1.1.13.4. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > streamConfig > streamWebFolder
- 15.1.1.13.5. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > streamConfig > webSourcePath
- 15.1.1.13.6. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > streamConfig > streamServiceName
- 15.1.1.13.1. Property
- 15.1.1.14. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > syncDirectories
- 15.1.1.15. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > syncFolder
- 15.1.1.16. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > testConfig
- 15.1.1.16.1. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > testConfig > initProgram
- 15.1.1.16.2. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > testConfig > termProgram
- 15.1.1.16.3. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > testConfig > macroVars
- 15.1.1.16.4. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > testConfig > testSetUp
- 15.1.1.16.5. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > testConfig > testTearDown
- 15.1.1.16.1. Property
- 15.1.1.17. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > macroFolders
- 15.1.1.18. Property
SASjs Config File > targets > targets items > anyOf > SASjs Targets > programFolders
- 15.1.1.1. Property
- 15.1.1. Property
- 15.1. SASjs Config File > targets > targets items
Title: SASjs Config File
Type | object |
Required | No |
Additional properties | [Any type: allowed] |
Default | {} |
Defined in | https://raw.githubusercontent.com/sasjs/utils/main/src/types/sasjsconfig-schema.json |
Description: The SASjs Config file provides the settings and structure for your SASjs project.
Example:
{
"macroFolders": [
"macros"
],
"programFolders": [
"programs"
],
"binaryFolders": [
"binaries"
],
"defaultTarget": "viya",
"targets": [
{
"name": "viya",
"serverType": "SASVIYA",
"serverUrl": "https://sas.sasjs.com",
"appLoc": "/Public/app",
"contextName": "SAS Job Execution compute context",
"deployConfig": {
"deployServicePack": true,
"deployScripts": [
"sasjsbuild/myviyadeploy.sas"
]
},
"serviceConfig": {
"serviceFolders": [
"targets/viya/services/admin"
],
"initProgram": "build/serviceinit.sas",
"termProgram": "build/serviceinit.sas",
"macroVars": {
"name": "viyavalue",
"extravar": "this too"
}
},
"jobConfig": {
"jobFolders": [],
"initProgram": "",
"termProgram": "",
"macroVars": {}
},
"streamConfig": {
"assetPaths": [],
"streamWeb": false,
"streamWebFolder": "webv",
"webSourcePath": "dist"
},
"testConfig": {
"initProgram": "sasjs/tests/testinit.sas",
"termProgram": "sasjs/tests/testterm.sas",
"macroVars": {
"testVar": "testValue"
},
"testSetUp": "sasjs/tests/testsetup.sas",
"testTearDown": "sasjs/tests/testteardown.sas"
},
"macroFolders": [
"targets/viya/macros"
],
"programFolders": [],
"binaryFolders": [
"binaries"
]
},
{
"name": "sas9",
"serverType": "SAS9",
"serverUrl": "https://sas.sasjs.com:7980",
"appLoc": "/User Folders/&sysuserid/My Folder",
"serverName": "Foundation",
"repositoryName": "SASApp",
"buildConfig": {
"buildOutputFileName": "mysas9deploy.sas",
"initProgram": "",
"termProgram": "",
"macroVars": {}
},
"deployConfig": {
"deployScripts": [
"build/deploysas9.sh"
],
"deployServicePack": false
},
"serviceConfig": {
"serviceFolders": [
"targets/sas9/services/admin"
],
"initProgram": "",
"termProgram": "build/servicetermother.sas",
"macroVars": {}
},
"streamConfig": {
"assetPaths": [],
"streamWeb": false,
"streamWebFolder": "web9",
"webSourcePath": "dist"
},
"testConfig": {
"initProgram": "sasjs/tests/testinit.sas",
"termProgram": "sasjs/tests/testterm.sas",
"macroVars": {
"testVar": "testValue"
},
"testSetUp": "sasjs/tests/testsetup.sas",
"testTearDown": "sasjs/tests/testteardown.sas"
},
"macroFolders": [
"targets/sas9/macros"
],
"programFolders": [],
"binaryFolders": [
"binaries"
]
}
]
}
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- binaryFolders | No | array | No | - | The binaryFolders array |
- buildOutputFolder | No | string | No | - | buildOutputFolder |
- defaultTarget | No | string | No | - | Default Target |
- docConfig | No | object | No | - | The docConfig schema |
- httpsAgentOptions | No | object | No | - | httpsAgentOptions |
- buildConfig | No | object | No | - | buildConfig |
- deployConfig | No | object | No | - | The deployConfig schema |
- serviceConfig | No | object | No | - | The serviceConfig schema |
- jobConfig | No | object | No | - | The jobConfig schema |
- streamConfig | No | object | No | - | streamConfig |
- testConfig | No | object | No | - | testConfig |
- macroFolders | No | array | No | - | The macroFolders array |
- programFolders | No | array | No | - | The programFolders array |
- syncFolder | No | string | No | - | Sync Folder |
- targets | No | array | No | - | The targets array |
Title: The binaryFolders array
Type | array |
Required | No |
Description: These local folders are searched for Binary Files when running sasjs compile. Folders are relative to the sasjs/sasjsconfig.json file.
Example:
[
"binaries",
"../../more_binaries"
]
Array restrictions | |
---|---|
Min items | N/A |
Max items | N/A |
Items unicity | False |
Additional items | False |
Tuple validation | N/A |
Title: buildOutputFolder
Type | string |
Required | No |
Default | "sasjsbuild" |
Description: In a local config, outputs go to the sasjsbuild
folder by default. In global, the default is ~/.sasjsbuild
.
Examples:
"sasjsbuild"
".sasjsbuild"
Title: Default Target
Type | string |
Required | No |
Default | "viya" |
Description: If a target is not specified, this target is used by default. The default target must exist in the (local) targets array.
Example:
"viya"
Title: The docConfig schema
Type | object |
Required | No |
Additional properties | [Any type: allowed] |
Default | {"dataControllerUrl": "https://mysasserver.com/web/datacontroller/#", "enableLineage": true, "doxyContent": {"readMe": "../../README.md"}} |
Description: SASjs uses doxygen to auto-generate HTML documentation using the headers in your SAS programs, macros, services & jobs. For more info, see https://cli.sasjs.io/doc. Some properties are taken from package.json (such as the project Name).
Example:
{
"displayMacroCore": true,
"outDirectory": "/some/output/directory",
"dataControllerUrl": "https://mysasserver.com/web/datacontroller/#",
"enableLineage": true,
"doxyContent": {
"readMe": "../../my/custom/homepage.md",
"path": "my/custom/doxy/folder"
}
}
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- displayMacroCore | No | boolean | No | - | The displayMacroCore docConfig option |
- outDirectory | No | string | No | - | The outDirectory docConfig option |
- dataControllerUrl | No | string | No | - | The dataControllerUrl docConfig option |
- enableLineage | No | boolean | No | - | Enable Lineage |
- doxyContent | No | object | No | - | doxyContent |
Title: The displayMacroCore docConfig option
Type | boolean |
Required | No |
Default | true |
Description: The CLI will autocompile macro dependencies that exist in the SASjs Macro Core library. These will also show in the documentation under 'node_modules'. If you'd prefer not to show these in the rendered docs, set this value to false.
Example:
true
Title: The outDirectory docConfig option
Type | string |
Required | No |
Default | "sasjsbuild/doc" |
Description: The location to which the generated HTML SAS documentation is written. If missing, or left blank, the files will be written to the sasjsbuild/doc
directory (default behaviour).
Example:
"/my/preferred/docs/directory"
Title: The dataControllerUrl docConfig option
Type | string |
Required | No |
Default | "" |
Description: Provide the full URL to Data Controller so that sasjs doc
can link the lineage diagram directly to the table viewer in Data Controller.
If left blank, or undefined, no links will be generated.
Example:
"https://yourserver.co.uk/dcviya/#"
Title: Enable Lineage
Type | boolean |
Required | No |
Default | true |
Description: If true, sasjs doc will generate and display Data Lineage from Jobs and Services.
Title: doxyContent
Type | object |
Required | No |
Additional properties | [Any type: allowed] |
Default | {} |
Description: Configuration of the Doxyfile variables
Example:
{
"favIcon": "favicon.ico",
"footer": "new_footer.html",
"header": "new_header.html",
"layout": "DoxygenLayout.xml",
"logo": "logo.png",
"readMe": "../../README.md",
"stylesheet": "new_stylesheet.css",
"path": "sasjs/doxy"
}
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- favIcon | No | string | No | - | Doxygen favicon |
- footer | No | string | No | - | Doxygen footer |
- header | No | string | No | - | Doxygen header |
- layout | No | string | No | - | Doxygen Layout XML File |
- logo | No | string | No | - | Doxygen Logo |
- readMe | No | string | No | - | Doxygen Homepage |
- stylesheet | No | string | No | - | Doxygen CSS |
- path | No | string | No | - | Doxygen Path |
Title: Doxygen favicon
Type | string |
Required | No |
Default | "favicon.ico" |
Description: The favicon used in the doxygen documentation
Title: Doxygen footer
Type | string |
Required | No |
Default | "new_footer.html" |
Description: The footer HTML file used in the doxygen documentation
Title: Doxygen header
Type | string |
Required | No |
Default | "new_header.html" |
Description: The header HTML file used in the doxygen documentation
Title: Doxygen Layout XML File
Type | string |
Required | No |
Default | "DoxygenLayout.xml" |
Description: The layout XML file used to build the doxygen documentation
Title: Doxygen Logo
Type | string |
Required | No |
Default | "logo.png" |
Description: The logo file used by doxygen
Title: Doxygen Homepage
Type | string |
Required | No |
Default | "../../README.md" |
Description: The file used to generate the doxygen homepage (defaults to the readme.md)
Title: Doxygen CSS
Type | string |
Required | No |
Default | "new_stylesheet.css" |
Description: The CSS file used to extend Doxygen
Title: Doxygen Path
Type | string |
Required | No |
Default | "sasjs/doxy" |
Description: The path to the Doxygen configuration files (relative to sasjs/sasjsconfig.json)
Title: httpsAgentOptions
Type | object |
Required | No |
Additional properties | [Any type: allowed] |
Description: Configure https agent by setting all supported attribute such as key
, cert
, ca
, rejectUnauthorized
and requestCert
Example:
{
"allowInsecureRequests": false,
"caPath": "path/to/caFile",
"keyPath": "path/to/keyFile",
"certPath": "path/to/certFile",
"requestCert": false,
"rejectUnauthorized": true
}
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- allowInsecureRequests | No | boolean | No | - | allowInsecureRequests |
- caPath | No | string | No | - | caPath |
- keyFile | No | string | No | - | keyFile |
- certFile | No | string | No | - | certFile |
- requestCert | No | boolean | No | - | requestCert |
- rejectUnauthorized | No | boolean | No | - | rejectUnauthorized |
Title: allowInsecureRequests
Type | boolean |
Required | No |
Default | false |
Description: If you are having certificate errors connecting to SAS, that cannot be properly resolved, try setting this value to true. This option only has an effect if rejectUnauthorized is not present.
Examples:
true
false
Title: caPath
Type | string |
Required | No |
Description: Optionally override the trusted CA certificates. Default is to trust the well-known CAs curated by Mozilla. Mozilla's CAs are completely replaced when CAs are explicitly specified using this option.
Example:
"path/to/caFile"
Title: keyFile
Type | string |
Required | No |
Description: Private keys in PEM format. PEM allows the option of private keys being encrypted. Encrypted keys will be decrypted with options.passphrase. Multiple keys using different algorithms can be provided either as an array of unencrypted key strings or buffers, or an array of objects in the form {pem: <string|buffer>[, passphrase: ]}. The object form can only occur in an array. object.passphrase is optional. Encrypted keys will be decrypted with object.passphrase if provided, or options.passphrase if it is not.
Example:
"path/to/keyFile"
Title: certFile
Type | string |
Required | No |
Description: Cert chains in PEM format. One cert chain should be provided per private key. Each cert chain should consist of the PEM formatted certificate for a provided private key, followed by the PEM formatted intermediate certificates (if any), in order, and not including the root CA (the root CA must be pre-known to the peer, see ca). When providing multiple cert chains, they do not have to be in the same order as their private keys in key. If the intermediate certificates are not provided, the peer will not be able to validate the certificate, and the handshake will fail.
Example:
"path/to/certFile"
Title: requestCert
Type | boolean |
Required | No |
Default | false |
Description: If true the server will request a certificate from clients that connect and attempt to verify that certificate. Defaults to false.
Examples:
true
false
Title: rejectUnauthorized
Type | boolean |
Required | No |
Default | true |
Description: If true the server will reject any connection which is not authorized with the list of supplied CAs. This option only has an effect if requestCert is true.
Examples:
true
false
Title: buildConfig
Type | object |
Required | No |
Additional properties | [Any type: allowed] |
Description: Dictates which files get compiled into the build program (.sas), used to deploy services into SAS 9 or Viya environments (without a client/secret). You may use this config to include build specific macros, programs or macro variables - which is run a single time, on deployment - for things like database creation, or exporting a SAS 9 SPK after service creation.
Example:
{
"initProgram": "build/buildinit.sas",
"termProgram": "build/buildterm.sas",
"macroVars": {
"name": "value",
"numvar": "42"
},
"buildOutputFileName": "buildpack.sas",
"buildOutputFolder": "sasjsbuild",
"buildResultsFolder": "sasjsresults"
}
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- buildOutputFileName | No | string | No | - | buildOutputFileName |
- buildOutputFolder | No | string | No | - | buildOutputFolder |
- buildResultsFolder | No | string | No | - | buildResultsFolder |
- initProgram | No | string | No | - | The buildConfig initProgram |
- termProgram | No | string | No | - | The buildConfig termProgram |
- macroVars | No | object | No | - | The buildConfig macro variables |
Title: buildOutputFileName
Type | string |
Required | No |
Description: The name of the generated .sas program, which can be used to deploy the app using only SAS Studio. By default, this will be the name of the target.
Examples:
"viya.sas"
"sas9.sas"
Title: buildOutputFolder
Type | string |
Required | No |
Default | "sasjsbuild" |
Description: The name of the folder containing the compiled output. The sasjs build
command will take all of the subfolders here as inputs to create the build pack. By default this will be named sasjsbuild
.
Title: buildResultsFolder
Type | string |
Required | No |
Default | "sasjsresults" |
Description: The name of the folder containing the output (eg logs, ODS output) from sasjs run
. By default this will be named sasjsresults
.
Title: The buildConfig initProgram
Type | string |
Required | No |
Default | "sasjs/buildinit.sas" |
Description: The path to a .sas program that will be inserted at the start of the build .sas program (created when running sasjs build
).
Title: The buildConfig termProgram
Type | string |
Required | No |
Default | "sasjs/buildterm.sas" |
Description: The path to a .sas program that will be inserted at the end of the build .sas program (created when running sasjs build
).
Title: The buildConfig macro variables
Type | object |
Required | No |
Additional properties | [Any type: allowed] |
Default | {} |
Description: A series of name value pairs that will be turned into SAS macro variables in the build .sas program (generated when running sasjs build
). The example provided will generate sas code as follows:
%let name=value;
%let numvar=42;
Example:
{
"name": "value",
"numvar": "42"
}
Title: The deployConfig schema
Type | object |
Required | No |
Additional properties | [Any type: allowed] |
Default | {} |
Description: The deployConfig object enables settings that relate to the deployment of a SAS app - be that Viya, or SAS 9, or a pure Base environment.
Examples:
{
"deployScripts": [
"build/deployscript.sh"
]
}
{
"deployScripts": [
"build/deployscript.sh"
],
"deployServicePack": true
}
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- deployScripts | No | array | No | - | The deployConfig deployScripts array |
- deployServicePack | No | boolean | No | - | The deployConfig deployServicePack flag |
Title: The deployConfig deployScripts array
Type | array |
Required | No |
Default | [] |
Description: These scripts are executed when running sasjs deploy
. If the file is a .sas file, it is executed on the SAS server (Viya only). Otherwise it is executed locally. These scripts are run AFTER the deployment of the servicepack, if deployServicePack:true
(Viya only).
Example:
[
"build/deployscript.sh",
"build/myprogram.sas"
]
Array restrictions | |
---|---|
Min items | N/A |
Max items | N/A |
Items unicity | False |
Additional items | False |
Tuple validation | N/A |
Title: The deployConfig deployServicePack flag
Type | boolean |
Required | No |
Default | [false] |
Description: If set to true
the json pack produced by sasjs build
will be auto-deployed to the appLoc
of the specified target (creating all jobs and services in the SAS folder tree). Currently only Viya is supported for this flag.
Title: The serviceConfig schema
Type | object |
Required | No |
Additional properties | [Any type: allowed] |
Default | {} |
Description: The serviceConfig object defines how SASjs web services are compiled. Web services differ from jobs in that they include some fixed pre-code (eg the macros to stream out the result json).
Example:
{
"serviceFolders": [
"services/common",
"services/admin"
],
"initProgram": "build/serviceinit.sas",
"termProgram": "build/serviceterm.sas",
"macroVars": {
"mac1": "value",
"mac2": "42"
}
}
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- serviceFolders | No | array | No | - | The serviceConfig serviceFolders array |
- initProgram | No | string | No | - | The serviceConfig initProgram |
- termProgram | No | string | No | - | The serviceConfig termProgram |
- macroVars | No | object | No | - | The `serviceConfig` macroVars |
Title: The serviceConfig serviceFolders array
Type | array |
Required | No |
Default | [] |
Description: When running sasjs compile
, all programs in the folders defined in this array are compiled and placed into same-named folders under sasjsbuild/services
. They will be compiled as services (so, with the service pre-code). Folders can be absolute, or relative to the sasjs
folder.
Example:
[
"services/common",
"services/admin"
]
Array restrictions | |
---|---|
Min items | N/A |
Max items | N/A |
Items unicity | False |
Additional items | False |
Tuple validation | N/A |
Title: The serviceConfig initProgram
Type | string |
Required | No |
Default | "" |
Description: The serviceConfig initProgram
is a .sas file that is inserted at the start of every SAS service (after compiled macros and any macroVars
, and before the service itself).
Example:
"build/serviceinit.sas"
Title: The serviceConfig termProgram
Type | string |
Required | No |
Default | "" |
Description: The serviceConfig termProgram is inserted at the end of every service as part of sasjs compile
.
Example:
"build/serviceterm.sas"
Title: The serviceConfig
macroVars
Type | object |
Required | No |
Additional properties | [Any type: allowed] |
Default | {} |
Description: This object allows sasjs compile
to insert specific macro variables at the start of every service. In this case, the code generated would be:
%let mac1=value;
%let mac2=42;
Example:
{
"mac1": "value",
"mac2": "42"
}
Title: The jobConfig schema
Type | object |
Required | No |
Additional properties | [Any type: allowed] |
Default | {} |
Description: The jobConfig object defines how SASjs Jobs are compiled.
Example:
{
"jobFolders": [
"jobs/extract",
"jobs/load"
],
"initProgram": "jobs/jobinit.sas",
"termProgram": "jobs/jobterm.sas",
"macroVars": {
"mac1": "value",
"mac2": "42"
}
}
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- jobFolders | No | array | No | - | The jobConfig jobFolders array |
- initProgram | No | string | No | - | The jobConfig initProgram |
- termProgram | No | string | No | - | The jobConfig termProgram |
- macroVars | No | object | No | - | The `jobConfig` macroVars |
Title: The jobConfig jobFolders array
Type | array |
Required | No |
Default | [] |
Description: When running sasjs compile
, all programs in the local folders defined in this array are compiled and placed into same-named folders under sasjsbuild/jobs
. Folders can be absolute, or relative to the local project /sasjs
folder.
Example:
[
"jobs/extract",
"jobs/transform",
"jobs/load"
]
Array restrictions | |
---|---|
Min items | N/A |
Max items | N/A |
Items unicity | False |
Additional items | False |
Tuple validation | N/A |
Title: The jobConfig initProgram
Type | string |
Required | No |
Default | "" |
Description: The jobConfig initProgram
is a local .sas file that is inserted at the start of every SAS Job (after compiled macros and any macroVars
, and before the Job itself).
Example:
"jobs/jobinit.sas"
Title: The jobConfig termProgram
Type | string |
Required | No |
Default | "" |
Description: The jobConfig termProgram is inserted at the end of every Job as part of sasjs compile
.
Example:
"jobs/jobterm.sas"
Title: The jobConfig
macroVars
Type | object |
Required | No |
Additional properties | [Any type: allowed] |
Default | {} |
Description: This object allows sasjs compile
to insert specific macro variables at the start of every Job. In this case, the code generated would be:
%let mac1=value;
%let mac2=42;
Example:
{
"mac1": "value",
"mac2": "42"
}
Title: streamConfig
Type | object |
Required | No |
Additional properties | [Any type: allowed] |
Default | {} |
Description: SASjs allows a local web app to be compiled such that all html, css, javascript, and other assets such as png or mp4 are converted into web services and streamed directly from SAS.
This approach is convenient as it bypasses the need to deploy to a web server.
Example:
{
"assetPaths": [],
"streamWeb": false,
"streamWebFolder": "webv",
"webSourcePath": "dist",
"streamLogo": "logo.png"
}
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- assetPaths | No | array | No | - | The streamConfig assetPaths array |
- streamLogo | No | string | No | - | Icon shown in AppStream (sasjs/server) |
+ streamWeb | No | boolean | No | - | The streamConfig streamWeb flag |
- streamWebFolder | No | string | No | - | The streamConfig streamWebFolder |
- webSourcePath | No | string | No | - | The webSourcePath schema |
- streamServiceName | No | string | No | - | streamServiceName Schema |
Title: The streamConfig assetPaths array
Type | array |
Required | No |
Default | [] |
Description: An array of local folders. All assets placed in these folders are converted into web services - example file types could be png, svg, mp3, mp4, excel - anything really.
Example:
[
"/myassets"
]
Array restrictions | |
---|---|
Min items | N/A |
Max items | N/A |
Items unicity | False |
Additional items | False |
Tuple validation | N/A |
Title: Icon shown in AppStream (sasjs/server)
Type | string |
Required | No |
Default | "logo.png" |
Description: Provide the location of a square image, under the webSourcePath. Used as the display icon on the appStream page.
Examples:
"logo.png"
"favicon.ico"
Title: The streamConfig streamWeb flag
Type | boolean |
Required | Yes |
Default | false |
Description: When set to true
, frontend files saved in the webSourcePath
will be converted to streaming services in the streamWebFolder
in SAS.
Example:
true
Title: The streamConfig streamWebFolder
Type | string |
Required | No |
Default | "webv" |
Description: This is the target SAS folder (relative to the appLoc) where the compiled web assets will be created.
Title: The webSourcePath schema
Type | string |
Required | No |
Default | "dist" |
Description: When streamConfig
is set to true
, all files in this folder will be converted to streaming web services. The index.html
will be taken as a baseline, and all relative URLS will be prefixed such that the links still work and the assets still load.
Title: streamServiceName Schema
Type | string |
Required | No |
Default | "clickme.sas" |
Description: The name of the service containing the index.html
for a streaming web app. Defaults to clickme
and is always deployed under the appLoc/services SAS Folder.
Title: testConfig
Type | object |
Required | No |
Additional properties | [Any type: allowed] |
Default | {"initProgram": "sasjs/tests/testinit.sas", "termProgram": "sasjs/tests/testterm.sas", "macroVars": {"testVar": "testValue"}, "testSetUp": "sasjs/tests/testsetup.sas", "testTearDown": "sasjs/tests/testteardown.sas"} |
Description: Create tests for Macros, Services & Jobs by simply adding a '.test.sas' extension.
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- initProgram | No | string | No | - | The jobConfig initProgram |
- termProgram | No | string | No | - | The jobConfig termProgram |
- macroVars | No | object | No | - | The `jobConfig` macroVars |
- testSetUp | No | string | No | - | The jobConfig testSetUp |
- testTearDown | No | string | No | - | The jobConfig testTearDown |
Title: The jobConfig initProgram
Type | string |
Required | No |
Default | "" |
Description: The testConfig initProgram
is a local .sas file that is inserted at the start of every Test (after compiled macros and any macroVars
, and before the Test itself).
Example:
"sasjs/tests/testinit.sas"
Title: The jobConfig termProgram
Type | string |
Required | No |
Default | "" |
Description: The testConfig termProgram is inserted at the end of every Test as part of sasjs compile
.
Example:
"jobs/jobterm.sas"
Title: The jobConfig
macroVars
Type | object |
Required | No |
Additional properties | [Any type: allowed] |
Default | {} |
Description: This object allows sasjs compile
to insert specific macro variables at the start of every Test. In this case, the code generated would be:
%let mac1=value;
%let mac2=42;
Example:
{
"mac1": "value",
"mac2": "42"
}
Title: The jobConfig testSetUp
Type | string |
Required | No |
Default | "sasjs/tests/testsetup.sas" |
Description: This program is the first to execute as part of 'sasjs test'. It does not contain the testInit, testTerm or macroVariables. It IS compiled.
Example:
"sasjs/tests/testsetup.sas"
Title: The jobConfig testTearDown
Type | string |
Required | No |
Default | "sasjs/tests/testteardown.sas" |
Description: The last program to execute as part of 'sasjs test'.
Example:
"sasjs/tests/testteardown.sas"
Title: The macroFolders array
Type | array |
Required | No |
Default | [] |
Description: These local folders are searched for SAS Macros when running sasjs compile
. Folders are relative to the sasjs/sasjsconfig.json
file.
Example:
[
"macros",
"../../more_macros"
]
Array restrictions | |
---|---|
Min items | N/A |
Max items | N/A |
Items unicity | False |
Additional items | False |
Tuple validation | N/A |
Title: The programFolders array
Type | array |
Required | No |
Default | [] |
Description: These local folders are searched for SAS Programs when running sasjs compile
. Folders are relative to the sasjs/sasjsconfig.json
file.
Example:
[
"programs",
"../../more_programs"
]
Array restrictions | |
---|---|
Min items | N/A |
Max items | N/A |
Items unicity | False |
Additional items | False |
Tuple validation | N/A |
Title: Sync Folder
Type | string |
Required | No |
Default | "sasjs/static_files" |
Description: The contents of this folder are simply copied to the sasjsbuild directory AFTER the rest of the project is compiled. Useful for synchronising random / generic content with SAS logical folders.
Title: The targets array
Type | array |
Required | No |
Default | [] |
Description: A target is an alias for a deployment location, and includes at a minimum, the serverUrl
, serverType
and appLoc
. This array allows multiple targets to be defined (eg dev / test / prod). Any properties defined here will override same-named properties in the sasjsconfig root.
Examples:
[
{
"name": "sas9target",
"serverType": "SAS9",
"serverUrl": "https://mysas9server",
"appLoc": "/Shared Folders/myApp"
}
]
[
{
"name": "viya",
"serverType": "SASVIYA",
"serverUrl": "https://sas.sasjs.com",
"appLoc": "/Public/app",
"contextName": "SAS Job Execution compute context",
"buildConfig": {
"buildOutputFileName": "myviyadeploy.sas",
"initProgram": "build/buildinitviya.sas",
"termProgram": "targets/viya/viyabuildterm.sas",
"macroVars": {
"name": "viyavalue",
"extravar": "this too"
}
},
"deployConfig": {
"deployServicePack": true,
"deployScripts": [
"sasjsbuild/myviyadeploy.sas"
]
},
"serviceConfig": {
"serviceFolders": [
"targets/viya/services/admin"
],
"initProgram": "build/serviceinit.sas",
"termProgram": "build/serviceinit.sas",
"macroVars": {
"name": "viyavalue",
"extravar": "this too"
}
},
"streamConfig": {
"assetPaths": [],
"streamWeb": false,
"streamWebFolder": "webv",
"webSourcePath": "dist"
},
"testConfig": {
"initProgram": "sasjs/tests/testinit.sas",
"termProgram": "sasjs/tests/testterm.sas",
"macroVars": {
"testVar": "testValue"
},
"testSetUp": "sasjs/tests/testsetup.sas",
"testTearDown": "sasjs/tests/testteardown.sas"
},
"macroFolders": [
"targets/viya/macros"
]
},
{
"name": "sas9",
"serverType": "SAS9",
"serverUrl": "https://sas.sasjs.com:7980",
"appLoc": "/User Folders/&sysuserid/My Folder",
"serverName": "Foundation",
"repositoryName": "SASApp",
"buildConfig": {
"buildOutputFileName": "mysas9deploy.sas",
"initProgram": "",
"termProgram": "",
"macroVars": {}
},
"deployConfig": {
"deployScripts": [
"build/deploysas9.sh"
],
"deployServicePack": false
},
"serviceConfig": {
"serviceFolders": [
"targets/sas9/services/admin"
],
"initProgram": "",
"termProgram": "build/servicetermother.sas",
"macroVars": {}
},
"streamConfig": {
"assetPaths": [],
"streamWeb": false,
"streamWebFolder": "web9",
"webSourcePath": "dist"
},
"testConfig": {
"initProgram": "sasjs/tests/testinit.sas",
"termProgram": "sasjs/tests/testterm.sas",
"macroVars": {
"testVar": "testValue"
},
"testSetUp": "sasjs/tests/testsetup.sas",
"testTearDown": "sasjs/tests/testteardown.sas"
},
"macroFolders": [
"targets/sas9/macros"
],
"programFolders": []
}
]
Array restrictions | |
---|---|
Min items | N/A |
Max items | N/A |
Items unicity | False |
Additional items | False |
Tuple validation | See below |
Each item of this array must be | Description |
---|---|
targets items | - |
Type | combining |
Required | No |
Additional properties | [Any type: allowed] |
Any of(Option) |
---|
SASjs Targets |
Title: SASjs Targets
Type | object |
Required | No |
Additional properties | [Any type: allowed] |
Default | {} |
Description: A target provides the configuration specific to a particular deployment, eg DEV / TEST, or SAS9 / SASVIYA.
Example:
{
"name": "viya",
"serverType": "SASVIYA",
"serverUrl": "https://sas.sasjs.com",
"appLoc": "/Public/app",
"contextName": "SAS Job Execution compute context",
"buildConfig": {
"buildOutputFileName": "myviyadeploy.sas",
"initProgram": "build/buildinitviya.sas",
"termProgram": "targets/viya/viyabuildterm.sas",
"macroVars": {
"name": "viyavalue",
"extravar": "this too"
}
},
"deployConfig": {
"deployServicePack": true,
"deployScripts": [
"sasjsbuild/myviyadeploy.sas"
]
},
"serviceConfig": {
"serviceFolders": [
"targets/viya/services/admin"
],
"initProgram": "build/serviceinit.sas",
"termProgram": "build/serviceinit.sas",
"macroVars": {
"name": "viyavalue",
"extravar": "this too"
}
},
"jobConfig": {
"jobFolders": [],
"initProgram": "",
"termProgram": "",
"macroVars": {}
},
"streamConfig": {
"assetPaths": [],
"streamWeb": false,
"streamWebFolder": "webv",
"webSourcePath": "dist"
},
"testConfig": {
"initProgram": "sasjs/tests/testinit.sas",
"termProgram": "sasjs/tests/testterm.sas",
"macroVars": {
"testVar": "testValue"
},
"testSetUp": "sasjs/tests/testsetup.sas",
"testTearDown": "sasjs/tests/testteardown.sas"
},
"macroFolders": [
"targets/viya/macros"
],
"programFolders": []
}
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
+ name | No | string | No | - | Target name property |
+ serverType | No | string | No | - | The Target serverType |
+ appLoc | No | string | No | - | The Target appLoc |
- binaryFolders | No | array | No | In #/properties/binaryFolders | These local folders are searched for Binary Files when running sasjs compile. Folders are relative to the sasjs/sasjsconfig.json file. |
- buildConfig | No | object | No | In #/properties/buildConfig | Dictates which files get compiled into the build program (.sas), used to deploy services into SAS 9 or Viya environments (without a client/secret). You may use this config to include build specific macros, programs or macro variables - which is run a single time, on deployment - for things like database creation, or exporting a SAS 9 SPK after service creation. |
- contextName | No | string | No | - | The Target contextName |
- deployConfig | No | object | No | In #/properties/deployConfig | The deployConfig object enables settings that relate to the deployment of a SAS app - be that Viya, or SAS 9, or a pure Base environment. |
- httpsAgentOptions | No | object | No | In #/properties/httpsAgentOptions | Configure https agent by setting all supported attribute such as `key`, `cert`, `ca`, `rejectUnauthorized` and `requestCert` |
- serverUrl | No | string | No | - | The Target serverUrl |
- serviceConfig | No | object | No | In #/properties/serviceConfig | The serviceConfig object defines how SASjs web services are compiled. Web services differ from jobs in that they include some fixed pre-code (eg the macros to stream out the result json). |
- jobConfig | No | object | No | In #/properties/jobConfig | The jobConfig object defines how SASjs Jobs are compiled. |
- docConfig | No | object | No | In #/properties/docConfig | SASjs uses doxygen to auto-generate HTML documentation using the headers in your SAS programs, macros, services & jobs. For more info, see https://cli.sasjs.io/doc. Some properties are taken from package.json (such as the project Name). |
- streamConfig | No | object | No | In #/properties/streamConfig | SASjs allows a local web app to be compiled such that all html, css, javascript, and other assets such as png or mp4 are converted into web services and streamed directly from SAS. This approach is convenient as it bypasses the need to deploy to a web server. |
- syncDirectories | No | array | No | - | syncDirectories |
- syncFolder | No | string | No | In #/properties/syncFolder | The contents of this folder are simply copied to the sasjsbuild directory AFTER the rest of the project is compiled. Useful for synchronising random / generic content with SAS logical folders. |
- testConfig | No | object | No | In #/properties/testConfig | Create tests for Macros, Services & Jobs by simply adding a '.test.sas' extension. |
- macroFolders | No | array | No | In #/properties/macroFolders | These local folders are searched for SAS Macros when running `sasjs compile`. Folders are relative to the `sasjs/sasjsconfig.json` file. |
- programFolders | No | array | No | In #/properties/programFolders | These local folders are searched for SAS Programs when running `sasjs compile`. Folders are relative to the `sasjs/sasjsconfig.json` file. |
Title: Target name property
Type | string |
Required | Yes |
Default | "" |
Description: A target name can only contain alphanumeric characters and dashes. It cannot contain spaces. It is used as the alias when referencing the target using the -t
attribute in many of the SASjs commands.
Example:
"viya"
Title: The Target serverType
Type | string |
Required | Yes |
Default | "" |
Description: The serverType can be either SAS9, SASVIYA or SASJS.
Example:
"SASVIYA"
Title: The Target appLoc
Type | string |
Required | Yes |
Default | "" |
Description: The appLoc provides the root SAS folder location under which all jobs and services are deployed and executed. The SAS folder could be metadata in SAS 9, or SAS Drive in Viya.
Example:
"/Public/app"
15.1.1.4. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > binaryFolders
Type | array |
Required | No |
Defined in | #/properties/binaryFolders |
Description: These local folders are searched for Binary Files when running sasjs compile. Folders are relative to the sasjs/sasjsconfig.json file.
Example:
[
"binaries",
"../../more_binaries"
]
Array restrictions | |
---|---|
Min items | N/A |
Max items | N/A |
Items unicity | False |
Additional items | False |
Tuple validation | N/A |
15.1.1.5. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > buildConfig
Type | object |
Required | No |
Additional properties | [Any type: allowed] |
Defined in | #/properties/buildConfig |
Description: Dictates which files get compiled into the build program (.sas), used to deploy services into SAS 9 or Viya environments (without a client/secret). You may use this config to include build specific macros, programs or macro variables - which is run a single time, on deployment - for things like database creation, or exporting a SAS 9 SPK after service creation.
Example:
{
"initProgram": "build/buildinit.sas",
"termProgram": "build/buildterm.sas",
"macroVars": {
"name": "value",
"numvar": "42"
},
"buildOutputFileName": "buildpack.sas",
"buildOutputFolder": "sasjsbuild",
"buildResultsFolder": "sasjsresults"
}
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- buildOutputFileName | No | string | No | - | buildOutputFileName |
- buildOutputFolder | No | string | No | - | buildOutputFolder |
- buildResultsFolder | No | string | No | - | buildResultsFolder |
- initProgram | No | string | No | - | The buildConfig initProgram |
- termProgram | No | string | No | - | The buildConfig termProgram |
- macroVars | No | object | No | - | The buildConfig macro variables |
15.1.1.5.1. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > buildConfig > buildOutputFileName
Title: buildOutputFileName
Type | string |
Required | No |
Description: The name of the generated .sas program, which can be used to deploy the app using only SAS Studio. By default, this will be the name of the target.
Examples:
"viya.sas"
"sas9.sas"
15.1.1.5.2. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > buildConfig > buildOutputFolder
Title: buildOutputFolder
Type | string |
Required | No |
Default | "sasjsbuild" |
Description: The name of the folder containing the compiled output. The sasjs build
command will take all of the subfolders here as inputs to create the build pack. By default this will be named sasjsbuild
.
15.1.1.5.3. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > buildConfig > buildResultsFolder
Title: buildResultsFolder
Type | string |
Required | No |
Default | "sasjsresults" |
Description: The name of the folder containing the output (eg logs, ODS output) from sasjs run
. By default this will be named sasjsresults
.
15.1.1.5.4. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > buildConfig > initProgram
Title: The buildConfig initProgram
Type | string |
Required | No |
Default | "sasjs/buildinit.sas" |
Description: The path to a .sas program that will be inserted at the start of the build .sas program (created when running sasjs build
).
15.1.1.5.5. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > buildConfig > termProgram
Title: The buildConfig termProgram
Type | string |
Required | No |
Default | "sasjs/buildterm.sas" |
Description: The path to a .sas program that will be inserted at the end of the build .sas program (created when running sasjs build
).
15.1.1.5.6. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > buildConfig > macroVars
Title: The buildConfig macro variables
Type | object |
Required | No |
Additional properties | [Any type: allowed] |
Default | {} |
Description: A series of name value pairs that will be turned into SAS macro variables in the build .sas program (generated when running sasjs build
). The example provided will generate sas code as follows:
%let name=value;
%let numvar=42;
Example:
{
"name": "value",
"numvar": "42"
}
15.1.1.6. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > contextName
Title: The Target contextName
Type | string |
Required | No |
Default | "SAS Job Execution compute context" |
Description: The name of the compute context used to execute SAS code. The context determines the way in which the SAS session is spawned (eg user credentials, autoexec code, system options etc).
Contexts can be created / modified / deleted using the sasjs context
command.
Example:
"SAS Job Execution compute context"
15.1.1.7. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > deployConfig
Type | object |
Required | No |
Additional properties | [Any type: allowed] |
Default | {} |
Defined in | #/properties/deployConfig |
Description: The deployConfig object enables settings that relate to the deployment of a SAS app - be that Viya, or SAS 9, or a pure Base environment.
Examples:
{
"deployScripts": [
"build/deployscript.sh"
]
}
{
"deployScripts": [
"build/deployscript.sh"
],
"deployServicePack": true
}
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- deployScripts | No | array | No | - | The deployConfig deployScripts array |
- deployServicePack | No | boolean | No | - | The deployConfig deployServicePack flag |
15.1.1.7.1. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > deployConfig > deployScripts
Title: The deployConfig deployScripts array
Type | array |
Required | No |
Default | [] |
Description: These scripts are executed when running sasjs deploy
. If the file is a .sas file, it is executed on the SAS server (Viya only). Otherwise it is executed locally. These scripts are run AFTER the deployment of the servicepack, if deployServicePack:true
(Viya only).
Example:
[
"build/deployscript.sh",
"build/myprogram.sas"
]
Array restrictions | |
---|---|
Min items | N/A |
Max items | N/A |
Items unicity | False |
Additional items | False |
Tuple validation | N/A |
15.1.1.7.2. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > deployConfig > deployServicePack
Title: The deployConfig deployServicePack flag
Type | boolean |
Required | No |
Default | [false] |
Description: If set to true
the json pack produced by sasjs build
will be auto-deployed to the appLoc
of the specified target (creating all jobs and services in the SAS folder tree). Currently only Viya is supported for this flag.
15.1.1.8. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > httpsAgentOptions
Type | object |
Required | No |
Additional properties | [Any type: allowed] |
Defined in | #/properties/httpsAgentOptions |
Description: Configure https agent by setting all supported attribute such as key
, cert
, ca
, rejectUnauthorized
and requestCert
Example:
{
"allowInsecureRequests": false,
"caPath": "path/to/caFile",
"keyPath": "path/to/keyFile",
"certPath": "path/to/certFile",
"requestCert": false,
"rejectUnauthorized": true
}
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- allowInsecureRequests | No | boolean | No | - | allowInsecureRequests |
- caPath | No | string | No | - | caPath |
- keyFile | No | string | No | - | keyFile |
- certFile | No | string | No | - | certFile |
- requestCert | No | boolean | No | - | requestCert |
- rejectUnauthorized | No | boolean | No | - | rejectUnauthorized |
15.1.1.8.1. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > httpsAgentOptions > allowInsecureRequests
Title: allowInsecureRequests
Type | boolean |
Required | No |
Default | false |
Description: If you are having certificate errors connecting to SAS, that cannot be properly resolved, try setting this value to true. This option only has an effect if rejectUnauthorized is not present.
Examples:
true
false
15.1.1.8.2. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > httpsAgentOptions > caPath
Title: caPath
Type | string |
Required | No |
Description: Optionally override the trusted CA certificates. Default is to trust the well-known CAs curated by Mozilla. Mozilla's CAs are completely replaced when CAs are explicitly specified using this option.
Example:
"path/to/caFile"
15.1.1.8.3. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > httpsAgentOptions > keyFile
Title: keyFile
Type | string |
Required | No |
Description: Private keys in PEM format. PEM allows the option of private keys being encrypted. Encrypted keys will be decrypted with options.passphrase. Multiple keys using different algorithms can be provided either as an array of unencrypted key strings or buffers, or an array of objects in the form {pem: <string|buffer>[, passphrase: ]}. The object form can only occur in an array. object.passphrase is optional. Encrypted keys will be decrypted with object.passphrase if provided, or options.passphrase if it is not.
Example:
"path/to/keyFile"
15.1.1.8.4. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > httpsAgentOptions > certFile
Title: certFile
Type | string |
Required | No |
Description: Cert chains in PEM format. One cert chain should be provided per private key. Each cert chain should consist of the PEM formatted certificate for a provided private key, followed by the PEM formatted intermediate certificates (if any), in order, and not including the root CA (the root CA must be pre-known to the peer, see ca). When providing multiple cert chains, they do not have to be in the same order as their private keys in key. If the intermediate certificates are not provided, the peer will not be able to validate the certificate, and the handshake will fail.
Example:
"path/to/certFile"
15.1.1.8.5. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > httpsAgentOptions > requestCert
Title: requestCert
Type | boolean |
Required | No |
Default | false |
Description: If true the server will request a certificate from clients that connect and attempt to verify that certificate. Defaults to false.
Examples:
true
false
15.1.1.8.6. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > httpsAgentOptions > rejectUnauthorized
Title: rejectUnauthorized
Type | boolean |
Required | No |
Default | true |
Description: If true the server will reject any connection which is not authorized with the list of supplied CAs. This option only has an effect if requestCert is true.
Examples:
true
false
Title: The Target serverUrl
Type | string |
Required | No |
Default | "" |
Description: The serverUrl is the location to which the app is deployed, and against which any server based operations are performed. If SAS is served from a particular port, that port should also be included here.
Examples:
"https://sas.sasjs.com"
"https://sas.sasjs.com:8080"
15.1.1.10. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > serviceConfig
Type | object |
Required | No |
Additional properties | [Any type: allowed] |
Default | {} |
Defined in | #/properties/serviceConfig |
Description: The serviceConfig object defines how SASjs web services are compiled. Web services differ from jobs in that they include some fixed pre-code (eg the macros to stream out the result json).
Example:
{
"serviceFolders": [
"services/common",
"services/admin"
],
"initProgram": "build/serviceinit.sas",
"termProgram": "build/serviceterm.sas",
"macroVars": {
"mac1": "value",
"mac2": "42"
}
}
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- serviceFolders | No | array | No | - | The serviceConfig serviceFolders array |
- initProgram | No | string | No | - | The serviceConfig initProgram |
- termProgram | No | string | No | - | The serviceConfig termProgram |
- macroVars | No | object | No | - | The `serviceConfig` macroVars |
15.1.1.10.1. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > serviceConfig > serviceFolders
Title: The serviceConfig serviceFolders array
Type | array |
Required | No |
Default | [] |
Description: When running sasjs compile
, all programs in the folders defined in this array are compiled and placed into same-named folders under sasjsbuild/services
. They will be compiled as services (so, with the service pre-code). Folders can be absolute, or relative to the sasjs
folder.
Example:
[
"services/common",
"services/admin"
]
Array restrictions | |
---|---|
Min items | N/A |
Max items | N/A |
Items unicity | False |
Additional items | False |
Tuple validation | N/A |
15.1.1.10.2. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > serviceConfig > initProgram
Title: The serviceConfig initProgram
Type | string |
Required | No |
Default | "" |
Description: The serviceConfig initProgram
is a .sas file that is inserted at the start of every SAS service (after compiled macros and any macroVars
, and before the service itself).
Example:
"build/serviceinit.sas"
15.1.1.10.3. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > serviceConfig > termProgram
Title: The serviceConfig termProgram
Type | string |
Required | No |
Default | "" |
Description: The serviceConfig termProgram is inserted at the end of every service as part of sasjs compile
.
Example:
"build/serviceterm.sas"
15.1.1.10.4. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > serviceConfig > macroVars
Title: The serviceConfig
macroVars
Type | object |
Required | No |
Additional properties | [Any type: allowed] |
Default | {} |
Description: This object allows sasjs compile
to insert specific macro variables at the start of every service. In this case, the code generated would be:
%let mac1=value;
%let mac2=42;
Example:
{
"mac1": "value",
"mac2": "42"
}
Type | object |
Required | No |
Additional properties | [Any type: allowed] |
Default | {} |
Defined in | #/properties/jobConfig |
Description: The jobConfig object defines how SASjs Jobs are compiled.
Example:
{
"jobFolders": [
"jobs/extract",
"jobs/load"
],
"initProgram": "jobs/jobinit.sas",
"termProgram": "jobs/jobterm.sas",
"macroVars": {
"mac1": "value",
"mac2": "42"
}
}
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- jobFolders | No | array | No | - | The jobConfig jobFolders array |
- initProgram | No | string | No | - | The jobConfig initProgram |
- termProgram | No | string | No | - | The jobConfig termProgram |
- macroVars | No | object | No | - | The `jobConfig` macroVars |
15.1.1.11.1. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > jobConfig > jobFolders
Title: The jobConfig jobFolders array
Type | array |
Required | No |
Default | [] |
Description: When running sasjs compile
, all programs in the local folders defined in this array are compiled and placed into same-named folders under sasjsbuild/jobs
. Folders can be absolute, or relative to the local project /sasjs
folder.
Example:
[
"jobs/extract",
"jobs/transform",
"jobs/load"
]
Array restrictions | |
---|---|
Min items | N/A |
Max items | N/A |
Items unicity | False |
Additional items | False |
Tuple validation | N/A |
15.1.1.11.2. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > jobConfig > initProgram
Title: The jobConfig initProgram
Type | string |
Required | No |
Default | "" |
Description: The jobConfig initProgram
is a local .sas file that is inserted at the start of every SAS Job (after compiled macros and any macroVars
, and before the Job itself).
Example:
"jobs/jobinit.sas"
15.1.1.11.3. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > jobConfig > termProgram
Title: The jobConfig termProgram
Type | string |
Required | No |
Default | "" |
Description: The jobConfig termProgram is inserted at the end of every Job as part of sasjs compile
.
Example:
"jobs/jobterm.sas"
15.1.1.11.4. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > jobConfig > macroVars
Title: The jobConfig
macroVars
Type | object |
Required | No |
Additional properties | [Any type: allowed] |
Default | {} |
Description: This object allows sasjs compile
to insert specific macro variables at the start of every Job. In this case, the code generated would be:
%let mac1=value;
%let mac2=42;
Example:
{
"mac1": "value",
"mac2": "42"
}
Type | object |
Required | No |
Additional properties | [Any type: allowed] |
Default | {"dataControllerUrl": "https://mysasserver.com/web/datacontroller/#", "enableLineage": true, "doxyContent": {"readMe": "../../README.md"}} |
Defined in | #/properties/docConfig |
Description: SASjs uses doxygen to auto-generate HTML documentation using the headers in your SAS programs, macros, services & jobs. For more info, see https://cli.sasjs.io/doc. Some properties are taken from package.json (such as the project Name).
Example:
{
"displayMacroCore": true,
"outDirectory": "/some/output/directory",
"dataControllerUrl": "https://mysasserver.com/web/datacontroller/#",
"enableLineage": true,
"doxyContent": {
"readMe": "../../my/custom/homepage.md",
"path": "my/custom/doxy/folder"
}
}
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- displayMacroCore | No | boolean | No | - | The displayMacroCore docConfig option |
- outDirectory | No | string | No | - | The outDirectory docConfig option |
- dataControllerUrl | No | string | No | - | The dataControllerUrl docConfig option |
- enableLineage | No | boolean | No | - | Enable Lineage |
- doxyContent | No | object | No | - | doxyContent |
15.1.1.12.1. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > docConfig > displayMacroCore
Title: The displayMacroCore docConfig option
Type | boolean |
Required | No |
Default | true |
Description: The CLI will autocompile macro dependencies that exist in the SASjs Macro Core library. These will also show in the documentation under 'node_modules'. If you'd prefer not to show these in the rendered docs, set this value to false.
Example:
true
15.1.1.12.2. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > docConfig > outDirectory
Title: The outDirectory docConfig option
Type | string |
Required | No |
Default | "sasjsbuild/doc" |
Description: The location to which the generated HTML SAS documentation is written. If missing, or left blank, the files will be written to the sasjsbuild/doc
directory (default behaviour).
Example:
"/my/preferred/docs/directory"
15.1.1.12.3. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > docConfig > dataControllerUrl
Title: The dataControllerUrl docConfig option
Type | string |
Required | No |
Default | "" |
Description: Provide the full URL to Data Controller so that sasjs doc
can link the lineage diagram directly to the table viewer in Data Controller.
If left blank, or undefined, no links will be generated.
Example:
"https://yourserver.co.uk/dcviya/#"
15.1.1.12.4. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > docConfig > enableLineage
Title: Enable Lineage
Type | boolean |
Required | No |
Default | true |
Description: If true, sasjs doc will generate and display Data Lineage from Jobs and Services.
15.1.1.12.5. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > docConfig > doxyContent
Title: doxyContent
Type | object |
Required | No |
Additional properties | [Any type: allowed] |
Default | {} |
Description: Configuration of the Doxyfile variables
Example:
{
"favIcon": "favicon.ico",
"footer": "new_footer.html",
"header": "new_header.html",
"layout": "DoxygenLayout.xml",
"logo": "logo.png",
"readMe": "../../README.md",
"stylesheet": "new_stylesheet.css",
"path": "sasjs/doxy"
}
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- favIcon | No | string | No | - | Doxygen favicon |
- footer | No | string | No | - | Doxygen footer |
- header | No | string | No | - | Doxygen header |
- layout | No | string | No | - | Doxygen Layout XML File |
- logo | No | string | No | - | Doxygen Logo |
- readMe | No | string | No | - | Doxygen Homepage |
- stylesheet | No | string | No | - | Doxygen CSS |
- path | No | string | No | - | Doxygen Path |
15.1.1.12.5.1. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > docConfig > doxyContent > favIcon
Title: Doxygen favicon
Type | string |
Required | No |
Default | "favicon.ico" |
Description: The favicon used in the doxygen documentation
15.1.1.12.5.2. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > docConfig > doxyContent > footer
Title: Doxygen footer
Type | string |
Required | No |
Default | "new_footer.html" |
Description: The footer HTML file used in the doxygen documentation
15.1.1.12.5.3. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > docConfig > doxyContent > header
Title: Doxygen header
Type | string |
Required | No |
Default | "new_header.html" |
Description: The header HTML file used in the doxygen documentation
15.1.1.12.5.4. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > docConfig > doxyContent > layout
Title: Doxygen Layout XML File
Type | string |
Required | No |
Default | "DoxygenLayout.xml" |
Description: The layout XML file used to build the doxygen documentation
15.1.1.12.5.5. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > docConfig > doxyContent > logo
Title: Doxygen Logo
Type | string |
Required | No |
Default | "logo.png" |
Description: The logo file used by doxygen
15.1.1.12.5.6. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > docConfig > doxyContent > readMe
Title: Doxygen Homepage
Type | string |
Required | No |
Default | "../../README.md" |
Description: The file used to generate the doxygen homepage (defaults to the readme.md)
15.1.1.12.5.7. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > docConfig > doxyContent > stylesheet
Title: Doxygen CSS
Type | string |
Required | No |
Default | "new_stylesheet.css" |
Description: The CSS file used to extend Doxygen
15.1.1.12.5.8. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > docConfig > doxyContent > path
Title: Doxygen Path
Type | string |
Required | No |
Default | "sasjs/doxy" |
Description: The path to the Doxygen configuration files (relative to sasjs/sasjsconfig.json)
15.1.1.13. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > streamConfig
Type | object |
Required | No |
Additional properties | [Any type: allowed] |
Default | {} |
Defined in | #/properties/streamConfig |
Description: SASjs allows a local web app to be compiled such that all html, css, javascript, and other assets such as png or mp4 are converted into web services and streamed directly from SAS.
This approach is convenient as it bypasses the need to deploy to a web server.
Example:
{
"assetPaths": [],
"streamWeb": false,
"streamWebFolder": "webv",
"webSourcePath": "dist",
"streamLogo": "logo.png"
}
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- assetPaths | No | array | No | - | The streamConfig assetPaths array |
- streamLogo | No | string | No | - | Icon shown in AppStream (sasjs/server) |
+ streamWeb | No | boolean | No | - | The streamConfig streamWeb flag |
- streamWebFolder | No | string | No | - | The streamConfig streamWebFolder |
- webSourcePath | No | string | No | - | The webSourcePath schema |
- streamServiceName | No | string | No | - | streamServiceName Schema |
15.1.1.13.1. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > streamConfig > assetPaths
Title: The streamConfig assetPaths array
Type | array |
Required | No |
Default | [] |
Description: An array of local folders. All assets placed in these folders are converted into web services - example file types could be png, svg, mp3, mp4, excel - anything really.
Example:
[
"/myassets"
]
Array restrictions | |
---|---|
Min items | N/A |
Max items | N/A |
Items unicity | False |
Additional items | False |
Tuple validation | N/A |
15.1.1.13.2. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > streamConfig > streamLogo
Title: Icon shown in AppStream (sasjs/server)
Type | string |
Required | No |
Default | "logo.png" |
Description: Provide the location of a square image, under the webSourcePath. Used as the display icon on the appStream page.
Examples:
"logo.png"
"favicon.ico"
15.1.1.13.3. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > streamConfig > streamWeb
Title: The streamConfig streamWeb flag
Type | boolean |
Required | Yes |
Default | false |
Description: When set to true
, frontend files saved in the webSourcePath
will be converted to streaming services in the streamWebFolder
in SAS.
Example:
true
15.1.1.13.4. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > streamConfig > streamWebFolder
Title: The streamConfig streamWebFolder
Type | string |
Required | No |
Default | "webv" |
Description: This is the target SAS folder (relative to the appLoc) where the compiled web assets will be created.
15.1.1.13.5. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > streamConfig > webSourcePath
Title: The webSourcePath schema
Type | string |
Required | No |
Default | "dist" |
Description: When streamConfig
is set to true
, all files in this folder will be converted to streaming web services. The index.html
will be taken as a baseline, and all relative URLS will be prefixed such that the links still work and the assets still load.
15.1.1.13.6. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > streamConfig > streamServiceName
Title: streamServiceName Schema
Type | string |
Required | No |
Default | "clickme.sas" |
Description: The name of the service containing the index.html
for a streaming web app. Defaults to clickme
and is always deployed under the appLoc/services SAS Folder.
15.1.1.14. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > syncDirectories
Title: syncDirectories
Type | array |
Required | No |
Description: Maps the local filesystem to remote (SAS) physical directories.
Example:
[
{
"local": "C:\\temp\\local\\fs1",
"remote": "/opt/data/fs1"
},
{
"local": "C:\\temp\\elsewhere",
"remote": "/opt/somewhere"
}
]
Array restrictions | |
---|---|
Min items | N/A |
Max items | N/A |
Items unicity | False |
Additional items | False |
Tuple validation | N/A |
15.1.1.15. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > syncFolder
Type | string |
Required | No |
Default | "sasjs/static_files" |
Defined in | #/properties/syncFolder |
Description: The contents of this folder are simply copied to the sasjsbuild directory AFTER the rest of the project is compiled. Useful for synchronising random / generic content with SAS logical folders.
15.1.1.16. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > testConfig
Type | object |
Required | No |
Additional properties | [Any type: allowed] |
Default | {"initProgram": "sasjs/tests/testinit.sas", "termProgram": "sasjs/tests/testterm.sas", "macroVars": {"testVar": "testValue"}, "testSetUp": "sasjs/tests/testsetup.sas", "testTearDown": "sasjs/tests/testteardown.sas"} |
Defined in | #/properties/testConfig |
Description: Create tests for Macros, Services & Jobs by simply adding a '.test.sas' extension.
Property | Pattern | Type | Deprecated | Definition | Title/Description |
---|---|---|---|---|---|
- initProgram | No | string | No | - | The jobConfig initProgram |
- termProgram | No | string | No | - | The jobConfig termProgram |
- macroVars | No | object | No | - | The `jobConfig` macroVars |
- testSetUp | No | string | No | - | The jobConfig testSetUp |
- testTearDown | No | string | No | - | The jobConfig testTearDown |
15.1.1.16.1. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > testConfig > initProgram
Title: The jobConfig initProgram
Type | string |
Required | No |
Default | "" |
Description: The testConfig initProgram
is a local .sas file that is inserted at the start of every Test (after compiled macros and any macroVars
, and before the Test itself).
Example:
"sasjs/tests/testinit.sas"
15.1.1.16.2. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > testConfig > termProgram
Title: The jobConfig termProgram
Type | string |
Required | No |
Default | "" |
Description: The testConfig termProgram is inserted at the end of every Test as part of sasjs compile
.
Example:
"jobs/jobterm.sas"
15.1.1.16.3. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > testConfig > macroVars
Title: The jobConfig
macroVars
Type | object |
Required | No |
Additional properties | [Any type: allowed] |
Default | {} |
Description: This object allows sasjs compile
to insert specific macro variables at the start of every Test. In this case, the code generated would be:
%let mac1=value;
%let mac2=42;
Example:
{
"mac1": "value",
"mac2": "42"
}
15.1.1.16.4. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > testConfig > testSetUp
Title: The jobConfig testSetUp
Type | string |
Required | No |
Default | "sasjs/tests/testsetup.sas" |
Description: This program is the first to execute as part of 'sasjs test'. It does not contain the testInit, testTerm or macroVariables. It IS compiled.
Example:
"sasjs/tests/testsetup.sas"
15.1.1.16.5. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > testConfig > testTearDown
Title: The jobConfig testTearDown
Type | string |
Required | No |
Default | "sasjs/tests/testteardown.sas" |
Description: The last program to execute as part of 'sasjs test'.
Example:
"sasjs/tests/testteardown.sas"
15.1.1.17. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > macroFolders
Type | array |
Required | No |
Default | [] |
Defined in | #/properties/macroFolders |
Description: These local folders are searched for SAS Macros when running sasjs compile
. Folders are relative to the sasjs/sasjsconfig.json
file.
Example:
[
"macros",
"../../more_macros"
]
Array restrictions | |
---|---|
Min items | N/A |
Max items | N/A |
Items unicity | False |
Additional items | False |
Tuple validation | N/A |
15.1.1.18. Property SASjs Config File > targets > targets items > anyOf > SASjs Targets > programFolders
Type | array |
Required | No |
Default | [] |
Defined in | #/properties/programFolders |
Description: These local folders are searched for SAS Programs when running sasjs compile
. Folders are relative to the sasjs/sasjsconfig.json
file.
Example:
[
"programs",
"../../more_programs"
]
Array restrictions | |
---|---|
Min items | N/A |
Max items | N/A |
Items unicity | False |
Additional items | False |
Tuple validation | N/A |
Generated using json-schema-for-humans on 2022-10-26 at 14:11:24 +0000