@openfn/language-mssql 2.6.9 → 2.6.10

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.
Files changed (97) hide show
  1. package/README.md +27 -3
  2. package/ast.json +3 -3
  3. package/lib/Adaptor.js +40 -4
  4. package/node_modules/@azure/ms-rest-azure-env/package.json +2 -2
  5. package/node_modules/@azure/ms-rest-js/node_modules/form-data/package.json +2 -2
  6. package/node_modules/@azure/ms-rest-js/package.json +2 -2
  7. package/node_modules/@azure/ms-rest-nodeauth/package.json +2 -2
  8. package/node_modules/@js-joda/core/package.json +2 -2
  9. package/node_modules/@openfn/language-common/node_modules/axios/package.json +2 -2
  10. package/node_modules/@openfn/language-common/node_modules/follow-redirects/package.json +2 -2
  11. package/node_modules/@openfn/language-common/node_modules/jsonpath-plus/package.json +2 -2
  12. package/node_modules/@openfn/language-common/node_modules/lodash/package.json +2 -2
  13. package/node_modules/@openfn/language-common/package.json +2 -2
  14. package/node_modules/@types/node/package.json +2 -2
  15. package/node_modules/@types/tunnel/package.json +2 -2
  16. package/node_modules/adal-node/node_modules/@types/node/package.json +2 -2
  17. package/node_modules/adal-node/package.json +2 -2
  18. package/node_modules/ajv/package.json +2 -2
  19. package/node_modules/asn1/package.json +2 -2
  20. package/node_modules/assert-plus/package.json +2 -2
  21. package/node_modules/async/package.json +2 -2
  22. package/node_modules/asynckit/package.json +2 -2
  23. package/node_modules/aws-sign2/package.json +2 -2
  24. package/node_modules/aws4/package.json +2 -2
  25. package/node_modules/axios/package.json +2 -2
  26. package/node_modules/bcrypt-pbkdf/package.json +2 -2
  27. package/node_modules/bl/node_modules/readable-stream/package.json +2 -2
  28. package/node_modules/bl/node_modules/string_decoder/package.json +2 -2
  29. package/node_modules/bl/package.json +2 -2
  30. package/node_modules/buffer-equal-constant-time/package.json +2 -2
  31. package/node_modules/caseless/package.json +2 -2
  32. package/node_modules/combined-stream/package.json +2 -2
  33. package/node_modules/core-util-is/package.json +2 -2
  34. package/node_modules/dashdash/package.json +2 -2
  35. package/node_modules/date-utils/package.json +2 -2
  36. package/node_modules/delayed-stream/package.json +2 -2
  37. package/node_modules/depd/package.json +2 -2
  38. package/node_modules/ecc-jsbn/package.json +2 -2
  39. package/node_modules/ecdsa-sig-formatter/package.json +2 -2
  40. package/node_modules/extsprintf/package.json +2 -2
  41. package/node_modules/fast-deep-equal/package.json +2 -2
  42. package/node_modules/fast-json-stable-stringify/package.json +2 -2
  43. package/node_modules/follow-redirects/node_modules/debug/package.json +2 -2
  44. package/node_modules/follow-redirects/package.json +2 -2
  45. package/node_modules/forever-agent/package.json +2 -2
  46. package/node_modules/getpass/package.json +2 -2
  47. package/node_modules/har-schema/package.json +2 -2
  48. package/node_modules/har-validator/package.json +2 -2
  49. package/node_modules/http-signature/package.json +2 -2
  50. package/node_modules/iconv-lite/package.json +2 -2
  51. package/node_modules/inherits/package.json +2 -2
  52. package/node_modules/is-typedarray/package.json +2 -2
  53. package/node_modules/isstream/package.json +2 -2
  54. package/node_modules/jsbi/package.json +2 -2
  55. package/node_modules/jsbn/package.json +2 -2
  56. package/node_modules/json-schema/package.json +2 -2
  57. package/node_modules/json-schema-traverse/package.json +2 -2
  58. package/node_modules/json-stringify-safe/package.json +2 -2
  59. package/node_modules/jsprim/package.json +2 -2
  60. package/node_modules/jwa/package.json +2 -2
  61. package/node_modules/jws/package.json +2 -2
  62. package/node_modules/mime-db/package.json +2 -2
  63. package/node_modules/mime-types/package.json +2 -2
  64. package/node_modules/ms/package.json +2 -2
  65. package/node_modules/native-duplexpair/package.json +2 -2
  66. package/node_modules/oauth-sign/package.json +2 -2
  67. package/node_modules/performance-now/package.json +2 -2
  68. package/node_modules/psl/package.json +2 -2
  69. package/node_modules/punycode/package.json +2 -2
  70. package/node_modules/request/node_modules/extend/package.json +2 -2
  71. package/node_modules/request/node_modules/form-data/package.json +2 -2
  72. package/node_modules/request/node_modules/qs/package.json +2 -2
  73. package/node_modules/request/package.json +2 -2
  74. package/node_modules/safe-buffer/package.json +2 -2
  75. package/node_modules/safer-buffer/package.json +2 -2
  76. package/node_modules/sax/package.json +2 -2
  77. package/node_modules/sprintf-js/package.json +2 -2
  78. package/node_modules/sshpk/package.json +5 -5
  79. package/node_modules/tedious/node_modules/readable-stream/package.json +2 -2
  80. package/node_modules/tedious/node_modules/string_decoder/package.json +2 -2
  81. package/node_modules/tedious/package.json +2 -2
  82. package/node_modules/tough-cookie/node_modules/punycode/package.json +2 -2
  83. package/node_modules/tough-cookie/package.json +2 -2
  84. package/node_modules/tslib/package.json +2 -2
  85. package/node_modules/tunnel/package.json +2 -2
  86. package/node_modules/tunnel-agent/package.json +2 -2
  87. package/node_modules/tweetnacl/package.json +2 -2
  88. package/node_modules/underscore/package.json +2 -2
  89. package/node_modules/uri-js/package.json +2 -2
  90. package/node_modules/util-deprecate/package.json +2 -2
  91. package/node_modules/uuid/package.json +2 -2
  92. package/node_modules/verror/package.json +2 -2
  93. package/node_modules/xml2js/package.json +2 -2
  94. package/node_modules/xmlbuilder/package.json +2 -2
  95. package/node_modules/xmldom/package.json +2 -2
  96. package/node_modules/xpath.js/package.json +2 -2
  97. package/package.json +1 -1
