@slicemachine/manager 0.24.15-beta.7 → 0.24.15-beta.9

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 (183) hide show
  1. package/dist/_node_modules/@amplitude/analytics-core/_node_modules/tslib/tslib.es6.cjs.map +1 -1
  2. package/dist/_node_modules/@amplitude/analytics-core/_node_modules/tslib/tslib.es6.js.map +1 -1
  3. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/plugins/destination.cjs.map +1 -1
  4. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/plugins/destination.js.map +1 -1
  5. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/debug.cjs.map +1 -1
  6. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/debug.js.map +1 -1
  7. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/valid-properties.cjs.map +1 -1
  8. package/dist/_node_modules/@amplitude/analytics-core/lib/esm/utils/valid-properties.js.map +1 -1
  9. package/dist/_node_modules/@amplitude/analytics-node/_node_modules/tslib/tslib.es6.cjs.map +1 -1
  10. package/dist/_node_modules/@amplitude/analytics-node/_node_modules/tslib/tslib.es6.js.map +1 -1
  11. package/dist/_node_modules/@amplitude/analytics-node/lib/esm/transports/http.cjs.map +1 -1
  12. package/dist/_node_modules/@amplitude/analytics-node/lib/esm/transports/http.js.map +1 -1
  13. package/dist/_node_modules/@amplitude/experiment-core/dist/experiment-core.esm.cjs.map +1 -1
  14. package/dist/_node_modules/@amplitude/experiment-core/dist/experiment-core.esm.js.map +1 -1
  15. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/assignment/assignment-service.cjs.map +1 -1
  16. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/assignment/assignment-service.js.map +1 -1
  17. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/assignment/assignment.cjs.map +1 -1
  18. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/assignment/assignment.js.map +1 -1
  19. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/cookie.cjs.map +1 -1
  20. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/cookie.js.map +1 -1
  21. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/cache.cjs.map +1 -1
  22. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/cache.js.map +1 -1
  23. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/client.cjs +1 -1
  24. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/client.cjs.map +1 -1
  25. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/client.js +1 -1
  26. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/client.js.map +1 -1
  27. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/fetcher.cjs.map +1 -1
  28. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/fetcher.js.map +1 -1
  29. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/poller.cjs.map +1 -1
  30. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/local/poller.js.map +1 -1
  31. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/remote/client.cjs.map +1 -1
  32. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/remote/client.js.map +1 -1
  33. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/transport/http.cjs.map +1 -1
  34. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/transport/http.js.map +1 -1
  35. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/backoff.cjs.map +1 -1
  36. package/dist/_node_modules/@amplitude/experiment-node-server/dist/src/util/backoff.js.map +1 -1
  37. package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/Decoder.cjs.map +1 -1
  38. package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/Decoder.js.map +1 -1
  39. package/dist/_node_modules/cross-spawn/index.cjs +1 -1
  40. package/dist/_node_modules/cross-spawn/index.js +1 -1
  41. package/dist/_node_modules/cross-spawn/lib/enoent.cjs.map +1 -1
  42. package/dist/_node_modules/cross-spawn/lib/enoent.js.map +1 -1
  43. package/dist/_node_modules/cross-spawn/lib/parse.cjs.map +1 -1
  44. package/dist/_node_modules/cross-spawn/lib/parse.js.map +1 -1
  45. package/dist/_node_modules/cross-spawn/lib/util/escape.cjs.map +1 -1
  46. package/dist/_node_modules/cross-spawn/lib/util/escape.js.map +1 -1
  47. package/dist/_node_modules/cross-spawn/lib/util/readShebang.cjs.map +1 -1
  48. package/dist/_node_modules/cross-spawn/lib/util/readShebang.js.map +1 -1
  49. package/dist/_node_modules/cross-spawn/lib/util/resolveCommand.cjs.map +1 -1
  50. package/dist/_node_modules/cross-spawn/lib/util/resolveCommand.js.map +1 -1
  51. package/dist/_node_modules/data-uri-to-buffer/dist/index.cjs.map +1 -1
  52. package/dist/_node_modules/data-uri-to-buffer/dist/index.js.map +1 -1
  53. package/dist/_node_modules/execa/_node_modules/onetime/index.cjs.map +1 -1
  54. package/dist/_node_modules/execa/_node_modules/onetime/index.js.map +1 -1
  55. package/dist/_node_modules/execa/index.cjs.map +1 -1
  56. package/dist/_node_modules/execa/index.js.map +1 -1
  57. package/dist/_node_modules/execa/lib/command.cjs.map +1 -1
  58. package/dist/_node_modules/execa/lib/command.js.map +1 -1
  59. package/dist/_node_modules/execa/lib/error.cjs.map +1 -1
  60. package/dist/_node_modules/execa/lib/error.js.map +1 -1
  61. package/dist/_node_modules/execa/lib/kill.cjs.map +1 -1
  62. package/dist/_node_modules/execa/lib/kill.js.map +1 -1
  63. package/dist/_node_modules/execa/lib/promise.cjs +2 -2
  64. package/dist/_node_modules/execa/lib/promise.cjs.map +1 -1
  65. package/dist/_node_modules/execa/lib/promise.js +2 -2
  66. package/dist/_node_modules/execa/lib/promise.js.map +1 -1
  67. package/dist/_node_modules/execa/lib/stdio.cjs.map +1 -1
  68. package/dist/_node_modules/execa/lib/stdio.js.map +1 -1
  69. package/dist/_node_modules/execa/lib/stream.cjs.map +1 -1
  70. package/dist/_node_modules/execa/lib/stream.js.map +1 -1
  71. package/dist/_node_modules/execa/lib/verbose.cjs.map +1 -1
  72. package/dist/_node_modules/execa/lib/verbose.js.map +1 -1
  73. package/dist/_node_modules/fetch-blob/file.cjs.map +1 -1
  74. package/dist/_node_modules/fetch-blob/file.js.map +1 -1
  75. package/dist/_node_modules/fetch-blob/index.cjs.map +1 -1
  76. package/dist/_node_modules/fetch-blob/index.js.map +1 -1
  77. package/dist/_node_modules/fetch-blob/streams.cjs.map +1 -1
  78. package/dist/_node_modules/fetch-blob/streams.js.map +1 -1
  79. package/dist/_node_modules/file-type/core.cjs.map +1 -1
  80. package/dist/_node_modules/file-type/core.js.map +1 -1
  81. package/dist/_node_modules/formdata-polyfill/esm.min.cjs.map +1 -1
  82. package/dist/_node_modules/formdata-polyfill/esm.min.js.map +1 -1
  83. package/dist/_node_modules/get-port/index.cjs.map +1 -1
  84. package/dist/_node_modules/get-port/index.js.map +1 -1
  85. package/dist/_node_modules/get-stream/index.cjs.map +1 -1
  86. package/dist/_node_modules/get-stream/index.js.map +1 -1
  87. package/dist/_node_modules/human-signals/build/src/realtime.cjs.map +1 -1
  88. package/dist/_node_modules/human-signals/build/src/realtime.js.map +1 -1
  89. package/dist/_node_modules/isexe/index.cjs.map +1 -1
  90. package/dist/_node_modules/isexe/index.js.map +1 -1
  91. package/dist/_node_modules/mimic-fn/index.cjs.map +1 -1
  92. package/dist/_node_modules/mimic-fn/index.js.map +1 -1
  93. package/dist/_node_modules/node-domexception/index.cjs.map +1 -1
  94. package/dist/_node_modules/node-domexception/index.js.map +1 -1
  95. package/dist/_node_modules/node-fetch/src/body.cjs.map +1 -1
  96. package/dist/_node_modules/node-fetch/src/body.js.map +1 -1
  97. package/dist/_node_modules/node-fetch/src/headers.cjs.map +1 -1
  98. package/dist/_node_modules/node-fetch/src/headers.js.map +1 -1
  99. package/dist/_node_modules/node-fetch/src/index.cjs.map +1 -1
  100. package/dist/_node_modules/node-fetch/src/index.js.map +1 -1
  101. package/dist/_node_modules/node-fetch/src/request.cjs.map +1 -1
  102. package/dist/_node_modules/node-fetch/src/request.js.map +1 -1
  103. package/dist/_node_modules/node-fetch/src/utils/is.cjs.map +1 -1
  104. package/dist/_node_modules/node-fetch/src/utils/is.js.map +1 -1
  105. package/dist/_node_modules/node-fetch/src/utils/multipart-parser.cjs.map +1 -1
  106. package/dist/_node_modules/node-fetch/src/utils/multipart-parser.js.map +1 -1
  107. package/dist/_node_modules/node-fetch/src/utils/referrer.cjs.map +1 -1
  108. package/dist/_node_modules/node-fetch/src/utils/referrer.js.map +1 -1
  109. package/dist/_node_modules/p-limit/index.cjs.map +1 -1
  110. package/dist/_node_modules/p-limit/index.js.map +1 -1
  111. package/dist/_node_modules/r19/dist/handleRPCRequest.cjs.map +1 -1
  112. package/dist/_node_modules/r19/dist/handleRPCRequest.js.map +1 -1
  113. package/dist/_node_modules/shebang-command/index.cjs.map +1 -1
  114. package/dist/_node_modules/shebang-command/index.js.map +1 -1
  115. package/dist/_node_modules/signal-exit/index.cjs.map +1 -1
  116. package/dist/_node_modules/signal-exit/index.js.map +1 -1
  117. package/dist/_node_modules/web-streams-polyfill/dist/ponyfill.es2018.cjs.map +1 -1
  118. package/dist/_node_modules/web-streams-polyfill/dist/ponyfill.es2018.js.map +1 -1
  119. package/dist/_node_modules/which/which.cjs.map +1 -1
  120. package/dist/_node_modules/which/which.js.map +1 -1
  121. package/dist/_node_modules/zod/lib/index.cjs.map +1 -1
  122. package/dist/_node_modules/zod/lib/index.js.map +1 -1
  123. package/dist/_virtual/_commonjsHelpers.cjs +1 -4
  124. package/dist/_virtual/_commonjsHelpers.cjs.map +1 -1
  125. package/dist/_virtual/_commonjsHelpers.js +1 -4
  126. package/dist/_virtual/_commonjsHelpers.js.map +1 -1
  127. package/dist/_virtual/index2.cjs +3 -4
  128. package/dist/_virtual/index2.cjs.map +1 -1
  129. package/dist/_virtual/index2.js +2 -4
  130. package/dist/_virtual/index2.js.map +1 -1
  131. package/dist/_virtual/index3.cjs +4 -3
  132. package/dist/_virtual/index3.cjs.map +1 -1
  133. package/dist/_virtual/index3.js +4 -2
  134. package/dist/_virtual/index3.js.map +1 -1
  135. package/dist/auth/PrismicAuthManager.cjs.map +1 -1
  136. package/dist/auth/PrismicAuthManager.js.map +1 -1
  137. package/dist/auth/createPrismicAuthManagerMiddleware.cjs.map +1 -1
  138. package/dist/auth/createPrismicAuthManagerMiddleware.js.map +1 -1
  139. package/dist/constants/API_ENDPOINTS.cjs.map +1 -1
  140. package/dist/constants/API_ENDPOINTS.js.map +1 -1
  141. package/dist/constants/API_TOKENS.cjs.map +1 -1
  142. package/dist/constants/API_TOKENS.js.map +1 -1
  143. package/dist/errors.cjs.map +1 -1
  144. package/dist/errors.js.map +1 -1
  145. package/dist/getEnvironmentInfo.cjs.map +1 -1
  146. package/dist/getEnvironmentInfo.js.map +1 -1
  147. package/dist/lib/DecodeError.cjs.map +1 -1
  148. package/dist/lib/DecodeError.js.map +1 -1
  149. package/dist/lib/buildPrismicRepositoryAPIEndpoint.cjs.map +1 -1
  150. package/dist/lib/buildPrismicRepositoryAPIEndpoint.js.map +1 -1
  151. package/dist/lib/fetchGitHubReleaseBodyForRelease.cjs.map +1 -1
  152. package/dist/lib/fetchGitHubReleaseBodyForRelease.js.map +1 -1
  153. package/dist/lib/fetchNPMPackageVersions.cjs.map +1 -1
  154. package/dist/lib/fetchNPMPackageVersions.js.map +1 -1
  155. package/dist/lib/installDependencies.cjs.map +1 -1
  156. package/dist/lib/installDependencies.js.map +1 -1
  157. package/dist/lib/locateFileUpward.cjs.map +1 -1
  158. package/dist/lib/locateFileUpward.js.map +1 -1
  159. package/dist/lib/prismicrc.cjs.map +1 -1
  160. package/dist/lib/prismicrc.js.map +1 -1
  161. package/dist/managers/SliceMachineManager.cjs.map +1 -1
  162. package/dist/managers/SliceMachineManager.js.map +1 -1
  163. package/dist/managers/customTypes/CustomTypesManager.cjs.map +1 -1
  164. package/dist/managers/customTypes/CustomTypesManager.js.map +1 -1
  165. package/dist/managers/git/GitManager.cjs.map +1 -1
  166. package/dist/managers/git/GitManager.js.map +1 -1
  167. package/dist/managers/git/buildGitRepoSpecifier.cjs.map +1 -1
  168. package/dist/managers/git/buildGitRepoSpecifier.js.map +1 -1
  169. package/dist/managers/prismicRepository/PrismicRepositoryManager.cjs.map +1 -1
  170. package/dist/managers/prismicRepository/PrismicRepositoryManager.js.map +1 -1
  171. package/dist/managers/project/ProjectManager.cjs.map +1 -1
  172. package/dist/managers/project/ProjectManager.js.map +1 -1
  173. package/dist/managers/screenshots/ScreenshotsManager.cjs.map +1 -1
  174. package/dist/managers/screenshots/ScreenshotsManager.js.map +1 -1
  175. package/dist/managers/sliceTemplateLibrary/SliceTemplateLibraryManager.cjs.map +1 -1
  176. package/dist/managers/sliceTemplateLibrary/SliceTemplateLibraryManager.js.map +1 -1
  177. package/dist/managers/slices/SlicesManager.cjs.map +1 -1
  178. package/dist/managers/slices/SlicesManager.js.map +1 -1
  179. package/dist/managers/telemetry/TelemetryManager.cjs.map +1 -1
  180. package/dist/managers/telemetry/TelemetryManager.js.map +1 -1
  181. package/dist/managers/versions/VersionsManager.cjs.map +1 -1
  182. package/dist/managers/versions/VersionsManager.js.map +1 -1
  183. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"VersionsManager.cjs","sources":["../../../../src/managers/versions/VersionsManager.ts"],"sourcesContent":["import * as fs from \"node:fs/promises\";\nimport * as path from \"node:path\";\nimport semver from \"semver\";\n\nimport { decodePackageJSON } from \"../../lib/decodePackageJSON\";\nimport {\n\tfetchGitHubReleaseBodyForRelease,\n\tGitHubReleaseMetadata,\n} from \"../../lib/fetchGitHubReleaseBodyForRelease\";\nimport { fetchNPMPackageVersions } from \"../../lib/fetchNPMPackageVersions\";\n\nimport { SLICE_MACHINE_GITHUB_PACKAGE_NAME } from \"../../constants/SLICE_MACHINE_GITHUB_PACKAGE_NAME\";\nimport { SLICE_MACHINE_GITHUB_REPOSITORY_NAME } from \"../../constants/SLICE_MACHINE_GITHUB_REPOSITORY_NAME\";\nimport { SLICE_MACHINE_GITHUB_REPOSITORY_ORGANIZATION } from \"../../constants/SLICE_MACHINE_GITHUB_REPOSITORY_ORGANIZATION\";\nimport { SLICE_MACHINE_NPM_PACKAGE_NAME } from \"../../constants/SLICE_MACHINE_NPM_PACKAGE_NAME\";\nimport { VERSION_KIND } from \"../../constants/VERSION_KIND\";\n\nimport { BaseManager } from \"../BaseManager\";\n\nimport { Version } from \"./types\";\n\nconst detectVersionBumpKind = (\n\tto: string,\n\tfrom?: string,\n): (typeof VERSION_KIND)[keyof typeof VERSION_KIND] | undefined => {\n\tif (!from) {\n\t\treturn VERSION_KIND.FIRST;\n\t}\n\n\tif (semver.eq(to, from)) {\n\t\treturn undefined;\n\t} else if (semver.satisfies(to, `~${from}`)) {\n\t\treturn VERSION_KIND.PATCH;\n\t} else if (semver.satisfies(to, `^${from}`)) {\n\t\treturn VERSION_KIND.MINOR;\n\t} else {\n\t\treturn VERSION_KIND.MAJOR;\n\t}\n};\n\nconst filterStableVersions = (versions: string[]): string[] => {\n\treturn versions.filter((version) => {\n\t\t// Exclude tagged versions (e.g. `1.0.0-alpha.0`).\n\t\t// Exclude versions < 0.1.0 (e.g. `0.0.1`).\n\t\treturn (\n\t\t\t/^[1-9]\\d*\\.\\d+\\.\\d+$/.test(version) ||\n\t\t\t/^\\d+\\.[1-9]\\d*\\.\\d+$/.test(version)\n\t\t);\n\t});\n};\n\nconst readPackageJSON = async (packageDir: string) => {\n\tconst packageJSONContents = await fs.readFile(\n\t\tpath.join(packageDir, \"package.json\"),\n\t\t\"utf8\",\n\t);\n\n\tlet packageJSON: unknown;\n\ttry {\n\t\tpackageJSON = JSON.parse(packageJSONContents);\n\t} catch {\n\t\t// noop\n\t}\n\n\tconst { value, error } = decodePackageJSON(packageJSON);\n\n\tif (error) {\n\t\tthrow new Error(\n\t\t\t`Invalid ${packageDir} \\`package.json\\` file. ${error.errors.join(\", \")}`,\n\t\t);\n\t}\n\n\treturn value;\n};\n\ntype SliceMachineManagerGetReleaseNotesForVersionArgs = {\n\tversion: string;\n};\n\nexport class VersionsManager extends BaseManager {\n\t/**\n\t * Record of version numbers mapped to their GitHub release metadata.\n\t */\n\tgitHubSliceMachineReleaseMetadataCache: Record<\n\t\tstring,\n\t\tGitHubReleaseMetadata | undefined\n\t> = {};\n\n\tasync getRunningSliceMachineVersion(): Promise<string> {\n\t\tconst sliceMachineDir = await this.project.locateSliceMachineUIDir();\n\t\tconst packageJSON = await readPackageJSON(sliceMachineDir);\n\n\t\treturn packageJSON.version;\n\t}\n\n\tasync getAllStableSliceMachineVersions(): Promise<string[]> {\n\t\tconst versions = await fetchNPMPackageVersions({\n\t\t\tpackageName: SLICE_MACHINE_NPM_PACKAGE_NAME,\n\t\t});\n\t\tconst filteredVersions = filterStableVersions(versions);\n\n\t\treturn semver.rsort(filteredVersions);\n\t}\n\n\tasync getAllStableSliceMachineVersionsWithKind(): Promise<Version[]> {\n\t\tconst versions = await this.getAllStableSliceMachineVersions();\n\n\t\treturn versions.map((version, i) => {\n\t\t\tconst previousVersion = versions[i + 1];\n\n\t\t\treturn {\n\t\t\t\tversion,\n\t\t\t\tkind: detectVersionBumpKind(version, previousVersion),\n\t\t\t};\n\t\t});\n\t}\n\n\tasync getLatestNonBreakingSliceMachineVersion(): Promise<string | undefined> {\n\t\tconst versions = await this.getAllStableSliceMachineVersions();\n\t\tconst currentVersion = await this.getRunningSliceMachineVersion();\n\n\t\treturn semver.maxSatisfying(versions, `^${currentVersion}`) ?? undefined;\n\t}\n\n\tasync checkIsSliceMachineUpdateAvailable(): Promise<boolean> {\n\t\tconst versions = await this.getAllStableSliceMachineVersions();\n\t\tconst currentVersion = await this.getRunningSliceMachineVersion();\n\n\t\treturn semver.gt(versions[0], currentVersion);\n\t}\n\n\tasync getRunningAdapterVersion(): Promise<string> {\n\t\tconst adapterDir = await this.project.locateAdapterDir();\n\t\tconst value = await readPackageJSON(adapterDir);\n\n\t\treturn value.version;\n\t}\n\n\tasync getAllStableAdapterVersions(): Promise<string[]> {\n\t\tconst adapterName = await this.project.getAdapterName();\n\t\tconst versions = await fetchNPMPackageVersions({\n\t\t\tpackageName: adapterName,\n\t\t});\n\t\tconst filteredVersions = filterStableVersions(versions);\n\n\t\treturn semver.rsort(filteredVersions);\n\t}\n\n\tasync checkIsAdapterUpdateAvailable(): Promise<boolean> {\n\t\tconst versions = await this.getAllStableAdapterVersions();\n\t\tconst currentVersion = await this.getRunningAdapterVersion();\n\n\t\treturn semver.gt(versions[0], currentVersion);\n\t}\n\n\tasync getSliceMachineReleaseNotesForVersion(\n\t\targs: SliceMachineManagerGetReleaseNotesForVersionArgs,\n\t): Promise<string | undefined> {\n\t\treturn await fetchGitHubReleaseBodyForRelease({\n\t\t\trepositoryOwner: SLICE_MACHINE_GITHUB_REPOSITORY_ORGANIZATION,\n\t\t\trepositoryName: SLICE_MACHINE_GITHUB_REPOSITORY_NAME,\n\t\t\tpackageName: SLICE_MACHINE_GITHUB_PACKAGE_NAME,\n\t\t\tversion: args.version,\n\t\t\tcache: this.gitHubSliceMachineReleaseMetadataCache,\n\t\t});\n\t}\n}\n"],"names":["VERSION_KIND","fs","path","decodePackageJSON","BaseManager","fetchNPMPackageVersions","SLICE_MACHINE_NPM_PACKAGE_NAME","fetchGitHubReleaseBodyForRelease","SLICE_MACHINE_GITHUB_REPOSITORY_ORGANIZATION","SLICE_MACHINE_GITHUB_REPOSITORY_NAME","SLICE_MACHINE_GITHUB_PACKAGE_NAME"],"mappings":"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"}
