spec-up-t 1.1.54 → 1.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.
Files changed (52) hide show
  1. package/assets/compiled/body.js +59 -8
  2. package/assets/compiled/head.css +13 -12
  3. package/assets/css/adjust-font-size.css +11 -0
  4. package/assets/css/collapse-meta-info.css +27 -8
  5. package/assets/css/create-term-filter.css +11 -0
  6. package/assets/css/index.css +15 -0
  7. package/assets/css/prism.css +176 -153
  8. package/assets/css/prism.dark.css +157 -0
  9. package/assets/css/prism.default.css +180 -0
  10. package/assets/css/terms-and-definitions.1.css +223 -0
  11. package/assets/css/terms-and-definitions.css +214 -100
  12. package/assets/js/addAnchorsToTerms.js +1 -1
  13. package/assets/js/collapse-definitions.js +2 -1
  14. package/assets/js/collapse-meta-info.js +25 -11
  15. package/assets/js/create-term-filter.js +61 -0
  16. package/assets/js/horizontal-scroll-hint.js +159 -0
  17. package/assets/js/index.1.js +137 -0
  18. package/assets/js/index.js +2 -1
  19. package/assets/js/insert-trefs.js +122 -116
  20. package/assets/js/insert-xrefs.1.js +372 -0
  21. package/assets/js/{show-commit-hashes.js → insert-xrefs.js} +67 -7
  22. package/assets/js/prism.dark.js +24 -0
  23. package/assets/js/prism.default.js +23 -0
  24. package/assets/js/prism.js +4 -5
  25. package/assets/js/search.js +1 -1
  26. package/assets/js/toggle-dense-info.js +40 -0
  27. package/branches.md +4 -29
  28. package/index.js +397 -189
  29. package/index.new.js +662 -0
  30. package/package.json +1 -1
  31. package/src/asset-map.json +9 -5
  32. package/src/collect-external-references.js +16 -9
  33. package/src/collectExternalReferences/fetchTermsFromIndex.js +328 -0
  34. package/src/collectExternalReferences/processXTrefsData.js +73 -18
  35. package/src/create-pdf.js +385 -89
  36. package/src/health-check/external-specs-checker.js +207 -0
  37. package/src/health-check/output-gitignore-checker.js +261 -0
  38. package/src/health-check/specs-configuration-checker.js +274 -0
  39. package/src/health-check/term-references-checker.js +191 -0
  40. package/src/health-check/terms-intro-checker.js +81 -0
  41. package/src/health-check/tref-term-checker.js +463 -0
  42. package/src/health-check.js +445 -0
  43. package/src/install-from-boilerplate/config-scripts-keys.js +2 -0
  44. package/src/install-from-boilerplate/menu.sh +6 -3
  45. package/src/markdown-it-extensions.js +134 -103
  46. package/src/prepare-tref.js +61 -24
  47. package/src/utils/fetch.js +100 -0
  48. package/templates/template.html +12 -7
  49. package/assets/js/css-helper.js +0 -30
  50. package/src/collectExternalReferences/fetchTermsFromGitHubRepository.js +0 -232
  51. package/src/collectExternalReferences/fetchTermsFromGitHubRepository.test.js +0 -385
  52. package/src/collectExternalReferences/octokitClient.js +0 -96
@@ -1,96 +0,0 @@
1
- // Simple wrapper for Octokit functionality
2
- let octokitClient = null;
3
- let initPromise = null;
4
-
5
- /**
6
- * Initialize the Octokit client (only happens once)
7
- */
8
- async function initializeClient(token) {
9
- if (initPromise) return initPromise;
10
-
11
- initPromise = (async () => {
12
- try {
13
- const { Octokit } = await import('octokit');
14
- const { throttling } = await import('@octokit/plugin-throttling');
15
-
16
- const ThrottledOctokit = Octokit.plugin(throttling);
17
- octokitClient = new ThrottledOctokit({
18
- auth: token,
19
- throttle: {
20
- onRateLimit: (retryAfter, options) => {
21
- console.warn(`Request quota exhausted for ${options.method} ${options.url}`);
22
- return options.request.retryCount <= 1; // retry once
23
- },
24
- onSecondaryRateLimit: (retryAfter, options) => {
25
- console.warn(`Secondary rate limit hit for ${options.method} ${options.url}`);
26
- return options.request.retryCount <= 1; // retry once
27
- },
28
- }
29
- });
30
-
31
- console.log("Octokit client initialized successfully");
32
- return octokitClient;
33
- } catch (error) {
34
- console.error("Failed to initialize Octokit:", error);
35
- initPromise = null; // Reset so we can try again later
36
- throw error;
37
- }
38
- })();
39
-
40
- return initPromise;
41
- }
42
-
43
- /**
44
- * Get a GitHub search client
45
- */
46
- async function getSearchClient(token) {
47
- const client = await initializeClient(token);
48
- return {
49
- search: async (query, owner, repo, path) => {
50
- // First check if the repo is a fork
51
- let isForked = false;
52
- try {
53
- const repoInfo = await client.rest.repos.get({
54
- owner,
55
- repo
56
- });
57
- isForked = repoInfo.data.fork;
58
- } catch (error) {
59
- console.warn(`Could not determine fork status: ${error.message}`);
60
- }
61
-
62
- // Use appropriate search parameter based on fork status
63
- const forkParam = isForked ? ' fork:true' : '';
64
- const searchQuery = `${query} repo:${owner}/${repo} path:${path}${forkParam}`;
65
-
66
- console.log(`Executing GitHub search: ${searchQuery}`);
67
- return client.rest.search.code({
68
- q: searchQuery,
69
- headers: {
70
- Accept: "application/vnd.github.v3.text-match+json",
71
- },
72
- });
73
- }
74
- };
75
- }
76
-
77
- /**
78
- * Get a GitHub content client
79
- */
80
- async function getContentClient(token) {
81
- const client = await initializeClient(token);
82
- return {
83
- getContent: async (owner, repo, path) => {
84
- return client.rest.repos.getContent({
85
- owner,
86
- repo,
87
- path
88
- });
89
- }
90
- };
91
- }
92
-
93
- module.exports = {
94
- getSearchClient,
95
- getContentClient
96
- };