package/README.md CHANGED
@@ -77,6 +77,7 @@ insert(
77
77
  // to NULL. It can be a single string or an array of strings.
78
78
  // It DEFAULTS to "'undefined'", and can be turned off w/ `false`.
79
79
  setNull: "'undefined'",
80
+ logValues: true,
80
81
  }
81
82
  );
82
83
  ```
@@ -95,7 +96,7 @@ upsert(
95
96
  Address: 'Now I can tell!',
96
97
  },
97
98
  // Do NOT replace any instances of 'undefined' in the final SQL statement.
98
- { setNull: false }
99
+ { setNull: false, logValues: true }
99
100
  );
100
101
  ```
101
102
 
@@ -113,7 +114,12 @@ upsertIf(
113
114
  id: 7,
114
115
  },
115
116
  // Replace any occurence of '' and 'undefined' to NULL
116
- { setNull: ["''", "'undefined'"], writeSql: true, execute: false }
117
+ {
118
+ setNull: ["''", "'undefined'"],
119
+ writeSql: true,
120
+ execute: false,
121
+ logValues: true,
122
+ }
117
123
  );
118
124
  ```
119
125
 
@@ -157,10 +163,28 @@ upsertMany(
157
163
  Address: s.address,
158
164
  };
159
165
  }),
160
- { writeSql: true, execute: false }
166
+ { writeSql: true, execute: false, logValues: true }
161
167
  );
162
168
  ```
163
169
 
170
+ In case we need to check on multiple columns before upserting, we can have an array of `uuids`.
171
+
172
+ ```js
173
+ upsertMany(
174
+ 'SomeDB.dbo.Supplier',
175
+ ['SupplierNumber', 'SupplierCode'],
176
+ state =>
177
+ state.data.supplierArray.map(s => {
178
+ return {
179
+ SupplierNumber: s.id,
180
+ Name: s.name,
181
+ Address: s.address,
182
+ SupplierCode: s.code,
183
+ };
184
+ }),
185
+ { writeSql: true, execute: false, logValues: true }
186
+ );
187
+ ```
164
188
 
165
189
  ## Describe a table from mssql
166
190
 
package/ast.json CHANGED
@@ -234,7 +234,7 @@
234
234
  },
235
235
  {
236
236
  "title": "example",
237
- "description": "execute(\n upsert(table, uuid, record, { setNull: \"'undefined'\", logValues: false})\n)(state)"
237
+ "description": "execute(\n upsert(table, uuid, record, { setNull: \"'undefined'\", logValues: false})\n)(state)\nexecute(\n upsert(table, [uuid1, uuid2], record, { setNull: \"'undefined'\", logValues: false})\n)(state)"
238
238
  },
239
239
  {
240
240
  "title": "constructor",
@@ -309,7 +309,7 @@
309
309
  },
310
310
  {
311
311
  "title": "example",
312
- "description": "upsertIf(\n dataValue('name'),\n 'users', // the DB table\n 'ON CONSTRAINT users_pkey', // a DB column with a unique constraint OR a CONSTRAINT NAME\n { name: 'Elodie', id: 7 },\n { writeSql:true, execute: true, logValues: false }\n)"
312
+ "description": "upsertIf(\n dataValue('name'),\n 'users', // the DB table\n 'uuid', // a DB column with a unique constraint\n { name: 'Elodie', id: 7 },\n { writeSql:true, execute: true, logValues: false }\n)"
313
313
  },
