generator-ehrcraft-script 1.1.1 → 1.2.1
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/README.md +5 -2
- package/generators/app/index.js +2 -7
- package/generators/app/templates/gulpfile.js/index.js +137 -139
- package/generators/app/templates/package.json +34 -60
- package/package.json +86 -87
- package/generators/app/templates/gulpfile.js/bundle.js +0 -62
- package/generators/app/templates/gulpfile.js/removeEhrCraftPackage.js +0 -28
package/README.md
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
# generator-ehrcraft-script
|
|
2
|
-
|
|
1
|
+
# generator-ehrcraft-script
|
|
2
|
+
|
|
3
|
+
## Version log
|
|
4
|
+
|
|
5
|
+
1.2.0 - simplified gulp and package dependencies
|
|
3
6
|
|
|
4
7
|
|
|
5
8
|
## Installation
|
package/generators/app/index.js
CHANGED
|
@@ -9,6 +9,7 @@ module.exports = class extends Generator {
|
|
|
9
9
|
// eslint-disable-next-line no-useless-constructor
|
|
10
10
|
constructor(args,opts) {
|
|
11
11
|
super(args,opts);
|
|
12
|
+
this.env.options.nodePackageManager = 'npm';
|
|
12
13
|
}
|
|
13
14
|
|
|
14
15
|
prompting() {
|
|
@@ -84,11 +85,5 @@ module.exports = class extends Generator {
|
|
|
84
85
|
this.fs.copy(this.templatePath("src"),this.destinationPath("src"));
|
|
85
86
|
}
|
|
86
87
|
|
|
87
|
-
|
|
88
|
-
this.installDependencies({
|
|
89
|
-
npm: true,
|
|
90
|
-
bower: false,
|
|
91
|
-
yarn: false
|
|
92
|
-
});
|
|
93
|
-
}
|
|
88
|
+
|
|
94
89
|
};
|
|
@@ -1,68 +1,34 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
// Gulp is the library/tool to automate slow, repetitive workflows and compose them into efficient build pipelines.
|
|
2
|
+
const gulp = require("gulp");
|
|
3
|
+
const { series, watch } = require('gulp');
|
|
4
|
+
const inject = require('gulp-inject-string');
|
|
5
|
+
// used to minify javascript
|
|
6
|
+
const terser = require('gulp-terser');
|
|
7
|
+
// used to compile typescript source code
|
|
8
|
+
const ts = require('gulp-typescript');
|
|
9
|
+
// used to rename files in the pipes of compilation, budle, renaming, etc.
|
|
10
|
+
const rename = require('gulp-rename');
|
|
11
|
+
// used to bundle the generated javascript code to one file
|
|
12
|
+
const browserify = require('browserify');
|
|
13
|
+
|
|
14
|
+
// used for the pipes working with the files. vinyl is a meta-defintion of a file.
|
|
15
|
+
// See: https://github.com/gulpjs/vinyl
|
|
16
|
+
const source = require('vinyl-source-stream');
|
|
17
|
+
const buffer = require('vinyl-buffer');
|
|
18
|
+
const through = require('through');
|
|
19
|
+
|
|
20
|
+
/* Used for configuration */
|
|
8
21
|
const YAML = require('yaml');
|
|
22
|
+
/* Used to read configuration */
|
|
9
23
|
const fs = require('fs');
|
|
10
|
-
const { watch,series,parallel } = require('gulp');
|
|
11
|
-
const del = require('del');
|
|
12
|
-
var through = require('through');
|
|
13
|
-
var log = require('gulplog');
|
|
14
|
-
let uglify = require('gulp-uglify-es').default;
|
|
15
|
-
var source = require('vinyl-source-stream');
|
|
16
|
-
var buffer = require('vinyl-buffer');
|
|
17
|
-
var bundler = require('./bundle');
|
|
18
24
|
|
|
19
|
-
|
|
20
|
-
var transformEhrCraftPackage = require('./removeEhrCraftPackage');
|
|
25
|
+
const full_deploy_series = series(compile, injectBootStrapLine, bundle, minify, deploy);
|
|
21
26
|
|
|
22
27
|
|
|
23
|
-
function getFolderAndName() {
|
|
24
|
-
const file = fs.readFileSync('./ehrcraft.config.yml','utf8');
|
|
25
|
-
let n = YAML.parse(file);
|
|
26
|
-
return n;
|
|
27
|
-
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
//ehrcraft_form_api_1.
|
|
33
|
-
function compress() {
|
|
34
|
-
return gulp.src('./build/js/*.js')
|
|
35
|
-
.pipe(uglify(/* options */))
|
|
36
|
-
.pipe(gulp.dest('./build/dist'))
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
}
|
|
40
28
|
|
|
41
29
|
/**
|
|
42
|
-
*
|
|
43
|
-
|
|
44
|
-
function compile() {
|
|
45
|
-
return gulp.src('src/**/*.ts')
|
|
46
|
-
.pipe(ts({
|
|
47
|
-
target: "es3",
|
|
48
|
-
noImplicitAny: true,
|
|
49
|
-
module: "commonjs",
|
|
50
|
-
outDir: "ehrcraft"
|
|
51
|
-
}))
|
|
52
|
-
.pipe(babel({
|
|
53
|
-
presets: ["@babel/typescript"],
|
|
54
|
-
plugins: ["@babel/proposal-class-properties",
|
|
55
|
-
"@babel/proposal-object-rest-spread"]
|
|
56
|
-
}))
|
|
57
|
-
.pipe(gulp.dest('./build'))
|
|
58
|
-
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Dette er trikset som gjør at FormRenderer starter scriptet vårt ved lasting.
|
|
63
|
-
* Ved å kalle funksjonen main(api) i index.js
|
|
64
|
-
*
|
|
65
|
-
* NOTE:
|
|
30
|
+
* Defines the injected function call to main.
|
|
31
|
+
* * NOTE:
|
|
66
32
|
* Change or modify this if you need ctx and/or http for your script
|
|
67
33
|
* i.e.
|
|
68
34
|
* main(api, ctx, http)
|
|
@@ -78,98 +44,130 @@ function compile() {
|
|
|
78
44
|
*
|
|
79
45
|
* Then you have to changes the export function main(......) in index.ts as well
|
|
80
46
|
*/
|
|
81
|
-
|
|
82
|
-
let boot = "main(api);";
|
|
83
|
-
return gulp.src("./build/index.js")
|
|
84
|
-
.pipe(inject.append(boot))
|
|
85
|
-
.pipe(gulp.dest("./build"));
|
|
86
|
-
|
|
87
|
-
};
|
|
47
|
+
const boot = 'main(api,ctx,terminology, config);';
|
|
88
48
|
|
|
89
49
|
/**
|
|
90
|
-
*
|
|
50
|
+
* Task to compile source as typescript
|
|
51
|
+
* @param {*} cb
|
|
52
|
+
* @returns
|
|
91
53
|
*/
|
|
92
|
-
function
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
removeEhrCraftFormRequire2,
|
|
103
|
-
removeEhrCraftPackage2
|
|
104
|
-
]
|
|
105
|
-
}).bundle();
|
|
106
|
-
|
|
107
|
-
})).pipe(gulp.dest('./build/js'));
|
|
108
|
-
};
|
|
109
|
-
|
|
110
|
-
function bundle(cb) {
|
|
111
|
-
return browserify('./build/index.js')
|
|
112
|
-
//.transform(bundler.removeEhrCraftPackage)
|
|
113
|
-
.transform(transformEhrCraftPackage)
|
|
114
|
-
.bundle()
|
|
115
|
-
.pipe(source('index.js'))
|
|
116
|
-
.pipe(buffer())
|
|
117
|
-
.pipe(gulp.dest('./build/bundle'));
|
|
54
|
+
function compile(cb) {
|
|
55
|
+
return gulp.src('src/**/*.ts')
|
|
56
|
+
.pipe(ts({
|
|
57
|
+
target: "es5",
|
|
58
|
+
noImplicitAny: true,
|
|
59
|
+
removeComments: false,
|
|
60
|
+
module: "commonjs"
|
|
61
|
+
}))
|
|
62
|
+
|
|
63
|
+
.pipe(gulp.dest('./dist'))
|
|
118
64
|
}
|
|
119
|
-
|
|
120
|
-
function olderbundle(cb) {
|
|
121
|
-
bundler.bundleScript("./build/index.js","./build/bundle.js")
|
|
122
|
-
.then(result => {
|
|
123
|
-
console.log("Bundled finsihed");
|
|
124
|
-
cb();
|
|
125
|
-
}).catch(error => {
|
|
126
|
-
console.error("Error bundling");
|
|
127
|
-
})
|
|
128
|
-
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
|
|
132
65
|
/**
|
|
133
|
-
*
|
|
134
|
-
*
|
|
66
|
+
* Task to inject the call to main method
|
|
67
|
+
* See boot variable above.
|
|
68
|
+
*
|
|
69
|
+
* @returns
|
|
135
70
|
*/
|
|
136
|
-
function
|
|
137
|
-
let n = getFolderAndName();
|
|
138
|
-
let formScriptsFolder = n.form_scripts;
|
|
139
|
-
let formName = n.form_name;
|
|
140
|
-
console.log("Deploy to folder " + formScriptsFolder + ", file: " + formName + ".js");
|
|
141
|
-
if (formScriptsFolder && formName) {
|
|
142
|
-
return gulp.src('./build/bundle/index.js')
|
|
143
|
-
.pipe(rename(formName + ".js"))
|
|
144
|
-
.pipe(gulp.dest(formScriptsFolder));
|
|
145
|
-
}
|
|
146
|
-
else {
|
|
147
|
-
cb();
|
|
148
|
-
}
|
|
71
|
+
function injectBootStrapLine(cb) {
|
|
149
72
|
|
|
150
|
-
|
|
73
|
+
return gulp.src("./dist/index.js")
|
|
74
|
+
.pipe(inject.append(boot))
|
|
75
|
+
.pipe(inject.append(`console.log("Script kompilert dato: ${new Date().toISOString()}");`))
|
|
76
|
+
.pipe(gulp.dest("./dist"));
|
|
151
77
|
|
|
152
|
-
|
|
153
|
-
return del('./build');
|
|
78
|
+
};
|
|
154
79
|
|
|
80
|
+
/**
|
|
81
|
+
* Task to minify the generated javascript.
|
|
82
|
+
* This task is optional. The idea is to reduce the size of the generated javascript.
|
|
83
|
+
* @param {*} cb
|
|
84
|
+
* @returns
|
|
85
|
+
*/
|
|
86
|
+
function minify(cb) {
|
|
87
|
+
return gulp.src("./build/app.js")
|
|
88
|
+
.pipe(terser())
|
|
89
|
+
.pipe(gulp.dest("./build"));
|
|
155
90
|
}
|
|
156
91
|
|
|
157
|
-
|
|
158
|
-
|
|
92
|
+
/**
|
|
93
|
+
* Task to bundle all compiled javascript files into a single bundle.
|
|
94
|
+
* Will also remove package names from the EHR Craft API.
|
|
95
|
+
* @param {*} cb
|
|
96
|
+
* @returns
|
|
97
|
+
*/
|
|
98
|
+
function bundle(cb) {
|
|
99
|
+
var b = browserify({
|
|
100
|
+
entries: './dist/index.js',
|
|
101
|
+
debug: false,
|
|
102
|
+
transform: [removeEhrCraftPackage]
|
|
103
|
+
});
|
|
104
|
+
return b.bundle()
|
|
105
|
+
.pipe(source('app.js'))
|
|
106
|
+
.pipe(buffer())
|
|
107
|
+
.pipe(gulp.dest('./build'));
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
function removeEhrCraftPackage(file) {
|
|
111
|
+
var data = '';
|
|
112
|
+
var stream = through(write, end);
|
|
113
|
+
return stream;
|
|
114
|
+
|
|
115
|
+
function write(buf) {
|
|
116
|
+
data += buf.toString('utf8')
|
|
117
|
+
.replace(/(var ehrcraft_form_api_1)/gm, "// Kommentert ut av byggescript")
|
|
118
|
+
.replace(/(ehrcraft_form_api_1\.)/gm, "");
|
|
119
|
+
;
|
|
120
|
+
}
|
|
121
|
+
function end() {
|
|
122
|
+
process(file, data, function (result) {
|
|
123
|
+
stream.queue(result);
|
|
124
|
+
stream.queue(null);
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
function process(file, data, callback) {
|
|
128
|
+
//console.log(`Processing file ${file}`)
|
|
129
|
+
callback(data);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
}
|
|
159
133
|
}
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
134
|
+
/**
|
|
135
|
+
* Task to deploy the bundled javascript file to form script folder of EHR Craft.
|
|
136
|
+
* Uses the configuration defined un ehrcraft.config.yml
|
|
137
|
+
* @param {*} cb
|
|
138
|
+
* @returns
|
|
139
|
+
*/
|
|
140
|
+
function deploy(cb) {
|
|
141
|
+
const ehrCraftConfig = loadEhrCraftConfigAsYaml();
|
|
142
|
+
const formScriptsFolder = ehrCraftConfig.form_scripts;
|
|
143
|
+
const formName = ehrCraftConfig.form_name;
|
|
144
|
+
console.log("Deploy to folder " + formScriptsFolder + ", file: " + formName + ".js");
|
|
145
|
+
if (formScriptsFolder && formName) {
|
|
146
|
+
return gulp
|
|
147
|
+
.src('./build/app.js')
|
|
148
|
+
.pipe(rename(formName + ".js"))
|
|
149
|
+
.pipe(gulp.dest(formScriptsFolder));
|
|
150
|
+
}
|
|
151
|
+
else {
|
|
152
|
+
cb();
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
function loadEhrCraftConfigAsYaml() {
|
|
156
|
+
const file = fs.readFileSync('./ehrcraft.config.yml', 'utf8');
|
|
157
|
+
let n = YAML.parse(file);
|
|
158
|
+
return n;
|
|
159
|
+
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Task to watch for changes in typescript and start the full serie of compile, bundle, deploy
|
|
164
|
+
* @param {*} cb
|
|
165
|
+
*/
|
|
166
|
+
function watchForChanges(cb) {
|
|
167
|
+
watch('./src/**/*.ts', full_deploy_series);
|
|
168
|
+
cb();
|
|
170
169
|
}
|
|
171
170
|
|
|
172
|
-
exports.
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
//
|
|
171
|
+
exports.default = watchForChanges;
|
|
172
|
+
exports.deploy = full_deploy_series;
|
|
173
|
+
exports.bundle = series(compile, bundle)
|
|
@@ -1,60 +1,34 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "<%= appname %>",
|
|
3
|
-
"version": "1.0.0",
|
|
4
|
-
"description": "<%= appname %>",
|
|
5
|
-
"main": "index.js",
|
|
6
|
-
"scripts": {
|
|
7
|
-
"test": "ts-mocha test/**/*.spec.ts"
|
|
8
|
-
},
|
|
9
|
-
"keywords": [
|
|
10
|
-
"openEHR",
|
|
11
|
-
"<%= appname %>",
|
|
12
|
-
"BIFROST",
|
|
13
|
-
"Arena"
|
|
14
|
-
],
|
|
15
|
-
"author": "Bjørn Næss <bna@dips.no>",
|
|
16
|
-
"license": "ISC",
|
|
17
|
-
"devDependencies": {
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
"gulp-buffer": "0.0.2",
|
|
36
|
-
"gulp-concat": "^2.6.1",
|
|
37
|
-
"gulp-copy": "^4.0.1",
|
|
38
|
-
"gulp-inject-string": "^1.1.2",
|
|
39
|
-
"gulp-rename": "^2.0.0",
|
|
40
|
-
"gulp-tap": "^2.0.0",
|
|
41
|
-
"gulp-typescript": "^5.0.1",
|
|
42
|
-
"gulp-uglify": "^3.0.2",
|
|
43
|
-
"gulp-uglify-es": "^2.0.0",
|
|
44
|
-
"gulp-watch": "^5.0.1",
|
|
45
|
-
"gulplog": "^1.0.0",
|
|
46
|
-
"mocha": "^8.0.0",
|
|
47
|
-
"nyc": "^15.0.0",
|
|
48
|
-
"ts-mocha": "^8.0.0",
|
|
49
|
-
"ts-mockito": "^2.5.0",
|
|
50
|
-
"ts-node": "^9.1.1",
|
|
51
|
-
"typescript": "^4.0.0",
|
|
52
|
-
"vinyl-buffer": "^1.0.1",
|
|
53
|
-
"vinyl-source-stream": "^2.0.0",
|
|
54
|
-
"voca": "^1.4.0"
|
|
55
|
-
},
|
|
56
|
-
"dependencies": {
|
|
57
|
-
"ehrcraft-form-api": "^2",
|
|
58
|
-
"yaml": "^1.7.2"
|
|
59
|
-
}
|
|
60
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "<%= appname %>",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "<%= appname %>",
|
|
5
|
+
"main": "index.js",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"test": "ts-mocha test/**/*.spec.ts"
|
|
8
|
+
},
|
|
9
|
+
"keywords": [
|
|
10
|
+
"openEHR",
|
|
11
|
+
"<%= appname %>",
|
|
12
|
+
"BIFROST",
|
|
13
|
+
"Arena"
|
|
14
|
+
],
|
|
15
|
+
"author": "Bjørn Næss <bna@dips.no>",
|
|
16
|
+
"license": "ISC",
|
|
17
|
+
"devDependencies": {
|
|
18
|
+
"browserify": "^17.0.0",
|
|
19
|
+
"ehrcraft-form-api": "^2.3.9",
|
|
20
|
+
"gulp": "^4.0.0",
|
|
21
|
+
"gulp-inject-string": "^1.1.2",
|
|
22
|
+
"gulp-rename": "^2.0.0",
|
|
23
|
+
"gulp-terser": "^2.1.0",
|
|
24
|
+
"gulp-typescript": "^6.0.0-alpha.1",
|
|
25
|
+
"mocha": "^10.2.0",
|
|
26
|
+
"through": "^2.3.8",
|
|
27
|
+
"ts-mocha": "^10.0.0",
|
|
28
|
+
"typescript": "^4.9.5",
|
|
29
|
+
"vinyl-buffer": "^1.0.1",
|
|
30
|
+
"vinyl-source-stream": "^2.0.0",
|
|
31
|
+
"yaml": "^2.2.1"
|
|
32
|
+
},
|
|
33
|
+
"dependencies": {}
|
|
34
|
+
}
|
package/package.json
CHANGED
|
@@ -1,87 +1,86 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "generator-ehrcraft-script",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "A code generator for DIPS Forms typescript",
|
|
5
|
-
"homepage": "https://dev.azure.com/dips/DIPS%20Configured%20Products/_git/generator-ehrcraft-script",
|
|
6
|
-
"author": {
|
|
7
|
-
"name": "Bjørn Næss",
|
|
8
|
-
"email": "bna@dips.no",
|
|
9
|
-
"url": "https://dev.azure.com/dips/DIPS%20Configured%20Products/_git/generator-ehrcraft-script"
|
|
10
|
-
},
|
|
11
|
-
"files": [
|
|
12
|
-
"generators"
|
|
13
|
-
],
|
|
14
|
-
"main": "generators/index.js",
|
|
15
|
-
"keywords": [
|
|
16
|
-
"",
|
|
17
|
-
"yeoman-generator"
|
|
18
|
-
],
|
|
19
|
-
"devDependencies": {
|
|
20
|
-
"@types/chai": "^4.
|
|
21
|
-
"@types/mocha": "^
|
|
22
|
-
"chai": "^4.
|
|
23
|
-
"coveralls": "^3.
|
|
24
|
-
"ehrcraft-form-api": "^
|
|
25
|
-
"eslint": "^
|
|
26
|
-
"eslint-config-prettier": "^
|
|
27
|
-
"eslint-plugin-prettier": "^
|
|
28
|
-
"husky": "^4.
|
|
29
|
-
"jest": "^
|
|
30
|
-
"lint-staged": "^
|
|
31
|
-
"mocha": "^
|
|
32
|
-
"prettier": "^2.
|
|
33
|
-
"ts-mockito": "^2.6.1",
|
|
34
|
-
"yeoman-assert": "^3.1.
|
|
35
|
-
"yeoman-test": "^
|
|
36
|
-
},
|
|
37
|
-
"engines": {
|
|
38
|
-
"npm": ">= 4.0.0"
|
|
39
|
-
},
|
|
40
|
-
"dependencies": {
|
|
41
|
-
"chalk": "^
|
|
42
|
-
"loadash": "^1.0.0",
|
|
43
|
-
"lodash": "^4.17.
|
|
44
|
-
"yeoman-generator": "^
|
|
45
|
-
"yosay": "^2.0.
|
|
46
|
-
},
|
|
47
|
-
"jest": {
|
|
48
|
-
"testEnvironment": "node"
|
|
49
|
-
},
|
|
50
|
-
"lint-staged": {
|
|
51
|
-
"*.js": [
|
|
52
|
-
"eslint --fix",
|
|
53
|
-
"git add"
|
|
54
|
-
],
|
|
55
|
-
"*.json": [
|
|
56
|
-
"prettier --write",
|
|
57
|
-
"git add"
|
|
58
|
-
]
|
|
59
|
-
},
|
|
60
|
-
"husky": {
|
|
61
|
-
"hooks": {
|
|
62
|
-
"pre-commit": "lint-staged"
|
|
63
|
-
}
|
|
64
|
-
},
|
|
65
|
-
"eslintConfig": {
|
|
66
|
-
"extends": [
|
|
67
|
-
"
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
"
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
"
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
"
|
|
86
|
-
|
|
87
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "generator-ehrcraft-script",
|
|
3
|
+
"version": "1.2.1",
|
|
4
|
+
"description": "A code generator for DIPS Forms typescript",
|
|
5
|
+
"homepage": "https://dev.azure.com/dips/DIPS%20Configured%20Products/_git/generator-ehrcraft-script",
|
|
6
|
+
"author": {
|
|
7
|
+
"name": "Bjørn Næss",
|
|
8
|
+
"email": "bna@dips.no",
|
|
9
|
+
"url": "https://dev.azure.com/dips/DIPS%20Configured%20Products/_git/generator-ehrcraft-script"
|
|
10
|
+
},
|
|
11
|
+
"files": [
|
|
12
|
+
"generators"
|
|
13
|
+
],
|
|
14
|
+
"main": "generators/index.js",
|
|
15
|
+
"keywords": [
|
|
16
|
+
"",
|
|
17
|
+
"yeoman-generator"
|
|
18
|
+
],
|
|
19
|
+
"devDependencies": {
|
|
20
|
+
"@types/chai": "^4.3.4",
|
|
21
|
+
"@types/mocha": "^10.0.1",
|
|
22
|
+
"chai": "^4.3.7",
|
|
23
|
+
"coveralls": "^3.1.1",
|
|
24
|
+
"ehrcraft-form-api": "^2.3.4",
|
|
25
|
+
"eslint": "^8.31.0",
|
|
26
|
+
"eslint-config-prettier": "^8.6.0",
|
|
27
|
+
"eslint-plugin-prettier": "^4.2.1",
|
|
28
|
+
"husky": "^4.3.8",
|
|
29
|
+
"jest": "^29.3.1",
|
|
30
|
+
"lint-staged": "^13.1.0",
|
|
31
|
+
"mocha": "^10.2.0",
|
|
32
|
+
"prettier": "^2.8.2",
|
|
33
|
+
"ts-mockito": "^2.6.1",
|
|
34
|
+
"yeoman-assert": "^3.1.1",
|
|
35
|
+
"yeoman-test": "^7.2.0"
|
|
36
|
+
},
|
|
37
|
+
"engines": {
|
|
38
|
+
"npm": ">= 4.0.0"
|
|
39
|
+
},
|
|
40
|
+
"dependencies": {
|
|
41
|
+
"chalk": "^5.2.0",
|
|
42
|
+
"loadash": "^1.0.0",
|
|
43
|
+
"lodash": "^4.17.21",
|
|
44
|
+
"yeoman-generator": "^5.7.0",
|
|
45
|
+
"yosay": "^2.0.2"
|
|
46
|
+
},
|
|
47
|
+
"jest": {
|
|
48
|
+
"testEnvironment": "node"
|
|
49
|
+
},
|
|
50
|
+
"lint-staged": {
|
|
51
|
+
"*.js": [
|
|
52
|
+
"eslint --fix",
|
|
53
|
+
"git add"
|
|
54
|
+
],
|
|
55
|
+
"*.json": [
|
|
56
|
+
"prettier --write",
|
|
57
|
+
"git add"
|
|
58
|
+
]
|
|
59
|
+
},
|
|
60
|
+
"husky": {
|
|
61
|
+
"hooks": {
|
|
62
|
+
"pre-commit": "lint-staged"
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
"eslintConfig": {
|
|
66
|
+
"extends": [
|
|
67
|
+
"eslint:recommended"
|
|
68
|
+
],
|
|
69
|
+
"env": {
|
|
70
|
+
"jest": true,
|
|
71
|
+
"node": true
|
|
72
|
+
},
|
|
73
|
+
"rules": {
|
|
74
|
+
"prettier/prettier": "error"
|
|
75
|
+
},
|
|
76
|
+
"plugins": [
|
|
77
|
+
"prettier"
|
|
78
|
+
]
|
|
79
|
+
},
|
|
80
|
+
"scripts": {
|
|
81
|
+
"pretest": "eslint .",
|
|
82
|
+
"test": "jest"
|
|
83
|
+
},
|
|
84
|
+
"repository": "ehrforce/generator-ehrcraft-script",
|
|
85
|
+
"license": "MIT"
|
|
86
|
+
}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
var browserify = require('browserify');
|
|
2
|
-
var through = require('through');
|
|
3
|
-
const fs = require('fs');
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Denne fila er ikke i bruk - ligger her fordi den ble brukt for å teste ut funksjonene som brukes for å fjerne ehrcraft spesifikke forhold
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
const regexptest = function () {
|
|
10
|
-
var data = '';
|
|
11
|
-
return through(write,end);
|
|
12
|
-
function write(buf) {
|
|
13
|
-
data += buf.toString('utf8').replace(/(ehrcraft_form_api_1\.)/gm,"");
|
|
14
|
-
}
|
|
15
|
-
function end() {
|
|
16
|
-
this.queue(data);
|
|
17
|
-
this.queue(null);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
const removerequire = function () {
|
|
21
|
-
var data = '';
|
|
22
|
-
return through(write,end);
|
|
23
|
-
function write(buf) {
|
|
24
|
-
data += buf.toString('utf8').replace(/(var ehrcraft_form_api_1)/gm,"// Kommentert ut av byggescript");
|
|
25
|
-
}
|
|
26
|
-
function end() {
|
|
27
|
-
this.queue(data);
|
|
28
|
-
this.queue(null);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
*
|
|
35
|
-
* @param {string} inFile - the js file to bundle
|
|
36
|
-
* @param {string} outFile - the bundled js file to write to
|
|
37
|
-
*/
|
|
38
|
-
const bundleFile = function (inFile,outFile) {
|
|
39
|
-
return new Promise((resolve,reject) => {
|
|
40
|
-
try {
|
|
41
|
-
var b = browserify();
|
|
42
|
-
b.add(inFile);
|
|
43
|
-
b.transform(regexptest);
|
|
44
|
-
b.transform(removerequire);
|
|
45
|
-
b.bundle()
|
|
46
|
-
.pipe(fs.createWriteStream(outFile));
|
|
47
|
-
resolve("OK");
|
|
48
|
-
} catch (error) {
|
|
49
|
-
reject(err);
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
exports.bundleScript = bundleFile;
|
|
60
|
-
exports.removeEhrCraftPackage = this.removeEhrCraftPackage;
|
|
61
|
-
exports.removeEhrCraftRequire = this.removeEhrCraftRequire;
|
|
62
|
-
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
var through = require('through');
|
|
2
|
-
var path = require('path');
|
|
3
|
-
function process(file,data,callback) {
|
|
4
|
-
//console.log(`Processing file ${file}`)
|
|
5
|
-
callback(data);
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
function transform(file) {
|
|
9
|
-
var data = '',stream = through(write,end);
|
|
10
|
-
|
|
11
|
-
return stream;
|
|
12
|
-
|
|
13
|
-
function write(buf) {
|
|
14
|
-
//data += buf;
|
|
15
|
-
data += buf.toString('utf8')
|
|
16
|
-
.replace(/(var ehrcraft_form_api_1)/gm,"// Kommentert ut av byggescript")
|
|
17
|
-
.replace(/(ehrcraft_form_api_1\.)/gm,"");
|
|
18
|
-
;
|
|
19
|
-
}
|
|
20
|
-
function end() {
|
|
21
|
-
process(file,data,function (result) {
|
|
22
|
-
stream.queue(result);
|
|
23
|
-
stream.queue(null);
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
return through();
|
|
27
|
-
}
|
|
28
|
-
module.exports = transform;
|