@common-stack/rollup-vite-utils 7.1.1-alpha.2 → 7.1.1-alpha.24

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 (30) hide show
  1. package/lib/rollup/rollupPluginGenerateJson.cjs +27 -0
  2. package/lib/rollup/rollupPluginGenerateJson.cjs.map +1 -1
  3. package/lib/rollup/rollupPluginGenerateJson.d.ts +10 -0
  4. package/lib/rollup/rollupPluginGenerateJson.js +27 -0
  5. package/lib/rollup/rollupPluginGenerateJson.js.map +1 -1
  6. package/lib/tools/codegen/performCopyOperations.cjs +47 -17
  7. package/lib/tools/codegen/performCopyOperations.cjs.map +1 -1
  8. package/lib/tools/codegen/performCopyOperations.js +47 -17
  9. package/lib/tools/codegen/performCopyOperations.js.map +1 -1
  10. package/lib/tools/codegen/readModules.cjs +40 -2
  11. package/lib/tools/codegen/readModules.cjs.map +1 -1
  12. package/lib/tools/codegen/readModules.js +40 -2
  13. package/lib/tools/codegen/readModules.js.map +1 -1
  14. package/lib/tools/codegen/setupCommonPackage.cjs +14 -5
  15. package/lib/tools/codegen/setupCommonPackage.cjs.map +1 -1
  16. package/lib/tools/codegen/setupCommonPackage.d.ts +1 -1
  17. package/lib/tools/codegen/setupCommonPackage.js +14 -5
  18. package/lib/tools/codegen/setupCommonPackage.js.map +1 -1
  19. package/lib/tools/codegen/templates/common/src/core/disposable.ts.template +93 -0
  20. package/lib/tools/codegen/templates/common/src/core/event.test.ts +16 -0
  21. package/lib/tools/codegen/templates/common/src/core/event.ts.template +326 -0
  22. package/lib/tools/codegen/templates/common/src/core/index.ts.template +3 -0
  23. package/lib/tools/codegen/templates/common/src/core/types.ts.template +1 -0
  24. package/lib/tools/codegen/templates/common/src/index.server.ts.template +2 -1
  25. package/lib/tools/codegen/templates/common/src/index.ts.template +1 -0
  26. package/lib/vite-wrappers/json-wrappers.cjs +28 -0
  27. package/lib/vite-wrappers/json-wrappers.cjs.map +1 -1
  28. package/lib/vite-wrappers/json-wrappers.js +28 -0
  29. package/lib/vite-wrappers/json-wrappers.js.map +1 -1
  30. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"readModules.js","sources":["../../../src/tools/codegen/readModules.ts"],"sourcesContent":[null],"names":["path","fs"],"mappings":"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"}