314
314
  {
315
315
  "title": "constructor",
@@ -392,7 +392,7 @@
392
392
  },
393
393
  {
394
394
  "title": "example",
395
- "description": "upsertMany(\n 'users', 'email', records, { logValues: false }\n)"
395
+ "description": "upsertMany(\n 'users', 'email', records, { logValues: false }\n)\nupsertMany(\n 'users', ['email', 'phone'], records, { logValues: false }\n)"
396
396
  },
397
397
  {
398
398
  "title": "constructor",
package/lib/Adaptor.js CHANGED
@@ -499,6 +499,9 @@ function insertMany(table, records, options) {
499
499
  * execute(
500
500
  * upsert(table, uuid, record, { setNull: "'undefined'", logValues: false})
501
501
  * )(state)
502
+ * execute(
503
+ * upsert(table, [uuid1, uuid2], record, { setNull: "'undefined'", logValues: false})
504
+ * )(state)
502
505
  * @constructor
503
506
  * @param {string} table - The target table
504
507
  * @param {string} uuid - The uuid column to determine a matching/existing record
@@ -525,7 +528,17 @@ function upsert(table, uuid, record, options) {
525
528
  var insertValues = columns.map(function (key) {
526
529
  return "[Source].".concat(key);
527
530
  }).join(', ');
528
- var query = handleValues("MERGE ".concat(table, " AS [Target]\n USING (SELECT ").concat(selectValues, ") AS [Source] \n ON [Target].").concat(uuid, " = [Source].").concat(uuid, "\n WHEN MATCHED THEN\n UPDATE SET ").concat(updateValues, " \n WHEN NOT MATCHED THEN\n INSERT (").concat(insertColumns, ") VALUES (").concat(insertValues, ");"), handleOptions(options));
531
+ var constraint = [];
532
+
533
+ if (Array.isArray(uuid)) {
534
+ uuid.forEach(function (key) {
535
+ constraint.push("[Target].".concat(key, " = [Source].").concat(key));
536
+ });
537
+ } else {
538
+ constraint.push("[Target].".concat(uuid, " = [Source].").concat(uuid));
539
+ }
540
+
541
+ var query = handleValues("MERGE ".concat(table, " AS [Target]\n USING (SELECT ").concat(selectValues, ") AS [Source] \n ON ").concat(constraint.join(' AND '), "\n WHEN MATCHED THEN\n UPDATE SET ").concat(updateValues, " \n WHEN NOT MATCHED THEN\n INSERT (").concat(insertColumns, ") VALUES (").concat(insertValues, ");"), handleOptions(options));
529
542
  var safeQuery = "MERGE ".concat(table, " AS [Target]\n USING (SELECT [--REDACTED--]) \n ON [Target].[--VALUE--] = [Source].[--VALUE--]\n WHEN MATCHED THEN\n UPDATE SET [--REDACTED--] \n WHEN NOT MATCHED THEN\n INSERT (").concat(insertColumns, ") VALUES [--REDACTED--];");
530
543
  return new Promise(function (resolve, reject) {
531
544
  var queryToLog = options && options.logValues ? query : safeQuery;
@@ -545,7 +558,7 @@ function upsert(table, uuid, record, options) {
545
558
  * upsertIf(
546
559
  * dataValue('name'),
547
560
  * 'users', // the DB table
548
- * 'ON CONSTRAINT users_pkey', // a DB column with a unique constraint OR a CONSTRAINT NAME
561
+ * 'uuid', // a DB column with a unique constraint
549
562
  * { name: 'Elodie', id: 7 },
550
563
  * { writeSql:true, execute: true, logValues: false }
551
564
  * )
@@ -584,7 +597,17 @@ function upsertIf(logical, table, uuid, record, options) {
584
597
  var insertValues = columns.map(function (key) {
585
598
  return "[Source].".concat(key);
586
599
  }).join(', ');
587
- var query = handleValues("MERGE ".concat(table, " AS [Target]\n USING (SELECT ").concat(selectValues, ") AS [Source] \n ON [Target].").concat(uuid, " = [Source].").concat(uuid, "\n WHEN MATCHED THEN\n UPDATE SET ").concat(updateValues, " \n WHEN NOT MATCHED THEN\n INSERT (").concat(insertColumns, ") VALUES (").concat(insertValues, ");"), handleOptions(options));
600
+ var constraint = [];
601
+
602
+ if (Array.isArray(uuid)) {
603
+ uuid.forEach(function (key) {
604
+ constraint.push("[Target].".concat(key, " = [Source].").concat(key));
605
+ });
606
+ } else {
607
+ constraint.push("[Target].".concat(uuid, " = [Source].").concat(uuid));
608
+ }
609
+
610
+ var query = handleValues("MERGE ".concat(table, " AS [Target]\n USING (SELECT ").concat(selectValues, ") AS [Source] \n ON ").concat(constraint.join(' AND '), "\n WHEN MATCHED THEN\n UPDATE SET ").concat(updateValues, " \n WHEN NOT MATCHED THEN\n INSERT (").concat(insertColumns, ") VALUES (").concat(insertValues, ");"), handleOptions(options));
588
611
  var safeQuery = "MERGE ".concat(table, " AS [Target]\n USING (SELECT [--REDACTED--]) \n ON [Target].[--VALUE--] = [Source].[--VALUE--]\n WHEN MATCHED THEN\n UPDATE SET [--REDACTED--] \n WHEN NOT MATCHED THEN\n INSERT (").concat(insertColumns, ") VALUES [--REDACTED--];");
589
612
  var queryToLog = options && options.logValues ? query : safeQuery;
590
613
  console.log("Executing upsertIf via: ".concat(queryToLog));
@@ -603,6 +626,9 @@ function upsertIf(logical, table, uuid, record, options) {
603
626
  * upsertMany(
604
627
  * 'users', 'email', records, { logValues: false }
605
628
  * )
629
+ * upsertMany(
630
+ * 'users', ['email', 'phone'], records, { logValues: false }
631
+ * )
606
632
  * @constructor
607
633
  * @param {string} table - The target table
608
634
  * @param {string} uuid - The uuid column to determine a matching/existing record
@@ -636,7 +662,17 @@ function upsertMany(table, uuid, records, options) {
636
662
  var updateValues = columns.map(function (key) {
637
663
  return "[Target].".concat(key, "=[Source].").concat(key);
638
664
  }).join(', ');
639
- var query = handleValues("MERGE ".concat(table, " AS [Target]\n USING (VALUES ").concat(valueSets.join(', '), ") AS [Source] (").concat(insertColumns, ")\n ON [Target].").concat(uuid, " = [Source].").concat(uuid, "\n WHEN MATCHED THEN\n UPDATE SET ").concat(updateValues, "\n WHEN NOT MATCHED THEN\n INSERT (").concat(insertColumns, ") VALUES (").concat(insertValues, ");"), handleOptions(options));
665
+ var constraint = [];
666
+
667
+ if (Array.isArray(uuid)) {
668
+ uuid.forEach(function (key) {
669
+ constraint.push("[Target].".concat(key, " = [Source].").concat(key));
670
+ });
671
+ } else {
672
+ constraint.push("[Target].".concat(uuid, " = [Source].").concat(uuid));
673
+ }
674
+
675
+ var query = handleValues("MERGE ".concat(table, " AS [Target]\n USING (VALUES ").concat(valueSets.join(', '), ") AS [Source] (").concat(insertColumns, ")\n ON ").concat(constraint.join(' AND '), "\n WHEN MATCHED THEN\n UPDATE SET ").concat(updateValues, "\n WHEN NOT MATCHED THEN\n INSERT (").concat(insertColumns, ") VALUES (").concat(insertValues, ");"), handleOptions(options));
640
676
  var safeQuery = "MERGE ".concat(table, " AS [Target]\n USING (VALUES [--REDACTED--]) AS [SOURCE] (").concat(insertColumns, ")\n ON [Target].[--VALUE--] = [Source].[--VALUE--]\n WHEN MATCHED THEN\n UPDATE SET [--REDACTED--] \n WHEN NOT MATCHED THEN\n INSERT (").concat(insertColumns, ") VALUES [--REDACTED--];");
641
677
  var queryToLog = options && options.logValues ? query : safeQuery;
642
678
  console.log("Executing upsertMany via: ".concat(queryToLog));
@@ -2,7 +2,7 @@
2
2
  "_args": [
3
3
  [
4
4
  "@azure/ms-rest-azure-env@1.1.2",
5
- "/workspaces/devtools/adaptors/language-mssql"
5
+ "/Users/taylor/devtools/adaptors/language-mssql"
6
6
  ]
7
7
  ],
8
8
  "_from": "@azure/ms-rest-azure-env@1.1.2",
@@ -27,7 +27,7 @@
27
27
  ],
28
28
  "_resolved": "https://registry.npmjs.org/@azure/ms-rest-azure-env/-/ms-rest-azure-env-1.1.2.tgz",
29
29
  "_spec": "1.1.2",
30
- "_where": "/workspaces/devtools/adaptors/language-mssql",
30
+ "_where": "/Users/taylor/devtools/adaptors/language-mssql",
31
31
  "author": {
32
32
  "name": "Microsoft Corporation",
33
33
  "email": "azsdkteam@microsoft.com",
@@ -2,7 +2,7 @@
2
2
  "_args": [
3
3
  [
4
4
  "form-data@2.5.1",
5
- "/workspaces/devtools/adaptors/language-mssql"
5
+ "/Users/taylor/devtools/adaptors/language-mssql"
6
6
  ]
7
7
  ],
8
8
  "_from": "form-data@2.5.1",
@@ -26,7 +26,7 @@
26
26
  ],
27
27
  "_resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz",
28
28
  "_spec": "2.5.1",
29
- "_where": "/workspaces/devtools/adaptors/language-mssql",
29
+ "_where": "/Users/taylor/devtools/adaptors/language-mssql",
30
30
  "author": {
31
31
  "name": "Felix Geisendörfer",
32
32
  "email": "felix@debuggable.com",
@@ -2,7 +2,7 @@
2
2
  "_args": [
3
3
  [
4
4
  "@azure/ms-rest-js@1.8.14",
5
- "/workspaces/devtools/adaptors/language-mssql"
5
+ "/Users/taylor/devtools/adaptors/language-mssql"
6
6
  ]
7
7
  ],
8
8
  "_from": "@azure/ms-rest-js@1.8.14",
@@ -31,7 +31,7 @@
31
31
  ],
32
32
  "_resolved": "https://registry.npmjs.org/@azure/ms-rest-js/-/ms-rest-js-1.8.14.tgz",
33
33
  "_spec": "1.8.14",
34
- "_where": "/workspaces/devtools/adaptors/language-mssql",
34
+ "_where": "/Users/taylor/devtools/adaptors/language-mssql",
35
35
  "author": {
36
36
  "name": "Microsoft Corporation",
37
37
  "email": "azsdkteam@microsoft.com",
@@ -2,7 +2,7 @@
2
2
  "_args": [
3
3
  [
4
4
  "@azure/ms-rest-nodeauth@2.0.2",
5
- "/workspaces/devtools/adaptors/language-mssql"
5
+ "/Users/taylor/devtools/adaptors/language-mssql"
6
6
  ]
7
7
  ],
8
8
  "_from": "@azure/ms-rest-nodeauth@2.0.2",
@@ -27,7 +27,7 @@
27
27
  ],
28
28
  "_resolved": "https://registry.npmjs.org/@azure/ms-rest-nodeauth/-/ms-rest-nodeauth-2.0.2.tgz",
29
29
  "_spec": "2.0.2",
30
- "_where": "/workspaces/devtools/adaptors/language-mssql",
30
+ "_where": "/Users/taylor/devtools/adaptors/language-mssql",
31
31
  "author": {
32
32
  "name": "Microsoft Corporation",
33
33
  "email": "azsdkteam@microsoft.com",
@@ -2,7 +2,7 @@
2
2
  "_args": [
3
3
  [
4
4
  "@js-joda/core@1.12.0",
5
- "/workspaces/devtools/adaptors/language-mssql"
5
+ "/Users/taylor/devtools/adaptors/language-mssql"
6
6
  ]
7
7
  ],
8
8
  "_from": "@js-joda/core@1.12.0",
@@ -27,7 +27,7 @@
27
27
  ],
28
28
  "_resolved": "https://registry.npmjs.org/@js-joda/core/-/core-1.12.0.tgz",
29
29
  "_spec": "1.12.0",
30
- "_where": "/workspaces/devtools/adaptors/language-mssql",
30
+ "_where": "/Users/taylor/devtools/adaptors/language-mssql",
31
31
  "author": {
32
32
  "name": "pithu"
33
33
  },
@@ -2,7 +2,7 @@
2
2
  "_args": [
3
3
  [
4
4
  "axios@0.21.1",
5
- "/workspaces/devtools/adaptors/language-mssql"
5
+ "/Users/taylor/devtools/adaptors/language-mssql"
6
6
  ]
7
7
  ],
8
8
  "_from": "axios@0.21.1",
@@ -25,7 +25,7 @@
25
25
  ],
26
26
  "_resolved": false,
27
27
  "_spec": "0.21.1",
28
- "_where": "/workspaces/devtools/adaptors/language-mssql",
28
+ "_where": "/Users/taylor/devtools/adaptors/language-mssql",
29
29
  "author": {
30
30
  "name": "Matt Zabriskie"
31
31
  },
@@ -2,7 +2,7 @@
2
2
  "_args": [
3
3
  [
4
4
  "follow-redirects@1.13.1",
5
- "/workspaces/devtools/adaptors/language-mssql"
5
+ "/Users/taylor/devtools/adaptors/language-mssql"
6
6
  ]
7
7
  ],
8
8
  "_from": "follow-redirects@1.13.1",
@@ -25,7 +25,7 @@
25
25
  ],
26
26
  "_resolved": false,
27
27
  "_spec": "1.13.1",
28
- "_where": "/workspaces/devtools/adaptors/language-mssql",
28
+ "_where": "/Users/taylor/devtools/adaptors/language-mssql",
29
29
  "author": {
30
30
  "name": "Ruben Verborgh",
31
31
  "email": "ruben@verborgh.org",
@@ -2,7 +2,7 @@
2
2
  "_args": [
3
3
  [
4
4
  "jsonpath-plus@4.0.0",
5
- "/workspaces/devtools/adaptors/language-mssql"
5
+ "/Users/taylor/devtools/adaptors/language-mssql"
6
6
  ]
7
7
  ],
8
8
  "_from": "jsonpath-plus@4.0.0",
@@ -25,7 +25,7 @@
25
25
  ],
26
26
  "_resolved": false,
27
27
  "_spec": "4.0.0",
28
- "_where": "/workspaces/devtools/adaptors/language-mssql",
28
+ "_where": "/Users/taylor/devtools/adaptors/language-mssql",
29
29
  "author": {
30
30
  "name": "Stefan Goessner"
31
31
  },
@@ -2,7 +2,7 @@
2
2
  "_args": [
3
3
  [
4
4
  "lodash@4.17.21",
5
- "/workspaces/devtools/adaptors/language-mssql"
5
+ "/Users/taylor/devtools/adaptors/language-mssql"
6
6
  ]
7
7
  ],
8
8
  "_from": "lodash@4.17.21",
@@ -25,7 +25,7 @@
25
25
  ],
26
26
  "_resolved": false,
27
27
  "_spec": "4.17.21",
28
- "_where": "/workspaces/devtools/adaptors/language-mssql",
28
+ "_where": "/Users/taylor/devtools/adaptors/language-mssql",
29
29
  "author": {
30
30
  "name": "John-David Dalton",
31
31
  "email": "john.david.dalton@gmail.com"
@@ -2,7 +2,7 @@
2
2
  "_args": [
3
3
  [
4
4
  "@openfn/language-common@1.4.1",
5
- "/workspaces/devtools/adaptors/language-mssql"
5
+ "/Users/taylor/devtools/adaptors/language-mssql"
6
6
  ]
7
7
  ],
8
8
  "_from": "@openfn/language-common@1.4.1",
@@ -27,7 +27,7 @@
27
27
  ],
28
28
  "_resolved": "https://registry.npmjs.org/@openfn/language-common/-/language-common-1.4.1.tgz",
29
29
  "_spec": "1.4.1",
30
- "_where": "/workspaces/devtools/adaptors/language-mssql",
30
+ "_where": "/Users/taylor/devtools/adaptors/language-mssql",
31
31
  "author": {
32
32
  "name": "Open Function Group"
33
33
  },
@@ -2,7 +2,7 @@
2
2
  "_args": [
3
3
  [
4
4
  "@types/node@13.5.0",
5
- "/workspaces/devtools/adaptors/language-mssql"
5
+ "/Users/taylor/devtools/adaptors/language-mssql"
6
6
  ]
7
7
  ],
8
8
  "_from": "@types/node@13.5.0",
@@ -27,7 +27,7 @@
27
27
  ],
28
28
  "_resolved": "https://registry.npmjs.org/@types/node/-/node-13.5.0.tgz",
29
29
  "_spec": "13.5.0",
30
- "_where": "/workspaces/devtools/adaptors/language-mssql",
30
+ "_where": "/Users/taylor/devtools/adaptors/language-mssql",
31
31
  "bugs": {
32
32
  "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues"
33
33
  },
@@ -2,7 +2,7 @@
2
2
  "_args": [
3
3
  [
4
4
  "@types/tunnel@0.0.0",
5
- "/workspaces/devtools/adaptors/language-mssql"
5
+ "/Users/taylor/devtools/adaptors/language-mssql"
6
6
  ]
7
7
  ],
8
8
  "_from": "@types/tunnel@0.0.0",
@@ -27,7 +27,7 @@
27
27
  ],
28
28
  "_resolved": "https://registry.npmjs.org/@types/tunnel/-/tunnel-0.0.0.tgz",
29
29
  "_spec": "0.0.0",
30
- "_where": "/workspaces/devtools/adaptors/language-mssql",
30
+ "_where": "/Users/taylor/devtools/adaptors/language-mssql",
31
31
  "bugs": {
32
32
  "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues"
33
33
  },
@@ -2,7 +2,7 @@
2
2
  "_args": [
3
3
  [
4
4
  "@types/node@8.10.59",
5
- "/workspaces/devtools/adaptors/language-mssql"
5
+ "/Users/taylor/devtools/adaptors/language-mssql"
6
6
  ]
7
7
  ],
8
8
  "_from": "@types/node@8.10.59",
@@ -27,7 +27,7 @@
27
27
  ],
28
28
  "_resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.59.tgz",
29
29
  "_spec": "8.10.59",
30
- "_where": "/workspaces/devtools/adaptors/language-mssql",
30
+ "_where": "/Users/taylor/devtools/adaptors/language-mssql",
31
31
  "bugs": {
32
32
  "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues"
33
33
  },
@@ -2,7 +2,7 @@
2
2
  "_args": [
3
3
  [
4
4
  "adal-node@0.1.28",
5
- "/workspaces/devtools/adaptors/language-mssql"
5
+ "/Users/taylor/devtools/adaptors/language-mssql"
6
6
  ]
7
7
  ],
8
8
  "_from": "adal-node@0.1.28",
@@ -26,7 +26,7 @@
26
26
  ],
27
27
  "_resolved": "https://registry.npmjs.org/adal-node/-/adal-node-0.1.28.tgz",
28
28
  "_spec": "0.1.28",
29
- "_where": "/workspaces/devtools/adaptors/language-mssql",
29
+ "_where": "/Users/taylor/devtools/adaptors/language-mssql",
30
30
  "author": {
31
31
  "name": "Microsoft Open Technologies Inc",
32
32
  "email": "msopentech@microsoft.com",
@@ -2,7 +2,7 @@
2
2
  "_args": [
3
3
  [
4
4
  "ajv@6.11.0",
5
- "/workspaces/devtools/adaptors/language-mssql"
5
+ "/Users/taylor/devtools/adaptors/language-mssql"
6
6
  ]
7
7
  ],
8
8
  "_from": "ajv@6.11.0",
@@ -26,7 +26,7 @@
26
26
  ],
27
27
  "_resolved": "https://registry.npmjs.org/ajv/-/ajv-6.11.0.tgz",
28
28
  "_spec": "6.11.0",
29
- "_where": "/workspaces/devtools/adaptors/language-mssql",
29
+ "_where": "/Users/taylor/devtools/adaptors/language-mssql",
30
30
  "author": {
31
31
  "name": "Evgeny Poberezkin"
32
32
  },
@@ -2,7 +2,7 @@
2
2
  "_args": [
3
3
  [
4
4
  "asn1@0.2.4",
5
- "/workspaces/devtools/adaptors/language-mssql"
5
+ "/Users/taylor/devtools/adaptors/language-mssql"
6
6
  ]
7
7
  ],
8
8
  "_from": "asn1@0.2.4",
@@ -26,7 +26,7 @@
26
26
  ],
