jats-cli 1.0.16 → 1.0.18

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/jats.cjs CHANGED
@@ -48999,7 +48999,7 @@ var {
48999
48999
  } = import_index.default;
49000
49000
 
49001
49001
  // src/version.ts
49002
- var version = "1.0.16";
49002
+ var version = "1.0.18";
49003
49003
  var version_default = version;
49004
49004
 
49005
49005
  // src/parse.ts
@@ -49645,7 +49645,7 @@ function writeFileToFolder(filename, data, opts) {
49645
49645
  }
49646
49646
 
49647
49647
  // ../../node_modules/doi-utils/dist/validatePart.js
49648
- var DOI_VALIDATION_PATTERN = /^10.\d{4,9}\/[-._;()/:A-Z0-9]+$/i;
49648
+ var DOI_VALIDATION_PATTERN = /^10\.\d{4,9}\/[-._;()/:A-Z0-9]+$/i;
49649
49649
  function validatePart(possibleDOI) {
49650
49650
  if (!possibleDOI)
49651
49651
  return false;
@@ -49663,10 +49663,10 @@ var doiOrg = {
49663
49663
  };
49664
49664
  var elife = {
49665
49665
  test(url) {
49666
- return url.hostname.endsWith("elifesciences.org") && url.pathname.startsWith("/articles/");
49666
+ return url.hostname.endsWith("elifesciences.org") && /^\/(?:articles|reviewed-preprints)\/\d+$/.test(url.pathname);
49667
49667
  },
49668
49668
  parse(url) {
49669
- return `10.7554/eLife.${url.pathname.replace("/articles/", "")}`;
49669
+ return `10.7554/eLife.${url.pathname.replace(/^\/(?:articles|reviewed-preprints)\//, "")}`;
49670
49670
  }
49671
49671
  };
49672
49672
  var zenodo = {
@@ -49683,7 +49683,7 @@ var biorxiv = {
49683
49683
  },
49684
49684
  parse(url) {
49685
49685
  var _a;
49686
- return (_a = clumpParts(url).find(validatePart)) === null || _a === void 0 ? void 0 : _a.replace(/v([\d]*)$/, "");
49686
+ return (_a = clumpParts(url).find(validatePart)) === null || _a === void 0 ? void 0 : _a.replace(/v\d+(\.[a-zA-Z-]+)?$/, "");
49687
49687
  }
49688
49688
  };
49689
49689
  function clumpParts(url) {
@@ -58125,7 +58125,7 @@ async function customResolveJatsUrlFromDoi(session, doiString, opts) {
58125
58125
  }
58126
58126
 
58127
58127
  // ../jats-fetch/dist/download.js
58128
- async function downloadFromUrl(session, jatsUrl, opts) {
58128
+ async function downloadFromUrlOrThrow(session, jatsUrl, opts) {
58129
58129
  var _a, _b;
58130
58130
  const toc = tic();
58131
58131
  session.log.debug(`Fetching JATS from ${jatsUrl}`);
@@ -58145,6 +58145,16 @@ async function downloadFromUrl(session, jatsUrl, opts) {
58145
58145
  session.log.debug(toc(`Fetched document with content-type "${contentType}" in %s`));
58146
58146
  return data;
58147
58147
  }
58148
+ async function downloadFromUrl(session, jatsUrl, opts) {
58149
+ try {
58150
+ const data = await downloadFromUrlOrThrow(session, jatsUrl, opts);
58151
+ if (data)
58152
+ return { success: true, source: jatsUrl, data };
58153
+ } catch (error) {
58154
+ session.log.debug(error.message);
58155
+ }
58156
+ return { success: false, source: jatsUrl };
58157
+ }
58148
58158
  async function getJatsUrlFromDoi(session, urlOrDoi, opts) {
58149
58159
  var _a, _b, _c, _d, _e;
58150
58160
  if (!doi.validate(urlOrDoi))
@@ -58172,48 +58182,50 @@ async function getJatsUrlFromDoi(session, urlOrDoi, opts) {
58172
58182
  session.log.debug(`Could not find XML in DOI record ${doiUrl}`);
58173
58183
  return void 0;
58174
58184
  }
58175
- async function downloadJatsFromUrl(session, urlOrDoi, opts = {}) {
58176
- if (import_node_fs5.default.existsSync(urlOrDoi)) {
58177
- session.log.debug(`JATS returned from local file ${urlOrDoi}`);
58178
- const data = import_node_fs5.default.readFileSync(urlOrDoi).toString();
58179
- return { success: true, source: urlOrDoi, data };
58180
- }
58181
- const expectedUrls = (await Promise.all([
58182
- constructJatsUrlFromPubMedCentral(session, urlOrDoi, opts),
58183
- getJatsUrlFromDoi(session, urlOrDoi, opts)
58184
- ])).filter((u2) => !!u2);
58185
- if (expectedUrls.length > 0) {
58186
- session.log.debug(["Trying URLs:\n", ...expectedUrls.map((url) => ` ${url}
58187
- `)].join(" - "));
58188
- for (let index2 = 0; index2 < expectedUrls.length; index2++) {
58189
- const url = expectedUrls[index2];
58190
- try {
58191
- const data = await downloadFromUrl(session, url, opts);
58192
- if (data)
58193
- return { success: true, source: url, data };
58194
- } catch (error) {
58195
- session.log.debug(error.message);
58196
- }
58197
- }
58198
- return { success: false, source: expectedUrls[0] };
58185
+ async function downloadJatsFromUrl(session, urlOrId, opts = {}) {
58186
+ let result = { success: false, source: urlOrId };
58187
+ if (import_node_fs5.default.existsSync(urlOrId)) {
58188
+ session.log.debug(`JATS returned from local file ${urlOrId}`);
58189
+ const data = import_node_fs5.default.readFileSync(urlOrId).toString();
58190
+ return { success: true, source: urlOrId, data };
58199
58191
  }
58200
- try {
58201
- if (doi.validate(urlOrDoi)) {
58202
- const jatsUrl = await customResolveJatsUrlFromDoi(session, urlOrDoi, opts);
58203
- const data = await downloadFromUrl(session, jatsUrl, opts);
58204
- return { success: true, source: jatsUrl, data };
58192
+ if (doi.validate(urlOrId)) {
58193
+ let url;
58194
+ try {
58195
+ url = await customResolveJatsUrlFromDoi(session, urlOrId, opts);
58196
+ } catch (error) {
58197
+ session.log.debug(error.message);
58205
58198
  }
58206
- if (isUrl(urlOrDoi)) {
58207
- session.log.debug("No resolver matched, and the URL doesn't look like a DOI. We will attempt to download it directly.");
58208
- const data = await downloadFromUrl(session, urlOrDoi, opts);
58209
- return { success: true, source: urlOrDoi, data };
58199
+ if (url) {
58200
+ result = await downloadFromUrl(session, url, opts);
58201
+ if (result.success && result.data)
58202
+ return result;
58203
+ }
58204
+ url = await getJatsUrlFromDoi(session, urlOrId, opts);
58205
+ if (url) {
58206
+ result = await downloadFromUrl(session, url, opts);
58207
+ if (result.success && result.data)
58208
+ return result;
58210
58209
  }
58211
- } catch (error) {
58212
- session.log.debug(error.message);
58213
- return { success: false, source: urlOrDoi };
58214
58210
  }
58215
- session.log.debug(`Could not find ${urlOrDoi} locally, and it doesn't look like a URL or DOI`);
58216
- return { success: false, source: urlOrDoi };
58211
+ if (urlOrId.startsWith("PMC")) {
58212
+ result = await getPubMedJatsFromS3(session, urlOrId);
58213
+ if (result.success && result.data)
58214
+ return result;
58215
+ }
58216
+ if (urlOrId.startsWith("PMC") || doi.validate(urlOrId)) {
58217
+ const url = await constructJatsUrlFromPubMedCentral(session, urlOrId, opts);
58218
+ if (url) {
58219
+ result = await downloadFromUrl(session, url, opts);
58220
+ }
58221
+ return result;
58222
+ }
58223
+ if (isUrl(urlOrId)) {
58224
+ result = await downloadFromUrl(session, urlOrId, opts);
58225
+ return result;
58226
+ }
58227
+ session.log.debug(`Could not find ${urlOrId} locally or resolve it to a valid JATS url`);
58228
+ return result;
58217
58229
  }
58218
58230
  async function jatsFetch(session, input, opts) {
58219
58231
  var _a;
@@ -58228,6 +58240,7 @@ async function jatsFetch(session, input, opts) {
58228
58240
  }
58229
58241
  let output = opts.output;
58230
58242
  let filename;
58243
+ let altInput;
58231
58244
  if (input.endsWith(".tar.gz")) {
58232
58245
  opts.data = true;
58233
58246
  const foldername = input.split("/").slice(-1)[0].slice(0, -".tar.gz".length);
@@ -58247,7 +58260,7 @@ async function jatsFetch(session, input, opts) {
58247
58260
  const pmcid = await convertDOI2PMCID(session, input);
58248
58261
  if (pmcid) {
58249
58262
  session.log.debug(`Resolved input ${input} to PMC ID: ${pmcid}`);
58250
- input = pmcid;
58263
+ altInput = pmcid;
58251
58264
  }
58252
58265
  }
58253
58266
  if (!output)
@@ -58263,12 +58276,12 @@ async function jatsFetch(session, input, opts) {
58263
58276
  if (opts.data) {
58264
58277
  result = await getPubMedJatsFromData(session, input, import_node_path4.default.dirname(output), opts.listing);
58265
58278
  }
58266
- if (!(result === null || result === void 0 ? void 0 : result.data) && input.startsWith("PMC")) {
58267
- result = await getPubMedJatsFromS3(session, input);
58268
- }
58269
58279
  if (!(result === null || result === void 0 ? void 0 : result.data)) {
58270
58280
  result = await downloadJatsFromUrl(session, input);
58271
58281
  }
58282
+ if (!(result === null || result === void 0 ? void 0 : result.data) && altInput) {
58283
+ result = await downloadJatsFromUrl(session, altInput);
58284
+ }
58272
58285
  if (!(result === null || result === void 0 ? void 0 : result.data) && input.startsWith("PMC")) {
58273
58286
  result = await getPubMedJatsFromData(session, input, import_node_path4.default.dirname(output), opts.listing);
58274
58287
  }
@@ -65610,7 +65623,7 @@ function journalTransforms(fullTree, body) {
65610
65623
  }
65611
65624
 
65612
65625
  // ../jats-convert/dist/version.js
65613
- var version3 = "1.0.16";
65626
+ var version3 = "1.0.18";
65614
65627
  var version_default3 = version3;
65615
65628
 
65616
65629
  // ../jats-convert/dist/myst/inlineCitations.js
package/dist/version.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- declare const version = "1.0.16";
1
+ declare const version = "1.0.18";
2
2
  export default version;
3
3
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -1,2 +1,2 @@
1
- const version = '1.0.16';
1
+ const version = '1.0.18';
2
2
  export default version;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jats-cli",
3
- "version": "1.0.16",
3
+ "version": "1.0.18",
4
4
  "description": "Typescript CLI for with JATS",
5
5
  "author": "Rowan Cockett <rowan@continuous.foundation>",
6
6
  "homepage": "https://github.com/continuous-foundation/jats",
@@ -43,13 +43,13 @@
43
43
  "url": "https://github.com/continuous-foundation/jats/issues"
44
44
  },
45
45
  "dependencies": {
46
- "doi-utils": "^2.0.0",
46
+ "doi-utils": "^2.0.6",
47
47
  "fair-principles": "^2.0.0",
48
- "jats-convert": "^1.0.16",
49
- "jats-fetch": "^1.0.16",
50
- "jats-tags": "^1.0.16",
51
- "jats-utils": "^1.0.16",
52
- "jats-xml": "^1.0.16",
48
+ "jats-convert": "^1.0.18",
49
+ "jats-fetch": "^1.0.18",
50
+ "jats-tags": "^1.0.18",
51
+ "jats-utils": "^1.0.18",
52
+ "jats-xml": "^1.0.18",
53
53
  "js-yaml": "^4.1.0",
54
54
  "unist-util-is": "^5.2.1",
55
55
  "unist-util-select": "^4.0.0"