tnp-helpers 16.444.20 → 16.444.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/esm2022/lib/base/base-git.mjs +85 -2
  3. package/browser/esm2022/lib/base/base-library-build.mjs +4 -2
  4. package/browser/esm2022/lib/base/base-npm-helpers.mjs +168 -15
  5. package/browser/esm2022/lib/base/base-project.mjs +14 -1
  6. package/browser/esm2022/lib/base/base-release-process.mjs +582 -0
  7. package/browser/esm2022/lib/base/base-vscode.mjs +10 -1
  8. package/browser/esm2022/lib/base/commit-data.mjs +116 -44
  9. package/browser/esm2022/lib/base/core-project.mjs +1 -1
  10. package/browser/esm2022/lib/base/index.mjs +3 -1
  11. package/browser/esm2022/lib/models.mjs +1 -1
  12. package/browser/fesm2022/tnp-helpers.mjs +1016 -113
  13. package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
  14. package/browser/lib/base/base-git.d.ts +22 -4
  15. package/browser/lib/base/base-library-build.d.ts +1 -1
  16. package/browser/lib/base/base-npm-helpers.d.ts +28 -1
  17. package/browser/lib/base/base-project.d.ts +7 -0
  18. package/browser/lib/base/base-release-process.d.ts +70 -0
  19. package/browser/lib/base/commit-data.d.ts +18 -13
  20. package/browser/lib/base/core-project.d.ts +9 -0
  21. package/browser/lib/base/index.d.ts +1 -0
  22. package/browser/lib/models.d.ts +11 -1
  23. package/client/esm2022/lib/base/base-git.mjs +85 -2
  24. package/client/esm2022/lib/base/base-library-build.mjs +4 -2
  25. package/client/esm2022/lib/base/base-npm-helpers.mjs +168 -15
  26. package/client/esm2022/lib/base/base-project.mjs +14 -1
  27. package/client/esm2022/lib/base/base-release-process.mjs +582 -0
  28. package/client/esm2022/lib/base/base-vscode.mjs +10 -1
  29. package/client/esm2022/lib/base/commit-data.mjs +116 -44
  30. package/client/esm2022/lib/base/core-project.mjs +1 -1
  31. package/client/esm2022/lib/base/index.mjs +3 -1
  32. package/client/esm2022/lib/models.mjs +1 -1
  33. package/client/fesm2022/tnp-helpers.mjs +1016 -113
  34. package/client/fesm2022/tnp-helpers.mjs.map +1 -1
  35. package/client/lib/base/base-git.d.ts +22 -4
  36. package/client/lib/base/base-library-build.d.ts +1 -1
  37. package/client/lib/base/base-npm-helpers.d.ts +28 -1
  38. package/client/lib/base/base-project.d.ts +7 -0
  39. package/client/lib/base/base-release-process.d.ts +70 -0
  40. package/client/lib/base/commit-data.d.ts +18 -13
  41. package/client/lib/base/core-project.d.ts +9 -0
  42. package/client/lib/base/index.d.ts +1 -0
  43. package/client/lib/models.d.ts +11 -1
  44. package/client/package.json +32 -31
  45. package/lib/base/base-command-line.backend.d.ts +4 -0
  46. package/lib/base/base-command-line.backend.js +113 -1
  47. package/lib/base/base-command-line.backend.js.map +1 -1
  48. package/lib/base/base-git.d.ts +19 -1
  49. package/lib/base/base-git.js +156 -41
  50. package/lib/base/base-git.js.map +1 -1
  51. package/lib/base/base-library-build.d.ts +1 -1
  52. package/lib/base/base-library-build.js +33 -31
  53. package/lib/base/base-library-build.js.map +1 -1
  54. package/lib/base/base-npm-helpers.d.ts +30 -2
  55. package/lib/base/base-npm-helpers.js +212 -17
  56. package/lib/base/base-npm-helpers.js.map +1 -1
  57. package/lib/base/base-project.d.ts +7 -0
  58. package/lib/base/base-project.js +26 -2
  59. package/lib/base/base-project.js.map +1 -1
  60. package/lib/base/base-release-process.d.ts +69 -0
  61. package/lib/base/base-release-process.js +894 -0
  62. package/lib/base/base-release-process.js.map +1 -0
  63. package/lib/base/base-vscode.js +9 -0
  64. package/lib/base/base-vscode.js.map +1 -1
  65. package/lib/base/commit-data.d.ts +17 -12
  66. package/lib/base/commit-data.js +138 -78
  67. package/lib/base/commit-data.js.map +1 -1
  68. package/lib/base/core-project.d.ts +9 -0
  69. package/lib/base/core-project.js.map +1 -1
  70. package/lib/base/index.d.ts +2 -0
  71. package/lib/base/index.js +2 -0
  72. package/lib/base/index.js.map +1 -1
  73. package/lib/base/translate.d.ts +227 -1
  74. package/lib/base/translate.js +566 -54
  75. package/lib/base/translate.js.map +1 -1
  76. package/lib/helpers/for-backend/helpers-console-gui.d.ts +2 -1
  77. package/lib/helpers/for-backend/helpers-console-gui.js +3 -2
  78. package/lib/helpers/for-backend/helpers-console-gui.js.map +1 -1
  79. package/lib/helpers/for-backend/helpers-dependencies.backend.js +1 -2
  80. package/lib/helpers/for-backend/helpers-dependencies.backend.js.map +1 -1
  81. package/lib/helpers/for-backend/helpers-git.backend.d.ts +29 -1
  82. package/lib/helpers/for-backend/helpers-git.backend.js +204 -15
  83. package/lib/helpers/for-backend/helpers-git.backend.js.map +1 -1
  84. package/lib/helpers/for-backend/helpers-process.backend.d.ts +10 -8
  85. package/lib/helpers/for-backend/helpers-process.backend.js +56 -56
  86. package/lib/helpers/for-backend/helpers-process.backend.js.map +1 -1
  87. package/lib/helpers/for-browser/angular.helper.js +3 -3
  88. package/lib/models.d.ts +11 -1
  89. package/lib/old/base-component.js +3 -3
  90. package/lib/old/base-formly-component.js +3 -3
  91. package/lib/old/dual-component-ctrl.js +3 -3
  92. package/package.json +4 -4
  93. package/tmp-environment.json +36 -35
  94. package/websql/esm2022/lib/base/base-git.mjs +85 -2
  95. package/websql/esm2022/lib/base/base-library-build.mjs +4 -2
  96. package/websql/esm2022/lib/base/base-npm-helpers.mjs +168 -15
  97. package/websql/esm2022/lib/base/base-project.mjs +16 -3
  98. package/websql/esm2022/lib/base/base-release-process.mjs +582 -0
  99. package/websql/esm2022/lib/base/base-vscode.mjs +10 -1
  100. package/websql/esm2022/lib/base/commit-data.mjs +116 -44
  101. package/websql/esm2022/lib/base/core-project.mjs +1 -1
  102. package/websql/esm2022/lib/base/index.mjs +3 -1
  103. package/websql/esm2022/lib/models.mjs +1 -1
  104. package/websql/fesm2022/tnp-helpers.mjs +1018 -115
  105. package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
  106. package/websql/lib/base/base-git.d.ts +22 -4
  107. package/websql/lib/base/base-library-build.d.ts +1 -1
  108. package/websql/lib/base/base-npm-helpers.d.ts +28 -1
  109. package/websql/lib/base/base-project.d.ts +7 -0
  110. package/websql/lib/base/base-release-process.d.ts +70 -0
  111. package/websql/lib/base/commit-data.d.ts +18 -13
  112. package/websql/lib/base/core-project.d.ts +9 -0
  113. package/websql/lib/base/index.d.ts +1 -0
  114. package/websql/lib/models.d.ts +11 -1
