@itentialopensource/adapter-db_oracle 0.1.6 → 0.2.0

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.
@@ -0,0 +1,40 @@
1
+
2
+ ## 0.1.8 [06-22-2023]
3
+
4
+ * Remove any sensitive data logging
5
+
6
+ See merge request itentialopensource/adapters/persistence/adapter-db_oracle!2
7
+
8
+ ---
9
+
10
+ ## 0.1.7 [06-22-2023]
11
+
12
+ * Remove any sensitive data logging
13
+
14
+ See merge request itentialopensource/adapters/persistence/adapter-db_oracle!2
15
+
16
+ ---
17
+
18
+ ## 0.1.6 [11-21-2019]
19
+
20
+ * Bug fixes and performance improvements
21
+
22
+ See commit 1253be6
23
+
24
+ ---
25
+
26
+ ## 0.1.5 [11-21-2019]
27
+
28
+ * Bug fixes and performance improvements
29
+
30
+ See commit 0f588d3
31
+
32
+ ---
33
+
34
+ ## 0.1.4 [11-21-2019]
35
+
36
+ * Bug fixes and performance improvements
37
+
38
+ See commit ca4d362
39
+
40
+ ---
package/error.json CHANGED
@@ -96,6 +96,12 @@
96
96
  "displayString": "Invalid properties: $VARIABLE$",
97
97
  "recommendation": "Verify the properties for the adapter"
98
98
  },
99
+ {
100
+ "key": "Missing Properties",
101
+ "icode": "AD.306",
102
+ "displayString": "Property $VARIABLE$ is required",
103
+ "recommendation": "Please provide the required property"
104
+ },
99
105
  {
100
106
  "key": "Query Not Translated",
101
107
  "icode": "AD.310",
@@ -168,6 +174,12 @@
168
174
  "displayString": "Failure response received for $VARIABLE$",
169
175
  "recommendation": "Check the reason for failure in the stack trace"
170
176
  },
