permaweb-deploy 2.4.0 → 2.5.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.
- package/dist/index.js +66 -11
- package/package.json +1 -1
- package/src/index.js +27 -1
package/dist/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
"use strict";
|
|
3
3
|
|
|
4
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
5
|
var _turboSdk = require("@ardrive/turbo-sdk");
|
|
5
6
|
var _fs = _interopRequireDefault(require("fs"));
|
|
6
7
|
var _yargs = _interopRequireDefault(require("yargs"));
|
|
@@ -8,15 +9,25 @@ var _helpers = require("yargs/helpers");
|
|
|
8
9
|
var _mimeTypes = _interopRequireDefault(require("mime-types"));
|
|
9
10
|
var _sdk = require("@ar.io/sdk");
|
|
10
11
|
var _aoconnect = require("@permaweb/aoconnect");
|
|
12
|
+
var _nodeStream = require("node:stream");
|
|
11
13
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
12
14
|
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
|
|
13
15
|
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { if (r) i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n;else { var o = function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); }; o("next", 0), o("throw", 1), o("return", 2); } }, _regeneratorDefine2(e, r, n, t); }
|
|
14
16
|
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
15
17
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
16
|
-
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
17
18
|
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
18
19
|
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
20
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
21
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
22
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
23
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
24
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
25
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
26
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
27
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
19
28
|
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
29
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
30
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
20
31
|
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
|
|
21
32
|
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
|
|
22
33
|
var arweaveTxIdRegex = /^[a-zA-Z0-9-_]{43}$/;
|
|
@@ -74,7 +85,7 @@ if (ARIO_PROCESS === 'mainnet') {
|
|
|
74
85
|
ARIO_PROCESS = _sdk.ARIO_TESTNET_PROCESS_ID;
|
|
75
86
|
}
|
|
76
87
|
_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
|
|
77
|
-
var ario, arnsNameRecord, signer, token, jwk, turbo, uploadResult, txOrManifestId, mimeType, ant, _t, _t2;
|
|
88
|
+
var ario, arnsNameRecord, signer, token, jwk, turbo, uploadResult, txOrManifestId, mimeType, origPaths, newPaths, replaceManifest, _i, _Object$entries, _Object$entries$_i, key, value, newKey, newManifest, buffer, _yield$turbo$uploadFi, id, ant, _t, _t2;
|
|
78
89
|
return _regenerator().w(function (_context) {
|
|
79
90
|
while (1) switch (_context.n) {
|
|
80
91
|
case 0:
|
|
@@ -180,7 +191,7 @@ _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
|
|
|
180
191
|
case 9:
|
|
181
192
|
uploadResult = _context.v;
|
|
182
193
|
txOrManifestId = uploadResult.id;
|
|
183
|
-
_context.n =
|
|
194
|
+
_context.n = 13;
|
|
184
195
|
break;
|
|
185
196
|
case 10:
|
|
186
197
|
_context.n = 11;
|
|
@@ -200,8 +211,52 @@ _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
|
|
|
200
211
|
});
|
|
201
212
|
case 11:
|
|
202
213
|
uploadResult = _context.v;
|
|
203
|
-
txOrManifestId = uploadResult.manifestResponse.id;
|
|
214
|
+
txOrManifestId = uploadResult.manifestResponse.id; //might replace now
|
|
215
|
+
|
|
216
|
+
// Make default folder paths work by adding extra path entries
|
|
217
|
+
origPaths = uploadResult.manifest.paths;
|
|
218
|
+
newPaths = {};
|
|
219
|
+
replaceManifest = false;
|
|
220
|
+
for (_i = 0, _Object$entries = Object.entries(origPaths); _i < _Object$entries.length; _i++) {
|
|
221
|
+
_Object$entries$_i = _slicedToArray(_Object$entries[_i], 2), key = _Object$entries$_i[0], value = _Object$entries$_i[1];
|
|
222
|
+
newPaths[key] = value;
|
|
223
|
+
if (key.endsWith('/index.html')) {
|
|
224
|
+
newKey = key.replace(/\/index\.html$/, '');
|
|
225
|
+
newPaths[newKey] = value;
|
|
226
|
+
replaceManifest = true;
|
|
227
|
+
}
|
|
228
|
+
;
|
|
229
|
+
}
|
|
230
|
+
;
|
|
231
|
+
if (!replaceManifest) {
|
|
232
|
+
_context.n = 13;
|
|
233
|
+
break;
|
|
234
|
+
}
|
|
235
|
+
console.info('replacing manifest');
|
|
236
|
+
newManifest = _objectSpread(_objectSpread({}, uploadResult.manifest), {}, {
|
|
237
|
+
paths: newPaths
|
|
238
|
+
});
|
|
239
|
+
buffer = Buffer.from(JSON.stringify(newManifest));
|
|
240
|
+
_context.n = 12;
|
|
241
|
+
return turbo.uploadFile({
|
|
242
|
+
fileStreamFactory: function fileStreamFactory() {
|
|
243
|
+
return _nodeStream.Readable.from(buffer);
|
|
244
|
+
},
|
|
245
|
+
fileSizeFactory: function fileSizeFactory() {
|
|
246
|
+
return buffer.length;
|
|
247
|
+
},
|
|
248
|
+
dataItemOpts: {
|
|
249
|
+
tags: [{
|
|
250
|
+
name: 'Content-Type',
|
|
251
|
+
value: 'application/x.arweave-manifest+json'
|
|
252
|
+
}]
|
|
253
|
+
}
|
|
254
|
+
});
|
|
204
255
|
case 12:
|
|
256
|
+
_yield$turbo$uploadFi = _context.v;
|
|
257
|
+
id = _yield$turbo$uploadFi.id;
|
|
258
|
+
txOrManifestId = id;
|
|
259
|
+
case 13:
|
|
205
260
|
console.log('-------------------- DEPLOY DETAILS --------------------');
|
|
206
261
|
console.log("Tx ID: ".concat(txOrManifestId));
|
|
207
262
|
console.log("ArNS Name: ".concat(ARNS_NAME));
|
|
@@ -214,7 +269,7 @@ _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
|
|
|
214
269
|
processId: arnsNameRecord.processId,
|
|
215
270
|
signer: signer
|
|
216
271
|
}); // Update the ANT record (assumes the JWK is a controller or owner)
|
|
217
|
-
_context.n =
|
|
272
|
+
_context.n = 14;
|
|
218
273
|
return ant.setRecord({
|
|
219
274
|
undername: argv.undername,
|
|
220
275
|
transactionId: txOrManifestId,
|
|
@@ -228,17 +283,17 @@ _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
|
|
|
228
283
|
value: process.env.GITHUB_SHA
|
|
229
284
|
}] : []))
|
|
230
285
|
});
|
|
231
|
-
case
|
|
286
|
+
case 14:
|
|
232
287
|
console.log("Deployed TxId [".concat(txOrManifestId, "] to name [").concat(ARNS_NAME, "] for ANT [").concat(arnsNameRecord.processId, "] using undername [").concat(argv.undername, "]"));
|
|
233
|
-
_context.n =
|
|
288
|
+
_context.n = 16;
|
|
234
289
|
break;
|
|
235
|
-
case
|
|
236
|
-
_context.p =
|
|
290
|
+
case 15:
|
|
291
|
+
_context.p = 15;
|
|
237
292
|
_t2 = _context.v;
|
|
238
293
|
console.error('Deployment failed:', _t2);
|
|
239
294
|
process.exit(1); // Exit with error code
|
|
240
|
-
case
|
|
295
|
+
case 16:
|
|
241
296
|
return _context.a(2);
|
|
242
297
|
}
|
|
243
|
-
}, _callee, null, [[2,
|
|
298
|
+
}, _callee, null, [[2, 15]]);
|
|
244
299
|
}))();
|
package/package.json
CHANGED
package/src/index.js
CHANGED
|
@@ -7,6 +7,7 @@ import mime from 'mime-types';
|
|
|
7
7
|
|
|
8
8
|
import { ANT, AOProcess, ARIO, ARIO_MAINNET_PROCESS_ID, ARIO_TESTNET_PROCESS_ID, ArweaveSigner } from '@ar.io/sdk';
|
|
9
9
|
import { connect } from '@permaweb/aoconnect';
|
|
10
|
+
import { Readable } from 'node:stream';
|
|
10
11
|
|
|
11
12
|
const arweaveTxIdRegex = /^[a-zA-Z0-9-_]{43}$/;
|
|
12
13
|
|
|
@@ -212,7 +213,32 @@ if (ARIO_PROCESS === 'mainnet') {
|
|
|
212
213
|
],
|
|
213
214
|
},
|
|
214
215
|
});
|
|
215
|
-
txOrManifestId = uploadResult.manifestResponse.id;
|
|
216
|
+
txOrManifestId = uploadResult.manifestResponse.id; //might replace now
|
|
217
|
+
|
|
218
|
+
// Make default folder paths work by adding extra path entries
|
|
219
|
+
const origPaths = uploadResult.manifest.paths;
|
|
220
|
+
const newPaths = {};
|
|
221
|
+
let replaceManifest = false;
|
|
222
|
+
for (const [key, value] of Object.entries(origPaths)) {
|
|
223
|
+
newPaths[key] = value;
|
|
224
|
+
if (key.endsWith('/index.html')) {
|
|
225
|
+
const newKey = key.replace(/\/index\.html$/, '');
|
|
226
|
+
newPaths[newKey] = value;
|
|
227
|
+
replaceManifest = true;
|
|
228
|
+
};
|
|
229
|
+
};
|
|
230
|
+
|
|
231
|
+
if (replaceManifest) {
|
|
232
|
+
console.info('replacing manifest');
|
|
233
|
+
const newManifest = { ...uploadResult.manifest, paths: newPaths };
|
|
234
|
+
const buffer = Buffer.from(JSON.stringify(newManifest));
|
|
235
|
+
const { id } = await turbo.uploadFile({
|
|
236
|
+
fileStreamFactory: () => Readable.from(buffer),
|
|
237
|
+
fileSizeFactory: () => buffer.length,
|
|
238
|
+
dataItemOpts: { tags: [{ name: 'Content-Type', value: 'application/x.arweave-manifest+json' }] },
|
|
239
|
+
});
|
|
240
|
+
txOrManifestId = id;
|
|
241
|
+
}
|
|
216
242
|
}
|
|
217
243
|
|
|
218
244
|
console.log('-------------------- DEPLOY DETAILS --------------------');
|