27
27
  "_resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
28
28
  "_spec": "0.2.4",
29
- "_where": "/workspaces/devtools/adaptors/language-mssql",
29
+ "_where": "/Users/taylor/devtools/adaptors/language-mssql",
30
30
  "author": {
31
31
  "name": "Joyent",
32
32
  "url": "joyent.com"
@@ -2,7 +2,7 @@
2
2
  "_args": [
3
3
  [
4
4
  "assert-plus@1.0.0",
5
- "/workspaces/devtools/adaptors/language-mssql"
5
+ "/Users/taylor/devtools/adaptors/language-mssql"
6
6
  ]
7
7
  ],
8
8
  "_from": "assert-plus@1.0.0",
@@ -31,7 +31,7 @@
31
31
  ],
32
32
  "_resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
33
33
  "_spec": "1.0.0",
34
- "_where": "/workspaces/devtools/adaptors/language-mssql",
34
+ "_where": "/Users/taylor/devtools/adaptors/language-mssql",
35
35
  "author": {
36
36
  "name": "Mark Cavage",
37
37
  "email": "mcavage@gmail.com"
@@ -2,7 +2,7 @@
2
2
  "_args": [
3
3
  [
4
4
  "async@1.5.2",
5
- "/workspaces/devtools/adaptors/language-mssql"
5
+ "/Users/taylor/devtools/adaptors/language-mssql"
6
6
  ]
7
7
  ],
8
8
  "_from": "async@1.5.2",
@@ -27,7 +27,7 @@
27
27
  ],
