UNPKG

4.77 kBJavaScriptView Raw
1var gulp = require('gulp'),
2 concat = require('gulp-concat'),
3 uglify = require('gulp-uglify-es').default,
4 rimraf = require('gulp-rimraf'),
5 sourcemaps = require('gulp-sourcemaps'),
6 replace = require('gulp-replace'),
7 plumber = require('gulp-plumber'),
8 fs = require('fs');
9
10var fullSdkSrc = [
11 'node_modules/node-forge/dist/forge.min.js',
12 'src/core.js',
13 'src/promise.js',
14 'src/net.js',
15 'src/Util.js',
16 'src/GooglePay.js',
17 'src/ApplePay.js',
18 'src/PublicKeyResponse.js',
19 'src/C2SCommunicatorConfiguration.js',
20 'src/IinDetailsResponse.js',
21 'src/C2SCommunicator.js',
22 'src/LabelTemplateElement.js',
23 'src/Attribute.js',
24 'src/AccountOnFileDisplayHints.js',
25 'src/AccountOnFile.js',
26 'src/PaymentProduct302SpecificData.js',
27 'src/PaymentProduct320SpecificData.js',
28 'src/PaymentProduct863SpecificData.js',
29 'src/PaymentProductDisplayHints.js',
30 'src/BasicPaymentProduct.js',
31 'src/BasicPaymentProductGroup.js',
32 'src/MaskedString.js',
33 'src/MaskingUtil.js',
34 'src/ValidationRuleLuhn.js',
35 'src/ValidationRuleExpirationDate.js',
36 'src/ValidationRuleFixedList.js',
37 'src/ValidationRuleLength.js',
38 'src/ValidationRuleRange.js',
39 'src/ValidationRuleRegularExpression.js',
40 'src/ValidationRuleResidentIdNumber.js',
41 'src/ValidationRuleEmailAddress.js',
42 'src/ValidationRuleTermsAndConditions.js',
43 'src/ValidationRuleBoletoBancarioRequiredness.js',
44 'src/ValidationRuleIban.js',
45 'src/ValidationRuleFactory.js',
46 'src/DataRestrictions.js',
47 'src/ValueMappingElement.js',
48 'src/FormElement.js',
49 'src/Tooltip.js',
50 'src/PaymentProductFieldDisplayHints.js',
51 'src/PaymentProductField.js',
52 'src/PaymentProduct.js',
53 'src/PaymentProductGroup.js',
54 'src/BasicPaymentProducts.js',
55 'src/BasicPaymentProductGroups.js',
56 'src/BasicPaymentItems.js',
57 'src/PaymentRequest.js',
58 'src/C2SPaymentProductContext.js',
59 'src/JOSEEncryptor.js',
60 'src/Encryptor.js',
61 'src/session.js'
62];
63
64var sdkSrcNoEncryption = [
65 'src/core.js',
66 'src/promise.js',
67 'src/net.js',
68 'src/Util.js',
69 'src/GooglePay.js',
70 'src/ApplePay.js',
71 'src/PublicKeyResponse.js',
72 'src/C2SCommunicatorConfiguration.js',
73 'src/IinDetailsResponse.js',
74 'src/C2SCommunicator.js',
75 'src/LabelTemplateElement.js',
76 'src/Attribute.js',
77 'src/AccountOnFileDisplayHints.js',
78 'src/AccountOnFile.js',
79 'src/PaymentProduct302SpecificData.js',
80 'src/PaymentProduct320SpecificData.js',
81 'src/PaymentProduct863SpecificData.js',
82 'src/PaymentProductDisplayHints.js',
83 'src/BasicPaymentProduct.js',
84 'src/BasicPaymentProductGroup.js',
85 'src/MaskedString.js',
86 'src/MaskingUtil.js',
87 'src/ValidationRuleLuhn.js',
88 'src/ValidationRuleExpirationDate.js',
89 'src/ValidationRuleFixedList.js',
90 'src/ValidationRuleLength.js',
91 'src/ValidationRuleRange.js',
92 'src/ValidationRuleRegularExpression.js',
93 'src/ValidationRuleResidentIdNumber.js',
94 'src/ValidationRuleEmailAddress.js',
95 'src/ValidationRuleTermsAndConditions.js',
96 'src/ValidationRuleBoletoBancarioRequiredness.js',
97 'src/ValidationRuleIban.js',
98 'src/ValidationRuleFactory.js',
99 'src/DataRestrictions.js',
100 'src/ValueMappingElement.js',
101 'src/FormElement.js',
102 'src/Tooltip.js',
103 'src/PaymentProductFieldDisplayHints.js',
104 'src/PaymentProductField.js',
105 'src/PaymentProduct.js',
106 'src/PaymentProductGroup.js',
107 'src/BasicPaymentProducts.js',
108 'src/BasicPaymentProductGroups.js',
109 'src/BasicPaymentItems.js',
110 'src/PaymentRequest.js',
111 'src/C2SPaymentProductContext.js',
112 'src/JOSEEncryptor.js',
113 'src/Encryptor.js',
114 'src/session.js'
115];
116
117var VERSION = fs.readFileSync('VERSION.TXT', 'utf8');
118
119gulp.task('createFullSdk', function (done) {
120 gulp.src(fullSdkSrc)
121 .pipe(sourcemaps.init())
122 .pipe(concat('connectsdk.js'))
123 .pipe(replace(/\$\{version\}/g, VERSION))
124 .pipe(gulp.dest('./dist/'))
125 .pipe(concat('connectsdk.min.js'))
126 .pipe(uglify())
127 .pipe(sourcemaps.write('.'))
128 .pipe(gulp.dest('./dist/'));
129 done();
130});
131
132gulp.task('createSdkNoEncryption', function (done) {
133 gulp.src(sdkSrcNoEncryption)
134 .pipe(sourcemaps.init())
135 .pipe(concat('connectsdk.noEncrypt.js'))
136 .pipe(replace(/\$\{version\}/g, VERSION))
137 .pipe(gulp.dest('./dist/'))
138 .pipe(concat('connectsdk.noEncrypt.min.js'))
139 .pipe(uglify())
140 .pipe(sourcemaps.write('.'))
141 .pipe(gulp.dest('./dist/'));
142 done();
143});
144
145// clean folder
146gulp.task('clean', function (cb) {
147 return gulp.src('./dist', { read: false }).pipe(plumber()).pipe(rimraf());
148});
149
150gulp.task('build', gulp.parallel('createFullSdk', 'createSdkNoEncryption'));
151
152gulp.task('watch', function () {
153 gulp.watch(['src/*.js'], gulp.series('build'))
154});
155
156gulp.task('default', function () {
157 console.error('no default task! use gulp --tasks');
158});