@sasjs/utils 2.49.1 → 2.49.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/macros/mp_dirlist.sas +1 -2
- package/macros/mp_gitadd.sas +45 -0
- package/macros/mp_gitreleaseinfo.sas +74 -0
- package/macros/mp_gitstatus.sas +67 -0
- package/macros/mp_hashdirectory.sas +5 -3
- package/package.json +2 -2
- package/types/config.d.ts +4 -0
- package/types/target.d.ts +4 -1
- package/types/target.js +16 -0
- package/types/target.js.map +1 -1
- package/types/targetValidators.d.ts +2 -1
- package/types/targetValidators.js +12 -1
- package/types/targetValidators.js.map +1 -1
package/macros/mp_dirlist.sas
CHANGED
|
@@ -101,8 +101,7 @@ data &out_ds(compress=no
|
|
|
101
101
|
if did=0 then do;
|
|
102
102
|
putlog "NOTE: This directory is empty, or does not exist - &path";
|
|
103
103
|
msg=sysmsg();
|
|
104
|
-
put
|
|
105
|
-
put _all_;
|
|
104
|
+
put (_all_)(=);
|
|
106
105
|
stop;
|
|
107
106
|
end;
|
|
108
107
|
/* attribute is OS-dependent - could be "Directory" or "Directory Name" */
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
@file
|
|
3
|
+
@brief Stages files in a GIT repo
|
|
4
|
+
@details Uses the output dataset from mp_gitstatus.sas to determine the files
|
|
5
|
+
that should be staged.
|
|
6
|
+
|
|
7
|
+
If `STAGED ne "TRUE"` then the file is staged.
|
|
8
|
+
|
|
9
|
+
Usage:
|
|
10
|
+
|
|
11
|
+
%let dir=%sysfunc(pathname(work))/core;
|
|
12
|
+
%let repo=https://github.com/sasjs/core;
|
|
13
|
+
%put source clone rc=%sysfunc(GITFN_CLONE(&repo,&dir));
|
|
14
|
+
%mf_writefile(&dir/somefile.txt,l1=some content)
|
|
15
|
+
%mf_deletefile(&dir/package.json)
|
|
16
|
+
%mp_gitstatus(&dir,outds=work.gitstatus)
|
|
17
|
+
|
|
18
|
+
%mp_gitadd(&dir,inds=work.gitstatus)
|
|
19
|
+
|
|
20
|
+
@param [in] gitdir The directory containing the GIT repository
|
|
21
|
+
@param [in] inds= (work.mp_gitadd) The input dataset with the list of files
|
|
22
|
+
to stage. Will accept the output from mp_gitstatus(), else just use a table
|
|
23
|
+
with the following columns:
|
|
24
|
+
@li path $1024 - relative path to the file in the repo
|
|
25
|
+
@li staged $32 - whether the file is staged (TRUE or FALSE)
|
|
26
|
+
@li status $64 - either new, deleted, or modified
|
|
27
|
+
|
|
28
|
+
@param [in] mdebug= (0) Set to 1 to enable DEBUG messages
|
|
29
|
+
|
|
30
|
+
<h4> Related Files </h4>
|
|
31
|
+
@li mp_gitadd.test.sas
|
|
32
|
+
@li mp_gitstatus.sas
|
|
33
|
+
|
|
34
|
+
**/
|
|
35
|
+
|
|
36
|
+
%macro mp_gitadd(gitdir,inds=work.mp_gitadd,mdebug=0);
|
|
37
|
+
|
|
38
|
+
data _null_;
|
|
39
|
+
set &inds;
|
|
40
|
+
if STAGED ne "TRUE";
|
|
41
|
+
rc=git_index_add("&gitdir",cats(path),status);
|
|
42
|
+
if rc ne 0 or &mdebug=1 then put rc=;
|
|
43
|
+
run;
|
|
44
|
+
|
|
45
|
+
%mend mp_gitadd;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
@file
|
|
3
|
+
@brief Pulls latest release info from a GIT repository
|
|
4
|
+
@details Useful for grabbing the latest version number or other attributes
|
|
5
|
+
from a GIT server. Supported providers are GitLab and GitHub. Pull requests
|
|
6
|
+
are welcome if you'd like to see additional providers!
|
|
7
|
+
|
|
8
|
+
Note that each provider provides slightly different JSON output. Therefore
|
|
9
|
+
the macro simply extracts the JSON and assigns the libname (using the JSON
|
|
10
|
+
engine).
|
|
11
|
+
|
|
12
|
+
Example usage (eg, to grab latest release version from github):
|
|
13
|
+
|
|
14
|
+
%mp_gitreleaseinfo(GITHUB,sasjs/core,outlib=mylibref)
|
|
15
|
+
|
|
16
|
+
data _null_;
|
|
17
|
+
set mylibref.root;
|
|
18
|
+
putlog TAG_NAME=;
|
|
19
|
+
run;
|
|
20
|
+
|
|
21
|
+
@param [in] provider The GIT provider for the release info. Accepted values:
|
|
22
|
+
@li GITLAB
|
|
23
|
+
@li GITHUB - Tables include root, assets, author, alldata
|
|
24
|
+
@param [in] project The link to the repository. This has different formats
|
|
25
|
+
depending on the vendor:
|
|
26
|
+
@li GITHUB - org/repo, eg sasjs/core
|
|
27
|
+
@li GITLAB - project, eg 1343223
|
|
28
|
+
@param [in] server= (0) If your repo is self-hosted, then provide the domain
|
|
29
|
+
here. Otherwise it will default to the provider domain (eg gitlab.com).
|
|
30
|
+
@param [in] mdebug= (0) Set to 1 to enable DEBUG messages
|
|
31
|
+
@param [out] outlib= (GITREL) The JSON-engine libref to be created, which will
|
|
32
|
+
point at the returned JSON
|
|
33
|
+
|
|
34
|
+
<h4> SAS Macros </h4>
|
|
35
|
+
@li mf_getuniquefileref.sas
|
|
36
|
+
|
|
37
|
+
<h4> Related Files </h4>
|
|
38
|
+
@li mp_gitreleaseinfo.test.sas
|
|
39
|
+
|
|
40
|
+
**/
|
|
41
|
+
|
|
42
|
+
%macro mp_gitreleaseinfo(provider,project,server=0,outlib=GITREL,mdebug=0);
|
|
43
|
+
%local url fref;
|
|
44
|
+
|
|
45
|
+
%let provider=%upcase(&provider);
|
|
46
|
+
|
|
47
|
+
%if &provider=GITHUB %then %do;
|
|
48
|
+
%if "&server"="0" %then %let server=https://api.github.com;
|
|
49
|
+
%let url=&server/repos/&project/releases/latest;
|
|
50
|
+
%end;
|
|
51
|
+
%else %if &provider=GITLAB %then %do;
|
|
52
|
+
%if "&server"="0" %then %let server=https://gitlab.com;
|
|
53
|
+
%let url=&server/api/v4/projects/&project/releases;
|
|
54
|
+
%end;
|
|
55
|
+
|
|
56
|
+
%let fref=%mf_getuniquefileref();
|
|
57
|
+
|
|
58
|
+
proc http method='GET' out=&fref url="&url";
|
|
59
|
+
%if &mdebug=1 %then %do;
|
|
60
|
+
debug level = 3;
|
|
61
|
+
%end;
|
|
62
|
+
run;
|
|
63
|
+
|
|
64
|
+
libname &outlib JSON fileref=&fref;
|
|
65
|
+
|
|
66
|
+
%if &mdebug=1 %then %do;
|
|
67
|
+
data _null_;
|
|
68
|
+
infile &fref;
|
|
69
|
+
input;
|
|
70
|
+
putlog _infile_;
|
|
71
|
+
run;
|
|
72
|
+
%end;
|
|
73
|
+
|
|
74
|
+
%mend mp_gitreleaseinfo;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
@file
|
|
3
|
+
@brief Creates a dataset with the output from `GIT_STATUS()`
|
|
4
|
+
@details Uses `git_status()` to fetch the number of changed files, then
|
|
5
|
+
iterates with `git_status_get()`, inserting all attributes into an output
|
|
6
|
+
dataset.
|
|
7
|
+
|
|
8
|
+
Usage:
|
|
9
|
+
|
|
10
|
+
%let dir=%sysfunc(pathname(work))/core;
|
|
11
|
+
%let repo=https://github.com/sasjs/core;
|
|
12
|
+
%put source clone rc=%sysfunc(GITFN_CLONE(&repo,&dir));
|
|
13
|
+
%mf_writefile(&dir/somefile.txt,l1=some content)
|
|
14
|
+
%mf_deletefile(&dir/package.json)
|
|
15
|
+
|
|
16
|
+
%mp_gitstatus(&dir,outds=work.gitstatus)
|
|
17
|
+
|
|
18
|
+
More info on these functions is in this [helpful paper]
|
|
19
|
+
(https://www.sas.com/content/dam/SAS/support/en/sas-global-forum-proceedings/2019/3057-2019.pdf)
|
|
20
|
+
by Danny Zimmerman.
|
|
21
|
+
|
|
22
|
+
@param [in] gitdir The directory containing the GIT repository
|
|
23
|
+
@param [out] outds= (work.git_status) The output dataset to create. Vars:
|
|
24
|
+
@li gitdir $1024 - directory of repo
|
|
25
|
+
@li path $1024 - relative path to the file in the repo
|
|
26
|
+
@li staged $32 - whether the file is staged (TRUE or FALSE)
|
|
27
|
+
@li status $64 - either new, deleted, or modified
|
|
28
|
+
@li cnt - number of files
|
|
29
|
+
@li n - the "nth" file in the list from git_status()
|
|
30
|
+
|
|
31
|
+
@param [in] mdebug= (0) Set to 1 to enable DEBUG messages
|
|
32
|
+
|
|
33
|
+
<h4> Related Files </h4>
|
|
34
|
+
@li mp_gitstatus.test.sas
|
|
35
|
+
@li mp_gitadd.sas
|
|
36
|
+
|
|
37
|
+
**/
|
|
38
|
+
|
|
39
|
+
%macro mp_gitstatus(gitdir,outds=work.mp_gitstatus,mdebug=0);
|
|
40
|
+
|
|
41
|
+
data &outds;
|
|
42
|
+
LENGTH gitdir path $ 1024 STATUS $ 64 STAGED $ 32;
|
|
43
|
+
call missing (of _all_);
|
|
44
|
+
gitdir=symget('gitdir');
|
|
45
|
+
cnt=git_status(trim(gitdir));
|
|
46
|
+
if cnt=-1 then do;
|
|
47
|
+
put "The libgit2 library is unavailable and no Git operations can be used.";
|
|
48
|
+
put "See: https://stackoverflow.com/questions/74082874";
|
|
49
|
+
end;
|
|
50
|
+
else if cnt=-2 then do;
|
|
51
|
+
put "The libgit2 library is available, but the status function failed.";
|
|
52
|
+
put "See the log for details.";
|
|
53
|
+
end;
|
|
54
|
+
else do n=1 to cnt;
|
|
55
|
+
rc=GIT_STATUS_GET(n,gitdir,'PATH',path);
|
|
56
|
+
rc=GIT_STATUS_GET(n,gitdir,'STAGED',staged);
|
|
57
|
+
rc=GIT_STATUS_GET(n,gitdir,'STATUS',status);
|
|
58
|
+
output;
|
|
59
|
+
%if &mdebug=1 %then %do;
|
|
60
|
+
putlog (_all_)(=);
|
|
61
|
+
%end;
|
|
62
|
+
end;
|
|
63
|
+
rc=git_status_free(gitdir);
|
|
64
|
+
drop rc cnt;
|
|
65
|
+
run;
|
|
66
|
+
|
|
67
|
+
%mend mp_gitstatus;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
create a hash for each directory also.
|
|
6
6
|
|
|
7
7
|
This makes use of the new `hashing_file()` and `hashing` functions, available
|
|
8
|
-
since 9.4m6. Interestingly,
|
|
8
|
+
since 9.4m6. Interestingly, those functions can be used in pure macro, eg:
|
|
9
9
|
|
|
10
10
|
%put %sysfunc(hashing_file(md5,/path/to/file.blob,0));
|
|
11
11
|
|
|
@@ -30,8 +30,9 @@
|
|
|
30
30
|
@li If a folder contains other folders, start from the bottom of the tree -
|
|
31
31
|
the folder hashes cascade upwards so you know immediately if there is a
|
|
32
32
|
change in a sub/sub directory
|
|
33
|
-
@li If
|
|
33
|
+
@li If a subfolder has no content (empty) then it is ignored. No hash created.
|
|
34
34
|
@li If the file is empty, it is also ignored / no hash created.
|
|
35
|
+
@li If the target directory (&inloc) is empty, &outds will also be empty
|
|
35
36
|
|
|
36
37
|
<h4> SAS Macros </h4>
|
|
37
38
|
@li mp_dirlist.sas
|
|
@@ -72,7 +73,7 @@
|
|
|
72
73
|
iftrue=%str(1=1)
|
|
73
74
|
)/*/STORE SOURCE*/;
|
|
74
75
|
|
|
75
|
-
%local curlevel tempds ;
|
|
76
|
+
%local curlevel tempds maxlevel;
|
|
76
77
|
|
|
77
78
|
%if not(%eval(%unquote(&iftrue))) %then %return;
|
|
78
79
|
|
|
@@ -108,6 +109,7 @@ proc sort data=&outds ;
|
|
|
108
109
|
by descending level directory file_path;
|
|
109
110
|
run;
|
|
110
111
|
|
|
112
|
+
%let maxlevel=0;
|
|
111
113
|
data _null_;
|
|
112
114
|
set &outds;
|
|
113
115
|
call symputx('maxlevel',level,'l');
|
package/package.json
CHANGED
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
},
|
|
37
37
|
"homepage": "https://github.com/sasjs/utils#readme",
|
|
38
38
|
"devDependencies": {
|
|
39
|
-
"@sasjs/core": "4.
|
|
39
|
+
"@sasjs/core": "^4.43.1",
|
|
40
40
|
"@types/cli-table": "0.3.0",
|
|
41
41
|
"@types/find": "0.2.1",
|
|
42
42
|
"@types/jest": "27.4.0",
|
|
@@ -64,5 +64,5 @@
|
|
|
64
64
|
"rimraf": "3.0.2",
|
|
65
65
|
"valid-url": "1.0.9"
|
|
66
66
|
},
|
|
67
|
-
"version": "2.49.
|
|
67
|
+
"version": "2.49.3"
|
|
68
68
|
}
|
package/types/config.d.ts
CHANGED
package/types/target.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DocConfig, AuthConfig, AuthConfigSas9, BuildConfig, DeployConfig, ServiceConfig, JobConfig, StreamConfig, TestConfig } from './config';
|
|
1
|
+
import { DocConfig, AuthConfig, AuthConfigSas9, BuildConfig, DeployConfig, ServiceConfig, JobConfig, StreamConfig, TestConfig, SyncDirectoryMap } from './config';
|
|
2
2
|
import { ServerType } from './serverType';
|
|
3
3
|
import { HttpsAgentOptions } from './httpsAgentOptions';
|
|
4
4
|
export interface TargetJson {
|
|
@@ -23,6 +23,7 @@ export interface TargetJson {
|
|
|
23
23
|
binaryFolders?: string[];
|
|
24
24
|
isDefault?: boolean;
|
|
25
25
|
testConfig?: TestConfig;
|
|
26
|
+
syncDirectories?: SyncDirectoryMap[];
|
|
26
27
|
}
|
|
27
28
|
export declare class Target implements TargetJson {
|
|
28
29
|
get name(): string;
|
|
@@ -67,6 +68,8 @@ export declare class Target implements TargetJson {
|
|
|
67
68
|
private _testConfig;
|
|
68
69
|
get syncFolder(): string | undefined;
|
|
69
70
|
private _syncFolder;
|
|
71
|
+
get syncDirectories(): SyncDirectoryMap[] | undefined;
|
|
72
|
+
private _syncDirectories;
|
|
70
73
|
constructor(json: any);
|
|
71
74
|
toJson(withDefaults?: boolean): TargetJson;
|
|
72
75
|
}
|
package/types/target.js
CHANGED
|
@@ -61,6 +61,9 @@ var Target = /** @class */ (function () {
|
|
|
61
61
|
if (json.binaryFolders && json.binaryFolders.length) {
|
|
62
62
|
this._binaryFolders = json.binaryFolders;
|
|
63
63
|
}
|
|
64
|
+
if (json.syncDirectories && json.syncDirectories.length) {
|
|
65
|
+
this._syncDirectories = (0, targetValidators_1.validateSyncDirectories)(json.syncDirectories);
|
|
66
|
+
}
|
|
64
67
|
}
|
|
65
68
|
catch (e) {
|
|
66
69
|
throw new Error("Error parsing target: ".concat(e.message));
|
|
@@ -213,6 +216,13 @@ var Target = /** @class */ (function () {
|
|
|
213
216
|
enumerable: false,
|
|
214
217
|
configurable: true
|
|
215
218
|
});
|
|
219
|
+
Object.defineProperty(Target.prototype, "syncDirectories", {
|
|
220
|
+
get: function () {
|
|
221
|
+
return this._syncDirectories;
|
|
222
|
+
},
|
|
223
|
+
enumerable: false,
|
|
224
|
+
configurable: true
|
|
225
|
+
});
|
|
216
226
|
Target.prototype.toJson = function (withDefaults) {
|
|
217
227
|
var _a, _b, _c;
|
|
218
228
|
if (withDefaults === void 0) { withDefaults = true; }
|
|
@@ -237,6 +247,12 @@ var Target = /** @class */ (function () {
|
|
|
237
247
|
if (this.authConfigSas9) {
|
|
238
248
|
json.authConfigSas9 = this.authConfigSas9;
|
|
239
249
|
}
|
|
250
|
+
if (this.syncDirectories) {
|
|
251
|
+
json.syncDirectories = this.syncDirectories;
|
|
252
|
+
}
|
|
253
|
+
else if (withDefaults) {
|
|
254
|
+
json.syncDirectories = [];
|
|
255
|
+
}
|
|
240
256
|
if (this.buildConfig) {
|
|
241
257
|
json.buildConfig = this.buildConfig;
|
|
242
258
|
}
|
package/types/target.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"target.js","sourceRoot":"","sources":["../../src/types/target.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"target.js","sourceRoot":"","sources":["../../src/types/target.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ServerType, HttpsAgentOptions } from '.';
|
|
2
|
-
import { DocConfig, AuthConfig, AuthConfigSas9, BuildConfig, DeployConfig, JobConfig, ServiceConfig, StreamConfig, TestConfig } from './config';
|
|
2
|
+
import { DocConfig, AuthConfig, AuthConfigSas9, BuildConfig, DeployConfig, JobConfig, ServiceConfig, StreamConfig, TestConfig, SyncDirectoryMap } from './config';
|
|
3
3
|
export declare const validateServerType: (serverType: any) => ServerType;
|
|
4
4
|
export declare const validateTargetName: (targetName: string) => string;
|
|
5
5
|
export declare const validateServerUrl: (serverUrl: string) => string;
|
|
@@ -18,3 +18,4 @@ export declare const validateContextName: (contextName: string, serverType: Serv
|
|
|
18
18
|
export declare const validateServerName: (serverName: string, serverType: ServerType) => string;
|
|
19
19
|
export declare const validateSyncFolder: (syncFolder: string) => string | undefined;
|
|
20
20
|
export declare const validateRepositoryName: (repositoryName: string, serverType: ServerType) => string;
|
|
21
|
+
export declare const validateSyncDirectories: (syncDirectories: SyncDirectoryMap[]) => SyncDirectoryMap[];
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.validateRepositoryName = exports.validateSyncFolder = exports.validateServerName = exports.validateContextName = exports.validateStreamConfig = exports.validateDeployConfig = exports.validateJobConfig = exports.validateTestConfig = exports.validateServiceConfig = exports.validateBuildConfig = exports.validateAuthConfigSas9 = exports.validateAuthConfig = exports.validateDocConfig = exports.validateAppLoc = exports.validateHttpsAgentOptions = exports.validateServerUrl = exports.validateTargetName = exports.validateServerType = void 0;
|
|
6
|
+
exports.validateSyncDirectories = exports.validateRepositoryName = exports.validateSyncFolder = exports.validateServerName = exports.validateContextName = exports.validateStreamConfig = exports.validateDeployConfig = exports.validateJobConfig = exports.validateTestConfig = exports.validateServiceConfig = exports.validateBuildConfig = exports.validateAuthConfigSas9 = exports.validateAuthConfig = exports.validateDocConfig = exports.validateAppLoc = exports.validateHttpsAgentOptions = exports.validateServerUrl = exports.validateTargetName = exports.validateServerType = void 0;
|
|
7
7
|
var valid_url_1 = __importDefault(require("valid-url"));
|
|
8
8
|
var _1 = require(".");
|
|
9
9
|
var DEFAULT_CONTEXT_NAME = 'SAS Job Execution compute context';
|
|
@@ -270,4 +270,15 @@ var validateRepositoryName = function (repositoryName, serverType) {
|
|
|
270
270
|
return repositoryName;
|
|
271
271
|
};
|
|
272
272
|
exports.validateRepositoryName = validateRepositoryName;
|
|
273
|
+
var validateSyncDirectories = function (syncDirectories) {
|
|
274
|
+
if (!syncDirectories) {
|
|
275
|
+
throw new Error('Invalid syncDirectories config: JSON cannot be null or undefined.');
|
|
276
|
+
}
|
|
277
|
+
syncDirectories.forEach(function (obj) {
|
|
278
|
+
if (!obj.local || !obj.remote)
|
|
279
|
+
throw new Error("Invalid syncDirectory config: values of property 'local' and 'remote can not be empty or undefined");
|
|
280
|
+
});
|
|
281
|
+
return syncDirectories;
|
|
282
|
+
};
|
|
283
|
+
exports.validateSyncDirectories = validateSyncDirectories;
|
|
273
284
|
//# sourceMappingURL=targetValidators.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"targetValidators.js","sourceRoot":"","sources":["../../src/types/targetValidators.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAgC;AAChC,sBAAiD;
|
|
1
|
+
{"version":3,"file":"targetValidators.js","sourceRoot":"","sources":["../../src/types/targetValidators.ts"],"names":[],"mappings":"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"}
|