28
28
  "_resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
29
29
  "_spec": "1.5.2",
30
- "_where": "/workspaces/devtools/adaptors/language-mssql",
30
+ "_where": "/Users/taylor/devtools/adaptors/language-mssql",
31
31
  "author": {
32
32
  "name": "Caolan McMahon"
33
33
  },
@@ -2,7 +2,7 @@
2
2
  "_args": [
3
3
  [
4
4
  "asynckit@0.4.0",
5
- "/workspaces/devtools/adaptors/language-mssql"
5
+ "/Users/taylor/devtools/adaptors/language-mssql"
6
6
  ]
7
7
  ],
8
8
  "_from": "asynckit@0.4.0",
@@ -27,7 +27,7 @@
27
27
  ],
28
28
  "_resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
29
29
  "_spec": "0.4.0",
30
- "_where": "/workspaces/devtools/adaptors/language-mssql",
30
+ "_where": "/Users/taylor/devtools/adaptors/language-mssql",
31
31
  "author": {
32
32
  "name": "Alex Indigo",
33
33
  "email": "iam@alexindigo.com"
@@ -2,7 +2,7 @@
2
2
  "_args": [
3
3
  [
4
4
  "aws-sign2@0.7.0",
5
- "/workspaces/devtools/adaptors/language-mssql"
5
+ "/Users/taylor/devtools/adaptors/language-mssql"
6
6
  ]
7
7
  ],
8
8
  "_from": "aws-sign2@0.7.0",
@@ -26,7 +26,7 @@
26
26
  ],