177
+ {
178
+ "key": "Suspended Adapter",
179
+ "icode": "AD.600",
180
+ "displayString": "Adapter is suspended",
181
+ "recommendation": "Check if external system is functional and unsuspend if appropriate"
182
+ },
171
183
  {
172
184
  "key": "Caught Exception",
173
185
  "icode": "AD.900",
package/metadata.json ADDED
@@ -0,0 +1,49 @@
1
+ {
2
+ "name": "adapter-db_oracle",
3
+ "webName": "Adapter for Integration to Oracle Database",
4
+ "vendor": "Oracle",
5
+ "product": "Oracle DB",
6
+ "osVersion": [],
7
+ "apiVersions": [],
8
+ "iapVersions": [
9
+ "2021.1.x",
10
+ "2021.2.x",
11
+ "2022.1.x",
12
+ "2023.1.x"
13
+ ],
14
+ "method": "Library",
15
+ "type": "Adapter",
16
+ "domains": [
17
+ "Data Storage"
18
+ ],
19
+ "tags": [],
20
+ "useCases": [],
21
+ "deprecated": {
22
+ "isDeprecated": false
23
+ },
24
+ "brokerSince": "",
25
+ "documentation": {
26
+ "storeLink": "",
27
+ "npmLink": "https://www.npmjs.com/package/@itentialopensource/adapter-db_oracle",
28
+ "repoLink": "https://gitlab.com/itentialopensource/adapters/persistence/adapter-db_oracle",
29
+ "docLink": "",
30
+ "demoLinks": [],
31
+ "trainingLinks": [],
32
+ "faqLink": "https://docs.itential.com/opensource/docs/troubleshooting-an-adapter",
33
+ "contributeLink": "https://gitlab.com/itentialopensource/adapters/contributing-guide",
34
+ "issueLink": "https://itential.atlassian.net/servicedesk/customer/portals",
35
+ "webLink": "https://www.itential.com/adapters/oracle/",
36
+ "vendorLink": "",
37
+ "productLink": "",
38
+ "apiLinks": []
39
+ },
40
+ "assets": [],
41
+ "relatedItems": {
42
+ "adapters": [],
43
+ "integrations": [],
44
+ "ecosystemApplications": [],
45
+ "workflowProjects": [],
46
+ "transformationProjects": [],
47
+ "exampleProjects": []
48
+ }
49
+ }
package/package.json CHANGED
@@ -1,19 +1,22 @@
1
1
  {
2
2
  "name": "@itentialopensource/adapter-db_oracle",
3
- "version": "0.1.6",
3
+ "version": "0.2.0",
4
4
  "description": "Itential adapter to connect to oracle",
5
5
  "main": "adapter.js",
6
- "wizardVersion": "2.41.0",
7
- "engineVersion": "1.44.2",
6
+ "wizardVersion": "2.44.7",
7
+ "engineVersion": "1.67.14",
8
+ "adapterType": "http",
8
9
  "scripts": {
9
10
  "artifactize": "npm i && node utils/packModificationScript.js",
10
11
  "preinstall": "node utils/setup.js",
11
- "lint": "eslint . --ext .json --ext .js",
12
+ "deinstall": "node utils/removeHooks.js",
13
+ "lint": "node --max_old_space_size=4096 ./node_modules/eslint/bin/eslint.js . --ext .json --ext .js",
14
+ "lint:errors": "node --max_old_space_size=4096 ./node_modules/eslint/bin/eslint.js . --ext .json --ext .js --quiet",
12
15
  "test:unit": "mocha test/unit/adapterTestUnit.js --LOG=error",
13
16
  "test:integration": "mocha test/integration/adapterTestIntegration.js --LOG=error",
14
17
  "test:cover": "nyc --reporter html --reporter text mocha --reporter dot test/*",
15
18
  "test": "npm run test:unit && npm run test:integration",
16
- "deploy": "npm publish --registry=http://registry.npmjs.org --access=public",
19
+ "deploy": "npm publish --registry=https://registry.npmjs.org --access=public",
17
20
  "build": "npm run deploy"
18
21
  },
19
22
  "keywords": [
@@ -38,23 +41,22 @@
38
41
  "author": "Itential",
39
42
  "homepage": "https://gitlab.com/itentialopensource/adapters/persistence/adapter-db_oracle#readme",
40
43
  "dependencies": {
41
- "ajv": "^6.10.0",
42
- "fs-extra": "^7.0.0",
44
+ "ajv": "^8.12.0",
45
+ "fs-extra": "^11.1.1",
43
46
  "oracledb": "^4.0.1",
44
- "package-json-validator": "^0.6.3",
45
- "readline-sync": "^1.4.9",
46
- "uuid": "^3.0.1"
47
+ "readline-sync": "^1.4.10",
48
+ "uuid": "^3.1.0"
47
49
  },
48
50
  "devDependencies": {
49
- "chai": "^4.2.0",
50
- "eslint": "^5.14.1",
51
- "eslint-config-airbnb-base": "^13.1.0",
52
- "eslint-plugin-import": "^2.16.0",
53
- "eslint-plugin-json": "^1.4.0",
54
- "mocha": "^5.2.0",
55
- "nyc": "^14.1.1",
56
- "testdouble": "^3.8.1",
57
- "winston": "^2.4.0"
51
+ "chai": "^4.3.7",
52
+ "eslint": "^8.44.0",
53
+ "eslint-config-airbnb-base": "^15.0.0",
54
+ "eslint-plugin-import": "^2.27.5",
55
+ "eslint-plugin-json": "^3.1.0",
56
+ "mocha": "^9.1.2",
57
+ "nyc": "^15.1.0",
58
+ "testdouble": "^3.18.0",
59
+ "winston": "^3.3.3"
58
60
  },
59
61
  "private": false
60
62
  }
@@ -0,0 +1,14 @@
1
+ [
2
+ {
3
+ "type": "encryption",
4
+ "pointer": "/authentication/password"
5
+ },
6
+ {
7
+ "type": "encryption",
8
+ "pointer": "/authentication/token"
9
+ },
10
+ {
11
+ "type": "encryption",
12
+ "pointer": "/mongo/password"
13
+ }
14
+ ]
Binary file
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": "0.1.8",
3
+ "configLines": 424,
4
+ "scriptLines": 516,
5
+ "codeLines": 492,
6
+ "testLines": 963,
7
+ "testCases": 45,
8
+ "totalCodeLines": 1971,
9
+ "wfTasks": 7
10
+ }
@@ -6,12 +6,12 @@
6
6
  "host": "localhost",
7
7
  "port": 3306,
8
8
  "authentication": {
9
- "username": "your username",
10
- "password": "your password"
9
+ "username": "your username",
10
+ "password": "your password"
11
11
  }
12
12
  },