1
+ {"version":3,"file":"readModules.js","sources":["../../../src/tools/codegen/readModules.ts"],"sourcesContent":[null],"names":["path","fs"],"mappings":"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"}
@@ -30,7 +30,7 @@ function renameTemplateFilesSync(dirPath) {
30
30
  *
31
31
  * Provide optional projectPaths to override defaults.
32
32
  */
33
- function setupCommonPackage(projectPaths = {}) {
33
+ function setupCommonPackage(projectPaths = {}, forceClean = false) {
34
34
  // Default template path, if none provided in projectPaths
35
35
  const templatePath = projectPaths.templateCommonDir
36
36
  ? path.resolve(projectPaths.templateCommonDir)
@@ -42,10 +42,19 @@ function setupCommonPackage(projectPaths = {}) {
42
42
  console.log('--- Debug Info (setupCommonPackage) ---');
43
43
  console.log('templatePath:', templatePath);
44
44
  console.log('commonPackagePath:', commonPackagePath);
45
- // 1) Remove existing directory
46
- // fs.removeSync(commonPackagePath);
47
- // 2) Recreate it
48
- fs.ensureDirSync(commonPackagePath);
45
+ if (forceClean) {
46
+ // Only remove everything if force clean is requested
47
+ fs.removeSync(commonPackagePath);
48
+ fs.ensureDirSync(commonPackagePath);
49
+ }
50
+ else {
51
+ // Otherwise just ensure the directory exists and clean src
52
+ fs.ensureDirSync(commonPackagePath);
53
+ const srcPath = path.join(commonPackagePath, 'src');
54
+ if (fs.existsSync(srcPath)) {
55
+ fs.removeSync(srcPath);
56
+ }
57
+ }
49
58
  // 3) Copy template into it
50
59
  if (!fs.existsSync(templatePath)) {
51
60
  console.error(`Template path not found: ${templatePath}`);
@@ -1 +1 @@
1
- {"version":3,"file":"setupCommonPackage.cjs","sources":["../../../src/tools/codegen/setupCommonPackage.ts"],"sourcesContent":[null],"names":["fileURLToPath"],"mappings":"mKAUA,MAAM,eAAe,GAAGA,iBAAa,CAAC,sRAAe,CAAC,CAAC;AACvD,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;AAErD;;;;AAIG;AACH,SAAS,sBAAsB,CAAC,QAAgB,EAAA;IAC5C,OAAO,QAAQ,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;AACrD,CAAC;AAED;;AAEG;AACH,SAAS,uBAAuB,CAAC,OAAe,EAAA;AAC5C,IAAA,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;AACjE,IAAA,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;AACzB,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;AACjD,QAAA,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE;YACrB,uBAAuB,CAAC,SAAS,CAAC,CAAC;SACtC;AAAM,aAAA,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AACxE,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AACvE,YAAA,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;SACxD;KACJ;AACL,CAAC;AAED;;;;;AAKG;AACa,SAAA,kBAAkB,CAAC,YAAA,GAA6B,EAAE,EAAA;;AAE9D,IAAA,MAAM,YAAY,GAAG,YAAY,CAAC,iBAAiB;UAC7C,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,iBAAiB,CAAC;UAC5C,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;;AAGpD,IAAA,MAAM,iBAAiB,GAAG,YAAY,CAAC,gBAAgB;UACjD,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAC;AAC7C,UAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,iBAAiB,CAAC,CAAC;AAElD,IAAA,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;AACvD,IAAA,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;AAC3C,IAAA,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAC;;;;AAMrD,IAAA,EAAE,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;;IAGpC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;AAC9B,QAAA,OAAO,CAAC,KAAK,CAAC,4BAA4B,YAAY,CAAA,CAAE,CAAC,CAAC;AAC1D,QAAA,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;AACxD,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACnB;AAED,IAAA,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,iBAAiB,EAAE;AACzC,QAAA,SAAS,EAAE,IAAI;AAClB,KAAA,CAAC,CAAC;;IAGH,uBAAuB,CAAC,iBAAiB,CAAC,CAAC;AAE3C,IAAA,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;AACnD"}
1
+ {"version":3,"file":"setupCommonPackage.cjs","sources":["../../../src/tools/codegen/setupCommonPackage.ts"],"sourcesContent":[null],"names":["fileURLToPath"],"mappings":"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"}
@@ -8,5 +8,5 @@ interface ProjectPaths {
8
8
  *
9
9
  * Provide optional projectPaths to override defaults.
10
10
  */
11
- export declare function setupCommonPackage(projectPaths?: ProjectPaths): void;
11
+ export declare function setupCommonPackage(projectPaths?: ProjectPaths, forceClean?: boolean): void;
12
12
  export {};
@@ -30,7 +30,7 @@ function renameTemplateFilesSync(dirPath) {
30
30
  *
31
31
  * Provide optional projectPaths to override defaults.
32
32
  */
33
- function setupCommonPackage(projectPaths = {}) {
33
+ function setupCommonPackage(projectPaths = {}, forceClean = false) {
34
34
  // Default template path, if none provided in projectPaths
35
35
  const templatePath = projectPaths.templateCommonDir
36
36
  ? path__default.resolve(projectPaths.templateCommonDir)
@@ -42,10 +42,19 @@ function setupCommonPackage(projectPaths = {}) {
42
42
  console.log('--- Debug Info (setupCommonPackage) ---');
43
43
  console.log('templatePath:', templatePath);
44
44
  console.log('commonPackagePath:', commonPackagePath);
45
- // 1) Remove existing directory
46
- // fs.removeSync(commonPackagePath);
47
- // 2) Recreate it
48
- fs.ensureDirSync(commonPackagePath);
45
+ if (forceClean) {
46
+ // Only remove everything if force clean is requested
47
+ fs.removeSync(commonPackagePath);
48
+ fs.ensureDirSync(commonPackagePath);
49
+ }
50
+ else {
51
+ // Otherwise just ensure the directory exists and clean src
52
+ fs.ensureDirSync(commonPackagePath);
53
+ const srcPath = path__default.join(commonPackagePath, 'src');
54
+ if (fs.existsSync(srcPath)) {
55
+ fs.removeSync(srcPath);
56
+ }
57
+ }
49
58
  // 3) Copy template into it
50
59
  if (!fs.existsSync(templatePath)) {
51
60
  console.error(`Template path not found: ${templatePath}`);
@@ -1 +1 @@
1
- {"version":3,"file":"setupCommonPackage.js","sources":["../../../src/tools/codegen/setupCommonPackage.ts"],"sourcesContent":[null],"names":["path"],"mappings":"yFAUA,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvD,MAAM,cAAc,GAAGA,aAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;AAErD;;;;AAIG;AACH,SAAS,sBAAsB,CAAC,QAAgB,EAAA;IAC5C,OAAO,QAAQ,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;AACrD,CAAC;AAED;;AAEG;AACH,SAAS,uBAAuB,CAAC,OAAe,EAAA;AAC5C,IAAA,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;AACjE,IAAA,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;AACzB,QAAA,MAAM,SAAS,GAAGA,aAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;AACjD,QAAA,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE;YACrB,uBAAuB,CAAC,SAAS,CAAC,CAAC;SACtC;AAAM,aAAA,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AACxE,YAAA,MAAM,OAAO,GAAGA,aAAI,CAAC,IAAI,CAAC,OAAO,EAAE,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AACvE,YAAA,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;SACxD;KACJ;AACL,CAAC;AAED;;;;;AAKG;AACa,SAAA,kBAAkB,CAAC,YAAA,GAA6B,EAAE,EAAA;;AAE9D,IAAA,MAAM,YAAY,GAAG,YAAY,CAAC,iBAAiB;UAC7CA,aAAI,CAAC,OAAO,CAAC,YAAY,CAAC,iBAAiB,CAAC;UAC5CA,aAAI,CAAC,IAAI,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;;AAGpD,IAAA,MAAM,iBAAiB,GAAG,YAAY,CAAC,gBAAgB;UACjDA,aAAI,CAAC,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAC;AAC7C,UAAEA,aAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,iBAAiB,CAAC,CAAC;AAElD,IAAA,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;AACvD,IAAA,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;AAC3C,IAAA,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAC;;;;AAMrD,IAAA,EAAE,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;;IAGpC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;AAC9B,QAAA,OAAO,CAAC,KAAK,CAAC,4BAA4B,YAAY,CAAA,CAAE,CAAC,CAAC;AAC1D,QAAA,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;AACxD,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACnB;AAED,IAAA,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,iBAAiB,EAAE;AACzC,QAAA,SAAS,EAAE,IAAI;AAClB,KAAA,CAAC,CAAC;;IAGH,uBAAuB,CAAC,iBAAiB,CAAC,CAAC;AAE3C,IAAA,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;AACnD"}
1
+ {"version":3,"file":"setupCommonPackage.js","sources":["../../../src/tools/codegen/setupCommonPackage.ts"],"sourcesContent":[null],"names":["path"],"mappings":"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"}
@@ -0,0 +1,93 @@
1
+ /* tslint:disable */
2
+ import { Event, Emitter } from './event';
3
+
4
+ export interface Disposable {
5
+ /**
6
+ * Dispose this object.
7
+ */
8
+ dispose(): void;
9
+ }
10
+
11
+ export namespace Disposable {
12
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
13
+ export function is(arg: any): arg is Disposable {
14
+ return !!arg && typeof arg === 'object' && 'dispose' in arg && typeof arg['dispose'] === 'function';
15
+ }
16
+ export function create(func: () => void): Disposable {
17
+ return {
18
+ dispose: func
19
+ };
20
+ }
21
+ export const NULL = create(() => { });
22
+ }
23
+
24
+ export class DisposableCollection implements Disposable {
25
+
26
+ protected readonly disposables: Disposable[] = [];
27
+ protected readonly onDisposeEmitter = new Emitter<void>();
28
+
29
+ constructor(...toDispose: Disposable[]) {
30
+ toDispose.forEach(d => this.push(d));
31
+ }
32
+
33
+ /**
34
+ * This event is fired only once
35
+ * on first dispose of not empty collection.
36
+ */
37
+ get onDispose(): Event<void> {
38
+ return this.onDisposeEmitter.event;
39
+ }
40
+
41
+ protected checkDisposed(): void {
42
+ if (this.disposed && !this.disposingElements) {
43
+ this.onDisposeEmitter.fire(undefined);
44
+ this.onDisposeEmitter.dispose();
45
+ }
46
+ }
47
+
48
+ get disposed(): boolean {
49
+ return this.disposables.length === 0;
50
+ }
51
+
52
+ private disposingElements = false;
53
+ dispose(): void {
54
+ if (this.disposed || this.disposingElements) {
55
+ return;
56
+ }
57
+ this.disposingElements = true;
58
+ while (!this.disposed) {
59
+ try {
60
+ this.disposables.pop()!.dispose();
61
+ } catch (e) {
62
+ console.error(e);
63
+ }
64
+ }
65
+ this.disposingElements = false;
66
+ this.checkDisposed();
67
+ }
68
+
69
+ push(disposable: Disposable): Disposable {
70
+ const disposables = this.disposables;
71
+ disposables.push(disposable);
72
+ const originalDispose = disposable.dispose.bind(disposable);
73
+ const toRemove = Disposable.create(() => {
74
+ const index = disposables.indexOf(disposable);
75
+ if (index !== -1) {
76
+ disposables.splice(index, 1);
77
+ }
78
+ this.checkDisposed();
79
+ });
80
+ disposable.dispose = () => {
81
+ toRemove.dispose();
82
+ originalDispose();
83
+ };
84
+ return toRemove;
85
+ }
86
+
87
+ pushAll(disposables: Disposable[]): Disposable[] {
88
+ return disposables.map(disposable =>
89
+ this.push(disposable)
90
+ );
91
+ }
92
+
93
+ }
@@ -0,0 +1,16 @@
1
+ // import { expect } from 'vitest';
2
+ // import { Emitter } from './event';
3
+
4
+ // describe('Event Objects', () => {
5
+
6
+ // it('Emitter firing should be synchronous', () => {
7
+ // const emitter = new Emitter<undefined>();
8
+ // let counter = 0;
9
+
10
+ // emitter.event(() => counter++);
11
+ // expect(counter).eq(0);
12
+ // emitter.fire(undefined);
13
+ // expect(counter).eq(1);
14
+ // });
15
+
16
+ // });
@@ -0,0 +1,326 @@
1
+ /* tslint:disable */
2
+
3
+ import { Disposable } from './disposable';
4
+ import { MaybePromise } from './types';
5
+
6
+ /**
7
+ * Represents a typed event.
8
+ */
9
+ export interface Event<T> {
10
+
11
+ /**
12
+ *
13
+ * @param listener The listener function will be call when the event happens.
14
+ * @param thisArgs The 'this' which will be used when calling the event listener.
15
+ * @param disposables An array to which a {{IDisposable}} will be added.
16
+ * @return a disposable to remove the listener again.
17
+ */
18
+ (listener: (e: T) => any, thisArgs?: any, disposables?: Disposable[]): Disposable;
19
+ /**
20
+ * An emitter will print a warning if more listeners are added for this event.
21
+ * The event.maxListeners allows the limit to be modified for this specific event.
22
+ * The value can be set to 0 to indicate an unlimited number of listener.
23
+ */
24
+ maxListeners: number
25
+ }
26
+
27
+ export namespace Event {
28
+ const _disposable = { dispose(): void { } };
29
+ export const None: Event<any> = Object.assign(function (): { dispose(): void } { return _disposable; }, {
30
+ get maxListeners(): number { return 0; },
31
+ set maxListeners(maxListeners: number) { }
32
+ });
33
+
34
+ /**
35
+ * Given an event and a `map` function, returns another event which maps each element
36
+ * through the mapping function.
37
+ */
38
+ export function map<I, O>(event: Event<I>, mapFunc: (i: I) => O): Event<O> {
39
+ return Object.assign((listener: (e: O) => any, thisArgs?: any, disposables?: Disposable[]) => event(i => listener.call(thisArgs, mapFunc(i)), undefined, disposables), {
40
+ maxListeners: 0,
41
+ });
42
+ }
43
+ }
44
+
45
+ type Callback = (...args: any[]) => any;
46
+ class CallbackList implements Iterable<Callback> {
47
+
48
+ private _callbacks: Function[] | undefined;
49
+ private _contexts: any[] | undefined;
50
+
51
+ get length(): number {
52
+ return this._callbacks && this._callbacks.length || 0;
53
+ }
54
+
55
+ public add(callback: Function, context: any = undefined, bucket?: Disposable[]): void {
56
+ if (!this._callbacks) {
57
+ this._callbacks = [];
58
+ this._contexts = [];
59
+ }
60
+ this._callbacks.push(callback);
61
+ this._contexts!.push(context);
62
+
63
+ if (Array.isArray(bucket)) {
64
+ bucket.push({ dispose: () => this.remove(callback, context) });
65
+ }
66
+ }
67
+
68
+ public remove(callback: Function, context: any = undefined): void {
69
+ if (!this._callbacks) {
70
+ return;
71
+ }
72
+
73
+ let foundCallbackWithDifferentContext = false;
74
+ for (let i = 0; i < this._callbacks.length; i++) {
75
+ if (this._callbacks[i] === callback) {
76
+ if (this._contexts![i] === context) {
77
+ // callback & context match => remove it
78
+ this._callbacks.splice(i, 1);
79
+ this._contexts!.splice(i, 1);
80
+ return;
81
+ } else {
82
+ foundCallbackWithDifferentContext = true;
83
+ }
84
+ }
85
+ }
86
+
87
+ if (foundCallbackWithDifferentContext) {
88
+ throw new Error('When adding a listener with a context, you should remove it with the same context');
89
+ }
90
+ }
91
+
92
+ // tslint:disable-next-line:typedef
93
+ public [Symbol.iterator]() {
94
+ if (!this._callbacks) {
95
+ return [][Symbol.iterator]();
96
+ }
97
+ const callbacks = this._callbacks.slice(0);
98
+ const contexts = this._contexts!.slice(0);
99
+
100
+ return callbacks.map((callback, i) =>
101
+ (...args: any[]) => callback.apply(contexts[i], args)
102
+ )[Symbol.iterator]();
103
+ }
104
+
105
+ public invoke(...args: any[]): any[] {
106
+ const ret: any[] = [];
107
+ for (const callback of this) {
108
+ try {
109
+ ret.push(callback(...args));
110
+ } catch (e) {
111
+ console.error(e);
112
+ }
113
+ }
114
+ return ret;
115
+ }
116
+
117
+ public isEmpty(): boolean {
118
+ return !this._callbacks || this._callbacks.length === 0;
119
+ }
120
+
121
+ public dispose(): void {
122
+ this._callbacks = undefined;
123
+ this._contexts = undefined;
124
+ }
125
+ }
126
+
127
+ export interface EmitterOptions {
128
+ onFirstListenerAdd?: Function;
129
+ onLastListenerRemove?: Function;
130
+ }
131
+
132
+ export class Emitter<T = any> {
133
+
134
+ private static LEAK_WARNING_THRESHHOLD = 175;
135
+
136
+ private static _noop = function (): void { };
137
+
138
+ private _event: Event<T>;
139
+ private _callbacks: CallbackList | undefined;
140
+ private _disposed = false;
141
+
142
+ private _leakingStacks: Map<string, number> | undefined;
143
+ private _leakWarnCountdown = 0;
144
+
145
+ constructor(
146
+ private _options?: EmitterOptions
147
+ ) { }
148
+
149
+ /**
150
+ * For the public to allow to subscribe
151
+ * to events from this Emitter
152
+ */
153
+ get event(): Event<T> {
154
+ if (!this._event) {
155
+ this._event = Object.assign((listener: (e: T) => any, thisArgs?: any, disposables?: Disposable[]) => {
156
+ if (!this._callbacks) {
157
+ this._callbacks = new CallbackList();
158
+ }
159
+ if (this._options && this._options.onFirstListenerAdd && this._callbacks.isEmpty()) {
160
+ this._options.onFirstListenerAdd(this);
161
+ }
162
+ this._callbacks.add(listener, thisArgs);
163
+ const removeMaxListenersCheck = this.checkMaxListeners(this._event.maxListeners);
164
+
165
+ const result: Disposable = {
166
+ dispose: () => {
167
+ if (removeMaxListenersCheck) {
168
+ removeMaxListenersCheck();
169
+ }
170
+ result.dispose = Emitter._noop;
171
+ if (!this._disposed) {
172
+ this._callbacks!.remove(listener, thisArgs);
173
+ result.dispose = Emitter._noop;
174
+ if (this._options && this._options.onLastListenerRemove && this._callbacks!.isEmpty()) {
175
+ this._options.onLastListenerRemove(this);
176
+ }
177
+ }
178
+ }
179
+ };
180
+ if (Array.isArray(disposables)) {
181
+ disposables.push(result);
182
+ }
183
+
184
+ return result;
185
+ }, {
186
+ maxListeners: Emitter.LEAK_WARNING_THRESHHOLD
187
+ }
188
+ );
189
+ }
190
+ return this._event;
191
+ }
192
+
193
+ protected checkMaxListeners(maxListeners: number): (() => void) | undefined {
194
+ if (maxListeners === 0 || !this._callbacks) {
195
+ return undefined;
196
+ }
197
+ const listenerCount = this._callbacks.length;
198
+ if (listenerCount <= maxListeners) {
199
+ return undefined;
200
+ }
201
+
202
+ const popStack = this.pushLeakingStack();
203
+
204
+ this._leakWarnCountdown -= 1;
205
+ if (this._leakWarnCountdown <= 0) {
206
+ // only warn on first exceed and then every time the limit
207
+ // is exceeded by 50% again
208
+ this._leakWarnCountdown = maxListeners * 0.5;
209
+
210
+ let topStack: string;
211
+ let topCount = 0;
212
+ this._leakingStacks!.forEach((stackCount, stack) => {
213
+ if (!topStack || topCount < stackCount) {
214
+ topStack = stack;
215
+ topCount = stackCount;
216
+ }
217
+ });
218
+
219
+ // eslint-disable-next-line max-len
220
+ console.warn(`Possible Emitter memory leak detected. ${listenerCount} listeners added. Use event.maxListeners to increase the limit (${maxListeners}). MOST frequent listener (${topCount}):`);
221
+ console.warn(topStack!);
222
+ }
223
+
224
+ return popStack;
225
+ }
226
+
227
+ protected pushLeakingStack(): () => void {
228
+ if (!this._leakingStacks) {
229
+ this._leakingStacks = new Map();
230
+ }
231
+ const stack = new Error().stack!.split('\n').slice(3).join('\n');
232
+ const count = (this._leakingStacks.get(stack) || 0);
233
+ this._leakingStacks.set(stack, count + 1);
234
+ return () => this.popLeakingStack(stack);
235
+ }
236
+
237
+ protected popLeakingStack(stack: string): void {
238
+ if (!this._leakingStacks) {
239
+ return;
240
+ }
241
+ const count = (this._leakingStacks.get(stack) || 0);
242
+ this._leakingStacks.set(stack, count - 1);
243
+ }
244
+
245
+ /**
246
+ * To be kept private to fire an event to
247
+ * subscribers
248
+ */
249
+ fire(event: T): any {
250
+ if (this._callbacks) {
251
+ this._callbacks.invoke(event);
252
+ }
253
+ }
254
+
255
+ /**
256
+ * Process each listener one by one.
257
+ * Return `false` to stop iterating over the listeners, `true` to continue.
258
+ */
259
+ async sequence(processor: (listener: (e: T) => any) => MaybePromise<boolean>): Promise<void> {
260
+ if (this._callbacks) {
261
+ for (const listener of this._callbacks) {
262
+ if (!await processor(listener)) {
263
+ break;
264
+ }
265
+ }
266
+ }
267
+ }
268
+
269
+ dispose(): void {
270
+ if (this._leakingStacks) {
271
+ this._leakingStacks.clear();
272
+ this._leakingStacks = undefined;
273
+ }
274
+ if (this._callbacks) {
275
+ this._callbacks.dispose();
276
+ this._callbacks = undefined;
277
+ }
278
+ this._disposed = true;
279
+ }
280
+ }
281
+
282
+ export interface WaitUntilEvent {
283
+ /* eslint-disable @typescript-eslint/no-explicit-any */
284
+ /**
285
+ * Allows to pause the event loop until the provided thenable resolved.
286
+ *
287
+ * *Note:* It can only be called during event dispatch and not in an asynchronous manner
288
+ *
289
+ * @param thenable A thenable that delays execution.
290
+ */
291
+ waitUntil(thenable: Promise<any>): void;
292
+ /* eslint-enable @typescript-eslint/no-explicit-any */
293
+ }
294
+ export namespace WaitUntilEvent {
295
+ export async function fire<T extends WaitUntilEvent>(
296
+ emitter: Emitter<T>,
297
+ event: Pick<T, Exclude<keyof T, 'waitUntil'>>,
298
+ timeout: number | undefined = undefined
299
+ ): Promise<void> {
300
+ const waitables: Promise<void>[] = [];
301
+ const asyncEvent = Object.assign(event, {
302
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
303
+ waitUntil: (thenable: Promise<any>) => {
304
+ if (Object.isFrozen(waitables)) {
305
+ throw new Error('waitUntil cannot be called asynchronously.');
306
+ }
307
+ waitables.push(thenable);
308
+ }
309
+ }) as T;
310
+ try {
311
+ emitter.fire(asyncEvent);
312
+ // Asynchronous calls to `waitUntil` should fail.
313
+ Object.freeze(waitables);
314
+ } finally {
315
+ delete asyncEvent['waitUntil'];
316
+ }
317
+ if (!waitables.length) {
318
+ return;
319
+ }
320
+ if (timeout !== undefined) {
321
+ await Promise.race([Promise.all(waitables), new Promise(resolve => setTimeout(resolve, timeout))]);
322
+ } else {
323
+ await Promise.all(waitables);
324
+ }
325
+ }
326
+ }
@@ -0,0 +1,3 @@
1
+ export * from './disposable';
2
+ export * from './event';
3
+ export * from './types';
@@ -0,0 +1 @@
1
+ export type MaybePromise<T> = T | PromiseLike<T>;
@@ -2,4 +2,5 @@ export * from './generated/generated-models';
2
2
  export * from './configuration';
3
3
  export * from './permissions';
4
4
  export * from './apollo-context';
5
- export * from './types';
5
+ export * from './types';
6
+ export * from './core';
@@ -3,3 +3,4 @@ export * from './configuration';
3
3
  export * from './permissions';
4
4
  export * from './apollo-context';
5
5
  export * from './types';
6
+ export * from './core';
@@ -61,6 +61,27 @@ function loadRoutesConfig(options) {
61
61
  directories.forEach((dir) => {
62
62
  const fileContent = String(fs.readFileSync(dir));
63
63
  const parsedContent = JSON.parse(fileContent);
64
+ if (options.settings?.overrideRoutes && parsedContent.length > 0) {
65
+ const routeOverrides = Array.isArray(options.settings.overrideRoutes)
66
+ ? options.settings.overrideRoutes
67
+ : [options.settings.overrideRoutes];
68
+ // Process each route override
69
+ for (const override of routeOverrides) {
70
+ const { oldRoute, newRoute } = override;
71
+ // Find and update routes with the oldRoute path
72
+ parsedContent.forEach((routeEntry) => {
73
+ const routeKey = Object.keys(routeEntry)[0];
74
+ const routeConfig = routeEntry[routeKey];
75
+ // If this entry has the old route path, update it
76
+ if (routeKey === oldRoute) {
77
+ // Create a new route entry with the updated path
78
+ delete routeEntry[routeKey];
79
+ routeEntry[newRoute] = { ...routeConfig, path: newRoute };
80
+ console.log(`Overriding route: ${oldRoute} -> ${newRoute}`);
81
+ }
82
+ });
83
+ }
84
+ }
64
85
  const mergedContent = lodashEs.mergeWith(content, parsedContent, customizer);
65
86
  if (mergedContent) {
66
87
  content = mergedContent;
@@ -74,6 +95,13 @@ let dialogPaths = [];
74
95
  let iconNames = [];
75
96
  let iconSvgPaths = [];
76
97
  const iconFiles = [];
98
+ /**
99
+ * Updates the routes.json files with overridden routes if specified in settings.
100
+ * This directly modifies the source JSON files to replace old routes with new routes.
101
+ *
102
+ * @param options - The options containing package names, routes file name, and settings
103
+ * @returns True if any files were updated, false otherwise
104
+ */
77
105
  /**
78
106
  * Adds a unique icon name to the global iconNames array.
79
107
  *