27
27
  "_resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
28
28
  "_spec": "0.7.0",
29
- "_where": "/workspaces/devtools/adaptors/language-mssql",
29
+ "_where": "/Users/taylor/devtools/adaptors/language-mssql",
30
30
  "author": {
31
31
  "name": "Mikeal Rogers",
32
32
  "email": "mikeal.rogers@gmail.com",
@@ -2,7 +2,7 @@
2
2
  "_args": [
3
3
  [
4
4
  "aws4@1.9.1",
5
- "/workspaces/devtools/adaptors/language-mssql"
5
+ "/Users/taylor/devtools/adaptors/language-mssql"
6
6
  ]
7
7
  ],
8
8
  "_from": "aws4@1.9.1",
@@ -26,7 +26,7 @@
26
26
  ],
27
27
  "_resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz",
28
28
  "_spec": "1.9.1",
29
- "_where": "/workspaces/devtools/adaptors/language-mssql",
29
+ "_where": "/Users/taylor/devtools/adaptors/language-mssql",
30
30
  "author": {
31
31
  "name": "Michael Hart",
32
32
  "email": "michael.hart.au@gmail.com",
@@ -2,7 +2,7 @@
2
2
  "_args": [
3
3
  [
4
4
  "axios@0.19.2",
5
- "/workspaces/devtools/adaptors/language-mssql"
5
+ "/Users/taylor/devtools/adaptors/language-mssql"
6
6
  ]
7
7
  ],
8
8
  "_from": "axios@0.19.2",
@@ -26,7 +26,7 @@
26
26
  ],