13
13
  "groups": [],
14
14
  "brokers": [],
15
15
  "logLevel": "none",
16
16
  "timeout": 60000
17
- }
17
+ }
package/test/.eslintrc.js CHANGED
@@ -1,16 +1,16 @@
1
1
  module.exports = {
2
2
  env: {
3
- mocha: true,
3
+ mocha: true
4
4
  },
5
5
  globals: {
6
6
  // Pronghorn globals.
7
- log: true,
7
+ log: true
8
8
  },
9
9
  rules: {
10
10
  // Mocha preference for describe context.
11
11
  'prefer-arrow-callback': 'off',
12
12
  'func-names': 'off',
13
13
  // We want to isolate dependencies.
14
- 'global-require': 'off',
15
- },
14
+ 'global-require': 'off'
15
+ }
16
16
  };
@@ -1,7 +1,7 @@
1
1
  /* @copyright Itential, LLC 2019 (pre-modifications) */
2
2
 
3
3
  // Set globals
4
- /* global describe it log pronghornProps */
4
+ /* global pronghornProps */
5
5
  /* eslint no-unused-vars: warn */
6
6
  /* eslint no-underscore-dangle: warn */
7
7
 
@@ -93,7 +93,7 @@ process.argv.forEach((val) => {
93
93
  });
94
94
 
95
95
  // need to set global logging