@@ -7,7 +7,7 @@ export declare class BaseGit<PROJCET extends BaseProject = any> extends BaseFeat
7
7
  unstageAllFiles(): any;
8
8
  revertFileChanges(fileReletivePath: string): any;
9
9
  clone(url: string, destinationFolderName?: string, branchName?: string): Promise<any>;
10
- restoreLastVersion(localFilePath: string): any;
10
+ restoreLastVersion(relativeFilePath: string): void;
11
11
  stageAllFiles(): any;
12
12
  stash(optinos?: {
13
13
  onlyStaged?: boolean;
@@ -19,7 +19,7 @@ export declare class BaseGit<PROJCET extends BaseProject = any> extends BaseFeat
19
19
  get isWithoutGitRepository(): any;
20
20
  get isGitRoot(): any;
21
21
  get originURL(): any;
22
- commit(commitMessage?: string): any;
22
+ commit(commitMessage?: string): void;
23
23
  /**
24
24
  * alias to stage all and commit
25
25
  */
@@ -52,7 +52,11 @@ export declare class BaseGit<PROJCET extends BaseProject = any> extends BaseFeat
52
52
  get isInMergeProcess(): any;
53
53
  lastCommitDate(): any;
54
54
  lastCommitHash(): any;
55
- lastCommitMessage(): any;
55
+ lastCommitMessage(): string;
56
+ penultimateCommitMessage(): Promise<string>;
57
+ getCommitMessageByIndex(index: number): Promise<any>;
58
+ getCommitMessageByHash(hash: string): Promise<any>;
59
+ getCommitHashByIndex(index: number): Promise<any>;
56
60
  penultimateCommitHash(): any;
57
61
  checkTagExists(tag: string): any;
58
62
  checkout(branchName: string, options?: {
@@ -110,6 +114,10 @@ export declare class BaseGit<PROJCET extends BaseProject = any> extends BaseFeat
110
114
  pushProcess(options?: {
111
115
  force?: boolean;
112
116
  typeofCommit?: TypeOfCommit;
117
+ askToConfirmPush?: boolean;
118
+ askToConfirmCommit?: boolean;
119
+ skipLint?: boolean;
120
+ askToConfirmBranchChange?: boolean;
113
121
  origin?: string;
114
122
  args?: string[];
115
123
  setOrigin?: 'ssh' | 'http';
@@ -117,9 +125,19 @@ export declare class BaseGit<PROJCET extends BaseProject = any> extends BaseFeat
117
125
  forcePushNoQuestion?: boolean;
118
126
  commitMessageRequired?: boolean;
119
127
  skipChildren?: boolean;
120
- }): Promise<any>;
128
+ }): Promise<void>;
121
129
  _beforeAnyActionOnGitRoot(): any;
122
130
  protected _beforePushProcessAction(): Promise<any>;
123
131
  protected _beforePullProcessAction(cloneChildren?: boolean): Promise<any>;
124
132
  protected _getCommitMessage(typeofCommit: TypeOfCommit, args: string[], commitMessageRequired?: boolean): Promise<CommitData>;
133
+ /**
134
+ * This will prevent accidental branch change for firedev projects
135
+ * @returns branch name
136
+ */
137
+ duringPushWarnIfProjectNotOnSpecyficDevBranch(): string;
138
+ getChangedFilesInCommitByHash(hash: string): Promise<any>;
139
+ /**
140
+ * @param index 0 - means last commit
141
+ */
142
+ getChangedFilesInCommitByIndex(index: number): Promise<any>;
125
143
  }
@@ -38,7 +38,7 @@ export declare abstract class BaseLibraryBuild<PROJCET extends BaseProject = any
38
38
  /**
39
39
  * Angular library build
40
40
  */
41
- buildLibraries({ watch, strategy, buildType, copylink_to_node_modules, }?: LibrariesBuildOptions & {
41
+ buildLibraries({ watch, strategy, releaseBuild, buildType, copylink_to_node_modules, }?: LibrariesBuildOptions & {
42
42
  watch: boolean;
43
43
  }): Promise<void>;
44
44
  getLibraryBuildComamnd(options?: LibraryBuildCommandOptions): string | undefined;
@@ -7,11 +7,21 @@ import { CoreModels } from 'tnp-core/websql';
7
7
  export declare class BaseNpmHelpers<PROJCET extends BaseProject = any> extends BaseFeatureForProject {
8
8
  private packageJSON;
9
9
  constructor(project: PROJCET);
10
+ /**
11
+ * if something else change package.json in this project
12
+ * and you know that you need to reload it..
13
+ */
14
+ reloadPackageJsonInMemory(): void;
10
15
  get name(): string;
11
16
  /**
12
17
  * version from package.json -> property version
13
18
  */
14
19
  get version(): string;
20
+ set version(newVersion: string);
21
+ updateDependency(packageName: string, version: string): void;
22
+ get versionWithPatchPlusOne(): string;
23
+ get versionWithMinorPlusOneAndPatchZero(): string;
24
+ get versionWithMajorPlusOneAndMinorZeroAndPatchZero(): string;
15
25
  /**
16
26
  * Major Version from package.json
17
27
  */
@@ -51,7 +61,6 @@ export declare class BaseNpmHelpers<PROJCET extends BaseProject = any> extends B
51
61
  * @returns object witl all deps from package json
52
62
  */
53
63
  allDepsFromPackageJson(packageJson: PackageJson): any;
54
- checkIfLogginInToNpm(): any;
55
64
  linkNodeModulesTo(proj: Partial<BaseProject>): any;
56
65
  preferYarnOverNpm(): boolean;
57
66
  makeSureNodeModulesInstalled(options?: {
@@ -76,4 +85,22 @@ export declare class BaseNpmHelpers<PROJCET extends BaseProject = any> extends B
76
85
  unitlOutputContains(stdoutMsg: string | string[], stderMsg?: string | string[], timeout?: number, stdoutOutputContainsCallback?: () => any): any;
77
86
  };
78
87
  prepareCommand(optiosn?: CoreModels.NpmInstallOptions): Promise<string>;
88
+ /**
89
+ *
90
+ * @param registry without specified registr is checking npm registry
91
+ * @returns
92
+ */
93
+ isLoggedInToRegistry(registry?: string): Promise<boolean>;
94
+ /**
95
+ * Prompt the user to log in to a specific npm registry.
96
+ * @param {string} [registry] - Optional npm registry URL.
97
+ * @returns {Promise<void>} - A promise that resolves when the login process completes.
98
+ */
99
+ loginToRegistry(registry?: string): Promise<void>;
100
+ makeSureLoggedInToNpmRegistry(registry?: string): Promise<void>;
101
+ /**
102
+ * @deprecated
103
+ * use makeSureLoggedInToNpmRegistry()
104
+ */
105
+ checkIfLogginInToNpm(): any;
79
106
  }
@@ -9,6 +9,7 @@ import { BaseNpmHelpers } from './base-npm-helpers';
9
9
  import { BaseLinkedProjects } from './base-linked-projects';
10
10
  import { BaseGit } from './base-git';
11
11
  import { BaseVscodeHelpers } from './base-vscode';
12
+ import { BaseReleaseProcess } from './base-release-process';
12
13
  export declare abstract class BaseProject<PROJCET extends BaseProject = any, TYPE = BaseProjectType> {
13
14
  static ins: BaseProjectResolver<BaseProject<any, CoreModels.BaseProjectType>>;
14
15
  cache: any;
@@ -28,6 +29,7 @@ export declare abstract class BaseProject<PROJCET extends BaseProject = any, TYP
28
29
  npmHelpers: BaseNpmHelpers;
29
30
  linkedProjects: BaseLinkedProjects;
30
31
  vsCodeHelpers: BaseVscodeHelpers;
32
+ releaseProcess: BaseReleaseProcess;
31
33
  git: BaseGit;
32
34
  private __location;
33
35
  get location(): string;
@@ -167,6 +169,11 @@ export declare abstract class BaseProject<PROJCET extends BaseProject = any, TYP
167
169
  * init and build() project
168
170
  */
169
171
  build(buildOptions?: any): Promise<void>;
172
+ /**
173
+ * publish project to npm
174
+ */
175
+ publish(publishOptions?: any): Promise<void>;
176
+ release(releaseOptions?: any): Promise<void>;
170
177
  /**
171
178
  * lint porject
172
179
  */
@@ -0,0 +1,70 @@
1
+ // @ts-nocheck
2
+ import { BaseFeatureForProject } from './base-feature-for-project';
3
+ import type { BaseProject } from './base-project';
4
+ import { CoreModels } from 'tnp-core/websql';
5
+ import type { ChangelogData } from '.././models';
6
+ export declare class BaseReleaseProcess<PROJCET extends BaseProject = any> extends BaseFeatureForProject {
7
+ project: PROJCET;
8
+ /**
9
+ * Automatic release process of patch plus one version
10
+ */
11
+ automaticRelease: boolean;
12
+ type: CoreModels.ReleaseType;
13
+ lastChangesSummary: string;
14
+ newVersion: string;
15
+ commitsForChangelog: {
16
+ commitMessages: string;
17
+ index: number;
18
+ }[];
19
+ getReleaseWords(): string[];
20
+ startRelease(options?: Partial<Pick<BaseReleaseProcess<PROJCET>, 'automaticRelease' | 'type' | 'newVersion'>>): Promise<void>;
21
+ private reinstallNodeModules;
22
+ selectChangelogCommits(): Promise<{
23
+ commitMessages: string;
24
+ index: number;
25
+ }[]>;
26
+ private getCommitsUpToReleaseCommit;
27
+ private publishToNpm;
28
+ private testAfterPublish;
29
+ private testBeforePublish;
30
+ private commitAndPush;
31
+ protected releaseCommitTemplate(): string;
32
+ private testLibraries;
33
+ buildAllLibraries(): Promise<void>;
34
+ resetReleaseFiles(): Promise<any>;
35
+ get toBumpProjects(): PROJCET[];
36
+ bumpNewVersionEverywhere(): Promise<any>;
37
+ confirmNewVersion(): Promise<void>;
38
+ private selectReleaseType;
39
+ protected commitMessageInChangelogTransformFn(message: string): Promise<string>;
40
+ getChangelogContentToAppend(askForEveryItem: boolean): Promise<string>;
41
+ /**
42
+ * TODO extend this to all commits from last release
43
+ */
44
+ updateChangeLogFromCommits(): Promise<void>;
45
+ extractChangedLibrariesInCommit(hashOrIndex: string | number): Promise<string>;
46
+ changelogItemTemplate(hashOrIndex: string | number, confirmEveryItem?: boolean): Promise<string>;
47
+ generateLastChangesSummary(): Promise<string>;
48
+ getLastChangesFromCommits({ maxMessagesToCheck, stopOnCommitMessage, }?: {
49
+ /**
50
+ * default 3
51
+ */
52
+ maxMessagesToCheck?: number;
53
+ /**
54
+ * stop serching on commit message
55
+ */
56
+ stopOnCommitMessage?: string;
57
+ }): Promise<string>;
58
+ getLastReleaseCommitData(): Promise<{
59
+ lastRelaseCommitMsg: string;
60
+ /**
61
+ * -1 if not found
62
+ */
63
+ index: number;
64
+ }>;
65
+ getLastPackageVersionChangesFromChnagelog(): Promise<string>;
66
+ private get changeLogPath();
67
+ get changelogContent(): any;
68
+ changeLogKeyWord(): string;
69
+ getChnagelogData(): ChangelogData[];
70
+ }
@@ -1,22 +1,33 @@
1
1
  // @ts-nocheck
2
- export type CommonCommitMsgBranch = 'refactor' | 'chore' | 'style' | 'docs' | 'test' | 'ci' | 'build';
2
+ export type CommonCommitMsgBranch = 'refactor' | 'chore' | 'style' | 'docs' | 'test' | 'ci' | 'build' | 'release';
3
3
  export type TypeOfCommit = 'feature' | 'bugfix' | 'performance' | CommonCommitMsgBranch;
4
4
  export type TypeOfMsgPrefix = 'feat' | 'fix' | 'perf' | CommonCommitMsgBranch;
5
5
  export declare class CommitData {
6
- private _message;
6
+ private static cleanHttpFromCommitMessage;
7
+ private static getTeamsIdFrom;
8
+ private static getModuleNameFrom;
7
9
  /**
8
10
  *
9
11
  * @returns jiras (from oldest to newset)
10
12
  */
11
- private static extractAndOrderJiraNumbers;
12
- private static cleanHttpFromCommitMessage;
13
- private static getTeamsIdFrom;
14
- private static getModuleNameFrom;
13
+ static extractAndOrderJiraNumbers(commitOrBranchName: string): string[];
14
+ static cleanMessageFromJiraNumTeamIdEtc(message: string, optinos?: {
15
+ teamID: string;
16
+ commitModuleName: string;
17
+ jiraNumbers: string[];
18
+ }): string;
15
19
  private static getModuleNameFromBranch;
16
20
  static getFromArgs(args: string[], typeOfCommit: TypeOfCommit): Promise<any>;
17
21
  static getFromBranch(currentBranchName: string): Promise<any>;
18
22
  static from(options: Pick<CommitData, 'message' | 'jiraNumbers' | 'typeOfCommit' | 'commitModuleName' | 'teamID'>): CommitData;
23
+ private _message;
19
24
  typeOfCommit: TypeOfCommit;
25
+ /**
26
+ * ex. JIRA-2132 or MYJIRAREFIX-234234
27
+ */
28
+ jiraNumbers: string[];
29
+ readonly commitModuleName: string;
30
+ readonly teamID: string;
20
31
  private clearMessage;
21
32
  /**
22
33
  * pure message what was done (without jira or prefixes)
@@ -24,14 +35,8 @@ export declare class CommitData {
24
35
  */
25
36
  get message(): string;
26
37
  set message(message: string);
27
- /**
28
- * ex. JIRA-2132 or MYJIRAREFIX-234234
29
- */
30
- jiraNumbers: string[];
31
- readonly commitModuleName: string;
32
- readonly teamID: string;
33
38
  get branchPrefix(): TypeOfMsgPrefix;
34
39
  get commitMessage(): string;
35
- get branchName(): any;
40
+ get branchName(): string;
36
41
  get isActionCommit(): any;
37
42
  }
@@ -15,11 +15,18 @@ export type CoreCommandArgOptions<PROJECT extends BaseProject> = {
15
15
  watch?: boolean;
16
16
  prod?: boolean;
17
17
  debug?: boolean;
18
+ isInReleaseProcess?: boolean;
18
19
  libraryBuildOptions?: LibrariesBuildOptions;
19
20
  /**
20
21
  * first arg from command line
21
22
  */
22
23
  firstArg: string;
24
+ /**
25
+ * Not question for user ex.
26
+ * - automatic process of patch release
27
+ * - automatic deployment for default server
28
+ */
29
+ automaticProcess?: boolean;
23
30
  /**
24
31
  * orignal args with params
25
32
  */
@@ -46,6 +53,7 @@ export declare class CoreProject<PROJECT extends BaseProject = BaseProject> {
46
53
  * second color for project (optional)
47
54
  */
48
55
  thirdColor?: string;
56
+ npmRegistry?: string;
49
57
  description?: string;
50
58
  /**
51
59
  * ssh url for git repo
@@ -65,6 +73,7 @@ export declare class CoreProject<PROJECT extends BaseProject = BaseProject> {
65
73
  environments?: CoreProjectEnvironment[];
66
74
  startCommand?: (options: CoreCommandArgOptions<PROJECT>) => Promise<void>;
67
75
  relaseCommand?: (options: CoreCommandArgOptions<PROJECT>) => Promise<void>;
76
+ publishCommand?: (options: CoreCommandArgOptions<PROJECT>) => Promise<void>;
68
77
  deployCommand?: (options: CoreCommandArgOptions<PROJECT>) => Promise<void>;
69
78
  testCommand?: (options: CoreCommandArgOptions<PROJECT>) => Promise<void>;
70
79
  buildCommand?: (options: CoreCommandArgOptions<PROJECT>) => Promise<void>;
@@ -6,6 +6,7 @@ export * from './base-library-build';
6
6
  export * from './base-npm-helpers';
7
7
  export * from './base-linked-projects';
8
8
  export * from './base-git';
9
+ export * from './base-release-process';
9
10
  export * from './commit-data';
10
11
  export * from './core-project';
11
12
  export * from './linked-project';
@@ -23,6 +23,16 @@ export type LibraryBuildCommandOptions = {
23
23
  };
24
24
  export type LibrariesBuildOptions = {
25
25
  strategy?: 'link' | 'copy';
26
+ /**
27
+ * @deprecated
28
+ * this will be detected in future
29
+ */
26
30
  buildType: core.CoreModels.LibraryType;
27
31
  copylink_to_node_modules?: string[];
28
- };
32
+ releaseBuild?: boolean;
33
+ };
34
+ export interface ChangelogData {
35
+ changes: string[];
36
+ version: string;
37
+ date: string;
38
+ }