@teambit/cloud 0.0.446 → 0.0.449
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/artifacts/__bit_junit.xml +1 -1
- package/artifacts/schema.json +1 -1
- package/cloud.ui.runtime.tsx +2 -2
- package/dist/cloud.main.runtime.js +7 -9
- package/dist/cloud.main.runtime.js.map +1 -1
- package/dist/cloud.ui.runtime.js +3 -3
- package/dist/cloud.ui.runtime.js.map +1 -1
- package/package.json +8 -8
- /package/dist/{preview-1708398980457.js → preview-1708466611462.js} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
2
|
<testsuites tests="0" failures="0" errors="0" skipped="0">
|
|
3
|
-
<testsuite name="teambit.cloud/cloud@0.0.
|
|
3
|
+
<testsuite name="teambit.cloud/cloud@0.0.449" tests="0" failures="0" errors="0" skipped="0"/>
|
|
4
4
|
</testsuites>
|
package/artifacts/schema.json
CHANGED
package/cloud.ui.runtime.tsx
CHANGED
|
@@ -5,8 +5,8 @@ import { SubMenu } from '@teambit/design.controls.menu';
|
|
|
5
5
|
// import { useThemePicker, useNextTheme } from '@teambit/base-react.themes.theme-switcher';
|
|
6
6
|
import { Slot } from '@teambit/harmony';
|
|
7
7
|
import { UserBar, UserBarItem, UserBarItemSlot, UserBarSection, UserBarSectionSlot } from '@teambit/cloud.ui.user-bar';
|
|
8
|
-
import LanesAspect,
|
|
9
|
-
import WorkspaceAspect,
|
|
8
|
+
import { LanesAspect, LanesUI } from '@teambit/lanes';
|
|
9
|
+
import { WorkspaceAspect, WorkspaceUI } from '@teambit/workspace';
|
|
10
10
|
import { ComponentAspect, ComponentUI } from '@teambit/component';
|
|
11
11
|
import { CloudAspect } from './cloud.aspect';
|
|
12
12
|
|
|
@@ -12,7 +12,7 @@ function _harmony() {
|
|
|
12
12
|
return data;
|
|
13
13
|
}
|
|
14
14
|
function _cli() {
|
|
15
|
-
const data =
|
|
15
|
+
const data = require("@teambit/cli");
|
|
16
16
|
_cli = function () {
|
|
17
17
|
return data;
|
|
18
18
|
};
|
|
@@ -75,7 +75,7 @@ function _constants() {
|
|
|
75
75
|
return data;
|
|
76
76
|
}
|
|
77
77
|
function _scope() {
|
|
78
|
-
const data =
|
|
78
|
+
const data = require("@teambit/scope");
|
|
79
79
|
_scope = function () {
|
|
80
80
|
return data;
|
|
81
81
|
};
|
|
@@ -89,14 +89,14 @@ function _globalFlags() {
|
|
|
89
89
|
return data;
|
|
90
90
|
}
|
|
91
91
|
function _graphql() {
|
|
92
|
-
const data =
|
|
92
|
+
const data = require("@teambit/graphql");
|
|
93
93
|
_graphql = function () {
|
|
94
94
|
return data;
|
|
95
95
|
};
|
|
96
96
|
return data;
|
|
97
97
|
}
|
|
98
98
|
function _workspace() {
|
|
99
|
-
const data =
|
|
99
|
+
const data = require("@teambit/workspace");
|
|
100
100
|
_workspace = function () {
|
|
101
101
|
return data;
|
|
102
102
|
};
|
|
@@ -110,7 +110,7 @@ function _express() {
|
|
|
110
110
|
return data;
|
|
111
111
|
}
|
|
112
112
|
function _globalConfig() {
|
|
113
|
-
const data =
|
|
113
|
+
const data = require("@teambit/global-config");
|
|
114
114
|
_globalConfig = function () {
|
|
115
115
|
return data;
|
|
116
116
|
};
|
|
@@ -124,7 +124,7 @@ function _child_process() {
|
|
|
124
124
|
return data;
|
|
125
125
|
}
|
|
126
126
|
function _ui() {
|
|
127
|
-
const data =
|
|
127
|
+
const data = require("@teambit/ui");
|
|
128
128
|
_ui = function () {
|
|
129
129
|
return data;
|
|
130
130
|
};
|
|
@@ -174,8 +174,6 @@ function _npmrc() {
|
|
|
174
174
|
}
|
|
175
175
|
var _CloudMain;
|
|
176
176
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
177
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
178
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
179
177
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
180
178
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
181
179
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
@@ -636,7 +634,7 @@ _defineProperty(CloudMain, "GET_USER_ORGANIZATIONS", `
|
|
|
636
634
|
`);
|
|
637
635
|
_defineProperty(CloudMain, "PRESET_ORGS", ['bitdev', 'teambit', 'bitdesign', 'frontend', 'backend']);
|
|
638
636
|
_defineProperty(CloudMain, "slots", [_harmony().Slot.withType()]);
|
|
639
|
-
_defineProperty(CloudMain, "dependencies", [_logger().LoggerAspect, _graphql().
|
|
637
|
+
_defineProperty(CloudMain, "dependencies", [_logger().LoggerAspect, _graphql().GraphqlAspect, _express().ExpressAspect, _workspace().WorkspaceAspect, _scope().ScopeAspect, _globalConfig().GlobalConfigAspect, _cli().CLIAspect, _ui().UIAspect]);
|
|
640
638
|
_defineProperty(CloudMain, "runtime", _cli().MainRuntime);
|
|
641
639
|
_defineProperty(CloudMain, "defaultConfig", {
|
|
642
640
|
cloudDomain: (0, _constants().getCloudDomain)(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_harmony","data","require","_cli","_interopRequireWildcard","_uuid","_chalk","_interopRequireDefault","_os","_open","_scopes","_scopes2","_logger","_constants","_scope","_globalFlags","_graphql","_workspace","_express","_globalConfig","_child_process","_ui","_cloud","_cloud2","_login","_logout","_whoami","_npmrc","_CloudMain","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","key","value","_toPropertyKey","configurable","writable","_toPrimitive","String","Symbol","toPrimitive","TypeError","Number","CloudMain","constructor","config","logger","express","workspace","scope","globalConfig","onSuccessLoginSlot","Map","getNpmConfig","output","execSync","encoding","JSON","parse","error","Error","generateNpmrc","dryRun","force","authToken","getAuthToken","username","getUsername","updateNpmConfig","detectConfigConflicts","newConfigs","registryDomain","existingConfigs","conflicts","split","line","newValue","trimmedKey","trim","existingValue","isRegistryConflict","includes","original","modifications","orgs","getUserOrganizations","orgNames","map","org","name","allOrgs","Array","from","Set","PRESET_ORGS","sort","registryUrlStr","getRegistryUrl","registryUrl","URL","scopeConfig","join","authConfig","host","configUpdates","getCloudDomain","configToUpdate","replace","stdio","setupAuthListener","port","portFromParams","clientId","v4","Promise","resolve","reject","getLoginPort","existingAuthListener","authListenerByPort","debug","expressApp","createApp","authServer","listen","existing","server","on","err","code","warn","then","catch","req","res","query","clientIdFromReq","redirectUri","usernameFromReq","undefined","token","isArray","status","send","setSync","CFG_USER_TOKEN_KEY","CFG_USER_NAME_KEY","onLoggedInFns","values","fn","npmrcUpdateResult","toString","REDIRECT_URL","redirect","ERROR_RESPONSE","registerOnSuccessLogin","onSuccessLoginFn","register","cloudDomain","getCloudHubDomain","cloudHubDomain","getCloudApi","cloudApi","getCloudGraphQL","cloudGraphQL","getLoginDomain","loginDomain","getAnalyticsDomain","analyticsDomain","getCloudExporterUrl","cloudExporterUrl","getHubName","cloudHubName","loginPort","DEFAULT_PORT","isLoggedIn","Boolean","invalidateCache","processToken","globalFlags","getSync","getAuthHeader","Authorization","getLoginUrl","redirectUrl","machineName","loginUrl","authListenerForPort","os","hostname","process","platform","authListener","encodeURI","logout","delSync","whoami","currentUser","getCurrentUser","login","suppressBrowserLaunch","isAlreadyLoggedIn","promptLogin","loggedInParams","console","log","chalk","yellow","open","getCloudScopes","scopes","remotes","_legacyRemotes","filteredScopesToFetch","ScopeID","isValid","isHub","queryResponse","fetchFromSymphonyViaGQL","GET_SCOPES","ids","scopesFromQuery","getScopes","scopeDescriptorObj","id","fromString","ScopeDescriptor","fromObject","GET_CURRENT_USER","response","displayName","me","profileImage","image","GET_USER_ORGANIZATIONS","variables","graphqlUrl","GRAPHQL_ENDPOINT","body","stringify","headers","fetch","method","ok","json","provider","loggerMain","graphql","cli","ui","createLogger","CloudAspect","cloudMain","loginCmd","LoginCmd","logoutCmd","LogoutCmd","whoamiCmd","WhoamiCmd","npmrcGenerateCmd","NpmrcGenerateCmd","npmrc","NpmrcCmd","commands","cloudSchema","registerOnStart","exports","Slot","withType","LoggerAspect","GraphqlAspect","ExpressAspect","WorkspaceAspect","ScopeAspect","GlobalConfigAspect","CLIAspect","UIAspect","MainRuntime","DEFAULT_HUB_DOMAIN","getSymphonyUrl","SYMPHONY_GRAPHQL","DEFAULT_ANALYTICS_DOMAIN","DEFAULT_REGISTRY_URL","CENTRAL_BIT_HUB_URL","CENTRAL_BIT_HUB_NAME","addRuntime"],"sources":["cloud.main.runtime.ts"],"sourcesContent":["import { Slot, SlotRegistry } from '@teambit/harmony';\nimport CLIAspect, { CLIMain, MainRuntime } from '@teambit/cli';\nimport { v4 } from 'uuid';\nimport chalk from 'chalk';\nimport os from 'os';\nimport open from 'open';\nimport * as http from 'http';\nimport { Express } from 'express';\nimport { GetScopesGQLResponse } from '@teambit/cloud.models.cloud-scope';\nimport { CloudUser, CloudUserAPIResponse } from '@teambit/cloud.models.cloud-user';\nimport { ScopeDescriptor } from '@teambit/scopes.scope-descriptor';\nimport { ScopeID } from '@teambit/scopes.scope-id';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport {\n getCloudDomain,\n DEFAULT_HUB_DOMAIN,\n getSymphonyUrl,\n SYMPHONY_GRAPHQL,\n getLoginUrl,\n DEFAULT_ANALYTICS_DOMAIN,\n DEFAULT_REGISTRY_URL,\n CENTRAL_BIT_HUB_URL,\n CENTRAL_BIT_HUB_NAME,\n CFG_USER_TOKEN_KEY,\n CFG_USER_NAME_KEY,\n} from '@teambit/legacy/dist/constants';\nimport ScopeAspect, { ScopeMain } from '@teambit/scope';\nimport globalFlags from '@teambit/legacy/dist/cli/global-flags';\nimport GraphqlAspect, { GraphqlMain } from '@teambit/graphql';\nimport WorkspaceAspect, { Workspace } from '@teambit/workspace';\nimport { ExpressAspect, ExpressMain } from '@teambit/express';\nimport GlobalConfigAspect, { GlobalConfigMain } from '@teambit/global-config';\nimport { execSync } from 'child_process';\nimport UIAspect, { UiMain } from '@teambit/ui';\nimport { cloudSchema } from './cloud.graphql';\nimport { CloudAspect } from './cloud.aspect';\nimport { LoginCmd } from './login.cmd';\nimport { LogoutCmd } from './logout.cmd';\nimport { WhoamiCmd } from './whoami.cmd';\nimport { NpmrcCmd, NpmrcGenerateCmd } from './npmrc.cmd';\n\nexport interface CloudWorkspaceConfig {\n cloudDomain: string;\n cloudHubDomain: string;\n cloudApi: string;\n cloudGraphQL: string;\n loginDomain: string;\n analyticsDomain: string;\n registryUrl: string;\n cloudExporterUrl: string;\n cloudHubName: string;\n loginPort?: number;\n}\n\ntype CloudAuthListener = {\n port: number;\n server?: http.Server;\n username?: string | null;\n clientId?: string;\n expressApp?: Express | null;\n};\n\ntype CloudOrganization = {\n id: string;\n name: string;\n};\n\ntype CloudOrganizationAPIResponse = {\n data: {\n getUserOrganizations: CloudOrganization[];\n };\n};\n\nexport type OnSuccessLogin = ({\n username,\n token,\n npmrcUpdateResult,\n}: {\n username?: string;\n token?: string;\n npmrcUpdateResult?: NpmConfigUpdateResult;\n}) => void;\nexport type OnSuccessLoginSlot = SlotRegistry<OnSuccessLogin>;\nexport type NpmConfigUpdateResult = {\n conflicts?: { original: string; modifications: string }[];\n configUpdates?: string;\n error?: Error;\n};\n\nexport class CloudMain {\n static ERROR_RESPONSE = 500;\n static DEFAULT_PORT = 8888;\n static REDIRECT = 302;\n static GRAPHQL_ENDPOINT = '/graphql';\n private authListenerByPort: Map<number, CloudAuthListener> = new Map();\n private REDIRECT_URL?: string;\n\n constructor(\n private config: CloudWorkspaceConfig,\n public logger: Logger,\n public express: ExpressMain,\n public workspace: Workspace,\n public scope: ScopeMain,\n public globalConfig: GlobalConfigMain,\n public onSuccessLoginSlot: OnSuccessLoginSlot\n ) {}\n\n getNpmConfig(): Record<string, string> {\n try {\n const output = execSync(`npm config list --json`, { encoding: 'utf8' });\n return JSON.parse(output);\n } catch (error) {\n throw new Error(`failed to get npm config. error: ${error}`);\n }\n }\n\n async generateNpmrc({ dryRun, force }: { dryRun?: boolean; force?: boolean } = {}): Promise<{\n conflicts?: { original: string; modifications: string }[];\n configUpdates?: string;\n }> {\n const authToken = this.getAuthToken();\n const username = this.getUsername();\n if (!authToken || !username) {\n throw new Error('user is not logged in');\n }\n return this.updateNpmConfig({ authToken, username, dryRun, force });\n }\n\n detectConfigConflicts({\n newConfigs,\n registryDomain,\n }: {\n newConfigs: string;\n registryDomain: string;\n }): { original: string; modifications: string }[] {\n const existingConfigs = this.getNpmConfig();\n const conflicts: { original: string; modifications: string }[] = [];\n\n newConfigs.split('\\n').forEach((line) => {\n const [key, newValue] = line.split('=');\n if (key && newValue) {\n const trimmedKey = key.trim();\n const existingValue = existingConfigs[trimmedKey];\n const isRegistryConflict = existingValue && !existingValue.includes(registryDomain);\n\n if (existingValue && isRegistryConflict) {\n conflicts.push({\n original: `${trimmedKey}=${existingValue}`,\n modifications: `${trimmedKey}=${newValue.trim()}`,\n });\n }\n }\n });\n\n return conflicts;\n }\n\n async updateNpmConfig({\n authToken,\n username,\n dryRun,\n force,\n }: {\n authToken: string;\n username: string;\n dryRun?: boolean;\n force?: boolean;\n }): Promise<{ conflicts?: { original: string; modifications: string }[]; configUpdates?: string }> {\n const orgs = (await this.getUserOrganizations()) ?? [];\n const orgNames = orgs.map((org) => org.name);\n const allOrgs = Array.from(new Set([...CloudMain.PRESET_ORGS, ...orgNames, username])).sort();\n const registryUrlStr = this.getRegistryUrl();\n const registryUrl = new URL(registryUrlStr);\n const scopeConfig = allOrgs.map((org) => `@${org}:registry=\"${registryUrlStr}\"`).join('\\n');\n const authConfig = `//${registryUrl.host}/:_authToken=\"${authToken}\"`;\n const configUpdates = `${scopeConfig}\\n${authConfig}`;\n\n if (!force) {\n const conflicts = this.detectConfigConflicts({\n newConfigs: configUpdates,\n registryDomain: this.getCloudDomain(),\n });\n\n if (conflicts.length > 0) {\n return { conflicts, configUpdates };\n }\n }\n\n if (dryRun) {\n return { configUpdates };\n }\n\n const configToUpdate = configUpdates.replace(/\\n/g, ' ');\n\n execSync(`npm config set ${configToUpdate}`, { stdio: 'ignore' });\n\n return { configUpdates };\n }\n\n setupAuthListener({\n port: portFromParams,\n clientId = v4(),\n }: {\n port?: number;\n clientId?: string;\n } = {}): Promise<CloudAuthListener | null> {\n return new Promise((resolve, reject) => {\n const port = portFromParams || this.getLoginPort();\n const existingAuthListener = this.authListenerByPort.get(port);\n\n if (existingAuthListener) {\n this.logger.debug(`auth server is already running on port ${port}`);\n resolve(existingAuthListener);\n return;\n }\n\n const expressApp = this.express.createApp();\n\n this.authListenerByPort.set(port, {\n port,\n clientId,\n });\n\n const authServer = expressApp\n .listen(port, () => {\n this.logger.debug(`cloud express server started on port ${port}`);\n const existing = this.authListenerByPort.get(port) ?? {};\n this.authListenerByPort.set(port, {\n port,\n clientId,\n ...existing,\n server: authServer,\n });\n resolve({\n port,\n server: authServer,\n clientId,\n });\n })\n .on('error', (err) => {\n // @ts-ignore\n const { code } = err;\n if (code === 'EADDRINUSE') {\n // set up a new auth listener with new port\n this.logger.warn(`port: ${port} already in use for cloud auth listener, trying port ${port + 1}`);\n // eslint-disable-next-line promise/no-promise-in-callback\n this.setupAuthListener({\n port: port + 1,\n })\n .then(resolve)\n .catch(reject);\n return;\n }\n this.logger.error(`cloud express server failed to start on port ${port}`, err);\n reject(err);\n });\n\n expressApp.get('/', (req, res) => {\n this.logger.debug('cloud.authListener', 'received request', req.query);\n try {\n const { clientId: clientIdFromReq, redirectUri, username: usernameFromReq } = req.query;\n const username = typeof usernameFromReq === 'string' ? usernameFromReq : undefined;\n let { token } = req.query;\n if (Array.isArray(token)) {\n token = token[0];\n }\n if (typeof token !== 'string') {\n res.status(400).send('Invalid token format');\n return res;\n }\n this.globalConfig.setSync(CFG_USER_TOKEN_KEY, token);\n if (username) this.globalConfig.setSync(CFG_USER_NAME_KEY, username);\n\n const existing = this.authListenerByPort.get(port) ?? {};\n this.authListenerByPort.set(port, {\n port,\n server: authServer,\n clientId: clientIdFromReq as string,\n ...existing,\n username,\n });\n\n const onLoggedInFns = this.onSuccessLoginSlot.values();\n\n this.updateNpmConfig({ authToken: token as string, username: username as string })\n .then((configUpdates) => {\n onLoggedInFns.forEach((fn) => fn({ username, token: token as string, npmrcUpdateResult: configUpdates }));\n })\n .catch((error) => {\n onLoggedInFns.forEach((fn) =>\n fn({\n username,\n token: token as string,\n npmrcUpdateResult: {\n error: new Error(`failed to update npmrc. error ${error?.toString}`),\n },\n })\n );\n });\n\n if (this.REDIRECT_URL) return res.redirect(this.REDIRECT_URL);\n if (typeof redirectUri === 'string' && redirectUri) return res.redirect(redirectUri);\n return res.status(200).send('Login successful');\n } catch (err) {\n this.logger.error(`Error on login: ${err}`);\n res.status(CloudMain.ERROR_RESPONSE).send('Login failed');\n reject(err);\n return res;\n }\n });\n });\n }\n\n registerOnSuccessLogin(onSuccessLoginFn: OnSuccessLogin) {\n this.onSuccessLoginSlot.register(onSuccessLoginFn);\n return this;\n }\n\n getCloudDomain(): string {\n return this.config.cloudDomain;\n }\n\n getCloudHubDomain(): string {\n return this.config.cloudHubDomain;\n }\n\n getCloudApi(): string {\n return this.config.cloudApi;\n }\n\n getCloudGraphQL(): string {\n return this.config.cloudGraphQL;\n }\n getLoginDomain(): string {\n return this.config.loginDomain;\n }\n\n getAnalyticsDomain(): string {\n return this.config.analyticsDomain;\n }\n\n getRegistryUrl(): string {\n return this.config.registryUrl;\n }\n\n getCloudExporterUrl(): string {\n return this.config.cloudExporterUrl;\n }\n\n getHubName(): string {\n return this.config.cloudHubName;\n }\n\n getLoginPort(): number {\n return this.config.loginPort || CloudMain.DEFAULT_PORT;\n }\n\n isLoggedIn(): boolean {\n return Boolean(this.getAuthToken());\n }\n\n getAuthToken() {\n this.globalConfig.invalidateCache();\n const processToken = globalFlags.token;\n const token = processToken || this.globalConfig.getSync(CFG_USER_TOKEN_KEY);\n if (!token) return null;\n\n return token;\n }\n\n getAuthHeader() {\n return {\n Authorization: `Bearer ${this.getAuthToken()}`,\n };\n }\n\n getUsername(): string | undefined {\n return this.globalConfig.getSync(CFG_USER_NAME_KEY);\n }\n\n async getLoginUrl({\n redirectUrl,\n machineName,\n cloudDomain,\n port: portFromParams,\n }: { redirectUrl?: string; machineName?: string; cloudDomain?: string; port?: string } = {}): Promise<string | null> {\n const loginUrl = cloudDomain || this.getLoginDomain();\n const port = Number(portFromParams) || this.getLoginPort();\n if (redirectUrl) {\n this.REDIRECT_URL = redirectUrl;\n }\n const authListenerForPort = this.authListenerByPort.get(port);\n if (authListenerForPort) {\n return `${loginUrl}?port=${port}&clientId=${authListenerForPort.clientId}&responseType=token&deviceName=${\n machineName || os.hostname()\n }&os=${process.platform}`;\n }\n const authListener = await this.setupAuthListener({ port });\n\n if (!authListener) return null;\n\n return encodeURI(\n `${loginUrl}?port=${port}&clientId=${authListener?.clientId}&responseType=token&deviceName=${\n machineName || os.hostname()\n }&os=${process.platform}`\n );\n }\n\n logout() {\n this.globalConfig.delSync(CFG_USER_TOKEN_KEY);\n this.globalConfig.delSync(CFG_USER_NAME_KEY);\n }\n\n async whoami(): Promise<string | undefined> {\n const currentUser = await this.getCurrentUser();\n if (!currentUser?.username) {\n return undefined;\n }\n return currentUser.username;\n }\n\n async login(\n port?: string,\n suppressBrowserLaunch?: boolean,\n machineName?: string,\n cloudDomain?: string,\n redirectUrl?: string\n ): Promise<{\n isAlreadyLoggedIn?: boolean;\n username?: string;\n token?: string;\n npmrcUpdateResult?: NpmConfigUpdateResult;\n } | null> {\n return new Promise((resolve, reject) => {\n if (this.isLoggedIn()) {\n resolve({\n isAlreadyLoggedIn: true,\n username: this.globalConfig.getSync(CFG_USER_NAME_KEY),\n token: this.globalConfig.getSync(CFG_USER_TOKEN_KEY),\n });\n return;\n }\n\n const promptLogin = async () => {\n this.REDIRECT_URL = redirectUrl;\n this.registerOnSuccessLogin((loggedInParams) => {\n resolve({\n username: loggedInParams.username,\n token: loggedInParams.token,\n npmrcUpdateResult: loggedInParams.npmrcUpdateResult,\n });\n });\n\n const loginUrl = await this.getLoginUrl({\n machineName,\n cloudDomain,\n port,\n });\n if (!loginUrl) {\n reject(new Error('Failed to get login url'));\n return;\n }\n if (!suppressBrowserLaunch) {\n console.log(chalk.yellow(`Your browser has been opened to visit:\\n${loginUrl}`)); // eslint-disable-line no-console\n open(loginUrl).catch((err) => {\n this.logger.error(`failed to open browser on login, err: ${err}`);\n reject(err);\n });\n } else {\n console.log(chalk.yellow(`Go to the following link in your browser::\\n${loginUrl}`)); // eslint-disable-line no-console\n }\n };\n try {\n this.setupAuthListener({\n port: Number(port),\n })\n .then(promptLogin)\n .catch((e) => reject(e));\n } catch (err) {\n reject(err);\n }\n });\n }\n\n static GET_SCOPES = `\n query GET_SCOPES($ids: [String]!) {\n getScopes(ids: $ids) {\n id\n scopeStyle {\n icon\n backgroundIconColor\n stripColor\n }\n }\n }\n `;\n static GET_CURRENT_USER = `\n query GET_ME {\n me {\n id\n username\n image\n displayName\n }\n }\n `;\n static GET_USER_ORGANIZATIONS = `\n query GET_USER_ORGANIZATIONS {\n getUserOrganizations {\n id\n name\n } \n }\n `;\n\n static PRESET_ORGS = ['bitdev', 'teambit', 'bitdesign', 'frontend', 'backend'];\n\n async getCloudScopes(scopes: string[]): Promise<ScopeDescriptor[]> {\n const remotes = await this.scope._legacyRemotes();\n const filteredScopesToFetch = scopes.filter((scope) => {\n return ScopeID.isValid(scope) && remotes.isHub(scope);\n });\n const queryResponse = await this.fetchFromSymphonyViaGQL<GetScopesGQLResponse>(CloudMain.GET_SCOPES, {\n ids: filteredScopesToFetch,\n });\n const scopesFromQuery = queryResponse?.data?.getScopes;\n if (!scopesFromQuery) return [];\n return scopesFromQuery.map((scope) => {\n const scopeDescriptorObj = {\n ...scope,\n id: ScopeID.fromString(scope.id),\n };\n return ScopeDescriptor.fromObject(scopeDescriptorObj);\n });\n }\n\n async getCurrentUser(): Promise<CloudUser | null> {\n return this.fetchFromSymphonyViaGQL<CloudUserAPIResponse>(CloudMain.GET_CURRENT_USER).then((response) => {\n if (!response) return null;\n return {\n isLoggedIn: true,\n displayName: response.data.me.displayName,\n username: response.data.me.username,\n profileImage: response.data.me.image,\n };\n });\n }\n\n async getUserOrganizations(): Promise<CloudOrganization[] | null> {\n return this.fetchFromSymphonyViaGQL<CloudOrganizationAPIResponse>(CloudMain.GET_USER_ORGANIZATIONS).then(\n (response) => {\n if (!response) return null;\n return response.data.getUserOrganizations;\n }\n );\n }\n\n async fetchFromSymphonyViaGQL<T>(query: string, variables?: Record<string, any>): Promise<T | null> {\n if (!this.isLoggedIn()) return null;\n const graphqlUrl = `https://${this.getCloudApi()}${CloudMain.GRAPHQL_ENDPOINT}`;\n const body = JSON.stringify({\n query,\n variables,\n });\n const headers = {\n 'Content-Type': 'application/json',\n ...this.getAuthHeader(),\n };\n try {\n const response = await fetch(graphqlUrl, {\n method: 'POST',\n headers,\n body,\n });\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n return await response.json();\n } catch (error) {\n this.logger.debug('fetchFromSymphonyViaGQL. ', 'Error fetching data: ', error);\n return null;\n }\n }\n\n static slots = [Slot.withType<OnSuccessLogin>()];\n static dependencies = [\n LoggerAspect,\n GraphqlAspect,\n ExpressAspect,\n WorkspaceAspect,\n ScopeAspect,\n GlobalConfigAspect,\n CLIAspect,\n UIAspect,\n ];\n static runtime = MainRuntime;\n static defaultConfig: CloudWorkspaceConfig = {\n cloudDomain: getCloudDomain(),\n cloudHubDomain: DEFAULT_HUB_DOMAIN,\n cloudApi: getSymphonyUrl(),\n cloudGraphQL: SYMPHONY_GRAPHQL,\n loginDomain: getLoginUrl(),\n analyticsDomain: DEFAULT_ANALYTICS_DOMAIN,\n registryUrl: DEFAULT_REGISTRY_URL,\n cloudExporterUrl: CENTRAL_BIT_HUB_URL,\n cloudHubName: CENTRAL_BIT_HUB_NAME,\n loginPort: CloudMain.DEFAULT_PORT,\n };\n static async provider(\n [loggerMain, graphql, express, workspace, scope, globalConfig, cli, ui]: [\n LoggerMain,\n GraphqlMain,\n ExpressMain,\n Workspace,\n ScopeMain,\n GlobalConfigMain,\n CLIMain,\n UiMain\n ],\n config: CloudWorkspaceConfig,\n [onSuccessLoginSlot]: [OnSuccessLoginSlot]\n ) {\n const logger = loggerMain.createLogger(CloudAspect.id);\n const cloudMain = new CloudMain(config, logger, express, workspace, scope, globalConfig, onSuccessLoginSlot);\n const loginCmd = new LoginCmd(cloudMain, 8889);\n const logoutCmd = new LogoutCmd(cloudMain);\n const whoamiCmd = new WhoamiCmd(cloudMain);\n const npmrcGenerateCmd = new NpmrcGenerateCmd(cloudMain, 8889);\n const npmrc = new NpmrcCmd();\n npmrc.commands = [npmrcGenerateCmd];\n cli.register(loginCmd, logoutCmd, whoamiCmd, npmrc);\n graphql.register(cloudSchema(cloudMain));\n if (workspace) {\n ui.registerOnStart(async () => {\n await cloudMain.setupAuthListener();\n return undefined;\n });\n }\n return cloudMain;\n }\n}\n\nCloudAspect.addRuntime(CloudMain);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_harmony","data","require","_cli","_uuid","_chalk","_interopRequireDefault","_os","_open","_scopes","_scopes2","_logger","_constants","_scope","_globalFlags","_graphql","_workspace","_express","_globalConfig","_child_process","_ui","_cloud","_cloud2","_login","_logout","_whoami","_npmrc","_CloudMain","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","String","Symbol","toPrimitive","call","TypeError","Number","CloudMain","constructor","config","logger","express","workspace","scope","globalConfig","onSuccessLoginSlot","Map","getNpmConfig","output","execSync","encoding","JSON","parse","error","Error","generateNpmrc","dryRun","force","authToken","getAuthToken","username","getUsername","updateNpmConfig","detectConfigConflicts","newConfigs","registryDomain","existingConfigs","conflicts","split","line","newValue","trimmedKey","trim","existingValue","isRegistryConflict","includes","original","modifications","orgs","getUserOrganizations","orgNames","map","org","name","allOrgs","Array","from","Set","PRESET_ORGS","sort","registryUrlStr","getRegistryUrl","registryUrl","URL","scopeConfig","join","authConfig","host","configUpdates","getCloudDomain","configToUpdate","replace","stdio","setupAuthListener","port","portFromParams","clientId","v4","Promise","resolve","reject","getLoginPort","existingAuthListener","authListenerByPort","get","debug","expressApp","createApp","set","authServer","listen","existing","server","on","err","code","warn","then","catch","req","res","query","clientIdFromReq","redirectUri","usernameFromReq","undefined","token","isArray","status","send","setSync","CFG_USER_TOKEN_KEY","CFG_USER_NAME_KEY","onLoggedInFns","values","fn","npmrcUpdateResult","toString","REDIRECT_URL","redirect","ERROR_RESPONSE","registerOnSuccessLogin","onSuccessLoginFn","register","cloudDomain","getCloudHubDomain","cloudHubDomain","getCloudApi","cloudApi","getCloudGraphQL","cloudGraphQL","getLoginDomain","loginDomain","getAnalyticsDomain","analyticsDomain","getCloudExporterUrl","cloudExporterUrl","getHubName","cloudHubName","loginPort","DEFAULT_PORT","isLoggedIn","Boolean","invalidateCache","processToken","globalFlags","getSync","getAuthHeader","Authorization","getLoginUrl","redirectUrl","machineName","loginUrl","authListenerForPort","os","hostname","process","platform","authListener","encodeURI","logout","delSync","whoami","currentUser","getCurrentUser","login","suppressBrowserLaunch","isAlreadyLoggedIn","promptLogin","loggedInParams","console","log","chalk","yellow","open","getCloudScopes","scopes","remotes","_legacyRemotes","filteredScopesToFetch","ScopeID","isValid","isHub","queryResponse","fetchFromSymphonyViaGQL","GET_SCOPES","ids","scopesFromQuery","getScopes","scopeDescriptorObj","id","fromString","ScopeDescriptor","fromObject","GET_CURRENT_USER","response","displayName","me","profileImage","image","GET_USER_ORGANIZATIONS","variables","graphqlUrl","GRAPHQL_ENDPOINT","body","stringify","headers","fetch","method","ok","json","provider","loggerMain","graphql","cli","ui","createLogger","CloudAspect","cloudMain","loginCmd","LoginCmd","logoutCmd","LogoutCmd","whoamiCmd","WhoamiCmd","npmrcGenerateCmd","NpmrcGenerateCmd","npmrc","NpmrcCmd","commands","cloudSchema","registerOnStart","exports","Slot","withType","LoggerAspect","GraphqlAspect","ExpressAspect","WorkspaceAspect","ScopeAspect","GlobalConfigAspect","CLIAspect","UIAspect","MainRuntime","DEFAULT_HUB_DOMAIN","getSymphonyUrl","SYMPHONY_GRAPHQL","DEFAULT_ANALYTICS_DOMAIN","DEFAULT_REGISTRY_URL","CENTRAL_BIT_HUB_URL","CENTRAL_BIT_HUB_NAME","addRuntime"],"sources":["cloud.main.runtime.ts"],"sourcesContent":["import { Slot, SlotRegistry } from '@teambit/harmony';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { v4 } from 'uuid';\nimport chalk from 'chalk';\nimport os from 'os';\nimport open from 'open';\nimport * as http from 'http';\nimport { Express } from 'express';\nimport { GetScopesGQLResponse } from '@teambit/cloud.models.cloud-scope';\nimport { CloudUser, CloudUserAPIResponse } from '@teambit/cloud.models.cloud-user';\nimport { ScopeDescriptor } from '@teambit/scopes.scope-descriptor';\nimport { ScopeID } from '@teambit/scopes.scope-id';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport {\n getCloudDomain,\n DEFAULT_HUB_DOMAIN,\n getSymphonyUrl,\n SYMPHONY_GRAPHQL,\n getLoginUrl,\n DEFAULT_ANALYTICS_DOMAIN,\n DEFAULT_REGISTRY_URL,\n CENTRAL_BIT_HUB_URL,\n CENTRAL_BIT_HUB_NAME,\n CFG_USER_TOKEN_KEY,\n CFG_USER_NAME_KEY,\n} from '@teambit/legacy/dist/constants';\nimport { ScopeAspect, ScopeMain } from '@teambit/scope';\nimport globalFlags from '@teambit/legacy/dist/cli/global-flags';\nimport { GraphqlAspect, GraphqlMain } from '@teambit/graphql';\nimport { WorkspaceAspect, Workspace } from '@teambit/workspace';\nimport { ExpressAspect, ExpressMain } from '@teambit/express';\nimport { GlobalConfigAspect, GlobalConfigMain } from '@teambit/global-config';\nimport { execSync } from 'child_process';\nimport { UIAspect, UiMain } from '@teambit/ui';\nimport { cloudSchema } from './cloud.graphql';\nimport { CloudAspect } from './cloud.aspect';\nimport { LoginCmd } from './login.cmd';\nimport { LogoutCmd } from './logout.cmd';\nimport { WhoamiCmd } from './whoami.cmd';\nimport { NpmrcCmd, NpmrcGenerateCmd } from './npmrc.cmd';\n\nexport interface CloudWorkspaceConfig {\n cloudDomain: string;\n cloudHubDomain: string;\n cloudApi: string;\n cloudGraphQL: string;\n loginDomain: string;\n analyticsDomain: string;\n registryUrl: string;\n cloudExporterUrl: string;\n cloudHubName: string;\n loginPort?: number;\n}\n\ntype CloudAuthListener = {\n port: number;\n server?: http.Server;\n username?: string | null;\n clientId?: string;\n expressApp?: Express | null;\n};\n\ntype CloudOrganization = {\n id: string;\n name: string;\n};\n\ntype CloudOrganizationAPIResponse = {\n data: {\n getUserOrganizations: CloudOrganization[];\n };\n};\n\nexport type OnSuccessLogin = ({\n username,\n token,\n npmrcUpdateResult,\n}: {\n username?: string;\n token?: string;\n npmrcUpdateResult?: NpmConfigUpdateResult;\n}) => void;\nexport type OnSuccessLoginSlot = SlotRegistry<OnSuccessLogin>;\nexport type NpmConfigUpdateResult = {\n conflicts?: { original: string; modifications: string }[];\n configUpdates?: string;\n error?: Error;\n};\n\nexport class CloudMain {\n static ERROR_RESPONSE = 500;\n static DEFAULT_PORT = 8888;\n static REDIRECT = 302;\n static GRAPHQL_ENDPOINT = '/graphql';\n private authListenerByPort: Map<number, CloudAuthListener> = new Map();\n private REDIRECT_URL?: string;\n\n constructor(\n private config: CloudWorkspaceConfig,\n public logger: Logger,\n public express: ExpressMain,\n public workspace: Workspace,\n public scope: ScopeMain,\n public globalConfig: GlobalConfigMain,\n public onSuccessLoginSlot: OnSuccessLoginSlot\n ) {}\n\n getNpmConfig(): Record<string, string> {\n try {\n const output = execSync(`npm config list --json`, { encoding: 'utf8' });\n return JSON.parse(output);\n } catch (error) {\n throw new Error(`failed to get npm config. error: ${error}`);\n }\n }\n\n async generateNpmrc({ dryRun, force }: { dryRun?: boolean; force?: boolean } = {}): Promise<{\n conflicts?: { original: string; modifications: string }[];\n configUpdates?: string;\n }> {\n const authToken = this.getAuthToken();\n const username = this.getUsername();\n if (!authToken || !username) {\n throw new Error('user is not logged in');\n }\n return this.updateNpmConfig({ authToken, username, dryRun, force });\n }\n\n detectConfigConflicts({\n newConfigs,\n registryDomain,\n }: {\n newConfigs: string;\n registryDomain: string;\n }): { original: string; modifications: string }[] {\n const existingConfigs = this.getNpmConfig();\n const conflicts: { original: string; modifications: string }[] = [];\n\n newConfigs.split('\\n').forEach((line) => {\n const [key, newValue] = line.split('=');\n if (key && newValue) {\n const trimmedKey = key.trim();\n const existingValue = existingConfigs[trimmedKey];\n const isRegistryConflict = existingValue && !existingValue.includes(registryDomain);\n\n if (existingValue && isRegistryConflict) {\n conflicts.push({\n original: `${trimmedKey}=${existingValue}`,\n modifications: `${trimmedKey}=${newValue.trim()}`,\n });\n }\n }\n });\n\n return conflicts;\n }\n\n async updateNpmConfig({\n authToken,\n username,\n dryRun,\n force,\n }: {\n authToken: string;\n username: string;\n dryRun?: boolean;\n force?: boolean;\n }): Promise<{ conflicts?: { original: string; modifications: string }[]; configUpdates?: string }> {\n const orgs = (await this.getUserOrganizations()) ?? [];\n const orgNames = orgs.map((org) => org.name);\n const allOrgs = Array.from(new Set([...CloudMain.PRESET_ORGS, ...orgNames, username])).sort();\n const registryUrlStr = this.getRegistryUrl();\n const registryUrl = new URL(registryUrlStr);\n const scopeConfig = allOrgs.map((org) => `@${org}:registry=\"${registryUrlStr}\"`).join('\\n');\n const authConfig = `//${registryUrl.host}/:_authToken=\"${authToken}\"`;\n const configUpdates = `${scopeConfig}\\n${authConfig}`;\n\n if (!force) {\n const conflicts = this.detectConfigConflicts({\n newConfigs: configUpdates,\n registryDomain: this.getCloudDomain(),\n });\n\n if (conflicts.length > 0) {\n return { conflicts, configUpdates };\n }\n }\n\n if (dryRun) {\n return { configUpdates };\n }\n\n const configToUpdate = configUpdates.replace(/\\n/g, ' ');\n\n execSync(`npm config set ${configToUpdate}`, { stdio: 'ignore' });\n\n return { configUpdates };\n }\n\n setupAuthListener({\n port: portFromParams,\n clientId = v4(),\n }: {\n port?: number;\n clientId?: string;\n } = {}): Promise<CloudAuthListener | null> {\n return new Promise((resolve, reject) => {\n const port = portFromParams || this.getLoginPort();\n const existingAuthListener = this.authListenerByPort.get(port);\n\n if (existingAuthListener) {\n this.logger.debug(`auth server is already running on port ${port}`);\n resolve(existingAuthListener);\n return;\n }\n\n const expressApp = this.express.createApp();\n\n this.authListenerByPort.set(port, {\n port,\n clientId,\n });\n\n const authServer = expressApp\n .listen(port, () => {\n this.logger.debug(`cloud express server started on port ${port}`);\n const existing = this.authListenerByPort.get(port) ?? {};\n this.authListenerByPort.set(port, {\n port,\n clientId,\n ...existing,\n server: authServer,\n });\n resolve({\n port,\n server: authServer,\n clientId,\n });\n })\n .on('error', (err) => {\n // @ts-ignore\n const { code } = err;\n if (code === 'EADDRINUSE') {\n // set up a new auth listener with new port\n this.logger.warn(`port: ${port} already in use for cloud auth listener, trying port ${port + 1}`);\n // eslint-disable-next-line promise/no-promise-in-callback\n this.setupAuthListener({\n port: port + 1,\n })\n .then(resolve)\n .catch(reject);\n return;\n }\n this.logger.error(`cloud express server failed to start on port ${port}`, err);\n reject(err);\n });\n\n expressApp.get('/', (req, res) => {\n this.logger.debug('cloud.authListener', 'received request', req.query);\n try {\n const { clientId: clientIdFromReq, redirectUri, username: usernameFromReq } = req.query;\n const username = typeof usernameFromReq === 'string' ? usernameFromReq : undefined;\n let { token } = req.query;\n if (Array.isArray(token)) {\n token = token[0];\n }\n if (typeof token !== 'string') {\n res.status(400).send('Invalid token format');\n return res;\n }\n this.globalConfig.setSync(CFG_USER_TOKEN_KEY, token);\n if (username) this.globalConfig.setSync(CFG_USER_NAME_KEY, username);\n\n const existing = this.authListenerByPort.get(port) ?? {};\n this.authListenerByPort.set(port, {\n port,\n server: authServer,\n clientId: clientIdFromReq as string,\n ...existing,\n username,\n });\n\n const onLoggedInFns = this.onSuccessLoginSlot.values();\n\n this.updateNpmConfig({ authToken: token as string, username: username as string })\n .then((configUpdates) => {\n onLoggedInFns.forEach((fn) => fn({ username, token: token as string, npmrcUpdateResult: configUpdates }));\n })\n .catch((error) => {\n onLoggedInFns.forEach((fn) =>\n fn({\n username,\n token: token as string,\n npmrcUpdateResult: {\n error: new Error(`failed to update npmrc. error ${error?.toString}`),\n },\n })\n );\n });\n\n if (this.REDIRECT_URL) return res.redirect(this.REDIRECT_URL);\n if (typeof redirectUri === 'string' && redirectUri) return res.redirect(redirectUri);\n return res.status(200).send('Login successful');\n } catch (err) {\n this.logger.error(`Error on login: ${err}`);\n res.status(CloudMain.ERROR_RESPONSE).send('Login failed');\n reject(err);\n return res;\n }\n });\n });\n }\n\n registerOnSuccessLogin(onSuccessLoginFn: OnSuccessLogin) {\n this.onSuccessLoginSlot.register(onSuccessLoginFn);\n return this;\n }\n\n getCloudDomain(): string {\n return this.config.cloudDomain;\n }\n\n getCloudHubDomain(): string {\n return this.config.cloudHubDomain;\n }\n\n getCloudApi(): string {\n return this.config.cloudApi;\n }\n\n getCloudGraphQL(): string {\n return this.config.cloudGraphQL;\n }\n getLoginDomain(): string {\n return this.config.loginDomain;\n }\n\n getAnalyticsDomain(): string {\n return this.config.analyticsDomain;\n }\n\n getRegistryUrl(): string {\n return this.config.registryUrl;\n }\n\n getCloudExporterUrl(): string {\n return this.config.cloudExporterUrl;\n }\n\n getHubName(): string {\n return this.config.cloudHubName;\n }\n\n getLoginPort(): number {\n return this.config.loginPort || CloudMain.DEFAULT_PORT;\n }\n\n isLoggedIn(): boolean {\n return Boolean(this.getAuthToken());\n }\n\n getAuthToken() {\n this.globalConfig.invalidateCache();\n const processToken = globalFlags.token;\n const token = processToken || this.globalConfig.getSync(CFG_USER_TOKEN_KEY);\n if (!token) return null;\n\n return token;\n }\n\n getAuthHeader() {\n return {\n Authorization: `Bearer ${this.getAuthToken()}`,\n };\n }\n\n getUsername(): string | undefined {\n return this.globalConfig.getSync(CFG_USER_NAME_KEY);\n }\n\n async getLoginUrl({\n redirectUrl,\n machineName,\n cloudDomain,\n port: portFromParams,\n }: { redirectUrl?: string; machineName?: string; cloudDomain?: string; port?: string } = {}): Promise<string | null> {\n const loginUrl = cloudDomain || this.getLoginDomain();\n const port = Number(portFromParams) || this.getLoginPort();\n if (redirectUrl) {\n this.REDIRECT_URL = redirectUrl;\n }\n const authListenerForPort = this.authListenerByPort.get(port);\n if (authListenerForPort) {\n return `${loginUrl}?port=${port}&clientId=${authListenerForPort.clientId}&responseType=token&deviceName=${\n machineName || os.hostname()\n }&os=${process.platform}`;\n }\n const authListener = await this.setupAuthListener({ port });\n\n if (!authListener) return null;\n\n return encodeURI(\n `${loginUrl}?port=${port}&clientId=${authListener?.clientId}&responseType=token&deviceName=${\n machineName || os.hostname()\n }&os=${process.platform}`\n );\n }\n\n logout() {\n this.globalConfig.delSync(CFG_USER_TOKEN_KEY);\n this.globalConfig.delSync(CFG_USER_NAME_KEY);\n }\n\n async whoami(): Promise<string | undefined> {\n const currentUser = await this.getCurrentUser();\n if (!currentUser?.username) {\n return undefined;\n }\n return currentUser.username;\n }\n\n async login(\n port?: string,\n suppressBrowserLaunch?: boolean,\n machineName?: string,\n cloudDomain?: string,\n redirectUrl?: string\n ): Promise<{\n isAlreadyLoggedIn?: boolean;\n username?: string;\n token?: string;\n npmrcUpdateResult?: NpmConfigUpdateResult;\n } | null> {\n return new Promise((resolve, reject) => {\n if (this.isLoggedIn()) {\n resolve({\n isAlreadyLoggedIn: true,\n username: this.globalConfig.getSync(CFG_USER_NAME_KEY),\n token: this.globalConfig.getSync(CFG_USER_TOKEN_KEY),\n });\n return;\n }\n\n const promptLogin = async () => {\n this.REDIRECT_URL = redirectUrl;\n this.registerOnSuccessLogin((loggedInParams) => {\n resolve({\n username: loggedInParams.username,\n token: loggedInParams.token,\n npmrcUpdateResult: loggedInParams.npmrcUpdateResult,\n });\n });\n\n const loginUrl = await this.getLoginUrl({\n machineName,\n cloudDomain,\n port,\n });\n if (!loginUrl) {\n reject(new Error('Failed to get login url'));\n return;\n }\n if (!suppressBrowserLaunch) {\n console.log(chalk.yellow(`Your browser has been opened to visit:\\n${loginUrl}`)); // eslint-disable-line no-console\n open(loginUrl).catch((err) => {\n this.logger.error(`failed to open browser on login, err: ${err}`);\n reject(err);\n });\n } else {\n console.log(chalk.yellow(`Go to the following link in your browser::\\n${loginUrl}`)); // eslint-disable-line no-console\n }\n };\n try {\n this.setupAuthListener({\n port: Number(port),\n })\n .then(promptLogin)\n .catch((e) => reject(e));\n } catch (err) {\n reject(err);\n }\n });\n }\n\n static GET_SCOPES = `\n query GET_SCOPES($ids: [String]!) {\n getScopes(ids: $ids) {\n id\n scopeStyle {\n icon\n backgroundIconColor\n stripColor\n }\n }\n }\n `;\n static GET_CURRENT_USER = `\n query GET_ME {\n me {\n id\n username\n image\n displayName\n }\n }\n `;\n static GET_USER_ORGANIZATIONS = `\n query GET_USER_ORGANIZATIONS {\n getUserOrganizations {\n id\n name\n } \n }\n `;\n\n static PRESET_ORGS = ['bitdev', 'teambit', 'bitdesign', 'frontend', 'backend'];\n\n async getCloudScopes(scopes: string[]): Promise<ScopeDescriptor[]> {\n const remotes = await this.scope._legacyRemotes();\n const filteredScopesToFetch = scopes.filter((scope) => {\n return ScopeID.isValid(scope) && remotes.isHub(scope);\n });\n const queryResponse = await this.fetchFromSymphonyViaGQL<GetScopesGQLResponse>(CloudMain.GET_SCOPES, {\n ids: filteredScopesToFetch,\n });\n const scopesFromQuery = queryResponse?.data?.getScopes;\n if (!scopesFromQuery) return [];\n return scopesFromQuery.map((scope) => {\n const scopeDescriptorObj = {\n ...scope,\n id: ScopeID.fromString(scope.id),\n };\n return ScopeDescriptor.fromObject(scopeDescriptorObj);\n });\n }\n\n async getCurrentUser(): Promise<CloudUser | null> {\n return this.fetchFromSymphonyViaGQL<CloudUserAPIResponse>(CloudMain.GET_CURRENT_USER).then((response) => {\n if (!response) return null;\n return {\n isLoggedIn: true,\n displayName: response.data.me.displayName,\n username: response.data.me.username,\n profileImage: response.data.me.image,\n };\n });\n }\n\n async getUserOrganizations(): Promise<CloudOrganization[] | null> {\n return this.fetchFromSymphonyViaGQL<CloudOrganizationAPIResponse>(CloudMain.GET_USER_ORGANIZATIONS).then(\n (response) => {\n if (!response) return null;\n return response.data.getUserOrganizations;\n }\n );\n }\n\n async fetchFromSymphonyViaGQL<T>(query: string, variables?: Record<string, any>): Promise<T | null> {\n if (!this.isLoggedIn()) return null;\n const graphqlUrl = `https://${this.getCloudApi()}${CloudMain.GRAPHQL_ENDPOINT}`;\n const body = JSON.stringify({\n query,\n variables,\n });\n const headers = {\n 'Content-Type': 'application/json',\n ...this.getAuthHeader(),\n };\n try {\n const response = await fetch(graphqlUrl, {\n method: 'POST',\n headers,\n body,\n });\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n return await response.json();\n } catch (error) {\n this.logger.debug('fetchFromSymphonyViaGQL. ', 'Error fetching data: ', error);\n return null;\n }\n }\n\n static slots = [Slot.withType<OnSuccessLogin>()];\n static dependencies = [\n LoggerAspect,\n GraphqlAspect,\n ExpressAspect,\n WorkspaceAspect,\n ScopeAspect,\n GlobalConfigAspect,\n CLIAspect,\n UIAspect,\n ];\n static runtime = MainRuntime;\n static defaultConfig: CloudWorkspaceConfig = {\n cloudDomain: getCloudDomain(),\n cloudHubDomain: DEFAULT_HUB_DOMAIN,\n cloudApi: getSymphonyUrl(),\n cloudGraphQL: SYMPHONY_GRAPHQL,\n loginDomain: getLoginUrl(),\n analyticsDomain: DEFAULT_ANALYTICS_DOMAIN,\n registryUrl: DEFAULT_REGISTRY_URL,\n cloudExporterUrl: CENTRAL_BIT_HUB_URL,\n cloudHubName: CENTRAL_BIT_HUB_NAME,\n loginPort: CloudMain.DEFAULT_PORT,\n };\n static async provider(\n [loggerMain, graphql, express, workspace, scope, globalConfig, cli, ui]: [\n LoggerMain,\n GraphqlMain,\n ExpressMain,\n Workspace,\n ScopeMain,\n GlobalConfigMain,\n CLIMain,\n UiMain\n ],\n config: CloudWorkspaceConfig,\n [onSuccessLoginSlot]: [OnSuccessLoginSlot]\n ) {\n const logger = loggerMain.createLogger(CloudAspect.id);\n const cloudMain = new CloudMain(config, logger, express, workspace, scope, globalConfig, onSuccessLoginSlot);\n const loginCmd = new LoginCmd(cloudMain, 8889);\n const logoutCmd = new LogoutCmd(cloudMain);\n const whoamiCmd = new WhoamiCmd(cloudMain);\n const npmrcGenerateCmd = new NpmrcGenerateCmd(cloudMain, 8889);\n const npmrc = new NpmrcCmd();\n npmrc.commands = [npmrcGenerateCmd];\n cli.register(loginCmd, logoutCmd, whoamiCmd, npmrc);\n graphql.register(cloudSchema(cloudMain));\n if (workspace) {\n ui.registerOnStart(async () => {\n await cloudMain.setupAuthListener();\n return undefined;\n });\n }\n return cloudMain;\n }\n}\n\nCloudAspect.addRuntime(CloudMain);\n"],"mappings":"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"}
|
package/dist/cloud.ui.runtime.js
CHANGED
|
@@ -47,14 +47,14 @@ function _cloudUi() {
|
|
|
47
47
|
return data;
|
|
48
48
|
}
|
|
49
49
|
function _lanes() {
|
|
50
|
-
const data =
|
|
50
|
+
const data = require("@teambit/lanes");
|
|
51
51
|
_lanes = function () {
|
|
52
52
|
return data;
|
|
53
53
|
};
|
|
54
54
|
return data;
|
|
55
55
|
}
|
|
56
56
|
function _workspace() {
|
|
57
|
-
const data =
|
|
57
|
+
const data = require("@teambit/workspace");
|
|
58
58
|
_workspace = function () {
|
|
59
59
|
return data;
|
|
60
60
|
};
|
|
@@ -216,7 +216,7 @@ class CloudUI {
|
|
|
216
216
|
}
|
|
217
217
|
exports.CloudUI = CloudUI;
|
|
218
218
|
_defineProperty(CloudUI, "runtime", _ui().UIRuntime);
|
|
219
|
-
_defineProperty(CloudUI, "dependencies", [_workspace().
|
|
219
|
+
_defineProperty(CloudUI, "dependencies", [_workspace().WorkspaceAspect, _lanes().LanesAspect, _component().ComponentAspect]);
|
|
220
220
|
_defineProperty(CloudUI, "slots", [_harmony().Slot.withType(), _harmony().Slot.withType()]);
|
|
221
221
|
var _default = exports.default = CloudUI;
|
|
222
222
|
_cloud().CloudAspect.addRuntime(CloudUI);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","data","_interopRequireDefault","require","_ui","_lodash","_designControls","_harmony","_cloudUi","_lanes","_workspace","_component","_cloud","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","CloudUI","constructor","userBarSectionSlot","userBarItemSlot","registerUserBarItem","userBarItem","register","registerUserBarSection","sections","listUserBarItems","flatten","values","listUserBarSections","provider","workspace","lanes","component","_","cloudUI","displayName","categoryName","icon","label","href","category","Support","createElement","SubMenu","item","children","link","userBarItems","userBarSections","CloudUserBar","UserBar","items","registerMenuWidget","registerRightSideMenuItem","order","exports","UIRuntime","WorkspaceAspect","LanesAspect","ComponentAspect","Slot","withType","_default","CloudAspect","addRuntime"],"sources":["cloud.ui.runtime.tsx"],"sourcesContent":["import React from 'react';\nimport { UIRuntime } from '@teambit/ui';\nimport { flatten } from 'lodash';\nimport { SubMenu } from '@teambit/design.controls.menu';\n// import { useThemePicker, useNextTheme } from '@teambit/base-react.themes.theme-switcher';\nimport { Slot } from '@teambit/harmony';\nimport { UserBar, UserBarItem, UserBarItemSlot, UserBarSection, UserBarSectionSlot } from '@teambit/cloud.ui.user-bar';\nimport LanesAspect, { LanesUI } from '@teambit/lanes';\nimport WorkspaceAspect, { WorkspaceUI } from '@teambit/workspace';\nimport { ComponentAspect, ComponentUI } from '@teambit/component';\nimport { CloudAspect } from './cloud.aspect';\n\nexport class CloudUI {\n constructor(private userBarSectionSlot: UserBarSectionSlot, private userBarItemSlot: UserBarItemSlot) {}\n /**\n * register a new user bar item.\n */\n registerUserBarItem(userBarItem: UserBarItem[]) {\n this.userBarItemSlot.register(userBarItem);\n return this;\n }\n\n /**\n * register a new user bar section\n */\n registerUserBarSection(sections: UserBarSection[]) {\n this.userBarSectionSlot.register(sections);\n return this;\n }\n\n /**\n * list user bar items.\n */\n listUserBarItems() {\n return flatten(this.userBarItemSlot.values());\n }\n\n /**\n * list all user bar sections.\n */\n listUserBarSections() {\n return flatten(this.userBarSectionSlot.values());\n }\n\n static runtime = UIRuntime;\n\n static dependencies = [WorkspaceAspect, LanesAspect, ComponentAspect];\n\n static slots = [Slot.withType<UserBarItem[]>(), Slot.withType<UserBarSection[]>()];\n\n static async provider(\n [workspace, lanes, component]: [WorkspaceUI, LanesUI, ComponentUI],\n _,\n [userBarItemSlot, userBarSectionSlot]: [UserBarItemSlot, UserBarSectionSlot]\n ) {\n const cloudUI = new CloudUI(userBarSectionSlot, userBarItemSlot);\n\n cloudUI.registerUserBarSection([\n {\n displayName: 'Scopes & Components',\n categoryName: 'ScopesAndComponents',\n },\n {\n displayName: 'Docs, Support & Feedback',\n categoryName: 'DocsSupportAndFeedback',\n },\n ]);\n cloudUI.registerUserBarItem([\n {\n icon: 'settings',\n label: 'Settings',\n href: 'https://bit.cloud/settings',\n },\n {\n category: 'ScopesAndComponents',\n icon: 'components',\n label: 'Your components',\n href: 'https://bit.cloud/components',\n },\n {\n category: 'ScopesAndComponents',\n icon: 'collection',\n label: 'Your scopes',\n href: 'https://bit.cloud/scopes',\n },\n {\n category: 'DocsSupportAndFeedback',\n icon: 'book-glossary',\n label: 'Bit Docs',\n href: 'https://bit.dev/docs',\n },\n {\n category: 'DocsSupportAndFeedback',\n component: function Support() {\n return (\n <SubMenu\n item={{\n label: 'Support',\n icon: 'users',\n children: [\n {\n label: 'Bit Community on bit.cloud',\n link: 'https://bit.cloud/bitdev',\n },\n {\n label: 'Ticket Support',\n link: 'https://support.bit.cloud',\n },\n {\n label: 'Bit Community Slack',\n link: 'https://join.slack.com/t/bit-dev-community/shared_invite/zt-29pmawrp1-ehfEzYbQyuAC3CNA_jYPvA',\n },\n ],\n }}\n />\n );\n },\n },\n // {\n // category: 'DocsSupportAndFeedback',\n // component: function ThemePicker() {\n // const next = useNextTheme();\n // const { currentIdx } = useThemePicker();\n // return (\n // <SubMenu\n // item={{\n // label: 'Theme',\n // icon: 'lightmode',\n // children: [\n // {\n // label: 'Light',\n // icon: currentIdx === 0 ? 'checkmark' : '',\n // onClick: () => {\n // if (currentIdx === 0) return;\n // next();\n // },\n // },\n // {\n // label: 'Dark',\n // icon: currentIdx === 1 ? 'checkmark' : '',\n // onClick: () => {\n // if (currentIdx === 1) return;\n // next();\n // },\n // },\n // ],\n // }}\n // />\n // );\n // },\n // },\n ]);\n const userBarItems = cloudUI.listUserBarItems();\n const userBarSections = cloudUI.listUserBarSections();\n const CloudUserBar = () => <UserBar sections={userBarSections} items={userBarItems} />;\n workspace.registerMenuWidget([CloudUserBar]);\n if (workspace) {\n lanes.registerMenuWidget(CloudUserBar);\n component.registerRightSideMenuItem({ item: <CloudUserBar key={'cloud-user-bar-comp-menu'} />, order: 100 });\n }\n return cloudUI;\n }\n}\n\nexport default CloudUI;\n\nCloudAspect.addRuntime(CloudUI);\n"],"mappings":";;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,IAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,GAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,QAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,OAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,gBAAA;EAAA,MAAAL,IAAA,GAAAE,OAAA;EAAAG,eAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAM,SAAA;EAAA,MAAAN,IAAA,GAAAE,OAAA;EAAAI,QAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,SAAA;EAAA,MAAAP,IAAA,GAAAE,OAAA;EAAAK,QAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,OAAA;EAAA,MAAAR,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAM,MAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAS,WAAA;EAAA,MAAAT,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAO,UAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAU,WAAA;EAAA,MAAAV,IAAA,GAAAE,OAAA;EAAAQ,UAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAW,OAAA;EAAA,MAAAX,IAAA,GAAAE,OAAA;EAAAS,MAAA,YAAAA,CAAA;IAAA,OAAAX,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA6C,SAAAC,uBAAAW,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,gBAAAH,GAAA,EAAAI,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAJ,GAAA,IAAAO,MAAA,CAAAC,cAAA,CAAAR,GAAA,EAAAI,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAX,GAAA,CAAAI,GAAA,IAAAC,KAAA,WAAAL,GAAA;AAAA,SAAAM,eAAAM,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAF,CAAA,uCAAAC,CAAA,GAAAA,CAAA,GAAAE,MAAA,CAAAF,CAAA;AAAA,SAAAC,aAAAF,CAAA,EAAAI,CAAA,2BAAAJ,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAK,CAAA,GAAAL,CAAA,CAAAM,MAAA,CAAAC,WAAA,kBAAAF,CAAA,QAAAJ,CAAA,GAAAI,CAAA,CAAAG,IAAA,CAAAR,CAAA,EAAAI,CAAA,uCAAAH,CAAA,SAAAA,CAAA,YAAAQ,SAAA,yEAAAL,CAAA,GAAAD,MAAA,GAAAO,MAAA,EAAAV,CAAA,KAN7C;AAQO,MAAMW,OAAO,CAAC;EACnBC,WAAWA,CAASC,kBAAsC,EAAUC,eAAgC,EAAE;IAAA,KAAlFD,kBAAsC,GAAtCA,kBAAsC;IAAA,KAAUC,eAAgC,GAAhCA,eAAgC;EAAG;EACvG;AACF;AACA;EACEC,mBAAmBA,CAACC,WAA0B,EAAE;IAC9C,IAAI,CAACF,eAAe,CAACG,QAAQ,CAACD,WAAW,CAAC;IAC1C,OAAO,IAAI;EACb;;EAEA;AACF;AACA;EACEE,sBAAsBA,CAACC,QAA0B,EAAE;IACjD,IAAI,CAACN,kBAAkB,CAACI,QAAQ,CAACE,QAAQ,CAAC;IAC1C,OAAO,IAAI;EACb;;EAEA;AACF;AACA;EACEC,gBAAgBA,CAAA,EAAG;IACjB,OAAO,IAAAC,iBAAO,EAAC,IAAI,CAACP,eAAe,CAACQ,MAAM,CAAC,CAAC,CAAC;EAC/C;;EAEA;AACF;AACA;EACEC,mBAAmBA,CAAA,EAAG;IACpB,OAAO,IAAAF,iBAAO,EAAC,IAAI,CAACR,kBAAkB,CAACS,MAAM,CAAC,CAAC,CAAC;EAClD;EAQA,aAAaE,QAAQA,CACnB,CAACC,SAAS,EAAEC,KAAK,EAAEC,SAAS,CAAsC,EAClEC,CAAC,EACD,CAACd,eAAe,EAAED,kBAAkB,CAAwC,EAC5E;IACA,MAAMgB,OAAO,GAAG,IAAIlB,OAAO,CAACE,kBAAkB,EAAEC,eAAe,CAAC;IAEhEe,OAAO,CAACX,sBAAsB,CAAC,CAC7B;MACEY,WAAW,EAAE,qBAAqB;MAClCC,YAAY,EAAE;IAChB,CAAC,EACD;MACED,WAAW,EAAE,0BAA0B;MACvCC,YAAY,EAAE;IAChB,CAAC,CACF,CAAC;IACFF,OAAO,CAACd,mBAAmB,CAAC,CAC1B;MACEiB,IAAI,EAAE,UAAU;MAChBC,KAAK,EAAE,UAAU;MACjBC,IAAI,EAAE;IACR,CAAC,EACD;MACEC,QAAQ,EAAE,qBAAqB;MAC/BH,IAAI,EAAE,YAAY;MAClBC,KAAK,EAAE,iBAAiB;MACxBC,IAAI,EAAE;IACR,CAAC,EACD;MACEC,QAAQ,EAAE,qBAAqB;MAC/BH,IAAI,EAAE,YAAY;MAClBC,KAAK,EAAE,aAAa;MACpBC,IAAI,EAAE;IACR,CAAC,EACD;MACEC,QAAQ,EAAE,wBAAwB;MAClCH,IAAI,EAAE,eAAe;MACrBC,KAAK,EAAE,UAAU;MACjBC,IAAI,EAAE;IACR,CAAC,EACD;MACEC,QAAQ,EAAE,wBAAwB;MAClCR,SAAS,EAAE,SAASS,OAAOA,CAAA,EAAG;QAC5B,oBACE7D,MAAA,GAAAe,OAAA,CAAA+C,aAAA,CAACxD,eAAA,GAAAyD,OAAO;UACNC,IAAI,EAAE;YACJN,KAAK,EAAE,SAAS;YAChBD,IAAI,EAAE,OAAO;YACbQ,QAAQ,EAAE,CACR;cACEP,KAAK,EAAE,4BAA4B;cACnCQ,IAAI,EAAE;YACR,CAAC,EACD;cACER,KAAK,EAAE,gBAAgB;cACvBQ,IAAI,EAAE;YACR,CAAC,EACD;cACER,KAAK,EAAE,qBAAqB;cAC5BQ,IAAI,EAAE;YACR,CAAC;UAEL;QAAE,CACH,CAAC;MAEN;IACF;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAAA,CACD,CAAC;IACF,MAAMC,YAAY,GAAGb,OAAO,CAACT,gBAAgB,CAAC,CAAC;IAC/C,MAAMuB,eAAe,GAAGd,OAAO,CAACN,mBAAmB,CAAC,CAAC;IACrD,MAAMqB,YAAY,GAAGA,CAAA,kBAAMrE,MAAA,GAAAe,OAAA,CAAA+C,aAAA,CAACtD,QAAA,GAAA8D,OAAO;MAAC1B,QAAQ,EAAEwB,eAAgB;MAACG,KAAK,EAAEJ;IAAa,CAAE,CAAC;IACtFjB,SAAS,CAACsB,kBAAkB,CAAC,CAACH,YAAY,CAAC,CAAC;IAC5C,IAAInB,SAAS,EAAE;MACbC,KAAK,CAACqB,kBAAkB,CAACH,YAAY,CAAC;MACtCjB,SAAS,CAACqB,yBAAyB,CAAC;QAAET,IAAI,eAAEhE,MAAA,GAAAe,OAAA,CAAA+C,aAAA,CAACO,YAAY;UAACpD,GAAG,EAAE;QAA2B,CAAE,CAAC;QAAEyD,KAAK,EAAE;MAAI,CAAC,CAAC;IAC9G;IACA,OAAOpB,OAAO;EAChB;AACF;AAACqB,OAAA,CAAAvC,OAAA,GAAAA,OAAA;AAAApB,eAAA,CAtJYoB,OAAO,aAgCDwC,eAAS;AAAA5D,eAAA,CAhCfoB,OAAO,kBAkCI,CAACyC,oBAAe,EAAEC,gBAAW,EAAEC,4BAAe,CAAC;AAAA/D,eAAA,CAlC1DoB,OAAO,WAoCH,CAAC4C,eAAI,CAACC,QAAQ,CAAgB,CAAC,EAAED,eAAI,CAACC,QAAQ,CAAmB,CAAC,CAAC;AAAA,IAAAC,QAAA,GAAAP,OAAA,CAAA5D,OAAA,GAoHrEqB,OAAO;AAEtB+C,oBAAW,CAACC,UAAU,CAAChD,OAAO,CAAC"}
|
|
1
|
+
{"version":3,"names":["_react","data","_interopRequireDefault","require","_ui","_lodash","_designControls","_harmony","_cloudUi","_lanes","_workspace","_component","_cloud","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","CloudUI","constructor","userBarSectionSlot","userBarItemSlot","registerUserBarItem","userBarItem","register","registerUserBarSection","sections","listUserBarItems","flatten","values","listUserBarSections","provider","workspace","lanes","component","_","cloudUI","displayName","categoryName","icon","label","href","category","Support","createElement","SubMenu","item","children","link","userBarItems","userBarSections","CloudUserBar","UserBar","items","registerMenuWidget","registerRightSideMenuItem","order","exports","UIRuntime","WorkspaceAspect","LanesAspect","ComponentAspect","Slot","withType","_default","CloudAspect","addRuntime"],"sources":["cloud.ui.runtime.tsx"],"sourcesContent":["import React from 'react';\nimport { UIRuntime } from '@teambit/ui';\nimport { flatten } from 'lodash';\nimport { SubMenu } from '@teambit/design.controls.menu';\n// import { useThemePicker, useNextTheme } from '@teambit/base-react.themes.theme-switcher';\nimport { Slot } from '@teambit/harmony';\nimport { UserBar, UserBarItem, UserBarItemSlot, UserBarSection, UserBarSectionSlot } from '@teambit/cloud.ui.user-bar';\nimport { LanesAspect, LanesUI } from '@teambit/lanes';\nimport { WorkspaceAspect, WorkspaceUI } from '@teambit/workspace';\nimport { ComponentAspect, ComponentUI } from '@teambit/component';\nimport { CloudAspect } from './cloud.aspect';\n\nexport class CloudUI {\n constructor(private userBarSectionSlot: UserBarSectionSlot, private userBarItemSlot: UserBarItemSlot) {}\n /**\n * register a new user bar item.\n */\n registerUserBarItem(userBarItem: UserBarItem[]) {\n this.userBarItemSlot.register(userBarItem);\n return this;\n }\n\n /**\n * register a new user bar section\n */\n registerUserBarSection(sections: UserBarSection[]) {\n this.userBarSectionSlot.register(sections);\n return this;\n }\n\n /**\n * list user bar items.\n */\n listUserBarItems() {\n return flatten(this.userBarItemSlot.values());\n }\n\n /**\n * list all user bar sections.\n */\n listUserBarSections() {\n return flatten(this.userBarSectionSlot.values());\n }\n\n static runtime = UIRuntime;\n\n static dependencies = [WorkspaceAspect, LanesAspect, ComponentAspect];\n\n static slots = [Slot.withType<UserBarItem[]>(), Slot.withType<UserBarSection[]>()];\n\n static async provider(\n [workspace, lanes, component]: [WorkspaceUI, LanesUI, ComponentUI],\n _,\n [userBarItemSlot, userBarSectionSlot]: [UserBarItemSlot, UserBarSectionSlot]\n ) {\n const cloudUI = new CloudUI(userBarSectionSlot, userBarItemSlot);\n\n cloudUI.registerUserBarSection([\n {\n displayName: 'Scopes & Components',\n categoryName: 'ScopesAndComponents',\n },\n {\n displayName: 'Docs, Support & Feedback',\n categoryName: 'DocsSupportAndFeedback',\n },\n ]);\n cloudUI.registerUserBarItem([\n {\n icon: 'settings',\n label: 'Settings',\n href: 'https://bit.cloud/settings',\n },\n {\n category: 'ScopesAndComponents',\n icon: 'components',\n label: 'Your components',\n href: 'https://bit.cloud/components',\n },\n {\n category: 'ScopesAndComponents',\n icon: 'collection',\n label: 'Your scopes',\n href: 'https://bit.cloud/scopes',\n },\n {\n category: 'DocsSupportAndFeedback',\n icon: 'book-glossary',\n label: 'Bit Docs',\n href: 'https://bit.dev/docs',\n },\n {\n category: 'DocsSupportAndFeedback',\n component: function Support() {\n return (\n <SubMenu\n item={{\n label: 'Support',\n icon: 'users',\n children: [\n {\n label: 'Bit Community on bit.cloud',\n link: 'https://bit.cloud/bitdev',\n },\n {\n label: 'Ticket Support',\n link: 'https://support.bit.cloud',\n },\n {\n label: 'Bit Community Slack',\n link: 'https://join.slack.com/t/bit-dev-community/shared_invite/zt-29pmawrp1-ehfEzYbQyuAC3CNA_jYPvA',\n },\n ],\n }}\n />\n );\n },\n },\n // {\n // category: 'DocsSupportAndFeedback',\n // component: function ThemePicker() {\n // const next = useNextTheme();\n // const { currentIdx } = useThemePicker();\n // return (\n // <SubMenu\n // item={{\n // label: 'Theme',\n // icon: 'lightmode',\n // children: [\n // {\n // label: 'Light',\n // icon: currentIdx === 0 ? 'checkmark' : '',\n // onClick: () => {\n // if (currentIdx === 0) return;\n // next();\n // },\n // },\n // {\n // label: 'Dark',\n // icon: currentIdx === 1 ? 'checkmark' : '',\n // onClick: () => {\n // if (currentIdx === 1) return;\n // next();\n // },\n // },\n // ],\n // }}\n // />\n // );\n // },\n // },\n ]);\n const userBarItems = cloudUI.listUserBarItems();\n const userBarSections = cloudUI.listUserBarSections();\n const CloudUserBar = () => <UserBar sections={userBarSections} items={userBarItems} />;\n workspace.registerMenuWidget([CloudUserBar]);\n if (workspace) {\n lanes.registerMenuWidget(CloudUserBar);\n component.registerRightSideMenuItem({ item: <CloudUserBar key={'cloud-user-bar-comp-menu'} />, order: 100 });\n }\n return cloudUI;\n }\n}\n\nexport default CloudUI;\n\nCloudAspect.addRuntime(CloudUI);\n"],"mappings":";;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,IAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,GAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,QAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,OAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,gBAAA;EAAA,MAAAL,IAAA,GAAAE,OAAA;EAAAG,eAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAM,SAAA;EAAA,MAAAN,IAAA,GAAAE,OAAA;EAAAI,QAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,SAAA;EAAA,MAAAP,IAAA,GAAAE,OAAA;EAAAK,QAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,OAAA;EAAA,MAAAR,IAAA,GAAAE,OAAA;EAAAM,MAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAS,WAAA;EAAA,MAAAT,IAAA,GAAAE,OAAA;EAAAO,UAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAU,WAAA;EAAA,MAAAV,IAAA,GAAAE,OAAA;EAAAQ,UAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAW,OAAA;EAAA,MAAAX,IAAA,GAAAE,OAAA;EAAAS,MAAA,YAAAA,CAAA;IAAA,OAAAX,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA6C,SAAAC,uBAAAW,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,gBAAAH,GAAA,EAAAI,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAJ,GAAA,IAAAO,MAAA,CAAAC,cAAA,CAAAR,GAAA,EAAAI,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAX,GAAA,CAAAI,GAAA,IAAAC,KAAA,WAAAL,GAAA;AAAA,SAAAM,eAAAM,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAF,CAAA,uCAAAC,CAAA,GAAAA,CAAA,GAAAE,MAAA,CAAAF,CAAA;AAAA,SAAAC,aAAAF,CAAA,EAAAI,CAAA,2BAAAJ,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAK,CAAA,GAAAL,CAAA,CAAAM,MAAA,CAAAC,WAAA,kBAAAF,CAAA,QAAAJ,CAAA,GAAAI,CAAA,CAAAG,IAAA,CAAAR,CAAA,EAAAI,CAAA,uCAAAH,CAAA,SAAAA,CAAA,YAAAQ,SAAA,yEAAAL,CAAA,GAAAD,MAAA,GAAAO,MAAA,EAAAV,CAAA,KAN7C;AAQO,MAAMW,OAAO,CAAC;EACnBC,WAAWA,CAASC,kBAAsC,EAAUC,eAAgC,EAAE;IAAA,KAAlFD,kBAAsC,GAAtCA,kBAAsC;IAAA,KAAUC,eAAgC,GAAhCA,eAAgC;EAAG;EACvG;AACF;AACA;EACEC,mBAAmBA,CAACC,WAA0B,EAAE;IAC9C,IAAI,CAACF,eAAe,CAACG,QAAQ,CAACD,WAAW,CAAC;IAC1C,OAAO,IAAI;EACb;;EAEA;AACF;AACA;EACEE,sBAAsBA,CAACC,QAA0B,EAAE;IACjD,IAAI,CAACN,kBAAkB,CAACI,QAAQ,CAACE,QAAQ,CAAC;IAC1C,OAAO,IAAI;EACb;;EAEA;AACF;AACA;EACEC,gBAAgBA,CAAA,EAAG;IACjB,OAAO,IAAAC,iBAAO,EAAC,IAAI,CAACP,eAAe,CAACQ,MAAM,CAAC,CAAC,CAAC;EAC/C;;EAEA;AACF;AACA;EACEC,mBAAmBA,CAAA,EAAG;IACpB,OAAO,IAAAF,iBAAO,EAAC,IAAI,CAACR,kBAAkB,CAACS,MAAM,CAAC,CAAC,CAAC;EAClD;EAQA,aAAaE,QAAQA,CACnB,CAACC,SAAS,EAAEC,KAAK,EAAEC,SAAS,CAAsC,EAClEC,CAAC,EACD,CAACd,eAAe,EAAED,kBAAkB,CAAwC,EAC5E;IACA,MAAMgB,OAAO,GAAG,IAAIlB,OAAO,CAACE,kBAAkB,EAAEC,eAAe,CAAC;IAEhEe,OAAO,CAACX,sBAAsB,CAAC,CAC7B;MACEY,WAAW,EAAE,qBAAqB;MAClCC,YAAY,EAAE;IAChB,CAAC,EACD;MACED,WAAW,EAAE,0BAA0B;MACvCC,YAAY,EAAE;IAChB,CAAC,CACF,CAAC;IACFF,OAAO,CAACd,mBAAmB,CAAC,CAC1B;MACEiB,IAAI,EAAE,UAAU;MAChBC,KAAK,EAAE,UAAU;MACjBC,IAAI,EAAE;IACR,CAAC,EACD;MACEC,QAAQ,EAAE,qBAAqB;MAC/BH,IAAI,EAAE,YAAY;MAClBC,KAAK,EAAE,iBAAiB;MACxBC,IAAI,EAAE;IACR,CAAC,EACD;MACEC,QAAQ,EAAE,qBAAqB;MAC/BH,IAAI,EAAE,YAAY;MAClBC,KAAK,EAAE,aAAa;MACpBC,IAAI,EAAE;IACR,CAAC,EACD;MACEC,QAAQ,EAAE,wBAAwB;MAClCH,IAAI,EAAE,eAAe;MACrBC,KAAK,EAAE,UAAU;MACjBC,IAAI,EAAE;IACR,CAAC,EACD;MACEC,QAAQ,EAAE,wBAAwB;MAClCR,SAAS,EAAE,SAASS,OAAOA,CAAA,EAAG;QAC5B,oBACE7D,MAAA,GAAAe,OAAA,CAAA+C,aAAA,CAACxD,eAAA,GAAAyD,OAAO;UACNC,IAAI,EAAE;YACJN,KAAK,EAAE,SAAS;YAChBD,IAAI,EAAE,OAAO;YACbQ,QAAQ,EAAE,CACR;cACEP,KAAK,EAAE,4BAA4B;cACnCQ,IAAI,EAAE;YACR,CAAC,EACD;cACER,KAAK,EAAE,gBAAgB;cACvBQ,IAAI,EAAE;YACR,CAAC,EACD;cACER,KAAK,EAAE,qBAAqB;cAC5BQ,IAAI,EAAE;YACR,CAAC;UAEL;QAAE,CACH,CAAC;MAEN;IACF;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAAA,CACD,CAAC;IACF,MAAMC,YAAY,GAAGb,OAAO,CAACT,gBAAgB,CAAC,CAAC;IAC/C,MAAMuB,eAAe,GAAGd,OAAO,CAACN,mBAAmB,CAAC,CAAC;IACrD,MAAMqB,YAAY,GAAGA,CAAA,kBAAMrE,MAAA,GAAAe,OAAA,CAAA+C,aAAA,CAACtD,QAAA,GAAA8D,OAAO;MAAC1B,QAAQ,EAAEwB,eAAgB;MAACG,KAAK,EAAEJ;IAAa,CAAE,CAAC;IACtFjB,SAAS,CAACsB,kBAAkB,CAAC,CAACH,YAAY,CAAC,CAAC;IAC5C,IAAInB,SAAS,EAAE;MACbC,KAAK,CAACqB,kBAAkB,CAACH,YAAY,CAAC;MACtCjB,SAAS,CAACqB,yBAAyB,CAAC;QAAET,IAAI,eAAEhE,MAAA,GAAAe,OAAA,CAAA+C,aAAA,CAACO,YAAY;UAACpD,GAAG,EAAE;QAA2B,CAAE,CAAC;QAAEyD,KAAK,EAAE;MAAI,CAAC,CAAC;IAC9G;IACA,OAAOpB,OAAO;EAChB;AACF;AAACqB,OAAA,CAAAvC,OAAA,GAAAA,OAAA;AAAApB,eAAA,CAtJYoB,OAAO,aAgCDwC,eAAS;AAAA5D,eAAA,CAhCfoB,OAAO,kBAkCI,CAACyC,4BAAe,EAAEC,oBAAW,EAAEC,4BAAe,CAAC;AAAA/D,eAAA,CAlC1DoB,OAAO,WAoCH,CAAC4C,eAAI,CAACC,QAAQ,CAAgB,CAAC,EAAED,eAAI,CAACC,QAAQ,CAAmB,CAAC,CAAC;AAAA,IAAAC,QAAA,GAAAP,OAAA,CAAA5D,OAAA,GAoHrEqB,OAAO;AAEtB+C,oBAAW,CAACC,UAAU,CAAChD,OAAO,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/cloud",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.449",
|
|
4
4
|
"homepage": "https://bit.cloud/teambit/cloud/cloud",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.cloud",
|
|
8
8
|
"name": "cloud",
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.449"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"graphql-tag": "2.12.1",
|
|
@@ -20,19 +20,19 @@
|
|
|
20
20
|
"@teambit/scopes.scope-descriptor": "0.0.24",
|
|
21
21
|
"@teambit/scopes.scope-id": "0.0.7",
|
|
22
22
|
"@teambit/design.controls.menu": "0.0.1",
|
|
23
|
-
"@teambit/graphql": "1.0.
|
|
23
|
+
"@teambit/graphql": "1.0.173",
|
|
24
24
|
"@teambit/cli": "0.0.851",
|
|
25
25
|
"@teambit/cloud.models.cloud-scope": "0.0.3",
|
|
26
26
|
"@teambit/cloud.models.cloud-user": "0.0.5",
|
|
27
27
|
"@teambit/express": "0.0.950",
|
|
28
28
|
"@teambit/global-config": "0.0.854",
|
|
29
29
|
"@teambit/logger": "0.0.944",
|
|
30
|
-
"@teambit/scope": "1.0.
|
|
31
|
-
"@teambit/ui": "1.0.
|
|
32
|
-
"@teambit/workspace": "1.0.
|
|
30
|
+
"@teambit/scope": "1.0.173",
|
|
31
|
+
"@teambit/ui": "1.0.173",
|
|
32
|
+
"@teambit/workspace": "1.0.173",
|
|
33
33
|
"@teambit/cloud.ui.user-bar": "0.0.6",
|
|
34
|
-
"@teambit/component": "1.0.
|
|
35
|
-
"@teambit/lanes": "1.0.
|
|
34
|
+
"@teambit/component": "1.0.173",
|
|
35
|
+
"@teambit/lanes": "1.0.173"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@types/express": "4.17.13",
|
|
File without changes
|