@teambit/component-log 0.0.534 → 0.0.536
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/component-log.composition.js +1 -1
- package/dist/component-log.composition.js.map +1 -1
- package/dist/component-log.main.runtime.js +7 -15
- package/dist/component-log.main.runtime.js.map +1 -1
- package/dist/log-cmd.js +15 -21
- package/dist/log-cmd.js.map +1 -1
- package/dist/log-file-cmd.js +10 -17
- package/dist/log-file-cmd.js.map +1 -1
- package/dist/{preview-1694488626516.js → preview-1694624356552.js} +2 -2
- package/package.json +5 -7
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
@@ -12,6 +11,7 @@ function _react() {
|
|
|
12
11
|
};
|
|
13
12
|
return data;
|
|
14
13
|
}
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
15
|
const Logo = () => /*#__PURE__*/_react().default.createElement("div", {
|
|
16
16
|
style: {
|
|
17
17
|
height: '100%',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","data","_interopRequireDefault","require","
|
|
1
|
+
{"version":3,"names":["_react","data","_interopRequireDefault","require","obj","__esModule","default","Logo","createElement","style","height","display","justifyContent","width","src","exports"],"sources":["component-log.composition.tsx"],"sourcesContent":["import React from 'react';\n\nexport const Logo = () => (\n <div style={{ height: '100%', display: 'flex', justifyContent: 'center' }}>\n <img style={{ width: 70 }} src=\"https://static.bit.dev/extensions-icons/component-log.svg\" />\n </div>\n);\n"],"mappings":";;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA0B,SAAAC,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEnB,MAAMG,IAAI,GAAGA,CAAA,kBAClBP,MAAA,GAAAM,OAAA,CAAAE,aAAA;EAAKC,KAAK,EAAE;IAAEC,MAAM,EAAE,MAAM;IAAEC,OAAO,EAAE,MAAM;IAAEC,cAAc,EAAE;EAAS;AAAE,gBACxEZ,MAAA,GAAAM,OAAA,CAAAE,aAAA;EAAKC,KAAK,EAAE;IAAEI,KAAK,EAAE;EAAG,CAAE;EAACC,GAAG,EAAC;AAA2D,CAAE,CACzF,CACN;AAACC,OAAA,CAAAR,IAAA,GAAAA,IAAA"}
|
|
@@ -1,21 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
require("core-js/modules/es.array.iterator.js");
|
|
5
|
-
require("core-js/modules/es.promise.js");
|
|
6
|
-
require("core-js/modules/es.regexp.exec.js");
|
|
7
|
-
require("core-js/modules/es.string.replace.js");
|
|
8
3
|
Object.defineProperty(exports, "__esModule", {
|
|
9
4
|
value: true
|
|
10
5
|
});
|
|
11
6
|
exports.ComponentLogMain = void 0;
|
|
12
|
-
function _defineProperty2() {
|
|
13
|
-
const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
14
|
-
_defineProperty2 = function () {
|
|
15
|
-
return data;
|
|
16
|
-
};
|
|
17
|
-
return data;
|
|
18
|
-
}
|
|
19
7
|
function _cli() {
|
|
20
8
|
const data = require("@teambit/cli");
|
|
21
9
|
_cli = function () {
|
|
@@ -130,6 +118,10 @@ function _logFileCmd() {
|
|
|
130
118
|
}
|
|
131
119
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
132
120
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
121
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
122
|
+
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; }
|
|
123
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
124
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
133
125
|
class ComponentLogMain {
|
|
134
126
|
constructor(workspace) {
|
|
135
127
|
this.workspace = workspace;
|
|
@@ -293,9 +285,9 @@ class ComponentLogMain {
|
|
|
293
285
|
}
|
|
294
286
|
}
|
|
295
287
|
exports.ComponentLogMain = ComponentLogMain;
|
|
296
|
-
(
|
|
297
|
-
(
|
|
298
|
-
(
|
|
288
|
+
_defineProperty(ComponentLogMain, "slots", []);
|
|
289
|
+
_defineProperty(ComponentLogMain, "dependencies", [_cli().CLIAspect, _workspace().default]);
|
|
290
|
+
_defineProperty(ComponentLogMain, "runtime", _cli().MainRuntime);
|
|
299
291
|
_componentLog().ComponentLogAspect.addRuntime(ComponentLogMain);
|
|
300
292
|
|
|
301
293
|
//# sourceMappingURL=component-log.main.runtime.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_cli","data","require","_legacyBitId","_path","_interopRequireDefault","_moment","_pMap","_workspace","_interopRequireWildcard","_lodash","_pMapSeries","_path2","_componentsDiff","_chalk","_getRemoteByName","_componentLog","_logCmd","_snapGraph","_logFileCmd","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ComponentLogMain","constructor","workspace","getLogs","id","isRemote","shortHash","_this$workspace","consumer","bitId","BitId","parse","remote","getRemoteByName","scope","log","OutsideWorkspaceError","componentId","resolveComponentId","logs","forEach","date","moment","Date","parseInt","format","undefined","getLogsWithParents","graph","buildSnapGraph","sorted","toposort","map","node","stringifyLogInfoOneLine","attr","getChangedFilesFromParent","modelComp","getBitObjectModelComponent","versionObj","getBitObjectVersion","version","firstParent","parents","parentObj","toString","compDir","componentDir","ignoreVersion","results","compact","files","file","parentFile","find","f","relativePath","isEqual","filePath","path","join","hash","parentHash","filesOnParentOnly","filter","length","push","getFileHistoryHashes","getComponentIdByPath","Error","rootDir","filePathAsLinux","pathNormalizeToLinux","filePathRelativeInComponent","replace","pMap","logItem","fileInComp","tag","username","email","message","fileHash","concurrency","lastFileHash","item","index","getFileLog","relative","lastFile","pMapSeries","_diff","component","changeVersion","filesystem","lastResult","lastHash","toSourceAsLinuxEOL","diff","getFilesDiff","fileDiff","diffOutput","logInfo","chalk","yellow","provider","cli","componentLog","register","LogCmd","LogFileCmd","exports","_defineProperty2","CLIAspect","WorkspaceAspect","MainRuntime","ComponentLogAspect","addRuntime"],"sources":["component-log.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { BitId } from '@teambit/legacy-bit-id';\nimport path from 'path';\nimport moment from 'moment';\nimport pMap from 'p-map';\nimport WorkspaceAspect, { OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport { compact } from 'lodash';\nimport pMapSeries from 'p-map-series';\nimport { Version } from '@teambit/legacy/dist/scope/models';\nimport { pathNormalizeToLinux } from '@teambit/legacy/dist/utils/path';\nimport { getFilesDiff } from '@teambit/legacy/dist/consumer/component-ops/components-diff';\nimport chalk from 'chalk';\nimport getRemoteByName from '@teambit/legacy/dist/remotes/get-remote-by-name';\nimport { ComponentLogAspect } from './component-log.aspect';\nimport LogCmd from './log-cmd';\nimport { buildSnapGraph } from './snap-graph';\nimport { LogFileCmd } from './log-file-cmd';\n\nexport type FileLog = {\n hash: string;\n tag?: string;\n username?: string;\n email?: string;\n date: string;\n message: string;\n fileHash: string;\n fileDiff?: string;\n};\n\nexport type FileHashDiffFromParent = {\n filePath: string; // path OS absolute\n hash?: string; // if undefined, the file was deleted in this snap\n parentHash?: string; // if undefined, the file was added in this snap\n};\n\nexport class ComponentLogMain {\n constructor(private workspace: Workspace | undefined) {}\n\n /**\n * get component log sorted by the timestamp in ascending order (from the earliest to the latest)\n */\n async getLogs(id: string, isRemote?: boolean, shortHash = false) {\n if (isRemote) {\n const consumer = this.workspace?.consumer;\n const bitId: BitId = BitId.parse(id, true);\n const remote = await getRemoteByName(bitId.scope as string, consumer);\n return remote.log(bitId);\n }\n if (!this.workspace) throw new OutsideWorkspaceError();\n const componentId = await this.workspace.resolveComponentId(id);\n const logs = await this.workspace.scope.getLogs(componentId, shortHash);\n logs.forEach((log) => {\n log.date = log.date ? moment(new Date(parseInt(log.date))).format('YYYY-MM-DD HH:mm:ss') : undefined;\n });\n return logs;\n }\n\n async getLogsWithParents(id: string) {\n const logs = await this.getLogs(id, false, true);\n const graph = buildSnapGraph(logs);\n const sorted = graph.toposort();\n return sorted.map((node) => this.stringifyLogInfoOneLine(node.attr));\n }\n\n async getChangedFilesFromParent(id: string): Promise<FileHashDiffFromParent[]> {\n const workspace = this.workspace;\n if (!workspace) throw new OutsideWorkspaceError();\n const componentId = await workspace.resolveComponentId(id);\n const modelComp = await workspace.scope.getBitObjectModelComponent(componentId, true);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const versionObj = (await workspace.scope.getBitObjectVersion(modelComp!, componentId.version, true)) as Version;\n const firstParent = versionObj.parents[0];\n const parentObj = firstParent\n ? // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n ((await workspace.scope.getBitObjectVersion(modelComp!, firstParent.toString(), true)) as Version)\n : null;\n const compDir = workspace.componentDir(componentId, { ignoreVersion: true });\n const results: FileHashDiffFromParent[] = compact(\n versionObj.files.map((file) => {\n const parentFile = parentObj?.files.find((f) => f.relativePath === file.relativePath);\n if (parentFile?.file.isEqual(file.file)) return null;\n return {\n filePath: path.join(compDir, file.relativePath),\n hash: file.file.toString(),\n parentHash: parentFile?.file.toString(),\n };\n })\n );\n const filesOnParentOnly = (parentObj?.files || []).filter(\n (parentFile) => !versionObj.files.find((file) => file.relativePath === parentFile.relativePath)\n );\n if (filesOnParentOnly.length) {\n results.push(\n ...filesOnParentOnly.map((file) => ({\n filePath: file.relativePath,\n hash: undefined,\n parentHash: file.file.toString(),\n }))\n );\n }\n\n return results;\n }\n\n async getFileHistoryHashes(filePath: string): Promise<FileLog[]> {\n const workspace = this.workspace;\n if (!workspace) throw new OutsideWorkspaceError();\n const componentId = await workspace.getComponentIdByPath(filePath);\n if (!componentId) throw new Error(`unable to find component for file ${filePath}`);\n\n const rootDir = workspace.componentDir(componentId, undefined);\n\n const logs = await this.getLogs(componentId.toString());\n\n const filePathAsLinux = pathNormalizeToLinux(filePath);\n const filePathRelativeInComponent = filePathAsLinux.replace(`${rootDir}/`, '');\n\n const modelComp = await workspace.scope.getBitObjectModelComponent(componentId);\n if (!modelComp) return []; // probably a new component\n const results: FileLog[] = [];\n await pMap(\n logs,\n async (logItem) => {\n const versionObj = await workspace.scope.getBitObjectVersion(modelComp, logItem.hash, true);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const fileInComp = versionObj!.files.find((f) => f.relativePath === filePathRelativeInComponent);\n if (!fileInComp) return;\n\n results.push({\n hash: logItem.hash,\n tag: logItem.tag,\n username: logItem.username,\n email: logItem.email,\n date: logItem.date || '<N/A>',\n message: logItem.message,\n fileHash: fileInComp.file.toString(),\n });\n },\n { concurrency: 100 }\n );\n\n // remove entries that their fileHash is the same as the previous one\n let lastFileHash: string;\n results.forEach((item, index) => {\n if (index === 0) {\n lastFileHash = item.fileHash;\n return;\n }\n if (item.fileHash === lastFileHash) {\n delete results[index];\n }\n lastFileHash = item.fileHash;\n });\n\n return compact(results);\n }\n\n async getFileLog(filePath: string) {\n const workspace = this.workspace;\n if (!workspace) throw new OutsideWorkspaceError();\n const componentId = await workspace.getComponentIdByPath(filePath);\n if (!componentId) throw new Error(`unable to find component for file ${filePath}`);\n\n const rootDir = workspace.componentDir(componentId, undefined, { relative: true });\n\n const logs = await this.getLogs(componentId.toString());\n\n const filePathAsLinux = pathNormalizeToLinux(filePath);\n const filePathRelativeInComponent = filePathAsLinux.replace(`${rootDir}/`, '');\n\n const results: FileLog[] = [];\n let lastFile;\n await pMapSeries(logs, async (logItem) => {\n const component = await workspace.get(componentId.changeVersion(logItem.tag || logItem.hash));\n const fileInComp = component.filesystem.files.find((f) => f.relative === filePathRelativeInComponent);\n const lastResult = results[results.length - 1];\n const lastHash = lastResult?.fileHash;\n let fileHash: string;\n if (!fileInComp) {\n if (!lastHash) return;\n fileHash = '<REMOVED>';\n } else {\n fileHash = fileInComp.toSourceAsLinuxEOL().hash().toString();\n }\n if (fileHash === lastHash) return;\n\n let diff;\n if (lastFile && fileInComp) {\n diff = await getFilesDiff([lastFile], [fileInComp], logItem.hash, lastResult.hash, undefined);\n }\n\n lastFile = fileInComp;\n\n results.push({\n hash: logItem.hash,\n tag: logItem.tag,\n username: logItem.username,\n email: logItem.email,\n date: logItem.date || '<N/A>',\n message: logItem.message,\n fileDiff: diff?.length ? diff[0].diffOutput : undefined,\n fileHash,\n });\n });\n return results;\n }\n\n private stringifyLogInfoOneLine(logInfo: ComponentLogInfo) {\n const parents = logInfo.parents.length ? `Parent(s): ${logInfo.parents.join(', ')}` : '<N/A>';\n return `${chalk.yellow(logInfo.hash)} ${logInfo.username || ''} ${logInfo.date || ''} ${\n logInfo.message\n }, ${parents}`;\n }\n\n static slots = [];\n static dependencies = [CLIAspect, WorkspaceAspect];\n static runtime = MainRuntime;\n static async provider([cli, workspace]: [CLIMain, Workspace]) {\n const componentLog = new ComponentLogMain(workspace);\n cli.register(new LogCmd(componentLog), new LogFileCmd(componentLog));\n return componentLog;\n }\n}\n\nComponentLogAspect.addRuntime(ComponentLogMain);\n\nexport type ComponentLogInfo = {\n hash: string;\n message: string;\n onLane?: boolean;\n parents: string[];\n username?: string;\n email?: string;\n date?: string;\n tag?: string;\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_cli","data","require","_legacyBitId","_path","_interopRequireDefault","_moment","_pMap","_workspace","_interopRequireWildcard","_lodash","_pMapSeries","_path2","_componentsDiff","_chalk","_getRemoteByName","_componentLog","_logCmd","_snapGraph","_logFileCmd","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_defineProperty","value","_toPropertyKey","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","ComponentLogMain","constructor","workspace","getLogs","id","isRemote","shortHash","_this$workspace","consumer","bitId","BitId","parse","remote","getRemoteByName","scope","log","OutsideWorkspaceError","componentId","resolveComponentId","logs","forEach","date","moment","Date","parseInt","format","getLogsWithParents","graph","buildSnapGraph","sorted","toposort","map","node","stringifyLogInfoOneLine","attr","getChangedFilesFromParent","modelComp","getBitObjectModelComponent","versionObj","getBitObjectVersion","version","firstParent","parents","parentObj","toString","compDir","componentDir","ignoreVersion","results","compact","files","file","parentFile","find","f","relativePath","isEqual","filePath","path","join","hash","parentHash","filesOnParentOnly","filter","length","push","getFileHistoryHashes","getComponentIdByPath","Error","rootDir","filePathAsLinux","pathNormalizeToLinux","filePathRelativeInComponent","replace","pMap","logItem","fileInComp","tag","username","email","message","fileHash","concurrency","lastFileHash","item","index","getFileLog","relative","lastFile","pMapSeries","_diff","component","changeVersion","filesystem","lastResult","lastHash","toSourceAsLinuxEOL","diff","getFilesDiff","fileDiff","diffOutput","logInfo","chalk","yellow","provider","cli","componentLog","register","LogCmd","LogFileCmd","exports","CLIAspect","WorkspaceAspect","MainRuntime","ComponentLogAspect","addRuntime"],"sources":["component-log.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { BitId } from '@teambit/legacy-bit-id';\nimport path from 'path';\nimport moment from 'moment';\nimport pMap from 'p-map';\nimport WorkspaceAspect, { OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport { compact } from 'lodash';\nimport pMapSeries from 'p-map-series';\nimport { Version } from '@teambit/legacy/dist/scope/models';\nimport { pathNormalizeToLinux } from '@teambit/legacy/dist/utils/path';\nimport { getFilesDiff } from '@teambit/legacy/dist/consumer/component-ops/components-diff';\nimport chalk from 'chalk';\nimport getRemoteByName from '@teambit/legacy/dist/remotes/get-remote-by-name';\nimport { ComponentLogAspect } from './component-log.aspect';\nimport LogCmd from './log-cmd';\nimport { buildSnapGraph } from './snap-graph';\nimport { LogFileCmd } from './log-file-cmd';\n\nexport type FileLog = {\n hash: string;\n tag?: string;\n username?: string;\n email?: string;\n date: string;\n message: string;\n fileHash: string;\n fileDiff?: string;\n};\n\nexport type FileHashDiffFromParent = {\n filePath: string; // path OS absolute\n hash?: string; // if undefined, the file was deleted in this snap\n parentHash?: string; // if undefined, the file was added in this snap\n};\n\nexport class ComponentLogMain {\n constructor(private workspace: Workspace | undefined) {}\n\n /**\n * get component log sorted by the timestamp in ascending order (from the earliest to the latest)\n */\n async getLogs(id: string, isRemote?: boolean, shortHash = false) {\n if (isRemote) {\n const consumer = this.workspace?.consumer;\n const bitId: BitId = BitId.parse(id, true);\n const remote = await getRemoteByName(bitId.scope as string, consumer);\n return remote.log(bitId);\n }\n if (!this.workspace) throw new OutsideWorkspaceError();\n const componentId = await this.workspace.resolveComponentId(id);\n const logs = await this.workspace.scope.getLogs(componentId, shortHash);\n logs.forEach((log) => {\n log.date = log.date ? moment(new Date(parseInt(log.date))).format('YYYY-MM-DD HH:mm:ss') : undefined;\n });\n return logs;\n }\n\n async getLogsWithParents(id: string) {\n const logs = await this.getLogs(id, false, true);\n const graph = buildSnapGraph(logs);\n const sorted = graph.toposort();\n return sorted.map((node) => this.stringifyLogInfoOneLine(node.attr));\n }\n\n async getChangedFilesFromParent(id: string): Promise<FileHashDiffFromParent[]> {\n const workspace = this.workspace;\n if (!workspace) throw new OutsideWorkspaceError();\n const componentId = await workspace.resolveComponentId(id);\n const modelComp = await workspace.scope.getBitObjectModelComponent(componentId, true);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const versionObj = (await workspace.scope.getBitObjectVersion(modelComp!, componentId.version, true)) as Version;\n const firstParent = versionObj.parents[0];\n const parentObj = firstParent\n ? // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n ((await workspace.scope.getBitObjectVersion(modelComp!, firstParent.toString(), true)) as Version)\n : null;\n const compDir = workspace.componentDir(componentId, { ignoreVersion: true });\n const results: FileHashDiffFromParent[] = compact(\n versionObj.files.map((file) => {\n const parentFile = parentObj?.files.find((f) => f.relativePath === file.relativePath);\n if (parentFile?.file.isEqual(file.file)) return null;\n return {\n filePath: path.join(compDir, file.relativePath),\n hash: file.file.toString(),\n parentHash: parentFile?.file.toString(),\n };\n })\n );\n const filesOnParentOnly = (parentObj?.files || []).filter(\n (parentFile) => !versionObj.files.find((file) => file.relativePath === parentFile.relativePath)\n );\n if (filesOnParentOnly.length) {\n results.push(\n ...filesOnParentOnly.map((file) => ({\n filePath: file.relativePath,\n hash: undefined,\n parentHash: file.file.toString(),\n }))\n );\n }\n\n return results;\n }\n\n async getFileHistoryHashes(filePath: string): Promise<FileLog[]> {\n const workspace = this.workspace;\n if (!workspace) throw new OutsideWorkspaceError();\n const componentId = await workspace.getComponentIdByPath(filePath);\n if (!componentId) throw new Error(`unable to find component for file ${filePath}`);\n\n const rootDir = workspace.componentDir(componentId, undefined);\n\n const logs = await this.getLogs(componentId.toString());\n\n const filePathAsLinux = pathNormalizeToLinux(filePath);\n const filePathRelativeInComponent = filePathAsLinux.replace(`${rootDir}/`, '');\n\n const modelComp = await workspace.scope.getBitObjectModelComponent(componentId);\n if (!modelComp) return []; // probably a new component\n const results: FileLog[] = [];\n await pMap(\n logs,\n async (logItem) => {\n const versionObj = await workspace.scope.getBitObjectVersion(modelComp, logItem.hash, true);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const fileInComp = versionObj!.files.find((f) => f.relativePath === filePathRelativeInComponent);\n if (!fileInComp) return;\n\n results.push({\n hash: logItem.hash,\n tag: logItem.tag,\n username: logItem.username,\n email: logItem.email,\n date: logItem.date || '<N/A>',\n message: logItem.message,\n fileHash: fileInComp.file.toString(),\n });\n },\n { concurrency: 100 }\n );\n\n // remove entries that their fileHash is the same as the previous one\n let lastFileHash: string;\n results.forEach((item, index) => {\n if (index === 0) {\n lastFileHash = item.fileHash;\n return;\n }\n if (item.fileHash === lastFileHash) {\n delete results[index];\n }\n lastFileHash = item.fileHash;\n });\n\n return compact(results);\n }\n\n async getFileLog(filePath: string) {\n const workspace = this.workspace;\n if (!workspace) throw new OutsideWorkspaceError();\n const componentId = await workspace.getComponentIdByPath(filePath);\n if (!componentId) throw new Error(`unable to find component for file ${filePath}`);\n\n const rootDir = workspace.componentDir(componentId, undefined, { relative: true });\n\n const logs = await this.getLogs(componentId.toString());\n\n const filePathAsLinux = pathNormalizeToLinux(filePath);\n const filePathRelativeInComponent = filePathAsLinux.replace(`${rootDir}/`, '');\n\n const results: FileLog[] = [];\n let lastFile;\n await pMapSeries(logs, async (logItem) => {\n const component = await workspace.get(componentId.changeVersion(logItem.tag || logItem.hash));\n const fileInComp = component.filesystem.files.find((f) => f.relative === filePathRelativeInComponent);\n const lastResult = results[results.length - 1];\n const lastHash = lastResult?.fileHash;\n let fileHash: string;\n if (!fileInComp) {\n if (!lastHash) return;\n fileHash = '<REMOVED>';\n } else {\n fileHash = fileInComp.toSourceAsLinuxEOL().hash().toString();\n }\n if (fileHash === lastHash) return;\n\n let diff;\n if (lastFile && fileInComp) {\n diff = await getFilesDiff([lastFile], [fileInComp], logItem.hash, lastResult.hash, undefined);\n }\n\n lastFile = fileInComp;\n\n results.push({\n hash: logItem.hash,\n tag: logItem.tag,\n username: logItem.username,\n email: logItem.email,\n date: logItem.date || '<N/A>',\n message: logItem.message,\n fileDiff: diff?.length ? diff[0].diffOutput : undefined,\n fileHash,\n });\n });\n return results;\n }\n\n private stringifyLogInfoOneLine(logInfo: ComponentLogInfo) {\n const parents = logInfo.parents.length ? `Parent(s): ${logInfo.parents.join(', ')}` : '<N/A>';\n return `${chalk.yellow(logInfo.hash)} ${logInfo.username || ''} ${logInfo.date || ''} ${\n logInfo.message\n }, ${parents}`;\n }\n\n static slots = [];\n static dependencies = [CLIAspect, WorkspaceAspect];\n static runtime = MainRuntime;\n static async provider([cli, workspace]: [CLIMain, Workspace]) {\n const componentLog = new ComponentLogMain(workspace);\n cli.register(new LogCmd(componentLog), new LogFileCmd(componentLog));\n return componentLog;\n }\n}\n\nComponentLogAspect.addRuntime(ComponentLogMain);\n\nexport type ComponentLogInfo = {\n hash: string;\n message: string;\n onLane?: boolean;\n parents: string[];\n username?: string;\n email?: string;\n date?: string;\n tag?: string;\n};\n"],"mappings":"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"}
|
package/dist/log-cmd.js
CHANGED
|
@@ -1,21 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
require("core-js/modules/es.array.iterator.js");
|
|
5
|
-
require("core-js/modules/es.promise.js");
|
|
6
3
|
Object.defineProperty(exports, "__esModule", {
|
|
7
4
|
value: true
|
|
8
5
|
});
|
|
9
6
|
exports.default = void 0;
|
|
10
7
|
exports.getEmptyTableWithoutStyle = getEmptyTableWithoutStyle;
|
|
11
8
|
exports.paintAuthor = paintAuthor;
|
|
12
|
-
function _defineProperty2() {
|
|
13
|
-
const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
14
|
-
_defineProperty2 = function () {
|
|
15
|
-
return data;
|
|
16
|
-
};
|
|
17
|
-
return data;
|
|
18
|
-
}
|
|
19
9
|
function _chalk() {
|
|
20
10
|
const data = _interopRequireDefault(require("chalk"));
|
|
21
11
|
_chalk = function () {
|
|
@@ -30,21 +20,25 @@ function _cliTable() {
|
|
|
30
20
|
};
|
|
31
21
|
return data;
|
|
32
22
|
}
|
|
23
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
24
|
+
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; }
|
|
25
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
26
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
33
27
|
class LogCmd {
|
|
34
28
|
constructor(componentLog) {
|
|
35
29
|
this.componentLog = componentLog;
|
|
36
|
-
(
|
|
37
|
-
(
|
|
38
|
-
(
|
|
39
|
-
(
|
|
40
|
-
(
|
|
41
|
-
(
|
|
42
|
-
(
|
|
43
|
-
(
|
|
44
|
-
(
|
|
30
|
+
_defineProperty(this, "name", 'log <id>');
|
|
31
|
+
_defineProperty(this, "description", 'show components(s) version history');
|
|
32
|
+
_defineProperty(this, "helpUrl", 'reference/components/navigating-history');
|
|
33
|
+
_defineProperty(this, "extendedDescription", void 0);
|
|
34
|
+
_defineProperty(this, "group", 'info');
|
|
35
|
+
_defineProperty(this, "alias", '');
|
|
36
|
+
_defineProperty(this, "options", [['r', 'remote', 'show log of a remote component'], ['', 'parents', 'show parents and lanes data'], ['o', 'one-line', 'show each log entry in one line'], ['j', 'json', 'json format']]);
|
|
37
|
+
_defineProperty(this, "migration", true);
|
|
38
|
+
_defineProperty(this, "remoteOp", true);
|
|
45
39
|
// should support log against remote
|
|
46
|
-
(
|
|
47
|
-
(
|
|
40
|
+
_defineProperty(this, "skipWorkspace", true);
|
|
41
|
+
_defineProperty(this, "arguments", [{
|
|
48
42
|
name: 'id',
|
|
49
43
|
description: 'component-id or component-name'
|
|
50
44
|
}]);
|
package/dist/log-cmd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","_cliTable","
|
|
1
|
+
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","_cliTable","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","LogCmd","constructor","componentLog","name","description","report","id","remote","parents","oneLine","logs","getLogsWithParents","join","getLogs","logOneLine","reverse","map","paintLog","json","exports","paintAuthor","email","username","c","white","log","message","date","tag","hash","title","yellow","getEmptyTableWithoutStyle","Table","chars","top","bottom","left","mid","right","middle","style","table","push","toString"],"sources":["log-cmd.ts"],"sourcesContent":["import c from 'chalk';\nimport Table from 'cli-table';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { LegacyComponentLog } from '@teambit/legacy-component-log';\nimport { ComponentLogMain } from './component-log.main.runtime';\n\nexport default class LogCmd implements Command {\n name = 'log <id>';\n description = 'show components(s) version history';\n helpUrl = 'reference/components/navigating-history';\n extendedDescription: string;\n group = 'info';\n alias = '';\n options = [\n ['r', 'remote', 'show log of a remote component'],\n ['', 'parents', 'show parents and lanes data'],\n ['o', 'one-line', 'show each log entry in one line'],\n ['j', 'json', 'json format'],\n ] as CommandOptions;\n migration = true;\n remoteOp = true; // should support log against remote\n skipWorkspace = true;\n arguments = [{ name: 'id', description: 'component-id or component-name' }];\n\n constructor(private componentLog: ComponentLogMain) {}\n\n async report(\n [id]: [string],\n { remote = false, parents = false, oneLine = false }: { remote: boolean; parents: boolean; oneLine?: boolean }\n ) {\n if (parents) {\n const logs = await this.componentLog.getLogsWithParents(id);\n return logs.join('\\n');\n }\n const logs = await this.componentLog.getLogs(id, remote);\n if (oneLine) {\n return logOneLine(logs.reverse());\n }\n // reverse to show from the latest to earliest\n return logs.reverse().map(paintLog).join('\\n');\n }\n\n async json([id]: [string], { remote = false, parents = false }: { remote: boolean; parents: boolean }) {\n if (parents) {\n return this.componentLog.getLogsWithParents(id);\n }\n return this.componentLog.getLogs(id, remote);\n }\n}\n\nexport function paintAuthor(email: string | null | undefined, username: string | null | undefined) {\n if (email && username) {\n return c.white(`author: ${username} <${email}>\\n`);\n }\n if (email && !username) {\n return c.white(`author: <${email}>\\n`);\n }\n if (!email && username) {\n return c.white(`author: ${username}\\n`);\n }\n\n return '';\n}\n\nfunction paintLog(log: LegacyComponentLog): string {\n const { message, date, tag, hash, username, email } = log;\n const title = tag ? `tag ${tag} (${hash})\\n` : `snap ${hash}\\n`;\n return (\n c.yellow(title) +\n paintAuthor(email, username) +\n (date ? c.white(`date: ${date}\\n`) : '') +\n (message ? c.white(`\\n ${message}\\n`) : '')\n );\n}\n\n/**\n * table with no style and no borders, just to align the columns.\n */\nexport function getEmptyTableWithoutStyle() {\n return new Table({\n chars: {\n top: '',\n 'top-mid': '',\n 'top-left': '',\n 'top-right': '',\n bottom: '',\n 'bottom-mid': '',\n 'bottom-left': '',\n 'bottom-right': '',\n left: '',\n 'left-mid': '',\n mid: '',\n 'mid-mid': '',\n right: '',\n 'right-mid': '',\n middle: ' ',\n },\n style: { 'padding-left': 0, 'padding-right': 0 },\n });\n}\n\nfunction logOneLine(logs: LegacyComponentLog[]) {\n const table = getEmptyTableWithoutStyle();\n\n logs.map(({ hash, tag, username, date, message }) =>\n table.push([hash, tag || '', username || '', date || '', message || ''])\n );\n\n return table.toString();\n}\n"],"mappings":"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"}
|
package/dist/log-file-cmd.js
CHANGED
|
@@ -1,20 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
require("core-js/modules/es.array.iterator.js");
|
|
5
|
-
require("core-js/modules/es.promise.js");
|
|
6
|
-
require("core-js/modules/es.regexp.exec.js");
|
|
7
3
|
Object.defineProperty(exports, "__esModule", {
|
|
8
4
|
value: true
|
|
9
5
|
});
|
|
10
6
|
exports.LogFileCmd = void 0;
|
|
11
|
-
function _defineProperty2() {
|
|
12
|
-
const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
-
_defineProperty2 = function () {
|
|
14
|
-
return data;
|
|
15
|
-
};
|
|
16
|
-
return data;
|
|
17
|
-
}
|
|
18
7
|
function _chalk() {
|
|
19
8
|
const data = _interopRequireDefault(require("chalk"));
|
|
20
9
|
_chalk = function () {
|
|
@@ -29,15 +18,19 @@ function _logCmd() {
|
|
|
29
18
|
};
|
|
30
19
|
return data;
|
|
31
20
|
}
|
|
21
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
22
|
+
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; }
|
|
23
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
24
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
32
25
|
class LogFileCmd {
|
|
33
26
|
constructor(componentLog) {
|
|
34
27
|
this.componentLog = componentLog;
|
|
35
|
-
(
|
|
36
|
-
(
|
|
37
|
-
(
|
|
38
|
-
(
|
|
39
|
-
(
|
|
40
|
-
(
|
|
28
|
+
_defineProperty(this, "name", 'log-file <filepath>');
|
|
29
|
+
_defineProperty(this, "description", 'EXPERIMENTAL. show file history');
|
|
30
|
+
_defineProperty(this, "group", 'info');
|
|
31
|
+
_defineProperty(this, "alias", '');
|
|
32
|
+
_defineProperty(this, "options", [['o', 'one-line', 'show each log entry in one line']]);
|
|
33
|
+
_defineProperty(this, "arguments", [{
|
|
41
34
|
name: 'filepath',
|
|
42
35
|
description: 'file path relative to the workspace'
|
|
43
36
|
}]);
|
package/dist/log-file-cmd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","_logCmd","
|
|
1
|
+
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","_logCmd","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","LogFileCmd","constructor","componentLog","name","description","report","filePath","oneLine","results","getFileLog","table","getEmptyTableWithoutStyle","forEach","hash","tag","username","date","message","fileHash","push","toString","output","map","email","fileDiff","title","author","paintAuthor","body","chalk","green","split","line","join","yellow","white","exports"],"sources":["log-file-cmd.ts"],"sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\nimport chalk from 'chalk';\nimport { ComponentLogMain } from './component-log.main.runtime';\nimport { getEmptyTableWithoutStyle, paintAuthor } from './log-cmd';\n\nexport class LogFileCmd implements Command {\n name = 'log-file <filepath>';\n description = 'EXPERIMENTAL. show file history';\n group = 'info';\n alias = '';\n options = [['o', 'one-line', 'show each log entry in one line']] as CommandOptions;\n arguments = [{ name: 'filepath', description: 'file path relative to the workspace' }];\n\n constructor(private componentLog: ComponentLogMain) {}\n\n async report([filePath]: [string], { oneLine = false }: { oneLine?: boolean }) {\n const results = await this.componentLog.getFileLog(filePath);\n if (oneLine) {\n const table = getEmptyTableWithoutStyle();\n results.forEach(({ hash, tag, username, date, message, fileHash }) => {\n table.push([hash, tag || '', username || '', date, message, fileHash]);\n });\n return table.toString();\n }\n const output = results.map(({ hash, tag, username, email, date, message, fileDiff }) => {\n const title = tag ? `tag ${tag} (${hash})\\n` : `snap ${hash}\\n`;\n const author = paintAuthor(email, username);\n const body = (fileDiff || chalk.green('<FILE-ADDED>'))\n .split('\\n')\n .map((line) => ` ${line}`)\n .join('\\n');\n return (\n chalk.yellow(title) +\n author +\n (date ? chalk.white(`date: ${date}\\n`) : '') +\n (message ? chalk.white(`message: ${message}\\n\\n`) : '\\n') +\n body\n );\n });\n return output.join('\\n');\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_component-log@0.0.
|
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_component-log@0.0.
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_component-log@0.0.536/dist/component-log.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_component-log@0.0.536/dist/component-log.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [compositions_0];
|
|
5
5
|
export const overview = [overview_0];
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/component-log",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.536",
|
|
4
4
|
"homepage": "https://bit.cloud/teambit/component/component-log",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.component",
|
|
8
8
|
"name": "component-log",
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.536"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"chalk": "2.4.2",
|
|
@@ -15,13 +15,11 @@
|
|
|
15
15
|
"p-map-series": "2.1.0",
|
|
16
16
|
"p-map": "4.0.0",
|
|
17
17
|
"cli-table": "0.3.6",
|
|
18
|
-
"core-js": "^3.0.0",
|
|
19
|
-
"@babel/runtime": "7.20.0",
|
|
20
18
|
"@teambit/harmony": "0.4.6",
|
|
21
19
|
"@teambit/legacy-bit-id": "1.0.0",
|
|
22
20
|
"@teambit/graph.cleargraph": "0.0.1",
|
|
23
|
-
"@teambit/cli": "0.0.
|
|
24
|
-
"@teambit/workspace": "0.0.
|
|
21
|
+
"@teambit/cli": "0.0.773",
|
|
22
|
+
"@teambit/workspace": "0.0.1159",
|
|
25
23
|
"@teambit/legacy-component-log": "0.0.400"
|
|
26
24
|
},
|
|
27
25
|
"devDependencies": {
|
|
@@ -35,7 +33,7 @@
|
|
|
35
33
|
"@types/testing-library__jest-dom": "5.9.5"
|
|
36
34
|
},
|
|
37
35
|
"peerDependencies": {
|
|
38
|
-
"@teambit/legacy": "1.0.
|
|
36
|
+
"@teambit/legacy": "1.0.558",
|
|
39
37
|
"react": "^16.8.0 || ^17.0.0",
|
|
40
38
|
"react-dom": "^16.8.0 || ^17.0.0"
|
|
41
39
|
},
|