96
- global.log = new (winston.Logger)({
96
+ global.log = winston.createLogger({
97
97
  level: logLevel,
98
98
  levels: myCustomLevels.levels,
99
99
  transports: [
@@ -129,7 +129,7 @@ function runErrorAsserts(data, error, code, origin, displayStr) {
129
129
  }
130
130
 
131
131
  // require the adapter that we are going to be using
132
- const Oracle = require('../../adapter.js');
132
+ const Oracle = require('../../adapter');
133
133
 
134
134
  // begin the testing - these should be pretty well defined between the describe and the it!
135
135
  describe('[integration] Oracle Adapter Test', () => {
@@ -1,7 +1,7 @@
1
1
  /* @copyright Itential, LLC 2019 (pre-modifications) */
2
2
 
3
3
  // Set globals
4
- /* global describe it log pronghornProps */
4
+ /* global pronghornProps */
5
5
  /* eslint global-require:warn */
6
6
  /* eslint no-unused-vars: warn */
7
7
 
@@ -16,7 +16,9 @@ const execute = require('child_process').execSync;
16
16
  const { expect } = require('chai');
17
17
  const { use } = require('chai');
18
18
  const td = require('testdouble');
19
+ const Ajv = require('ajv');
19
20
 
21
+ const ajv = new Ajv({ strictSchema: false, allErrors: true, allowUnionTypes: true });
20
22
  const anything = td.matchers.anything();
21
23
 
22
24
  // stub and attemptTimeout are used throughout the code so set them here
@@ -97,7 +99,7 @@ process.argv.forEach((val) => {
97
99
  });
98
100
 
99
101
  // need to set global logging
100
- global.log = new (winston.Logger)({
102
+ global.log = winston.createLogger({
101
103
  level: logLevel,
102
104
  levels: myCustomLevels.levels,
103
105
  transports: [
@@ -121,9 +123,8 @@ function runErrorAsserts(data, error, code, origin, displayStr) {
121
123
  assert.equal(displayStr, error.IAPerror.displayString);
122
124
  }
123
125
 
124
-
125
126
  // require the adapter that we are going to be using
126
- const Oracle = require('../../adapter.js');
127
+ const Oracle = require('../../adapter');
127
128
 
128
129
  // delete the .DS_Store directory in entities -- otherwise this will cause errors
129
130
  const dirPath = path.join(__dirname, '../../entities/.DS_Store');
@@ -187,23 +188,33 @@ describe('[unit] Oracle Adapter Test', () => {
187
188
  });
188
189
  });
189
190
  it('package.json should be validated', (done) => {
190
- const packageDotJson = require('../../package.json');
191
- const { PJV } = require('package-json-validator');
192
- const options = {
193
- warnings: true, // show warnings
194
- recommendations: true // show recommendations
195
- };
196
- const results = PJV.validate(JSON.stringify(packageDotJson), 'npm', options);
197
-
198
- if (results.valid === false) {
199
- log.error('The package.json contains the following errors: ');
200
- log.error(util.inspect(results));
201
- assert.equal(true, results.valid);
202
- } else {
203
- assert.equal(true, results.valid);
204
- }
191
+ try {
192
+ const packageDotJson = require('../../package.json');
193
+ // Define the JSON schema for package.json
194
+ const packageJsonSchema = {
195
+ type: 'object',
196
+ properties: {
197
+ name: { type: 'string' },
198
+ version: { type: 'string' }
199
+ // May need to add more properties as needed
200
+ },
201
+ required: ['name', 'version']
202
+ };
203
+ const validate = ajv.compile(packageJsonSchema);
204
+ const isValid = validate(packageDotJson);
205
+
206
+ if (isValid === false) {
207
+ log.error('The package.json contains errors');
208
+ assert.equal(true, isValid);
209
+ } else {
210
+ assert.equal(true, isValid);
211
+ }
205
212
 
206
- done();
213
+ done();
214
+ } catch (error) {
215
+ log.error(`Test Failure: ${error}`);
216
+ done(error);
217
+ }
207
218
  });
208
219
  it('package.json should be customized', (done) => {
209
220
  const packageDotJson = require('../../package.json');
@@ -0,0 +1,206 @@
1
+ #!/usr/bin/env node
2
+ /* @copyright Itential, LLC 2019 */
3
+ /* eslint global-require:warn */
4
+ /* eslint import/no-dynamic-require:warn */
5
+ /* eslint prefer-destructuring:warn */
6
+
7
+ const path = require('path');
8
+ const fs = require('fs-extra');
9
+
10
+ /**
11
+ * This script will determine the information about the adapter and store
12
+ * it into a file in the adapter.
13
+ */
14
+
15
+ /**
16
+ * get adapter information
17
+ */
18
+ function adapterInfo() {
19
+ // set the base pase of the adapter - tool shoud be one level up in utils
20
+ let adaptdir = __dirname;
21
+ const infoRes = {};
22
+
23
+ if (adaptdir.endsWith('/utils')) {
24
+ adaptdir = adaptdir.substring(0, adaptdir.length - 6);
25
+ }
26
+ const pack = require(`${adaptdir}/package.json`);
27
+ infoRes.version = pack.version;
28
+
29
+ let configCount = 0;
30
+ if (fs.existsSync(`${adaptdir}/pronghorn.json`)) {
31
+ const cFile = fs.readFileSync(`${adaptdir}/pronghorn.json`, 'utf8');
32
+ configCount += cFile.split('\n').length;
33
+ } else {
34
+ console.log('Missing - pronghorn.json');
35
+ }
36
+ if (fs.existsSync(`${adaptdir}/propertiesSchema.json`)) {
37
+ const cFile = fs.readFileSync(`${adaptdir}/propertiesSchema.json`, 'utf8');
38
+ configCount += cFile.split('\n').length;
39
+ } else {
40
+ console.log('Missing - propertiesSchema.json');
41
+ }
42
+ if (fs.existsSync(`${adaptdir}/error.json`)) {
43
+ const cFile = fs.readFileSync(`${adaptdir}/error.json`, 'utf8');
44
+ configCount += cFile.split('\n').length;
45
+ } else {
46
+ console.log('Missing - error.json');
47
+ }
48
+ const entitydir = path.join(adaptdir, '/entities');
49
+ if (fs.existsSync(entitydir) && fs.statSync(entitydir).isDirectory()) {
50
+ const entities = fs.readdirSync(entitydir);
51
+ // need to go through each entity in the entities directory
52
+ for (let e = 0; e < entities.length; e += 1) {
53
+ if (fs.statSync(`${entitydir}/${entities[e]}`).isDirectory()) {
54
+ const cfiles = fs.readdirSync(entitydir);
55
+ for (let c = 0; c < cfiles.length; c += 1) {
56
+ if (cfiles[c].endsWith('.json')) {
57
+ const ccFile = fs.readFileSync(`${entitydir}/${entities[e]}/${cfiles[c]}`, 'utf8');
58
+ configCount += ccFile.split('\n').length;
59
+ }
60
+ }
61
+ }
62
+ }
63
+ } else {
64
+ console.log('Could not find the entities directory');
65
+ }
66
+ infoRes.configLines = configCount;
67
+
68
+ let scodeCount = 0;
69
+ if (fs.existsSync(`${adaptdir}/utils/artifactize.js`)) {
70
+ const sFile = fs.readFileSync(`${adaptdir}/utils/artifactize.js`, 'utf8');
71
+ scodeCount += sFile.split('\n').length;
72
+ } else {
73
+ console.log('Missing - utils/artifactize.js');
74
+ }
75
+ if (fs.existsSync(`${adaptdir}/utils/basicGet.js`)) {
76
+ const sFile = fs.readFileSync(`${adaptdir}/utils/basicGet.js`, 'utf8');
77
+ scodeCount += sFile.split('\n').length;
78
+ } else {
79
+ console.log('Missing - utils/basicGet.js');
80
+ }
81
+ if (fs.existsSync(`${adaptdir}/utils/checkMigrate.js`)) {
82
+ const sFile = fs.readFileSync(`${adaptdir}/utils/checkMigrate.js`, 'utf8');
83
+ scodeCount += sFile.split('\n').length;
84
+ } else {
85
+ console.log('Missing - utils/checkMigrate.js');
86
+ }
87
+ if (fs.existsSync(`${adaptdir}/utils/findPath.js`)) {
88
+ const sFile = fs.readFileSync(`${adaptdir}/utils/findPath.js`, 'utf8');
89
+ scodeCount += sFile.split('\n').length;
90
+ } else {
91
+ console.log('Missing - utils/findPath.js');
92
+ }
93
+ if (fs.existsSync(`${adaptdir}/utils/modify.js`)) {
94
+ const sFile = fs.readFileSync(`${adaptdir}/utils/modify.js`, 'utf8');
95
+ scodeCount += sFile.split('\n').length;
96
+ } else {
97
+ console.log('Missing - utils/modify.js');
98
+ }
99
+ if (fs.existsSync(`${adaptdir}/utils/packModificationScript.js`)) {
100
+ const sFile = fs.readFileSync(`${adaptdir}/utils/packModificationScript.js`, 'utf8');
101
+ scodeCount += sFile.split('\n').length;
102
+ } else {
103
+ console.log('Missing - utils/packModificationScript.js');
104
+ }
105
+ if (fs.existsSync(`${adaptdir}/utils/setup.js`)) {
106
+ const sFile = fs.readFileSync(`${adaptdir}/utils/setup.js`, 'utf8');
107
+ scodeCount += sFile.split('\n').length;
108
+ } else {
109
+ console.log('Missing - utils/setup.js');
110
+ }
111
+ if (fs.existsSync(`${adaptdir}/utils/tbScript.js`)) {
112
+ const sFile = fs.readFileSync(`${adaptdir}/utils/tbScript.js`, 'utf8');
113
+ scodeCount += sFile.split('\n').length;
114
+ } else {
115
+ console.log('Missing - utils/tbScript.js');
116
+ }
117
+ if (fs.existsSync(`${adaptdir}/utils/tbUtils.js`)) {
118
+ const sFile = fs.readFileSync(`${adaptdir}/utils/tbUtils.js`, 'utf8');
119
+ scodeCount += sFile.split('\n').length;
120
+ } else {
121
+ console.log('Missing - utils/tbUtils.js');
122
+ }
123
+ if (fs.existsSync(`${adaptdir}/utils/testRunner.js`)) {
124
+ const sFile = fs.readFileSync(`${adaptdir}/utils/testRunner.js`, 'utf8');
125
+ scodeCount += sFile.split('\n').length;
126
+ } else {
127
+ console.log('Missing - utils/testRunner.js');
128
+ }
129
+ if (fs.existsSync(`${adaptdir}/utils/troubleshootingAdapter.js`)) {
130
+ const sFile = fs.readFileSync(`${adaptdir}/utils/troubleshootingAdapter.js`, 'utf8');
131
+ scodeCount += sFile.split('\n').length;
132
+ } else {
133
+ console.log('Missing - utils/troubleshootingAdapter.js');
134
+ }
135
+ infoRes.scriptLines = scodeCount;
136
+
137
+ let codeCount = 0;
138
+ if (fs.existsSync(`${adaptdir}/adapter.js`)) {
139
+ const aFile = fs.readFileSync(`${adaptdir}/adapter.js`, 'utf8');
140
+ codeCount += aFile.split('\n').length;
141
+ } else {
142
+ console.log('Missing - utils/adapter.js');
143
+ }
144
+ if (fs.existsSync(`${adaptdir}/adapterBase.js`)) {
145
+ const aFile = fs.readFileSync(`${adaptdir}/adapterBase.js`, 'utf8');
146
+ codeCount += aFile.split('\n').length;
147
+ } else {
148
+ console.log('Missing - utils/adapterBase.js');
149
+ }
150
+ infoRes.codeLines = codeCount;
151
+
152
+ let tcodeCount = 0;
153
+ let ttestCount = 0;
154
+ if (fs.existsSync(`${adaptdir}/test/integration/adapterTestBasicGet.js`)) {
155
+ const tFile = fs.readFileSync(`${adaptdir}/test/integration/adapterTestBasicGet.js`, 'utf8');
156
+ tcodeCount += tFile.split('\n').length;
157
+ ttestCount += tFile.split('it(\'').length;
158
+ } else {
159
+ console.log('Missing - test/integration/adapterTestBasicGet.js');
160
+ }
161
+ if (fs.existsSync(`${adaptdir}/test/integration/adapterTestConnectivity.js`)) {
162
+ const tFile = fs.readFileSync(`${adaptdir}/test/integration/adapterTestConnectivity.js`, 'utf8');
163
+ tcodeCount += tFile.split('\n').length;
164
+ ttestCount += tFile.split('it(\'').length;
165
+ } else {
166
+ console.log('Missing - test/integration/adapterTestConnectivity.js');
167
+ }
168
+ if (fs.existsSync(`${adaptdir}/test/integration/adapterTestIntegration.js`)) {
169
+ const tFile = fs.readFileSync(`${adaptdir}/test/integration/adapterTestIntegration.js`, 'utf8');
170
+ tcodeCount += tFile.split('\n').length;
171
+ ttestCount += tFile.split('it(\'').length;
172
+ } else {
173
+ console.log('Missing - test/integration/adapterTestIntegration.js');
174
+ }
175
+ if (fs.existsSync(`${adaptdir}/test/unit/adapterBaseTestUnit.js`)) {
176
+ const tFile = fs.readFileSync(`${adaptdir}/test/unit/adapterBaseTestUnit.js`, 'utf8');
177
+ tcodeCount += tFile.split('\n').length;
178
+ ttestCount += tFile.split('it(\'').length;
179
+ } else {
180
+ console.log('Missing - test/unit/adapterBaseTestUnit.js');
181
+ }
182
+ if (fs.existsSync(`${adaptdir}/test/unit/adapterTestUnit.js`)) {
183
+ const tFile = fs.readFileSync(`${adaptdir}/test/unit/adapterTestUnit.js`, 'utf8');
184
+ tcodeCount += tFile.split('\n').length;
185
+ ttestCount += tFile.split('it(\'').length;
186
+ } else {
187
+ console.log('Missing - test/unit/adapterTestUnit.js');
188
+ }
189
+ infoRes.testLines = tcodeCount;
190
+ infoRes.testCases = ttestCount;
191
+ infoRes.totalCodeLines = scodeCount + codeCount + tcodeCount;
192
+
193
+ if (fs.existsSync(`${adaptdir}/pronghorn.json`)) {
194
+ // Read the entity schema from the file system
195
+ const phFile = path.join(adaptdir, '/pronghorn.json');
196
+ const prong = require(phFile);
197
+ infoRes.wfTasks = prong.methods.length;
198
+ } else {
199
+ console.log('Missing - pronghorn.json');
200
+ }
201
+
202
+ console.log(JSON.stringify(infoRes));
203
+ fs.writeFileSync(`${adaptdir}/report/adapterInfo.json`, JSON.stringify(infoRes, null, 2));
204
+ }
205
+
206
+ adapterInfo();
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  /* @copyright Itential, LLC 2019 */
3
3
 
4
- const fs = require('fs-extra');
5
4
  const path = require('path');
5
+ const fs = require('fs-extra');
6
6
 
7
7
  async function createBundle(adapterOldDir) {
8
8
  // set directories
@@ -15,7 +15,6 @@ async function createBundle(adapterOldDir) {
15
15
  const shortenedName = originalName.replace('adapter-', '');
16
16
  const artifactName = originalName.replace('adapter', 'bundled-adapter');
17
17
 
18
-
19
18
  const adapterNewDir = path.join(artifactDir, 'bundles', 'adapters', originalName);
20
19
  fs.ensureDirSync(adapterNewDir);
21
20
 
@@ -121,7 +120,7 @@ async function createBundle(adapterOldDir) {
121
120
 
122
121
  // Run the commands in parallel
123
122
  try {
124
- await Promise.all(ops.map(async op => op()));
123
+ await Promise.all(ops.map(async (op) => op()));
125
124
  } catch (e) {
126
125
  throw new Error(e);
127
126
  }
@@ -134,18 +133,14 @@ async function createBundle(adapterOldDir) {
134
133
  }
135
134
 
136
135
  async function artifactize(entryPathToAdapter) {
137
- try {
138
- const truePath = path.resolve(entryPathToAdapter);
139
- const packagePath = path.join(truePath, 'package');
140
- // remove adapter from package and move bundle in
141
- const pathObj = await createBundle(packagePath);
142
- const { bundlePath } = pathObj;
143
- fs.removeSync(packagePath);
144
- fs.moveSync(bundlePath, packagePath);
145
- return 'Bundle successfully created and old folder system removed';
146
- } catch (e) {
147
- throw e;
148
- }
136
+ const truePath = path.resolve(entryPathToAdapter);
137
+ const packagePath = path.join(truePath, 'package');
138
+ // remove adapter from package and move bundle in
139
+ const pathObj = await createBundle(packagePath);
140
+ const { bundlePath } = pathObj;
141
+ fs.removeSync(packagePath);
142
+ fs.moveSync(bundlePath, packagePath);
143
+ return 'Bundle successfully created and old folder system removed';
149
144
  }
150
145
 
151
146
  module.exports = { createBundle, artifactize };
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  /* @copyright Itential, LLC 2019 */
3
3
 
4
- const fs = require('fs-extra');
5
4
  const path = require('path');
6
5
  const { spawnSync } = require('child_process');
7
- const { createBundle } = require('./artifactize.js');
6
+ const fs = require('fs-extra');
7
+ const { createBundle } = require('./artifactize');
8
8
 
9
9
  const nodeEntryPath = path.resolve('.');
10
10
  createBundle(nodeEntryPath).then((pathObj) => {
@@ -0,0 +1,20 @@
1
+ const fs = require('fs');
2
+
3
+ /**
4
+ * This script will uninstall pre-commit or pre-push hooks in case there's ever a need to
5
+ * commit/push something that has issues
6
+ */
7
+
8
+ const precommitPath = '.git/hooks/pre-commit';
9
+ const prepushPath = '.git/hooks/pre-push';
10
+ fs.unlink(precommitPath, (err) => {
11
+ if (err && err.code !== 'ENOENT') {
12
+ console.log(`${err.message}`);
13
+ }
14
+ });
15
+
16
+ fs.unlink(prepushPath, (err) => {
17
+ if (err && err.code !== 'ENOENT') {
18
+ console.log(`${err.message}`);
19
+ }
20
+ });