27
27
  "_resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz",
28
28
  "_spec": "0.19.2",
29
- "_where": "/workspaces/devtools/adaptors/language-mssql",
29
+ "_where": "/Users/taylor/devtools/adaptors/language-mssql",
30
30
  "author": {
31
31
  "name": "Matt Zabriskie"
32
32
  },
@@ -2,7 +2,7 @@
2
2
  "_args": [
3
3
  [
4
4
  "bcrypt-pbkdf@1.0.2",
5
- "/workspaces/devtools/adaptors/language-mssql"
5
+ "/Users/taylor/devtools/adaptors/language-mssql"
6
6
  ]
7
7
  ],
8
8
  "_from": "bcrypt-pbkdf@1.0.2",
@@ -26,7 +26,7 @@
26
26
  ],
27
27
  "_resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
28
28
  "_spec": "1.0.2",
29
- "_where": "/workspaces/devtools/adaptors/language-mssql",
29
+ "_where": "/Users/taylor/devtools/adaptors/language-mssql",
30
30
  "bugs": {
31
31
  "url": "https://github.com/joyent/node-bcrypt-pbkdf/issues"
32
32
  },
@@ -2,7 +2,7 @@
2
2
  "_args": [
3
3
  [
4
4
  "readable-stream@3.6.0",
5
- "/workspaces/devtools/adaptors/language-mssql"
5
+ "/Users/taylor/devtools/adaptors/language-mssql"
6
6
  ]
7
7
  ],
8
8
  "_from": "readable-stream@3.6.0",
@@ -26,7 +26,7 @@
26
26
  ],
27
27
  "_resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
28
28
  "_spec": "3.6.0",
29
- "_where": "/workspaces/devtools/adaptors/language-mssql",
29
+ "_where": "/Users/taylor/devtools/adaptors/language-mssql",
30
30
  "browser": {
31
31
  "util": false,
32
32
  "worker_threads": false,
@@ -2,7 +2,7 @@
2
2
  "_args": [
3
3
  [
4
4
  "string_decoder@1.3.0",
5
- "/workspaces/devtools/adaptors/language-mssql"
5
+ "/Users/taylor/devtools/adaptors/language-mssql"
6
6
  ]
7
7
  ],
8
8
  "_from": "string_decoder@1.3.0",
@@ -26,7 +26,7 @@
26
26
  ],
27
27
  "_resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
28
28
  "_spec": "1.3.0",
29
- "_where": "/workspaces/devtools/adaptors/language-mssql",
29
+ "_where": "/Users/taylor/devtools/adaptors/language-mssql",
30
30
  "bugs": {
31
31
  "url": "https://github.com/nodejs/string_decoder/issues"
32
32
  },