1 | var 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 |
|
10 | var 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 |
|
64 | var 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 |
|
117 | var VERSION = fs.readFileSync('VERSION.TXT', 'utf8');
|
118 |
|
119 | gulp.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 |
|
132 | gulp.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 |
|
146 | gulp.task('clean', function (cb) {
|
147 | return gulp.src('./dist', { read: false }).pipe(plumber()).pipe(rimraf());
|
148 | });
|
149 |
|
150 | gulp.task('build', gulp.parallel('createFullSdk', 'createSdkNoEncryption'));
|
151 |
|
152 | gulp.task('watch', function () {
|
153 | gulp.watch(['src/*.js'], gulp.series('build'))
|
154 | });
|
155 |
|
156 | gulp.task('default', function () {
|
157 | console.error('no default task! use gulp --tasks');
|
158 | });
|