1
+ {"version":3,"file":"VersionsManager.cjs","sources":["../../../../src/managers/versions/VersionsManager.ts"],"sourcesContent":["import * as fs from \"node:fs/promises\";\nimport * as path from \"node:path\";\nimport semver from \"semver\";\n\nimport { decodePackageJSON } from \"../../lib/decodePackageJSON\";\nimport {\n\tfetchGitHubReleaseBodyForRelease,\n\tGitHubReleaseMetadata,\n} from \"../../lib/fetchGitHubReleaseBodyForRelease\";\nimport { fetchNPMPackageVersions } from \"../../lib/fetchNPMPackageVersions\";\n\nimport { SLICE_MACHINE_GITHUB_PACKAGE_NAME } from \"../../constants/SLICE_MACHINE_GITHUB_PACKAGE_NAME\";\nimport { SLICE_MACHINE_GITHUB_REPOSITORY_NAME } from \"../../constants/SLICE_MACHINE_GITHUB_REPOSITORY_NAME\";\nimport { SLICE_MACHINE_GITHUB_REPOSITORY_ORGANIZATION } from \"../../constants/SLICE_MACHINE_GITHUB_REPOSITORY_ORGANIZATION\";\nimport { SLICE_MACHINE_NPM_PACKAGE_NAME } from \"../../constants/SLICE_MACHINE_NPM_PACKAGE_NAME\";\nimport { VERSION_KIND } from \"../../constants/VERSION_KIND\";\n\nimport { BaseManager } from \"../BaseManager\";\n\nimport { Version } from \"./types\";\n\nconst detectVersionBumpKind = (\n\tto: string,\n\tfrom?: string,\n): (typeof VERSION_KIND)[keyof typeof VERSION_KIND] | undefined => {\n\tif (!from) {\n\t\treturn VERSION_KIND.FIRST;\n\t}\n\n\tif (semver.eq(to, from)) {\n\t\treturn undefined;\n\t} else if (semver.satisfies(to, `~${from}`)) {\n\t\treturn VERSION_KIND.PATCH;\n\t} else if (semver.satisfies(to, `^${from}`)) {\n\t\treturn VERSION_KIND.MINOR;\n\t} else {\n\t\treturn VERSION_KIND.MAJOR;\n\t}\n};\n\nconst filterStableVersions = (versions: string[]): string[] => {\n\treturn versions.filter((version) => {\n\t\t// Exclude tagged versions (e.g. `1.0.0-alpha.0`).\n\t\t// Exclude versions < 0.1.0 (e.g. `0.0.1`).\n\t\treturn (\n\t\t\t/^[1-9]\\d*\\.\\d+\\.\\d+$/.test(version) ||\n\t\t\t/^\\d+\\.[1-9]\\d*\\.\\d+$/.test(version)\n\t\t);\n\t});\n};\n\nconst readPackageJSON = async (packageDir: string) => {\n\tconst packageJSONContents = await fs.readFile(\n\t\tpath.join(packageDir, \"package.json\"),\n\t\t\"utf8\",\n\t);\n\n\tlet packageJSON: unknown;\n\ttry {\n\t\tpackageJSON = JSON.parse(packageJSONContents);\n\t} catch {\n\t\t// noop\n\t}\n\n\tconst { value, error } = decodePackageJSON(packageJSON);\n\n\tif (error) {\n\t\tthrow new Error(\n\t\t\t`Invalid ${packageDir} \\`package.json\\` file. ${error.errors.join(\", \")}`,\n\t\t);\n\t}\n\n\treturn value;\n};\n\ntype SliceMachineManagerGetReleaseNotesForVersionArgs = {\n\tversion: string;\n};\n\nexport class VersionsManager extends BaseManager {\n\t/**\n\t * Record of version numbers mapped to their GitHub release metadata.\n\t */\n\tgitHubSliceMachineReleaseMetadataCache: Record<\n\t\tstring,\n\t\tGitHubReleaseMetadata | undefined\n\t> = {};\n\n\tasync getRunningSliceMachineVersion(): Promise<string> {\n\t\tconst sliceMachineDir = await this.project.locateSliceMachineUIDir();\n\t\tconst packageJSON = await readPackageJSON(sliceMachineDir);\n\n\t\treturn packageJSON.version;\n\t}\n\n\tasync getAllStableSliceMachineVersions(): Promise<string[]> {\n\t\tconst versions = await fetchNPMPackageVersions({\n\t\t\tpackageName: SLICE_MACHINE_NPM_PACKAGE_NAME,\n\t\t});\n\t\tconst filteredVersions = filterStableVersions(versions);\n\n\t\treturn semver.rsort(filteredVersions);\n\t}\n\n\tasync getAllStableSliceMachineVersionsWithKind(): Promise<Version[]> {\n\t\tconst versions = await this.getAllStableSliceMachineVersions();\n\n\t\treturn versions.map((version, i) => {\n\t\t\tconst previousVersion = versions[i + 1];\n\n\t\t\treturn {\n\t\t\t\tversion,\n\t\t\t\tkind: detectVersionBumpKind(version, previousVersion),\n\t\t\t};\n\t\t});\n\t}\n\n\tasync getLatestNonBreakingSliceMachineVersion(): Promise<string | undefined> {\n\t\tconst versions = await this.getAllStableSliceMachineVersions();\n\t\tconst currentVersion = await this.getRunningSliceMachineVersion();\n\n\t\treturn semver.maxSatisfying(versions, `^${currentVersion}`) ?? undefined;\n\t}\n\n\tasync checkIsSliceMachineUpdateAvailable(): Promise<boolean> {\n\t\tconst versions = await this.getAllStableSliceMachineVersions();\n\t\tconst currentVersion = await this.getRunningSliceMachineVersion();\n\n\t\treturn semver.gt(versions[0], currentVersion);\n\t}\n\n\tasync getRunningAdapterVersion(): Promise<string> {\n\t\tconst adapterDir = await this.project.locateAdapterDir();\n\t\tconst value = await readPackageJSON(adapterDir);\n\n\t\treturn value.version;\n\t}\n\n\tasync getAllStableAdapterVersions(): Promise<string[]> {\n\t\tconst adapterName = await this.project.getAdapterName();\n\t\tconst versions = await fetchNPMPackageVersions({\n\t\t\tpackageName: adapterName,\n\t\t});\n\t\tconst filteredVersions = filterStableVersions(versions);\n\n\t\treturn semver.rsort(filteredVersions);\n\t}\n\n\tasync checkIsAdapterUpdateAvailable(): Promise<boolean> {\n\t\tconst versions = await this.getAllStableAdapterVersions();\n\t\tconst currentVersion = await this.getRunningAdapterVersion();\n\n\t\treturn semver.gt(versions[0], currentVersion);\n\t}\n\n\tasync getSliceMachineReleaseNotesForVersion(\n\t\targs: SliceMachineManagerGetReleaseNotesForVersionArgs,\n\t): Promise<string | undefined> {\n\t\treturn await fetchGitHubReleaseBodyForRelease({\n\t\t\trepositoryOwner: SLICE_MACHINE_GITHUB_REPOSITORY_ORGANIZATION,\n\t\t\trepositoryName: SLICE_MACHINE_GITHUB_REPOSITORY_NAME,\n\t\t\tpackageName: SLICE_MACHINE_GITHUB_PACKAGE_NAME,\n\t\t\tversion: args.version,\n\t\t\tcache: this.gitHubSliceMachineReleaseMetadataCache,\n\t\t});\n\t}\n}\n"],"names":["VERSION_KIND","fs","path","decodePackageJSON","BaseManager","fetchNPMPackageVersions","SLICE_MACHINE_NPM_PACKAGE_NAME","fetchGitHubReleaseBodyForRelease","SLICE_MACHINE_GITHUB_REPOSITORY_ORGANIZATION","SLICE_MACHINE_GITHUB_REPOSITORY_NAME","SLICE_MACHINE_GITHUB_PACKAGE_NAME"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"VersionsManager.js","sources":["../../../../src/managers/versions/VersionsManager.ts"],"sourcesContent":["import * as fs from \"node:fs/promises\";\nimport * as path from \"node:path\";\nimport semver from \"semver\";\n\nimport { decodePackageJSON } from \"../../lib/decodePackageJSON\";\nimport {\n\tfetchGitHubReleaseBodyForRelease,\n\tGitHubReleaseMetadata,\n} from \"../../lib/fetchGitHubReleaseBodyForRelease\";\nimport { fetchNPMPackageVersions } from \"../../lib/fetchNPMPackageVersions\";\n\nimport { SLICE_MACHINE_GITHUB_PACKAGE_NAME } from \"../../constants/SLICE_MACHINE_GITHUB_PACKAGE_NAME\";\nimport { SLICE_MACHINE_GITHUB_REPOSITORY_NAME } from \"../../constants/SLICE_MACHINE_GITHUB_REPOSITORY_NAME\";\nimport { SLICE_MACHINE_GITHUB_REPOSITORY_ORGANIZATION } from \"../../constants/SLICE_MACHINE_GITHUB_REPOSITORY_ORGANIZATION\";\nimport { SLICE_MACHINE_NPM_PACKAGE_NAME } from \"../../constants/SLICE_MACHINE_NPM_PACKAGE_NAME\";\nimport { VERSION_KIND } from \"../../constants/VERSION_KIND\";\n\nimport { BaseManager } from \"../BaseManager\";\n\nimport { Version } from \"./types\";\n\nconst detectVersionBumpKind = (\n\tto: string,\n\tfrom?: string,\n): (typeof VERSION_KIND)[keyof typeof VERSION_KIND] | undefined => {\n\tif (!from) {\n\t\treturn VERSION_KIND.FIRST;\n\t}\n\n\tif (semver.eq(to, from)) {\n\t\treturn undefined;\n\t} else if (semver.satisfies(to, `~${from}`)) {\n\t\treturn VERSION_KIND.PATCH;\n\t} else if (semver.satisfies(to, `^${from}`)) {\n\t\treturn VERSION_KIND.MINOR;\n\t} else {\n\t\treturn VERSION_KIND.MAJOR;\n\t}\n};\n\nconst filterStableVersions = (versions: string[]): string[] => {\n\treturn versions.filter((version) => {\n\t\t// Exclude tagged versions (e.g. `1.0.0-alpha.0`).\n\t\t// Exclude versions < 0.1.0 (e.g. `0.0.1`).\n\t\treturn (\n\t\t\t/^[1-9]\\d*\\.\\d+\\.\\d+$/.test(version) ||\n\t\t\t/^\\d+\\.[1-9]\\d*\\.\\d+$/.test(version)\n\t\t);\n\t});\n};\n\nconst readPackageJSON = async (packageDir: string) => {\n\tconst packageJSONContents = await fs.readFile(\n\t\tpath.join(packageDir, \"package.json\"),\n\t\t\"utf8\",\n\t);\n\n\tlet packageJSON: unknown;\n\ttry {\n\t\tpackageJSON = JSON.parse(packageJSONContents);\n\t} catch {\n\t\t// noop\n\t}\n\n\tconst { value, error } = decodePackageJSON(packageJSON);\n\n\tif (error) {\n\t\tthrow new Error(\n\t\t\t`Invalid ${packageDir} \\`package.json\\` file. ${error.errors.join(\", \")}`,\n\t\t);\n\t}\n\n\treturn value;\n};\n\ntype SliceMachineManagerGetReleaseNotesForVersionArgs = {\n\tversion: string;\n};\n\nexport class VersionsManager extends BaseManager {\n\t/**\n\t * Record of version numbers mapped to their GitHub release metadata.\n\t */\n\tgitHubSliceMachineReleaseMetadataCache: Record<\n\t\tstring,\n\t\tGitHubReleaseMetadata | undefined\n\t> = {};\n\n\tasync getRunningSliceMachineVersion(): Promise<string> {\n\t\tconst sliceMachineDir = await this.project.locateSliceMachineUIDir();\n\t\tconst packageJSON = await readPackageJSON(sliceMachineDir);\n\n\t\treturn packageJSON.version;\n\t}\n\n\tasync getAllStableSliceMachineVersions(): Promise<string[]> {\n\t\tconst versions = await fetchNPMPackageVersions({\n\t\t\tpackageName: SLICE_MACHINE_NPM_PACKAGE_NAME,\n\t\t});\n\t\tconst filteredVersions = filterStableVersions(versions);\n\n\t\treturn semver.rsort(filteredVersions);\n\t}\n\n\tasync getAllStableSliceMachineVersionsWithKind(): Promise<Version[]> {\n\t\tconst versions = await this.getAllStableSliceMachineVersions();\n\n\t\treturn versions.map((version, i) => {\n\t\t\tconst previousVersion = versions[i + 1];\n\n\t\t\treturn {\n\t\t\t\tversion,\n\t\t\t\tkind: detectVersionBumpKind(version, previousVersion),\n\t\t\t};\n\t\t});\n\t}\n\n\tasync getLatestNonBreakingSliceMachineVersion(): Promise<string | undefined> {\n\t\tconst versions = await this.getAllStableSliceMachineVersions();\n\t\tconst currentVersion = await this.getRunningSliceMachineVersion();\n\n\t\treturn semver.maxSatisfying(versions, `^${currentVersion}`) ?? undefined;\n\t}\n\n\tasync checkIsSliceMachineUpdateAvailable(): Promise<boolean> {\n\t\tconst versions = await this.getAllStableSliceMachineVersions();\n\t\tconst currentVersion = await this.getRunningSliceMachineVersion();\n\n\t\treturn semver.gt(versions[0], currentVersion);\n\t}\n\n\tasync getRunningAdapterVersion(): Promise<string> {\n\t\tconst adapterDir = await this.project.locateAdapterDir();\n\t\tconst value = await readPackageJSON(adapterDir);\n\n\t\treturn value.version;\n\t}\n\n\tasync getAllStableAdapterVersions(): Promise<string[]> {\n\t\tconst adapterName = await this.project.getAdapterName();\n\t\tconst versions = await fetchNPMPackageVersions({\n\t\t\tpackageName: adapterName,\n\t\t});\n\t\tconst filteredVersions = filterStableVersions(versions);\n\n\t\treturn semver.rsort(filteredVersions);\n\t}\n\n\tasync checkIsAdapterUpdateAvailable(): Promise<boolean> {\n\t\tconst versions = await this.getAllStableAdapterVersions();\n\t\tconst currentVersion = await this.getRunningAdapterVersion();\n\n\t\treturn semver.gt(versions[0], currentVersion);\n\t}\n\n\tasync getSliceMachineReleaseNotesForVersion(\n\t\targs: SliceMachineManagerGetReleaseNotesForVersionArgs,\n\t): Promise<string | undefined> {\n\t\treturn await fetchGitHubReleaseBodyForRelease({\n\t\t\trepositoryOwner: SLICE_MACHINE_GITHUB_REPOSITORY_ORGANIZATION,\n\t\t\trepositoryName: SLICE_MACHINE_GITHUB_REPOSITORY_NAME,\n\t\t\tpackageName: SLICE_MACHINE_GITHUB_PACKAGE_NAME,\n\t\t\tversion: args.version,\n\t\t\tcache: this.gitHubSliceMachineReleaseMetadataCache,\n\t\t});\n\t}\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VersionsManager.js","sources":["../../../../src/managers/versions/VersionsManager.ts"],"sourcesContent":["import * as fs from \"node:fs/promises\";\nimport * as path from \"node:path\";\nimport semver from \"semver\";\n\nimport { decodePackageJSON } from \"../../lib/decodePackageJSON\";\nimport {\n\tfetchGitHubReleaseBodyForRelease,\n\tGitHubReleaseMetadata,\n} from \"../../lib/fetchGitHubReleaseBodyForRelease\";\nimport { fetchNPMPackageVersions } from \"../../lib/fetchNPMPackageVersions\";\n\nimport { SLICE_MACHINE_GITHUB_PACKAGE_NAME } from \"../../constants/SLICE_MACHINE_GITHUB_PACKAGE_NAME\";\nimport { SLICE_MACHINE_GITHUB_REPOSITORY_NAME } from \"../../constants/SLICE_MACHINE_GITHUB_REPOSITORY_NAME\";\nimport { SLICE_MACHINE_GITHUB_REPOSITORY_ORGANIZATION } from \"../../constants/SLICE_MACHINE_GITHUB_REPOSITORY_ORGANIZATION\";\nimport { SLICE_MACHINE_NPM_PACKAGE_NAME } from \"../../constants/SLICE_MACHINE_NPM_PACKAGE_NAME\";\nimport { VERSION_KIND } from \"../../constants/VERSION_KIND\";\n\nimport { BaseManager } from \"../BaseManager\";\n\nimport { Version } from \"./types\";\n\nconst detectVersionBumpKind = (\n\tto: string,\n\tfrom?: string,\n): (typeof VERSION_KIND)[keyof typeof VERSION_KIND] | undefined => {\n\tif (!from) {\n\t\treturn VERSION_KIND.FIRST;\n\t}\n\n\tif (semver.eq(to, from)) {\n\t\treturn undefined;\n\t} else if (semver.satisfies(to, `~${from}`)) {\n\t\treturn VERSION_KIND.PATCH;\n\t} else if (semver.satisfies(to, `^${from}`)) {\n\t\treturn VERSION_KIND.MINOR;\n\t} else {\n\t\treturn VERSION_KIND.MAJOR;\n\t}\n};\n\nconst filterStableVersions = (versions: string[]): string[] => {\n\treturn versions.filter((version) => {\n\t\t// Exclude tagged versions (e.g. `1.0.0-alpha.0`).\n\t\t// Exclude versions < 0.1.0 (e.g. `0.0.1`).\n\t\treturn (\n\t\t\t/^[1-9]\\d*\\.\\d+\\.\\d+$/.test(version) ||\n\t\t\t/^\\d+\\.[1-9]\\d*\\.\\d+$/.test(version)\n\t\t);\n\t});\n};\n\nconst readPackageJSON = async (packageDir: string) => {\n\tconst packageJSONContents = await fs.readFile(\n\t\tpath.join(packageDir, \"package.json\"),\n\t\t\"utf8\",\n\t);\n\n\tlet packageJSON: unknown;\n\ttry {\n\t\tpackageJSON = JSON.parse(packageJSONContents);\n\t} catch {\n\t\t// noop\n\t}\n\n\tconst { value, error } = decodePackageJSON(packageJSON);\n\n\tif (error) {\n\t\tthrow new Error(\n\t\t\t`Invalid ${packageDir} \\`package.json\\` file. ${error.errors.join(\", \")}`,\n\t\t);\n\t}\n\n\treturn value;\n};\n\ntype SliceMachineManagerGetReleaseNotesForVersionArgs = {\n\tversion: string;\n};\n\nexport class VersionsManager extends BaseManager {\n\t/**\n\t * Record of version numbers mapped to their GitHub release metadata.\n\t */\n\tgitHubSliceMachineReleaseMetadataCache: Record<\n\t\tstring,\n\t\tGitHubReleaseMetadata | undefined\n\t> = {};\n\n\tasync getRunningSliceMachineVersion(): Promise<string> {\n\t\tconst sliceMachineDir = await this.project.locateSliceMachineUIDir();\n\t\tconst packageJSON = await readPackageJSON(sliceMachineDir);\n\n\t\treturn packageJSON.version;\n\t}\n\n\tasync getAllStableSliceMachineVersions(): Promise<string[]> {\n\t\tconst versions = await fetchNPMPackageVersions({\n\t\t\tpackageName: SLICE_MACHINE_NPM_PACKAGE_NAME,\n\t\t});\n\t\tconst filteredVersions = filterStableVersions(versions);\n\n\t\treturn semver.rsort(filteredVersions);\n\t}\n\n\tasync getAllStableSliceMachineVersionsWithKind(): Promise<Version[]> {\n\t\tconst versions = await this.getAllStableSliceMachineVersions();\n\n\t\treturn versions.map((version, i) => {\n\t\t\tconst previousVersion = versions[i + 1];\n\n\t\t\treturn {\n\t\t\t\tversion,\n\t\t\t\tkind: detectVersionBumpKind(version, previousVersion),\n\t\t\t};\n\t\t});\n\t}\n\n\tasync getLatestNonBreakingSliceMachineVersion(): Promise<string | undefined> {\n\t\tconst versions = await this.getAllStableSliceMachineVersions();\n\t\tconst currentVersion = await this.getRunningSliceMachineVersion();\n\n\t\treturn semver.maxSatisfying(versions, `^${currentVersion}`) ?? undefined;\n\t}\n\n\tasync checkIsSliceMachineUpdateAvailable(): Promise<boolean> {\n\t\tconst versions = await this.getAllStableSliceMachineVersions();\n\t\tconst currentVersion = await this.getRunningSliceMachineVersion();\n\n\t\treturn semver.gt(versions[0], currentVersion);\n\t}\n\n\tasync getRunningAdapterVersion(): Promise<string> {\n\t\tconst adapterDir = await this.project.locateAdapterDir();\n\t\tconst value = await readPackageJSON(adapterDir);\n\n\t\treturn value.version;\n\t}\n\n\tasync getAllStableAdapterVersions(): Promise<string[]> {\n\t\tconst adapterName = await this.project.getAdapterName();\n\t\tconst versions = await fetchNPMPackageVersions({\n\t\t\tpackageName: adapterName,\n\t\t});\n\t\tconst filteredVersions = filterStableVersions(versions);\n\n\t\treturn semver.rsort(filteredVersions);\n\t}\n\n\tasync checkIsAdapterUpdateAvailable(): Promise<boolean> {\n\t\tconst versions = await this.getAllStableAdapterVersions();\n\t\tconst currentVersion = await this.getRunningAdapterVersion();\n\n\t\treturn semver.gt(versions[0], currentVersion);\n\t}\n\n\tasync getSliceMachineReleaseNotesForVersion(\n\t\targs: SliceMachineManagerGetReleaseNotesForVersionArgs,\n\t): Promise<string | undefined> {\n\t\treturn await fetchGitHubReleaseBodyForRelease({\n\t\t\trepositoryOwner: SLICE_MACHINE_GITHUB_REPOSITORY_ORGANIZATION,\n\t\t\trepositoryName: SLICE_MACHINE_GITHUB_REPOSITORY_NAME,\n\t\t\tpackageName: SLICE_MACHINE_GITHUB_PACKAGE_NAME,\n\t\t\tversion: args.version,\n\t\t\tcache: this.gitHubSliceMachineReleaseMetadataCache,\n\t\t});\n\t}\n}\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@slicemachine/manager",
3
- "version": "0.24.15-beta.7",
3
+ "version": "0.24.15-beta.9",
4
4
  "description": "Manage all aspects of a Slice Machine project.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -70,7 +70,7 @@
70
70
  "@prismicio/mocks": "2.13.0",
71
71
  "@prismicio/types-internal": "3.10.0",
72
72
  "@segment/analytics-node": "^2.1.2",
73
- "@slicemachine/plugin-kit": "0.4.77-beta.7",
73
+ "@slicemachine/plugin-kit": "0.4.77-beta.10",
74
74
  "cookie": "^1.0.1",
75
75
  "cors": "^2.8.5",
76
76
  "execa": "^7.1.1",
@@ -113,7 +113,7 @@
113
113
  "prettier-plugin-jsdoc": "1.1.1",
114
114
  "size-limit": "8.2.4",
115
115
  "typescript": "4.9.5",
116
- "vite": "4.3.9",
116
+ "vite": "4.5.14",
117
117
  "vite-plugin-sdk": "0.1.1",
118
118
  "vitest": "0.32.0"
119
119
  },