@strapi/cloud-cli 0.0.0-next.dad3c50630ca4fd9eccdcbe549ee632fc572e23d → 0.0.0-next.df5dd4b92e1b046c04ff00d00d76c88ea51b57d4
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/bin.d.ts.map +1 -0
- package/dist/bin.js +40 -171
- package/dist/bin.js.map +1 -1
- package/dist/bin.mjs +44 -0
- package/dist/bin.mjs.map +1 -0
- package/dist/cloud/command.d.ts.map +1 -0
- package/dist/cloud/command.js +14 -0
- package/dist/cloud/command.js.map +1 -0
- package/dist/cloud/command.mjs +12 -0
- package/dist/cloud/command.mjs.map +1 -0
- package/dist/config/api.d.ts.map +1 -0
- package/dist/config/api.js +11 -0
- package/dist/config/api.js.map +1 -0
- package/dist/config/api.mjs +9 -0
- package/dist/config/api.mjs.map +1 -0
- package/dist/{src/config → config}/local.d.ts +1 -1
- package/dist/config/local.d.ts.map +1 -0
- package/dist/config/local.js +60 -0
- package/dist/config/local.js.map +1 -0
- package/dist/config/local.mjs +55 -0
- package/dist/config/local.mjs.map +1 -0
- package/dist/create-growth-sso-trial/action.d.ts +9 -0
- package/dist/create-growth-sso-trial/action.d.ts.map +1 -0
- package/dist/create-growth-sso-trial/action.js +52 -0
- package/dist/create-growth-sso-trial/action.js.map +1 -0
- package/dist/create-growth-sso-trial/action.mjs +50 -0
- package/dist/create-growth-sso-trial/action.mjs.map +1 -0
- package/dist/create-growth-sso-trial/index.d.ts +4 -0
- package/dist/create-growth-sso-trial/index.d.ts.map +1 -0
- package/dist/create-project/action.d.ts.map +1 -0
- package/dist/create-project/action.js +95 -0
- package/dist/create-project/action.js.map +1 -0
- package/dist/create-project/action.mjs +93 -0
- package/dist/create-project/action.mjs.map +1 -0
- package/dist/create-project/command.d.ts.map +1 -0
- package/dist/create-project/command.js +14 -0
- package/dist/create-project/command.js.map +1 -0
- package/dist/create-project/command.mjs +12 -0
- package/dist/create-project/command.mjs.map +1 -0
- package/dist/create-project/index.d.ts.map +1 -0
- package/dist/create-project/index.js +18 -0
- package/dist/create-project/index.js.map +1 -0
- package/dist/create-project/index.mjs +12 -0
- package/dist/create-project/index.mjs.map +1 -0
- package/dist/create-project/utils/get-project-name-from-pkg.d.ts.map +1 -0
- package/dist/create-project/utils/get-project-name-from-pkg.js +15 -0
- package/dist/create-project/utils/get-project-name-from-pkg.js.map +1 -0
- package/dist/create-project/utils/get-project-name-from-pkg.mjs +13 -0
- package/dist/create-project/utils/get-project-name-from-pkg.mjs.map +1 -0
- package/dist/create-project/utils/project-questions.utils.d.ts.map +1 -0
- package/dist/create-project/utils/project-questions.utils.js +63 -0
- package/dist/create-project/utils/project-questions.utils.js.map +1 -0
- package/dist/create-project/utils/project-questions.utils.mjs +59 -0
- package/dist/create-project/utils/project-questions.utils.mjs.map +1 -0
- package/dist/deploy-project/action.d.ts.map +1 -0
- package/dist/deploy-project/action.js +287 -0
- package/dist/deploy-project/action.js.map +1 -0
- package/dist/deploy-project/action.mjs +266 -0
- package/dist/deploy-project/action.mjs.map +1 -0
- package/dist/deploy-project/command.d.ts.map +1 -0
- package/dist/deploy-project/command.js +14 -0
- package/dist/deploy-project/command.js.map +1 -0
- package/dist/deploy-project/command.mjs +12 -0
- package/dist/deploy-project/command.mjs.map +1 -0
- package/dist/deploy-project/index.d.ts.map +1 -0
- package/dist/deploy-project/index.js +18 -0
- package/dist/deploy-project/index.js.map +1 -0
- package/dist/deploy-project/index.mjs +12 -0
- package/dist/deploy-project/index.mjs.map +1 -0
- package/dist/environment/command.d.ts.map +1 -0
- package/dist/environment/command.js +15 -0
- package/dist/environment/command.js.map +1 -0
- package/dist/environment/command.mjs +13 -0
- package/dist/environment/command.mjs.map +1 -0
- package/dist/environment/link/action.d.ts.map +1 -0
- package/dist/environment/link/action.js +117 -0
- package/dist/environment/link/action.js.map +1 -0
- package/dist/environment/link/action.mjs +115 -0
- package/dist/environment/link/action.mjs.map +1 -0
- package/dist/environment/link/command.d.ts.map +1 -0
- package/dist/environment/link/command.js +13 -0
- package/dist/environment/link/command.js.map +1 -0
- package/dist/environment/link/command.mjs +11 -0
- package/dist/environment/link/command.mjs.map +1 -0
- package/dist/environment/link/index.d.ts.map +1 -0
- package/dist/environment/link/index.js +18 -0
- package/dist/environment/link/index.js.map +1 -0
- package/dist/environment/link/index.mjs +12 -0
- package/dist/environment/link/index.mjs.map +1 -0
- package/dist/environment/list/action.d.ts.map +1 -0
- package/dist/environment/list/action.js +57 -0
- package/dist/environment/list/action.js.map +1 -0
- package/dist/environment/list/action.mjs +55 -0
- package/dist/environment/list/action.mjs.map +1 -0
- package/dist/environment/list/command.d.ts.map +1 -0
- package/dist/environment/list/command.js +13 -0
- package/dist/environment/list/command.js.map +1 -0
- package/dist/environment/list/command.mjs +11 -0
- package/dist/environment/list/command.mjs.map +1 -0
- package/dist/environment/list/index.d.ts.map +1 -0
- package/dist/environment/list/index.js +18 -0
- package/dist/environment/list/index.js.map +1 -0
- package/dist/environment/list/index.mjs +12 -0
- package/dist/environment/list/index.mjs.map +1 -0
- package/dist/{src/index.d.ts → index.d.ts} +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +56 -1911
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +54 -1856
- package/dist/index.mjs.map +1 -1
- package/dist/link/action.d.ts.map +1 -0
- package/dist/link/action.js +146 -0
- package/dist/link/action.js.map +1 -0
- package/dist/link/action.mjs +144 -0
- package/dist/link/action.mjs.map +1 -0
- package/dist/link/command.d.ts.map +1 -0
- package/dist/link/command.js +13 -0
- package/dist/link/command.js.map +1 -0
- package/dist/link/command.mjs +11 -0
- package/dist/link/command.mjs.map +1 -0
- package/dist/link/index.d.ts.map +1 -0
- package/dist/link/index.js +18 -0
- package/dist/link/index.js.map +1 -0
- package/dist/link/index.mjs +12 -0
- package/dist/link/index.mjs.map +1 -0
- package/dist/list-projects/action.d.ts.map +1 -0
- package/dist/list-projects/action.js +34 -0
- package/dist/list-projects/action.js.map +1 -0
- package/dist/list-projects/action.mjs +32 -0
- package/dist/list-projects/action.mjs.map +1 -0
- package/dist/list-projects/command.d.ts.map +1 -0
- package/dist/list-projects/command.js +13 -0
- package/dist/list-projects/command.js.map +1 -0
- package/dist/list-projects/command.mjs +11 -0
- package/dist/list-projects/command.mjs.map +1 -0
- package/dist/list-projects/index.d.ts.map +1 -0
- package/dist/list-projects/index.js +18 -0
- package/dist/list-projects/index.js.map +1 -0
- package/dist/list-projects/index.mjs +12 -0
- package/dist/list-projects/index.mjs.map +1 -0
- package/dist/login/action.d.ts +6 -0
- package/dist/login/action.d.ts.map +1 -0
- package/dist/login/action.js +194 -0
- package/dist/login/action.js.map +1 -0
- package/dist/login/action.mjs +189 -0
- package/dist/login/action.mjs.map +1 -0
- package/dist/login/command.d.ts.map +1 -0
- package/dist/login/command.js +14 -0
- package/dist/login/command.js.map +1 -0
- package/dist/login/command.mjs +12 -0
- package/dist/login/command.mjs.map +1 -0
- package/dist/login/index.d.ts.map +1 -0
- package/dist/login/index.js +18 -0
- package/dist/login/index.js.map +1 -0
- package/dist/login/index.mjs +12 -0
- package/dist/login/index.mjs.map +1 -0
- package/dist/logout/action.d.ts.map +1 -0
- package/dist/logout/action.js +46 -0
- package/dist/logout/action.js.map +1 -0
- package/dist/logout/action.mjs +44 -0
- package/dist/logout/action.mjs.map +1 -0
- package/dist/logout/command.d.ts.map +1 -0
- package/dist/logout/command.js +14 -0
- package/dist/logout/command.js.map +1 -0
- package/dist/logout/command.mjs +12 -0
- package/dist/logout/command.mjs.map +1 -0
- package/dist/logout/index.d.ts.map +1 -0
- package/dist/logout/index.js +18 -0
- package/dist/logout/index.js.map +1 -0
- package/dist/logout/index.mjs +12 -0
- package/dist/logout/index.mjs.map +1 -0
- package/dist/package.json.js +129 -0
- package/dist/package.json.js.map +1 -0
- package/dist/package.json.mjs +105 -0
- package/dist/package.json.mjs.map +1 -0
- package/dist/services/build-logs.d.ts.map +1 -0
- package/dist/services/build-logs.js +67 -0
- package/dist/services/build-logs.js.map +1 -0
- package/dist/services/build-logs.mjs +65 -0
- package/dist/services/build-logs.mjs.map +1 -0
- package/dist/{src/services → services}/cli-api.d.ts +7 -1
- package/dist/services/cli-api.d.ts.map +1 -0
- package/dist/services/cli-api.js +160 -0
- package/dist/services/cli-api.js.map +1 -0
- package/dist/services/cli-api.mjs +157 -0
- package/dist/services/cli-api.mjs.map +1 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +14 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/index.mjs +6 -0
- package/dist/services/index.mjs.map +1 -0
- package/dist/services/logger.d.ts.map +1 -0
- package/dist/services/logger.js +128 -0
- package/dist/services/logger.js.map +1 -0
- package/dist/services/logger.mjs +107 -0
- package/dist/services/logger.mjs.map +1 -0
- package/dist/services/notification.d.ts.map +1 -0
- package/dist/services/notification.js +37 -0
- package/dist/services/notification.js.map +1 -0
- package/dist/services/notification.mjs +35 -0
- package/dist/services/notification.mjs.map +1 -0
- package/dist/services/strapi-info-save.d.ts.map +1 -0
- package/dist/services/strapi-info-save.js +53 -0
- package/dist/services/strapi-info-save.js.map +1 -0
- package/dist/services/strapi-info-save.mjs +47 -0
- package/dist/services/strapi-info-save.mjs.map +1 -0
- package/dist/services/token.d.ts.map +1 -0
- package/dist/services/token.js +126 -0
- package/dist/services/token.js.map +1 -0
- package/dist/services/token.mjs +124 -0
- package/dist/services/token.mjs.map +1 -0
- package/dist/{src/types.d.ts → types.d.ts} +8 -1
- package/dist/types.d.ts.map +1 -0
- package/dist/utils/analytics.d.ts.map +1 -0
- package/dist/utils/analytics.js +12 -0
- package/dist/utils/analytics.js.map +1 -0
- package/dist/utils/analytics.mjs +10 -0
- package/dist/utils/analytics.mjs.map +1 -0
- package/dist/utils/compress-files.d.ts.map +1 -0
- package/dist/utils/compress-files.js +102 -0
- package/dist/utils/compress-files.js.map +1 -0
- package/dist/utils/compress-files.mjs +78 -0
- package/dist/utils/compress-files.mjs.map +1 -0
- package/dist/utils/get-local-config.d.ts.map +1 -0
- package/dist/utils/get-local-config.js +37 -0
- package/dist/utils/get-local-config.js.map +1 -0
- package/dist/utils/get-local-config.mjs +34 -0
- package/dist/utils/get-local-config.mjs.map +1 -0
- package/dist/utils/helpers.d.ts.map +1 -0
- package/dist/utils/helpers.js +33 -0
- package/dist/utils/helpers.js.map +1 -0
- package/dist/utils/helpers.mjs +31 -0
- package/dist/utils/helpers.mjs.map +1 -0
- package/dist/utils/pkg.d.ts.map +1 -0
- package/dist/utils/pkg.js +65 -0
- package/dist/utils/pkg.js.map +1 -0
- package/dist/utils/pkg.mjs +43 -0
- package/dist/utils/pkg.mjs.map +1 -0
- package/dist/utils/tests/compress-files.test.d.ts.map +1 -0
- package/package.json +11 -11
- package/dist/src/bin.d.ts.map +0 -1
- package/dist/src/cloud/command.d.ts.map +0 -1
- package/dist/src/config/api.d.ts.map +0 -1
- package/dist/src/config/local.d.ts.map +0 -1
- package/dist/src/create-project/action.d.ts.map +0 -1
- package/dist/src/create-project/command.d.ts.map +0 -1
- package/dist/src/create-project/index.d.ts.map +0 -1
- package/dist/src/create-project/utils/get-project-name-from-pkg.d.ts.map +0 -1
- package/dist/src/create-project/utils/project-questions.utils.d.ts.map +0 -1
- package/dist/src/deploy-project/action.d.ts.map +0 -1
- package/dist/src/deploy-project/command.d.ts.map +0 -1
- package/dist/src/deploy-project/index.d.ts.map +0 -1
- package/dist/src/environment/command.d.ts.map +0 -1
- package/dist/src/environment/link/action.d.ts.map +0 -1
- package/dist/src/environment/link/command.d.ts.map +0 -1
- package/dist/src/environment/link/index.d.ts.map +0 -1
- package/dist/src/environment/list/action.d.ts.map +0 -1
- package/dist/src/environment/list/command.d.ts.map +0 -1
- package/dist/src/environment/list/index.d.ts.map +0 -1
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/link/action.d.ts.map +0 -1
- package/dist/src/link/command.d.ts.map +0 -1
- package/dist/src/link/index.d.ts.map +0 -1
- package/dist/src/list-projects/action.d.ts.map +0 -1
- package/dist/src/list-projects/command.d.ts.map +0 -1
- package/dist/src/list-projects/index.d.ts.map +0 -1
- package/dist/src/login/action.d.ts +0 -4
- package/dist/src/login/action.d.ts.map +0 -1
- package/dist/src/login/command.d.ts.map +0 -1
- package/dist/src/login/index.d.ts.map +0 -1
- package/dist/src/logout/action.d.ts.map +0 -1
- package/dist/src/logout/command.d.ts.map +0 -1
- package/dist/src/logout/index.d.ts.map +0 -1
- package/dist/src/services/build-logs.d.ts.map +0 -1
- package/dist/src/services/cli-api.d.ts.map +0 -1
- package/dist/src/services/index.d.ts.map +0 -1
- package/dist/src/services/logger.d.ts.map +0 -1
- package/dist/src/services/notification.d.ts.map +0 -1
- package/dist/src/services/strapi-info-save.d.ts.map +0 -1
- package/dist/src/services/token.d.ts.map +0 -1
- package/dist/src/types.d.ts.map +0 -1
- package/dist/src/utils/analytics.d.ts.map +0 -1
- package/dist/src/utils/compress-files.d.ts.map +0 -1
- package/dist/src/utils/get-local-config.d.ts.map +0 -1
- package/dist/src/utils/helpers.d.ts.map +0 -1
- package/dist/src/utils/pkg.d.ts.map +0 -1
- package/dist/src/utils/tests/compress-files.test.d.ts.map +0 -1
- /package/dist/{src/bin.d.ts → bin.d.ts} +0 -0
- /package/dist/{src/cloud → cloud}/command.d.ts +0 -0
- /package/dist/{src/config → config}/api.d.ts +0 -0
- /package/dist/{src/create-project → create-project}/action.d.ts +0 -0
- /package/dist/{src/create-project → create-project}/command.d.ts +0 -0
- /package/dist/{src/create-project → create-project}/index.d.ts +0 -0
- /package/dist/{src/create-project → create-project}/utils/get-project-name-from-pkg.d.ts +0 -0
- /package/dist/{src/create-project → create-project}/utils/project-questions.utils.d.ts +0 -0
- /package/dist/{src/deploy-project → deploy-project}/action.d.ts +0 -0
- /package/dist/{src/deploy-project → deploy-project}/command.d.ts +0 -0
- /package/dist/{src/deploy-project → deploy-project}/index.d.ts +0 -0
- /package/dist/{src/environment → environment}/command.d.ts +0 -0
- /package/dist/{src/environment → environment}/link/action.d.ts +0 -0
- /package/dist/{src/environment → environment}/link/command.d.ts +0 -0
- /package/dist/{src/environment → environment}/link/index.d.ts +0 -0
- /package/dist/{src/environment → environment}/list/action.d.ts +0 -0
- /package/dist/{src/environment → environment}/list/command.d.ts +0 -0
- /package/dist/{src/environment → environment}/list/index.d.ts +0 -0
- /package/dist/{src/link → link}/action.d.ts +0 -0
- /package/dist/{src/link → link}/command.d.ts +0 -0
- /package/dist/{src/link → link}/index.d.ts +0 -0
- /package/dist/{src/list-projects → list-projects}/action.d.ts +0 -0
- /package/dist/{src/list-projects → list-projects}/command.d.ts +0 -0
- /package/dist/{src/list-projects → list-projects}/index.d.ts +0 -0
- /package/dist/{src/login → login}/command.d.ts +0 -0
- /package/dist/{src/login → login}/index.d.ts +0 -0
- /package/dist/{src/logout → logout}/action.d.ts +0 -0
- /package/dist/{src/logout → logout}/command.d.ts +0 -0
- /package/dist/{src/logout → logout}/index.d.ts +0 -0
- /package/dist/{src/services → services}/build-logs.d.ts +0 -0
- /package/dist/{src/services → services}/index.d.ts +0 -0
- /package/dist/{src/services → services}/logger.d.ts +0 -0
- /package/dist/{src/services → services}/notification.d.ts +0 -0
- /package/dist/{src/services → services}/strapi-info-save.d.ts +0 -0
- /package/dist/{src/services → services}/token.d.ts +0 -0
- /package/dist/{src/utils → utils}/analytics.d.ts +0 -0
- /package/dist/{src/utils → utils}/compress-files.d.ts +0 -0
- /package/dist/{src/utils → utils}/get-local-config.d.ts +0 -0
- /package/dist/{src/utils → utils}/helpers.d.ts +0 -0
- /package/dist/{src/utils → utils}/pkg.d.ts +0 -0
- /package/dist/{src/utils → utils}/tests/compress-files.test.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-api.mjs","sources":["../../src/services/cli-api.ts"],"sourcesContent":["import axios, { type AxiosResponse } from 'axios';\nimport fse from 'fs-extra';\nimport os from 'os';\nimport { apiConfig } from '../config/api';\nimport type { CLIContext, CloudCliConfig, TrackPayload } from '../types';\nimport { getLocalConfig } from '../config/local';\n\nimport packageJson from '../../package.json';\n\nexport const VERSION = 'v2';\n\nexport type ProjectInfo = {\n id: string;\n name: string;\n targetEnvironment?: string;\n displayName?: string;\n nodeVersion?: string;\n region?: string;\n plan?: string;\n url?: string;\n};\n\nexport type EnvironmentInfo = Record<string, unknown>;\n\nexport type EnvironmentDetails = {\n name: string;\n hasLiveDeployment: boolean;\n hasPendingDeployment: boolean;\n};\n\nexport type ProjectInput = Omit<ProjectInfo, 'id'>;\n\nexport type DeployResponse = {\n build_id: string;\n image: string;\n};\n\nexport type ListProjectsResponse = {\n data: {\n data: string;\n };\n};\n\nexport type ListEnvironmentsResponse = {\n data: {\n data: EnvironmentInfo[] | Record<string, never>;\n };\n};\n\nexport type ListLinkProjectsResponse = {\n data: {\n data: ProjectInfo[] | Record<string, never>;\n };\n};\n\nexport type ListLinkEnvironmentsResponse = {\n data: {\n data: EnvironmentDetails[] | Record<string, never>;\n };\n};\n\nexport type GetProjectResponse = {\n data: {\n displayName: string;\n updatedAt: string;\n suspendedAt?: string;\n isTrial: boolean;\n environments: string[];\n environmentsDetails: EnvironmentDetails[];\n };\n metadata: {\n dashboardUrls: {\n project: string;\n deployments: string;\n };\n };\n};\n\nexport type CreateTrialResponse = {\n licenseKey: string;\n};\n\nexport interface CloudApiService {\n deploy(\n deployInput: {\n filePath: string;\n project: { name: string; targetEnvironment?: string };\n },\n {\n onUploadProgress,\n }: {\n onUploadProgress: (progressEvent: { loaded: number; total?: number }) => void;\n }\n ): Promise<AxiosResponse<DeployResponse>>;\n\n createProject(createProjectInput: ProjectInput): Promise<{\n data: ProjectInput;\n status: number;\n }>;\n\n getUserInfo(): Promise<AxiosResponse>;\n\n config(): Promise<AxiosResponse<CloudCliConfig>>;\n\n listProjects(): Promise<AxiosResponse<ListProjectsResponse>>;\n\n listLinkProjects(): Promise<AxiosResponse<ListLinkProjectsResponse>>;\n\n listEnvironments(project: { name: string }): Promise<AxiosResponse<ListEnvironmentsResponse>>;\n\n listLinkEnvironments(project: {\n name: string;\n }): Promise<AxiosResponse<ListLinkEnvironmentsResponse>>;\n\n getProject(project: { name: string }): Promise<AxiosResponse<GetProjectResponse>>;\n\n createTrial(createTrialInput: {\n strapiVersion: string;\n }): Promise<AxiosResponse<CreateTrialResponse>>;\n\n track(event: string, payload?: TrackPayload): Promise<AxiosResponse<void>>;\n}\n\nexport async function cloudApiFactory(\n { logger }: { logger: CLIContext['logger'] },\n token?: string\n): Promise<CloudApiService> {\n const localConfig = await getLocalConfig();\n const customHeaders = {\n 'x-device-id': localConfig.installId,\n 'x-app-version': packageJson.version,\n 'x-os-name': os.type(),\n 'x-os-version': os.version(),\n 'x-language': Intl.DateTimeFormat().resolvedOptions().locale,\n 'x-node-version': process.versions.node,\n };\n const axiosCloudAPI = axios.create({\n baseURL: `${apiConfig.apiBaseUrl}/${VERSION}`,\n headers: {\n 'Content-Type': 'application/json',\n ...customHeaders,\n },\n });\n\n if (token) {\n axiosCloudAPI.defaults.headers.Authorization = `Bearer ${token}`;\n }\n\n return {\n deploy({ filePath, project }, { onUploadProgress }) {\n return axiosCloudAPI.post(\n `/deploy/${project.name}`,\n { file: fse.createReadStream(filePath), targetEnvironment: project.targetEnvironment },\n {\n headers: {\n 'Content-Type': 'multipart/form-data',\n },\n onUploadProgress,\n }\n );\n },\n\n async createProject({ name, nodeVersion, region, plan }) {\n const response = await axiosCloudAPI.post('/project', {\n projectName: name,\n region,\n nodeVersion,\n plan,\n });\n\n return {\n data: {\n id: response.data.id,\n name: response.data.name,\n nodeVersion: response.data.nodeVersion,\n region: response.data.region,\n },\n status: response.status,\n };\n },\n\n getUserInfo() {\n return axiosCloudAPI.get('/user');\n },\n\n async config(): Promise<AxiosResponse<CloudCliConfig>> {\n try {\n const response = await axiosCloudAPI.get('/config');\n\n if (response.status !== 200) {\n throw new Error('Error fetching cloud CLI config from the server.');\n }\n\n return response;\n } catch (error) {\n logger.debug(\n \"🥲 Oops! Couldn't retrieve the cloud CLI config from the server. Please try again.\"\n );\n\n throw error;\n }\n },\n\n async listProjects(): Promise<AxiosResponse<ListProjectsResponse>> {\n try {\n const response = await axiosCloudAPI.get('/projects');\n\n if (response.status !== 200) {\n throw new Error('Error fetching cloud projects from the server.');\n }\n\n return response;\n } catch (error) {\n logger.debug(\n \"🥲 Oops! Couldn't retrieve your project's list from the server. Please try again.\"\n );\n throw error;\n }\n },\n\n async listLinkProjects(): Promise<AxiosResponse<ListLinkProjectsResponse, unknown>> {\n try {\n const response = await axiosCloudAPI.get('/projects-linkable');\n\n if (response.status !== 200) {\n throw new Error('Error fetching cloud projects from the server.');\n }\n\n return response;\n } catch (error) {\n logger.debug(\n \"🥲 Oops! Couldn't retrieve your project's list from the server. Please try again.\"\n );\n throw error;\n }\n },\n\n async listEnvironments({ name }): Promise<AxiosResponse<ListEnvironmentsResponse>> {\n try {\n const response = await axiosCloudAPI.get(`/projects/${name}/environments`);\n\n if (response.status !== 200) {\n throw new Error('Error fetching cloud environments from the server.');\n }\n\n return response;\n } catch (error) {\n logger.debug(\n \"🥲 Oops! Couldn't retrieve your project's environments from the server. Please try again.\"\n );\n throw error;\n }\n },\n\n async listLinkEnvironments({ name }): Promise<AxiosResponse<ListLinkEnvironmentsResponse>> {\n try {\n const response = await axiosCloudAPI.get(`/projects/${name}/environments-linkable`);\n\n if (response.status !== 200) {\n throw new Error('Error fetching cloud environments from the server.');\n }\n\n return response;\n } catch (error) {\n logger.debug(\n \"🥲 Oops! Couldn't retrieve your project's environments from the server. Please try again.\"\n );\n throw error;\n }\n },\n\n async getProject({ name }): Promise<AxiosResponse<GetProjectResponse>> {\n try {\n const response = await axiosCloudAPI.get(`/projects/${name}`);\n\n if (response.status !== 200) {\n throw new Error(\"Error fetching project's details.\");\n }\n\n return response;\n } catch (error) {\n logger.debug(\n \"🥲 Oops! There was a problem retrieving your project's details. Please try again.\"\n );\n throw error;\n }\n },\n\n async createTrial({ strapiVersion }): Promise<AxiosResponse<CreateTrialResponse>> {\n try {\n const response = await axiosCloudAPI.post(`/cms-trial-request`, { strapiVersion });\n\n if (response.status !== 200) {\n throw new Error('Error creating trial.');\n }\n\n return response;\n } catch (error) {\n logger.debug('🥲 Oops! There was a problem creating your trial. Please try again.');\n throw error;\n }\n },\n\n track(event, payload = {}) {\n return axiosCloudAPI.post<void>('/track', {\n event,\n payload,\n });\n },\n };\n}\n"],"names":["VERSION","cloudApiFactory","logger","token","localConfig","getLocalConfig","customHeaders","installId","packageJson","version","os","type","Intl","DateTimeFormat","resolvedOptions","locale","process","versions","node","axiosCloudAPI","axios","create","baseURL","apiConfig","apiBaseUrl","headers","defaults","Authorization","deploy","filePath","project","onUploadProgress","post","name","file","fse","createReadStream","targetEnvironment","createProject","nodeVersion","region","plan","response","projectName","data","id","status","getUserInfo","get","config","Error","error","debug","listProjects","listLinkProjects","listEnvironments","listLinkEnvironments","getProject","createTrial","strapiVersion","track","event","payload"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,KAAK,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var cliApi = require('./cli-api.js');
|
|
4
|
+
var strapiInfoSave = require('./strapi-info-save.js');
|
|
5
|
+
var token = require('./token.js');
|
|
6
|
+
var logger = require('./logger.js');
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
exports.cloudApiFactory = cliApi.cloudApiFactory;
|
|
11
|
+
exports.local = strapiInfoSave;
|
|
12
|
+
exports.tokenServiceFactory = token.tokenServiceFactory;
|
|
13
|
+
exports.createLogger = logger.createLogger;
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { cloudApiFactory } from './cli-api.mjs';
|
|
2
|
+
import * as strapiInfoSave from './strapi-info-save.mjs';
|
|
3
|
+
export { strapiInfoSave as local };
|
|
4
|
+
export { tokenServiceFactory } from './token.mjs';
|
|
5
|
+
export { createLogger } from './logger.mjs';
|
|
6
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/services/logger.ts"],"names":[],"mappings":"AAGA,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,WAAW,MAAM,cAAc,CAAC;AAE5C,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,MAAM;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACpC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACnC,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACtC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACnC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACpC,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAClC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,YAAY,CAAC,CAAC;IAC/F,WAAW,EAAE,CACX,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,KACT,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC;CAC/D;AAMD,QAAA,MAAM,YAAY,aAAa,aAAa,KAAQ,MAqInD,CAAC;AAEF,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chalk = require('chalk');
|
|
4
|
+
var stringify = require('fast-safe-stringify');
|
|
5
|
+
var ora = require('ora');
|
|
6
|
+
var cliProgress = require('cli-progress');
|
|
7
|
+
|
|
8
|
+
function _interopNamespaceDefault(e) {
|
|
9
|
+
var n = Object.create(null);
|
|
10
|
+
if (e) {
|
|
11
|
+
Object.keys(e).forEach(function (k) {
|
|
12
|
+
if (k !== 'default') {
|
|
13
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
14
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: function () { return e[k]; }
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
n.default = e;
|
|
22
|
+
return Object.freeze(n);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
var cliProgress__namespace = /*#__PURE__*/_interopNamespaceDefault(cliProgress);
|
|
26
|
+
|
|
27
|
+
const stringifyArg = (arg)=>{
|
|
28
|
+
return typeof arg === 'object' ? stringify(arg) : arg;
|
|
29
|
+
};
|
|
30
|
+
const createLogger = (options = {})=>{
|
|
31
|
+
const { silent = false, debug = false, timestamp = true } = options;
|
|
32
|
+
const state = {
|
|
33
|
+
errors: 0,
|
|
34
|
+
warning: 0
|
|
35
|
+
};
|
|
36
|
+
return {
|
|
37
|
+
get warnings () {
|
|
38
|
+
return state.warning;
|
|
39
|
+
},
|
|
40
|
+
get errors () {
|
|
41
|
+
return state.errors;
|
|
42
|
+
},
|
|
43
|
+
async debug (...args) {
|
|
44
|
+
if (silent || !debug) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
console.log(chalk.cyan(`[DEBUG]${timestamp ? `\t[${new Date().toISOString()}]` : ''}`), ...args.map(stringifyArg));
|
|
48
|
+
},
|
|
49
|
+
info (...args) {
|
|
50
|
+
if (silent) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
console.info(chalk.blue(`[INFO]${timestamp ? `\t[${new Date().toISOString()}]` : ''}`), ...args.map(stringifyArg));
|
|
54
|
+
},
|
|
55
|
+
log (...args) {
|
|
56
|
+
if (silent) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
console.info(chalk.blue(`${timestamp ? `\t[${new Date().toISOString()}]` : ''}`), ...args.map(stringifyArg));
|
|
60
|
+
},
|
|
61
|
+
success (...args) {
|
|
62
|
+
if (silent) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
console.info(chalk.green(`[SUCCESS]${timestamp ? `\t[${new Date().toISOString()}]` : ''}`), ...args.map(stringifyArg));
|
|
66
|
+
},
|
|
67
|
+
warn (...args) {
|
|
68
|
+
state.warning += 1;
|
|
69
|
+
if (silent) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
console.warn(chalk.yellow(`[WARN]${timestamp ? `\t[${new Date().toISOString()}]` : ''}`), ...args.map(stringifyArg));
|
|
73
|
+
},
|
|
74
|
+
error (...args) {
|
|
75
|
+
state.errors += 1;
|
|
76
|
+
if (silent) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
console.error(chalk.red(`[ERROR]${timestamp ? `\t[${new Date().toISOString()}]` : ''}`), ...args.map(stringifyArg));
|
|
80
|
+
},
|
|
81
|
+
// @ts-expect-error – returning a subpart of ora is fine because the types tell us what is what.
|
|
82
|
+
spinner (text) {
|
|
83
|
+
if (silent) {
|
|
84
|
+
return {
|
|
85
|
+
succeed () {
|
|
86
|
+
return this;
|
|
87
|
+
},
|
|
88
|
+
fail () {
|
|
89
|
+
return this;
|
|
90
|
+
},
|
|
91
|
+
start () {
|
|
92
|
+
return this;
|
|
93
|
+
},
|
|
94
|
+
text: '',
|
|
95
|
+
isSpinning: false
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
return ora(text);
|
|
99
|
+
},
|
|
100
|
+
progressBar (totalSize, text) {
|
|
101
|
+
if (silent) {
|
|
102
|
+
return {
|
|
103
|
+
start () {
|
|
104
|
+
return this;
|
|
105
|
+
},
|
|
106
|
+
stop () {
|
|
107
|
+
return this;
|
|
108
|
+
},
|
|
109
|
+
update () {
|
|
110
|
+
return this;
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
const progressBar = new cliProgress__namespace.SingleBar({
|
|
115
|
+
format: `${text ? `${text} |` : ''}${chalk.green('{bar}')}| {percentage}%`,
|
|
116
|
+
barCompleteChar: '\u2588',
|
|
117
|
+
barIncompleteChar: '\u2591',
|
|
118
|
+
hideCursor: true,
|
|
119
|
+
forceRedraw: true
|
|
120
|
+
});
|
|
121
|
+
progressBar.start(totalSize, 0);
|
|
122
|
+
return progressBar;
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
exports.createLogger = createLogger;
|
|
128
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sources":["../../src/services/logger.ts"],"sourcesContent":["import chalk from 'chalk';\nimport stringify from 'fast-safe-stringify';\n\nimport ora from 'ora';\nimport * as cliProgress from 'cli-progress';\n\nexport interface LoggerOptions {\n silent?: boolean;\n debug?: boolean;\n timestamp?: boolean;\n}\n\nexport interface Logger {\n warnings: number;\n errors: number;\n debug: (...args: unknown[]) => void;\n info: (...args: unknown[]) => void;\n success: (...args: unknown[]) => void;\n warn: (...args: unknown[]) => void;\n error: (...args: unknown[]) => void;\n log: (...args: unknown[]) => void;\n spinner: (text: string) => Pick<ora.Ora, 'succeed' | 'fail' | 'start' | 'text' | 'isSpinning'>;\n progressBar: (\n totalSize: number,\n text: string\n ) => Pick<cliProgress.SingleBar, 'start' | 'stop' | 'update'>;\n}\n\nconst stringifyArg = (arg: unknown) => {\n return typeof arg === 'object' ? stringify(arg) : arg;\n};\n\nconst createLogger = (options: LoggerOptions = {}): Logger => {\n const { silent = false, debug = false, timestamp = true } = options;\n\n const state = { errors: 0, warning: 0 };\n\n return {\n get warnings() {\n return state.warning;\n },\n\n get errors() {\n return state.errors;\n },\n\n async debug(...args) {\n if (silent || !debug) {\n return;\n }\n\n console.log(\n chalk.cyan(`[DEBUG]${timestamp ? `\\t[${new Date().toISOString()}]` : ''}`),\n ...args.map(stringifyArg)\n );\n },\n\n info(...args) {\n if (silent) {\n return;\n }\n\n console.info(\n chalk.blue(`[INFO]${timestamp ? `\\t[${new Date().toISOString()}]` : ''}`),\n ...args.map(stringifyArg)\n );\n },\n\n log(...args) {\n if (silent) {\n return;\n }\n\n console.info(\n chalk.blue(`${timestamp ? `\\t[${new Date().toISOString()}]` : ''}`),\n ...args.map(stringifyArg)\n );\n },\n\n success(...args) {\n if (silent) {\n return;\n }\n\n console.info(\n chalk.green(`[SUCCESS]${timestamp ? `\\t[${new Date().toISOString()}]` : ''}`),\n ...args.map(stringifyArg)\n );\n },\n\n warn(...args) {\n state.warning += 1;\n\n if (silent) {\n return;\n }\n\n console.warn(\n chalk.yellow(`[WARN]${timestamp ? `\\t[${new Date().toISOString()}]` : ''}`),\n ...args.map(stringifyArg)\n );\n },\n\n error(...args) {\n state.errors += 1;\n\n if (silent) {\n return;\n }\n\n console.error(\n chalk.red(`[ERROR]${timestamp ? `\\t[${new Date().toISOString()}]` : ''}`),\n ...args.map(stringifyArg)\n );\n },\n\n // @ts-expect-error – returning a subpart of ora is fine because the types tell us what is what.\n spinner(text: string) {\n if (silent) {\n return {\n succeed() {\n return this;\n },\n fail() {\n return this;\n },\n start() {\n return this;\n },\n text: '',\n isSpinning: false,\n };\n }\n\n return ora(text);\n },\n\n progressBar(totalSize: number, text: string) {\n if (silent) {\n return {\n start() {\n return this;\n },\n stop() {\n return this;\n },\n update() {\n return this;\n },\n };\n }\n\n const progressBar = new cliProgress.SingleBar({\n format: `${text ? `${text} |` : ''}${chalk.green('{bar}')}| {percentage}%`,\n barCompleteChar: '\\u2588',\n barIncompleteChar: '\\u2591',\n hideCursor: true,\n forceRedraw: true,\n });\n\n progressBar.start(totalSize, 0);\n\n return progressBar;\n },\n };\n};\n\nexport { createLogger };\n"],"names":["stringifyArg","arg","stringify","createLogger","options","silent","debug","timestamp","state","errors","warning","warnings","args","console","log","chalk","cyan","Date","toISOString","map","info","blue","success","green","warn","yellow","error","red","spinner","text","succeed","fail","start","isSpinning","ora","progressBar","totalSize","stop","update","cliProgress","SingleBar","format","barCompleteChar","barIncompleteChar","hideCursor","forceRedraw"],"mappings":"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"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import stringify from 'fast-safe-stringify';
|
|
3
|
+
import ora from 'ora';
|
|
4
|
+
import * as cliProgress from 'cli-progress';
|
|
5
|
+
|
|
6
|
+
const stringifyArg = (arg)=>{
|
|
7
|
+
return typeof arg === 'object' ? stringify(arg) : arg;
|
|
8
|
+
};
|
|
9
|
+
const createLogger = (options = {})=>{
|
|
10
|
+
const { silent = false, debug = false, timestamp = true } = options;
|
|
11
|
+
const state = {
|
|
12
|
+
errors: 0,
|
|
13
|
+
warning: 0
|
|
14
|
+
};
|
|
15
|
+
return {
|
|
16
|
+
get warnings () {
|
|
17
|
+
return state.warning;
|
|
18
|
+
},
|
|
19
|
+
get errors () {
|
|
20
|
+
return state.errors;
|
|
21
|
+
},
|
|
22
|
+
async debug (...args) {
|
|
23
|
+
if (silent || !debug) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
console.log(chalk.cyan(`[DEBUG]${timestamp ? `\t[${new Date().toISOString()}]` : ''}`), ...args.map(stringifyArg));
|
|
27
|
+
},
|
|
28
|
+
info (...args) {
|
|
29
|
+
if (silent) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
console.info(chalk.blue(`[INFO]${timestamp ? `\t[${new Date().toISOString()}]` : ''}`), ...args.map(stringifyArg));
|
|
33
|
+
},
|
|
34
|
+
log (...args) {
|
|
35
|
+
if (silent) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
console.info(chalk.blue(`${timestamp ? `\t[${new Date().toISOString()}]` : ''}`), ...args.map(stringifyArg));
|
|
39
|
+
},
|
|
40
|
+
success (...args) {
|
|
41
|
+
if (silent) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
console.info(chalk.green(`[SUCCESS]${timestamp ? `\t[${new Date().toISOString()}]` : ''}`), ...args.map(stringifyArg));
|
|
45
|
+
},
|
|
46
|
+
warn (...args) {
|
|
47
|
+
state.warning += 1;
|
|
48
|
+
if (silent) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
console.warn(chalk.yellow(`[WARN]${timestamp ? `\t[${new Date().toISOString()}]` : ''}`), ...args.map(stringifyArg));
|
|
52
|
+
},
|
|
53
|
+
error (...args) {
|
|
54
|
+
state.errors += 1;
|
|
55
|
+
if (silent) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
console.error(chalk.red(`[ERROR]${timestamp ? `\t[${new Date().toISOString()}]` : ''}`), ...args.map(stringifyArg));
|
|
59
|
+
},
|
|
60
|
+
// @ts-expect-error – returning a subpart of ora is fine because the types tell us what is what.
|
|
61
|
+
spinner (text) {
|
|
62
|
+
if (silent) {
|
|
63
|
+
return {
|
|
64
|
+
succeed () {
|
|
65
|
+
return this;
|
|
66
|
+
},
|
|
67
|
+
fail () {
|
|
68
|
+
return this;
|
|
69
|
+
},
|
|
70
|
+
start () {
|
|
71
|
+
return this;
|
|
72
|
+
},
|
|
73
|
+
text: '',
|
|
74
|
+
isSpinning: false
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
return ora(text);
|
|
78
|
+
},
|
|
79
|
+
progressBar (totalSize, text) {
|
|
80
|
+
if (silent) {
|
|
81
|
+
return {
|
|
82
|
+
start () {
|
|
83
|
+
return this;
|
|
84
|
+
},
|
|
85
|
+
stop () {
|
|
86
|
+
return this;
|
|
87
|
+
},
|
|
88
|
+
update () {
|
|
89
|
+
return this;
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
const progressBar = new cliProgress.SingleBar({
|
|
94
|
+
format: `${text ? `${text} |` : ''}${chalk.green('{bar}')}| {percentage}%`,
|
|
95
|
+
barCompleteChar: '\u2588',
|
|
96
|
+
barIncompleteChar: '\u2591',
|
|
97
|
+
hideCursor: true,
|
|
98
|
+
forceRedraw: true
|
|
99
|
+
});
|
|
100
|
+
progressBar.start(totalSize, 0);
|
|
101
|
+
return progressBar;
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
export { createLogger };
|
|
107
|
+
//# sourceMappingURL=logger.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.mjs","sources":["../../src/services/logger.ts"],"sourcesContent":["import chalk from 'chalk';\nimport stringify from 'fast-safe-stringify';\n\nimport ora from 'ora';\nimport * as cliProgress from 'cli-progress';\n\nexport interface LoggerOptions {\n silent?: boolean;\n debug?: boolean;\n timestamp?: boolean;\n}\n\nexport interface Logger {\n warnings: number;\n errors: number;\n debug: (...args: unknown[]) => void;\n info: (...args: unknown[]) => void;\n success: (...args: unknown[]) => void;\n warn: (...args: unknown[]) => void;\n error: (...args: unknown[]) => void;\n log: (...args: unknown[]) => void;\n spinner: (text: string) => Pick<ora.Ora, 'succeed' | 'fail' | 'start' | 'text' | 'isSpinning'>;\n progressBar: (\n totalSize: number,\n text: string\n ) => Pick<cliProgress.SingleBar, 'start' | 'stop' | 'update'>;\n}\n\nconst stringifyArg = (arg: unknown) => {\n return typeof arg === 'object' ? stringify(arg) : arg;\n};\n\nconst createLogger = (options: LoggerOptions = {}): Logger => {\n const { silent = false, debug = false, timestamp = true } = options;\n\n const state = { errors: 0, warning: 0 };\n\n return {\n get warnings() {\n return state.warning;\n },\n\n get errors() {\n return state.errors;\n },\n\n async debug(...args) {\n if (silent || !debug) {\n return;\n }\n\n console.log(\n chalk.cyan(`[DEBUG]${timestamp ? `\\t[${new Date().toISOString()}]` : ''}`),\n ...args.map(stringifyArg)\n );\n },\n\n info(...args) {\n if (silent) {\n return;\n }\n\n console.info(\n chalk.blue(`[INFO]${timestamp ? `\\t[${new Date().toISOString()}]` : ''}`),\n ...args.map(stringifyArg)\n );\n },\n\n log(...args) {\n if (silent) {\n return;\n }\n\n console.info(\n chalk.blue(`${timestamp ? `\\t[${new Date().toISOString()}]` : ''}`),\n ...args.map(stringifyArg)\n );\n },\n\n success(...args) {\n if (silent) {\n return;\n }\n\n console.info(\n chalk.green(`[SUCCESS]${timestamp ? `\\t[${new Date().toISOString()}]` : ''}`),\n ...args.map(stringifyArg)\n );\n },\n\n warn(...args) {\n state.warning += 1;\n\n if (silent) {\n return;\n }\n\n console.warn(\n chalk.yellow(`[WARN]${timestamp ? `\\t[${new Date().toISOString()}]` : ''}`),\n ...args.map(stringifyArg)\n );\n },\n\n error(...args) {\n state.errors += 1;\n\n if (silent) {\n return;\n }\n\n console.error(\n chalk.red(`[ERROR]${timestamp ? `\\t[${new Date().toISOString()}]` : ''}`),\n ...args.map(stringifyArg)\n );\n },\n\n // @ts-expect-error – returning a subpart of ora is fine because the types tell us what is what.\n spinner(text: string) {\n if (silent) {\n return {\n succeed() {\n return this;\n },\n fail() {\n return this;\n },\n start() {\n return this;\n },\n text: '',\n isSpinning: false,\n };\n }\n\n return ora(text);\n },\n\n progressBar(totalSize: number, text: string) {\n if (silent) {\n return {\n start() {\n return this;\n },\n stop() {\n return this;\n },\n update() {\n return this;\n },\n };\n }\n\n const progressBar = new cliProgress.SingleBar({\n format: `${text ? `${text} |` : ''}${chalk.green('{bar}')}| {percentage}%`,\n barCompleteChar: '\\u2588',\n barIncompleteChar: '\\u2591',\n hideCursor: true,\n forceRedraw: true,\n });\n\n progressBar.start(totalSize, 0);\n\n return progressBar;\n },\n };\n};\n\nexport { createLogger };\n"],"names":["stringifyArg","arg","stringify","createLogger","options","silent","debug","timestamp","state","errors","warning","warnings","args","console","log","chalk","cyan","Date","toISOString","map","info","blue","success","green","warn","yellow","error","red","spinner","text","succeed","fail","start","isSpinning","ora","progressBar","totalSize","stop","update","cliProgress","SingleBar","format","barCompleteChar","barIncompleteChar","hideCursor","forceRedraw"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notification.d.ts","sourceRoot":"","sources":["../../src/services/notification.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAS3D,wBAAgB,0BAA0B,CAAC,EAAE,MAAM,EAAE,EAAE,UAAU,SAClD,MAAM,SAAS,MAAM,aAAa,cAAc,UAmC9D"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var EventSource = require('eventsource');
|
|
4
|
+
|
|
5
|
+
function notificationServiceFactory({ logger }) {
|
|
6
|
+
return (url, token, cliConfig)=>{
|
|
7
|
+
const CONN_TIMEOUT = Number(cliConfig.notificationsConnectionTimeout);
|
|
8
|
+
const es = new EventSource(url, {
|
|
9
|
+
headers: {
|
|
10
|
+
Authorization: `Bearer ${token}`
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
let timeoutId;
|
|
14
|
+
const resetTimeout = ()=>{
|
|
15
|
+
clearTimeout(timeoutId);
|
|
16
|
+
timeoutId = setTimeout(()=>{
|
|
17
|
+
logger.log('We were unable to connect to the server at this time. This could be due to a temporary issue. Please try again in a moment.');
|
|
18
|
+
es.close();
|
|
19
|
+
}, CONN_TIMEOUT); // 5 minutes
|
|
20
|
+
};
|
|
21
|
+
es.onopen = resetTimeout;
|
|
22
|
+
es.onmessage = (event)=>{
|
|
23
|
+
resetTimeout();
|
|
24
|
+
const data = JSON.parse(event.data);
|
|
25
|
+
if (data.message) {
|
|
26
|
+
logger.log(data.message);
|
|
27
|
+
}
|
|
28
|
+
// Close connection when a specific event is received
|
|
29
|
+
if (data.event === 'deploymentFinished' || data.event === 'deploymentFailed') {
|
|
30
|
+
es.close();
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
exports.notificationServiceFactory = notificationServiceFactory;
|
|
37
|
+
//# sourceMappingURL=notification.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notification.js","sources":["../../src/services/notification.ts"],"sourcesContent":["import EventSource from 'eventsource';\nimport type { CLIContext, CloudCliConfig } from '../types';\n\ntype Event = {\n type: string;\n data: string;\n lastEventId: string;\n origin: string;\n};\n\nexport function notificationServiceFactory({ logger }: CLIContext) {\n return (url: string, token: string, cliConfig: CloudCliConfig) => {\n const CONN_TIMEOUT = Number(cliConfig.notificationsConnectionTimeout);\n\n const es = new EventSource(url, {\n headers: {\n Authorization: `Bearer ${token}`,\n },\n });\n let timeoutId: NodeJS.Timeout;\n\n const resetTimeout = () => {\n clearTimeout(timeoutId);\n timeoutId = setTimeout(() => {\n logger.log(\n 'We were unable to connect to the server at this time. This could be due to a temporary issue. Please try again in a moment.'\n );\n es.close();\n }, CONN_TIMEOUT); // 5 minutes\n };\n\n es.onopen = resetTimeout;\n es.onmessage = (event: Event) => {\n resetTimeout();\n const data = JSON.parse(event.data);\n\n if (data.message) {\n logger.log(data.message);\n }\n\n // Close connection when a specific event is received\n if (data.event === 'deploymentFinished' || data.event === 'deploymentFailed') {\n es.close();\n }\n };\n };\n}\n"],"names":["notificationServiceFactory","logger","url","token","cliConfig","CONN_TIMEOUT","Number","notificationsConnectionTimeout","es","EventSource","headers","Authorization","timeoutId","resetTimeout","clearTimeout","setTimeout","log","close","onopen","onmessage","event","data","JSON","parse","message"],"mappings":";;;;AAUO,SAASA,0BAAAA,CAA2B,EAAEC,MAAM,EAAc,EAAA;IAC/D,OAAO,CAACC,KAAaC,KAAeC,EAAAA,SAAAA,GAAAA;QAClC,MAAMC,YAAAA,GAAeC,MAAOF,CAAAA,SAAAA,CAAUG,8BAA8B,CAAA;QAEpE,MAAMC,EAAAA,GAAK,IAAIC,WAAAA,CAAYP,GAAK,EAAA;YAC9BQ,OAAS,EAAA;AACPC,gBAAAA,aAAAA,EAAe,CAAC,OAAO,EAAER,KAAAA,CAAM;AACjC;AACF,SAAA,CAAA;QACA,IAAIS,SAAAA;AAEJ,QAAA,MAAMC,YAAe,GAAA,IAAA;YACnBC,YAAaF,CAAAA,SAAAA,CAAAA;AACbA,YAAAA,SAAAA,GAAYG,UAAW,CAAA,IAAA;AACrBd,gBAAAA,MAAAA,CAAOe,GAAG,CACR,6HAAA,CAAA;AAEFR,gBAAAA,EAAAA,CAAGS,KAAK,EAAA;AACV,aAAA,EAAGZ;AACL,SAAA;AAEAG,QAAAA,EAAAA,CAAGU,MAAM,GAAGL,YAAAA;QACZL,EAAGW,CAAAA,SAAS,GAAG,CAACC,KAAAA,GAAAA;AACdP,YAAAA,YAAAA,EAAAA;AACA,YAAA,MAAMQ,IAAOC,GAAAA,IAAAA,CAAKC,KAAK,CAACH,MAAMC,IAAI,CAAA;YAElC,IAAIA,IAAAA,CAAKG,OAAO,EAAE;gBAChBvB,MAAOe,CAAAA,GAAG,CAACK,IAAAA,CAAKG,OAAO,CAAA;AACzB;;AAGA,YAAA,IAAIH,KAAKD,KAAK,KAAK,wBAAwBC,IAAKD,CAAAA,KAAK,KAAK,kBAAoB,EAAA;AAC5EZ,gBAAAA,EAAAA,CAAGS,KAAK,EAAA;AACV;AACF,SAAA;AACF,KAAA;AACF;;;;"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import EventSource from 'eventsource';
|
|
2
|
+
|
|
3
|
+
function notificationServiceFactory({ logger }) {
|
|
4
|
+
return (url, token, cliConfig)=>{
|
|
5
|
+
const CONN_TIMEOUT = Number(cliConfig.notificationsConnectionTimeout);
|
|
6
|
+
const es = new EventSource(url, {
|
|
7
|
+
headers: {
|
|
8
|
+
Authorization: `Bearer ${token}`
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
let timeoutId;
|
|
12
|
+
const resetTimeout = ()=>{
|
|
13
|
+
clearTimeout(timeoutId);
|
|
14
|
+
timeoutId = setTimeout(()=>{
|
|
15
|
+
logger.log('We were unable to connect to the server at this time. This could be due to a temporary issue. Please try again in a moment.');
|
|
16
|
+
es.close();
|
|
17
|
+
}, CONN_TIMEOUT); // 5 minutes
|
|
18
|
+
};
|
|
19
|
+
es.onopen = resetTimeout;
|
|
20
|
+
es.onmessage = (event)=>{
|
|
21
|
+
resetTimeout();
|
|
22
|
+
const data = JSON.parse(event.data);
|
|
23
|
+
if (data.message) {
|
|
24
|
+
logger.log(data.message);
|
|
25
|
+
}
|
|
26
|
+
// Close connection when a specific event is received
|
|
27
|
+
if (data.event === 'deploymentFinished' || data.event === 'deploymentFailed') {
|
|
28
|
+
es.close();
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export { notificationServiceFactory };
|
|
35
|
+
//# sourceMappingURL=notification.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notification.mjs","sources":["../../src/services/notification.ts"],"sourcesContent":["import EventSource from 'eventsource';\nimport type { CLIContext, CloudCliConfig } from '../types';\n\ntype Event = {\n type: string;\n data: string;\n lastEventId: string;\n origin: string;\n};\n\nexport function notificationServiceFactory({ logger }: CLIContext) {\n return (url: string, token: string, cliConfig: CloudCliConfig) => {\n const CONN_TIMEOUT = Number(cliConfig.notificationsConnectionTimeout);\n\n const es = new EventSource(url, {\n headers: {\n Authorization: `Bearer ${token}`,\n },\n });\n let timeoutId: NodeJS.Timeout;\n\n const resetTimeout = () => {\n clearTimeout(timeoutId);\n timeoutId = setTimeout(() => {\n logger.log(\n 'We were unable to connect to the server at this time. This could be due to a temporary issue. Please try again in a moment.'\n );\n es.close();\n }, CONN_TIMEOUT); // 5 minutes\n };\n\n es.onopen = resetTimeout;\n es.onmessage = (event: Event) => {\n resetTimeout();\n const data = JSON.parse(event.data);\n\n if (data.message) {\n logger.log(data.message);\n }\n\n // Close connection when a specific event is received\n if (data.event === 'deploymentFinished' || data.event === 'deploymentFailed') {\n es.close();\n }\n };\n };\n}\n"],"names":["notificationServiceFactory","logger","url","token","cliConfig","CONN_TIMEOUT","Number","notificationsConnectionTimeout","es","EventSource","headers","Authorization","timeoutId","resetTimeout","clearTimeout","setTimeout","log","close","onopen","onmessage","event","data","JSON","parse","message"],"mappings":";;AAUO,SAASA,0BAAAA,CAA2B,EAAEC,MAAM,EAAc,EAAA;IAC/D,OAAO,CAACC,KAAaC,KAAeC,EAAAA,SAAAA,GAAAA;QAClC,MAAMC,YAAAA,GAAeC,MAAOF,CAAAA,SAAAA,CAAUG,8BAA8B,CAAA;QAEpE,MAAMC,EAAAA,GAAK,IAAIC,WAAAA,CAAYP,GAAK,EAAA;YAC9BQ,OAAS,EAAA;AACPC,gBAAAA,aAAAA,EAAe,CAAC,OAAO,EAAER,KAAAA,CAAM;AACjC;AACF,SAAA,CAAA;QACA,IAAIS,SAAAA;AAEJ,QAAA,MAAMC,YAAe,GAAA,IAAA;YACnBC,YAAaF,CAAAA,SAAAA,CAAAA;AACbA,YAAAA,SAAAA,GAAYG,UAAW,CAAA,IAAA;AACrBd,gBAAAA,MAAAA,CAAOe,GAAG,CACR,6HAAA,CAAA;AAEFR,gBAAAA,EAAAA,CAAGS,KAAK,EAAA;AACV,aAAA,EAAGZ;AACL,SAAA;AAEAG,QAAAA,EAAAA,CAAGU,MAAM,GAAGL,YAAAA;QACZL,EAAGW,CAAAA,SAAS,GAAG,CAACC,KAAAA,GAAAA;AACdP,YAAAA,YAAAA,EAAAA;AACA,YAAA,MAAMQ,IAAOC,GAAAA,IAAAA,CAAKC,KAAK,CAACH,MAAMC,IAAI,CAAA;YAElC,IAAIA,IAAAA,CAAKG,OAAO,EAAE;gBAChBvB,MAAOe,CAAAA,GAAG,CAACK,IAAAA,CAAKG,OAAO,CAAA;AACzB;;AAGA,YAAA,IAAIH,KAAKD,KAAK,KAAK,wBAAwBC,IAAKD,CAAAA,KAAK,KAAK,kBAAoB,EAAA;AAC5EZ,gBAAAA,EAAAA,CAAGS,KAAK,EAAA;AACV;AACF,SAAA;AACF,KAAA;AACF;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strapi-info-save.d.ts","sourceRoot":"","sources":["../../src/services/strapi-info-save.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,eAAO,MAAM,mBAAmB,uBAAuB,CAAC;AAExD,MAAM,MAAM,SAAS,GAAG;IACtB,OAAO,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;CACnC,CAAC;AAGF,KAAK,WAAW,CAAC,CAAC,IAAI;KACnB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAChE,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;CAChD,CAAC;AAKF,wBAAsB,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,aAAa,EAAE,GAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAO,iBAK7F;AAED,wBAAsB,QAAQ,CAAC,EAC7B,aAAa,GACd,GAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAOtD;AAED,wBAAsB,KAAK,CACzB,SAAS,EAAE,UAAU,EACrB,EAAE,aAAa,EAAE,GAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAO,iBASnD;AAED,wBAAsB,YAAY,CAAC,EAAE,aAAa,EAAE,GAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAO,iBAMpF"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var fse = require('fs-extra');
|
|
4
|
+
var path = require('path');
|
|
5
|
+
var lodash = require('lodash');
|
|
6
|
+
|
|
7
|
+
const LOCAL_SAVE_FILENAME = '.strapi-cloud.json';
|
|
8
|
+
const getFilePath = (directoryPath)=>path.join(directoryPath || process.cwd(), LOCAL_SAVE_FILENAME);
|
|
9
|
+
async function save(data, { directoryPath } = {}) {
|
|
10
|
+
const pathToFile = getFilePath(directoryPath);
|
|
11
|
+
// Ensure the directory exists and creates it if not
|
|
12
|
+
await fse.ensureDir(path.dirname(pathToFile));
|
|
13
|
+
await fse.writeJson(pathToFile, data, {
|
|
14
|
+
encoding: 'utf8'
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
async function retrieve({ directoryPath } = {}) {
|
|
18
|
+
const pathToFile = getFilePath(directoryPath);
|
|
19
|
+
const pathExists = await fse.pathExists(pathToFile);
|
|
20
|
+
if (!pathExists) {
|
|
21
|
+
return {};
|
|
22
|
+
}
|
|
23
|
+
return fse.readJSON(pathToFile, {
|
|
24
|
+
encoding: 'utf8'
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
async function patch(patchData, { directoryPath } = {}) {
|
|
28
|
+
const pathToFile = getFilePath(directoryPath);
|
|
29
|
+
const existingData = await retrieve({
|
|
30
|
+
directoryPath
|
|
31
|
+
});
|
|
32
|
+
if (!existingData) {
|
|
33
|
+
throw new Error('No configuration data found to patch.');
|
|
34
|
+
}
|
|
35
|
+
const newData = lodash.merge(existingData, patchData);
|
|
36
|
+
await fse.writeJson(pathToFile, newData, {
|
|
37
|
+
encoding: 'utf8'
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
async function deleteConfig({ directoryPath } = {}) {
|
|
41
|
+
const pathToFile = getFilePath(directoryPath);
|
|
42
|
+
const pathExists = await fse.pathExists(pathToFile);
|
|
43
|
+
if (pathExists) {
|
|
44
|
+
await fse.remove(pathToFile);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
exports.LOCAL_SAVE_FILENAME = LOCAL_SAVE_FILENAME;
|
|
49
|
+
exports.deleteConfig = deleteConfig;
|
|
50
|
+
exports.patch = patch;
|
|
51
|
+
exports.retrieve = retrieve;
|
|
52
|
+
exports.save = save;
|
|
53
|
+
//# sourceMappingURL=strapi-info-save.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strapi-info-save.js","sources":["../../src/services/strapi-info-save.ts"],"sourcesContent":["import fse from 'fs-extra';\nimport path from 'path';\nimport { merge } from 'lodash';\nimport type { ProjectInfo } from './cli-api';\n\nexport const LOCAL_SAVE_FILENAME = '.strapi-cloud.json';\n\nexport type LocalSave = {\n project?: Omit<ProjectInfo, 'id'>;\n};\n\n// Utility type for making all properties optional recursively\ntype DeepPartial<T> = {\n [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];\n};\n\nexport type LocalPatch = {\n project?: DeepPartial<Omit<ProjectInfo, 'id'>>;\n};\n\nconst getFilePath = (directoryPath?: string): string =>\n path.join(directoryPath || process.cwd(), LOCAL_SAVE_FILENAME);\n\nexport async function save(data: LocalSave, { directoryPath }: { directoryPath?: string } = {}) {\n const pathToFile = getFilePath(directoryPath);\n // Ensure the directory exists and creates it if not\n await fse.ensureDir(path.dirname(pathToFile));\n await fse.writeJson(pathToFile, data, { encoding: 'utf8' });\n}\n\nexport async function retrieve({\n directoryPath,\n}: { directoryPath?: string } = {}): Promise<LocalSave> {\n const pathToFile = getFilePath(directoryPath);\n const pathExists = await fse.pathExists(pathToFile);\n if (!pathExists) {\n return {};\n }\n return fse.readJSON(pathToFile, { encoding: 'utf8' });\n}\n\nexport async function patch(\n patchData: LocalPatch,\n { directoryPath }: { directoryPath?: string } = {}\n) {\n const pathToFile = getFilePath(directoryPath);\n const existingData = await retrieve({ directoryPath });\n if (!existingData) {\n throw new Error('No configuration data found to patch.');\n }\n const newData = merge(existingData, patchData);\n await fse.writeJson(pathToFile, newData, { encoding: 'utf8' });\n}\n\nexport async function deleteConfig({ directoryPath }: { directoryPath?: string } = {}) {\n const pathToFile = getFilePath(directoryPath);\n const pathExists = await fse.pathExists(pathToFile);\n if (pathExists) {\n await fse.remove(pathToFile);\n }\n}\n"],"names":["LOCAL_SAVE_FILENAME","getFilePath","directoryPath","path","join","process","cwd","save","data","pathToFile","fse","ensureDir","dirname","writeJson","encoding","retrieve","pathExists","readJSON","patch","patchData","existingData","Error","newData","merge","deleteConfig","remove"],"mappings":";;;;;;AAKO,MAAMA,sBAAsB;AAenC,MAAMC,WAAAA,GAAc,CAACC,aACnBC,GAAAA,IAAAA,CAAKC,IAAI,CAACF,aAAAA,IAAiBG,OAAQC,CAAAA,GAAG,EAAIN,EAAAA,mBAAAA,CAAAA;AAErC,eAAeO,KAAKC,IAAe,EAAE,EAAEN,aAAa,EAA8B,GAAG,EAAE,EAAA;AAC5F,IAAA,MAAMO,aAAaR,WAAYC,CAAAA,aAAAA,CAAAA;;AAE/B,IAAA,MAAMQ,GAAIC,CAAAA,SAAS,CAACR,IAAAA,CAAKS,OAAO,CAACH,UAAAA,CAAAA,CAAAA;AACjC,IAAA,MAAMC,GAAIG,CAAAA,SAAS,CAACJ,UAAAA,EAAYD,IAAM,EAAA;QAAEM,QAAU,EAAA;AAAO,KAAA,CAAA;AAC3D;AAEO,eAAeC,QAAS,CAAA,EAC7Bb,aAAa,EACc,GAAG,EAAE,EAAA;AAChC,IAAA,MAAMO,aAAaR,WAAYC,CAAAA,aAAAA,CAAAA;AAC/B,IAAA,MAAMc,UAAa,GAAA,MAAMN,GAAIM,CAAAA,UAAU,CAACP,UAAAA,CAAAA;AACxC,IAAA,IAAI,CAACO,UAAY,EAAA;AACf,QAAA,OAAO,EAAC;AACV;IACA,OAAON,GAAAA,CAAIO,QAAQ,CAACR,UAAY,EAAA;QAAEK,QAAU,EAAA;AAAO,KAAA,CAAA;AACrD;AAEO,eAAeI,MACpBC,SAAqB,EACrB,EAAEjB,aAAa,EAA8B,GAAG,EAAE,EAAA;AAElD,IAAA,MAAMO,aAAaR,WAAYC,CAAAA,aAAAA,CAAAA;IAC/B,MAAMkB,YAAAA,GAAe,MAAML,QAAS,CAAA;AAAEb,QAAAA;AAAc,KAAA,CAAA;AACpD,IAAA,IAAI,CAACkB,YAAc,EAAA;AACjB,QAAA,MAAM,IAAIC,KAAM,CAAA,uCAAA,CAAA;AAClB;IACA,MAAMC,OAAAA,GAAUC,aAAMH,YAAcD,EAAAA,SAAAA,CAAAA;AACpC,IAAA,MAAMT,GAAIG,CAAAA,SAAS,CAACJ,UAAAA,EAAYa,OAAS,EAAA;QAAER,QAAU,EAAA;AAAO,KAAA,CAAA;AAC9D;AAEO,eAAeU,YAAa,CAAA,EAAEtB,aAAa,EAA8B,GAAG,EAAE,EAAA;AACnF,IAAA,MAAMO,aAAaR,WAAYC,CAAAA,aAAAA,CAAAA;AAC/B,IAAA,MAAMc,UAAa,GAAA,MAAMN,GAAIM,CAAAA,UAAU,CAACP,UAAAA,CAAAA;AACxC,IAAA,IAAIO,UAAY,EAAA;QACd,MAAMN,GAAAA,CAAIe,MAAM,CAAChB,UAAAA,CAAAA;AACnB;AACF;;;;;;;;"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import fse__default from 'fs-extra';
|
|
2
|
+
import path__default from 'path';
|
|
3
|
+
import { merge } from 'lodash';
|
|
4
|
+
|
|
5
|
+
const LOCAL_SAVE_FILENAME = '.strapi-cloud.json';
|
|
6
|
+
const getFilePath = (directoryPath)=>path__default.join(directoryPath || process.cwd(), LOCAL_SAVE_FILENAME);
|
|
7
|
+
async function save(data, { directoryPath } = {}) {
|
|
8
|
+
const pathToFile = getFilePath(directoryPath);
|
|
9
|
+
// Ensure the directory exists and creates it if not
|
|
10
|
+
await fse__default.ensureDir(path__default.dirname(pathToFile));
|
|
11
|
+
await fse__default.writeJson(pathToFile, data, {
|
|
12
|
+
encoding: 'utf8'
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
async function retrieve({ directoryPath } = {}) {
|
|
16
|
+
const pathToFile = getFilePath(directoryPath);
|
|
17
|
+
const pathExists = await fse__default.pathExists(pathToFile);
|
|
18
|
+
if (!pathExists) {
|
|
19
|
+
return {};
|
|
20
|
+
}
|
|
21
|
+
return fse__default.readJSON(pathToFile, {
|
|
22
|
+
encoding: 'utf8'
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
async function patch(patchData, { directoryPath } = {}) {
|
|
26
|
+
const pathToFile = getFilePath(directoryPath);
|
|
27
|
+
const existingData = await retrieve({
|
|
28
|
+
directoryPath
|
|
29
|
+
});
|
|
30
|
+
if (!existingData) {
|
|
31
|
+
throw new Error('No configuration data found to patch.');
|
|
32
|
+
}
|
|
33
|
+
const newData = merge(existingData, patchData);
|
|
34
|
+
await fse__default.writeJson(pathToFile, newData, {
|
|
35
|
+
encoding: 'utf8'
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
async function deleteConfig({ directoryPath } = {}) {
|
|
39
|
+
const pathToFile = getFilePath(directoryPath);
|
|
40
|
+
const pathExists = await fse__default.pathExists(pathToFile);
|
|
41
|
+
if (pathExists) {
|
|
42
|
+
await fse__default.remove(pathToFile);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export { LOCAL_SAVE_FILENAME, deleteConfig, patch, retrieve, save };
|
|
47
|
+
//# sourceMappingURL=strapi-info-save.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strapi-info-save.mjs","sources":["../../src/services/strapi-info-save.ts"],"sourcesContent":["import fse from 'fs-extra';\nimport path from 'path';\nimport { merge } from 'lodash';\nimport type { ProjectInfo } from './cli-api';\n\nexport const LOCAL_SAVE_FILENAME = '.strapi-cloud.json';\n\nexport type LocalSave = {\n project?: Omit<ProjectInfo, 'id'>;\n};\n\n// Utility type for making all properties optional recursively\ntype DeepPartial<T> = {\n [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];\n};\n\nexport type LocalPatch = {\n project?: DeepPartial<Omit<ProjectInfo, 'id'>>;\n};\n\nconst getFilePath = (directoryPath?: string): string =>\n path.join(directoryPath || process.cwd(), LOCAL_SAVE_FILENAME);\n\nexport async function save(data: LocalSave, { directoryPath }: { directoryPath?: string } = {}) {\n const pathToFile = getFilePath(directoryPath);\n // Ensure the directory exists and creates it if not\n await fse.ensureDir(path.dirname(pathToFile));\n await fse.writeJson(pathToFile, data, { encoding: 'utf8' });\n}\n\nexport async function retrieve({\n directoryPath,\n}: { directoryPath?: string } = {}): Promise<LocalSave> {\n const pathToFile = getFilePath(directoryPath);\n const pathExists = await fse.pathExists(pathToFile);\n if (!pathExists) {\n return {};\n }\n return fse.readJSON(pathToFile, { encoding: 'utf8' });\n}\n\nexport async function patch(\n patchData: LocalPatch,\n { directoryPath }: { directoryPath?: string } = {}\n) {\n const pathToFile = getFilePath(directoryPath);\n const existingData = await retrieve({ directoryPath });\n if (!existingData) {\n throw new Error('No configuration data found to patch.');\n }\n const newData = merge(existingData, patchData);\n await fse.writeJson(pathToFile, newData, { encoding: 'utf8' });\n}\n\nexport async function deleteConfig({ directoryPath }: { directoryPath?: string } = {}) {\n const pathToFile = getFilePath(directoryPath);\n const pathExists = await fse.pathExists(pathToFile);\n if (pathExists) {\n await fse.remove(pathToFile);\n }\n}\n"],"names":["LOCAL_SAVE_FILENAME","getFilePath","directoryPath","path","join","process","cwd","save","data","pathToFile","fse","ensureDir","dirname","writeJson","encoding","retrieve","pathExists","readJSON","patch","patchData","existingData","Error","newData","merge","deleteConfig","remove"],"mappings":";;;;AAKO,MAAMA,sBAAsB;AAenC,MAAMC,WAAAA,GAAc,CAACC,aACnBC,GAAAA,aAAAA,CAAKC,IAAI,CAACF,aAAAA,IAAiBG,OAAQC,CAAAA,GAAG,EAAIN,EAAAA,mBAAAA,CAAAA;AAErC,eAAeO,KAAKC,IAAe,EAAE,EAAEN,aAAa,EAA8B,GAAG,EAAE,EAAA;AAC5F,IAAA,MAAMO,aAAaR,WAAYC,CAAAA,aAAAA,CAAAA;;AAE/B,IAAA,MAAMQ,YAAIC,CAAAA,SAAS,CAACR,aAAAA,CAAKS,OAAO,CAACH,UAAAA,CAAAA,CAAAA;AACjC,IAAA,MAAMC,YAAIG,CAAAA,SAAS,CAACJ,UAAAA,EAAYD,IAAM,EAAA;QAAEM,QAAU,EAAA;AAAO,KAAA,CAAA;AAC3D;AAEO,eAAeC,QAAS,CAAA,EAC7Bb,aAAa,EACc,GAAG,EAAE,EAAA;AAChC,IAAA,MAAMO,aAAaR,WAAYC,CAAAA,aAAAA,CAAAA;AAC/B,IAAA,MAAMc,UAAa,GAAA,MAAMN,YAAIM,CAAAA,UAAU,CAACP,UAAAA,CAAAA;AACxC,IAAA,IAAI,CAACO,UAAY,EAAA;AACf,QAAA,OAAO,EAAC;AACV;IACA,OAAON,YAAAA,CAAIO,QAAQ,CAACR,UAAY,EAAA;QAAEK,QAAU,EAAA;AAAO,KAAA,CAAA;AACrD;AAEO,eAAeI,MACpBC,SAAqB,EACrB,EAAEjB,aAAa,EAA8B,GAAG,EAAE,EAAA;AAElD,IAAA,MAAMO,aAAaR,WAAYC,CAAAA,aAAAA,CAAAA;IAC/B,MAAMkB,YAAAA,GAAe,MAAML,QAAS,CAAA;AAAEb,QAAAA;AAAc,KAAA,CAAA;AACpD,IAAA,IAAI,CAACkB,YAAc,EAAA;AACjB,QAAA,MAAM,IAAIC,KAAM,CAAA,uCAAA,CAAA;AAClB;IACA,MAAMC,OAAAA,GAAUC,MAAMH,YAAcD,EAAAA,SAAAA,CAAAA;AACpC,IAAA,MAAMT,YAAIG,CAAAA,SAAS,CAACJ,UAAAA,EAAYa,OAAS,EAAA;QAAER,QAAU,EAAA;AAAO,KAAA,CAAA;AAC9D;AAEO,eAAeU,YAAa,CAAA,EAAEtB,aAAa,EAA8B,GAAG,EAAE,EAAA;AACnF,IAAA,MAAMO,aAAaR,WAAYC,CAAAA,aAAAA,CAAAA;AAC/B,IAAA,MAAMc,UAAa,GAAA,MAAMN,YAAIM,CAAAA,UAAU,CAACP,UAAAA,CAAAA;AACxC,IAAA,IAAIO,UAAY,EAAA;QACd,MAAMN,YAAAA,CAAIe,MAAM,CAAChB,UAAAA,CAAAA;AACnB;AACF;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../src/services/token.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAkB,UAAU,EAAE,MAAM,UAAU,CAAC;AAS3D,wBAAsB,mBAAmB,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAA;CAAE;qBAGtD,MAAM;;6BA6BE,MAAM,WAAW,MAAM,KAAG,QAAQ,IAAI,CAAC;0BA6C1C,MAAM;;yBAoClC,UAAU,eACF,CAAC,GAAG,EAAE,UAAU,KAAK,QAAQ,OAAO,CAAC;GAyBrD"}
|