@lwc/lwc-dev-server 10.6.0 → 10.7.1

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 (74) hide show
  1. package/dist/bin.js +1 -2
  2. package/dist/bin.js.map +1 -1
  3. package/dist/index.d.ts +1 -1
  4. package/dist/index.js +1 -1
  5. package/dist/index.js.map +1 -1
  6. package/dist/server/bundler/lexBundler.d.ts +4 -4
  7. package/dist/server/bundler/lexBundler.js +14 -16
  8. package/dist/server/bundler/lexBundler.js.map +1 -1
  9. package/dist/server/bundler/lexBundler.spec.js +90 -48
  10. package/dist/server/bundler/lexBundler.spec.js.map +1 -1
  11. package/dist/server/connection/client.d.ts +5 -7
  12. package/dist/server/connection/client.js +24 -41
  13. package/dist/server/connection/client.js.map +1 -1
  14. package/dist/server/connection/client.spec.js +96 -59
  15. package/dist/server/connection/client.spec.js.map +1 -1
  16. package/dist/server/connection/connection.d.ts +4 -4
  17. package/dist/server/connection/connection.js +9 -3
  18. package/dist/server/connection/connection.js.map +1 -1
  19. package/dist/server/connection/connection.spec.js +7 -9
  20. package/dist/server/connection/connection.spec.js.map +1 -1
  21. package/dist/server/connection/web-socket-server.d.ts +2 -1
  22. package/dist/server/connection/web-socket-server.js +5 -6
  23. package/dist/server/connection/web-socket-server.js.map +1 -1
  24. package/dist/server/connection/web-socket-server.spec.js +2 -6
  25. package/dist/server/connection/web-socket-server.spec.js.map +1 -1
  26. package/dist/server/index.d.ts +5 -4
  27. package/dist/server/index.js +13 -13
  28. package/dist/server/index.js.map +1 -1
  29. package/dist/server/index.spec.js +45 -32
  30. package/dist/server/index.spec.js.map +1 -1
  31. package/dist/server/moduleGraph/index.d.ts +18 -42
  32. package/dist/server/moduleGraph/index.js +72 -119
  33. package/dist/server/moduleGraph/index.js.map +1 -1
  34. package/dist/server/moduleGraph/index.spec.js +106 -52
  35. package/dist/server/moduleGraph/index.spec.js.map +1 -1
  36. package/dist/server/moduleGraph/module.d.ts +78 -0
  37. package/dist/server/moduleGraph/module.js +126 -0
  38. package/dist/server/moduleGraph/module.js.map +1 -0
  39. package/dist/server/moduleGraph/module.spec.d.ts +1 -0
  40. package/dist/server/moduleGraph/module.spec.js +70 -0
  41. package/dist/server/moduleGraph/module.spec.js.map +1 -0
  42. package/dist/server/moduleGraph/workspaceScanner/__tests__/fileReader.spec.js +3 -3
  43. package/dist/server/moduleGraph/workspaceScanner/__tests__/fileReader.spec.js.map +1 -1
  44. package/dist/server/moduleGraph/workspaceScanner/__tests__/internal.spec.js +8 -9
  45. package/dist/server/moduleGraph/workspaceScanner/__tests__/internal.spec.js.map +1 -1
  46. package/dist/server/moduleGraph/workspaceScanner/__tests__/mrt.spec.js +1 -6
  47. package/dist/server/moduleGraph/workspaceScanner/__tests__/mrt.spec.js.map +1 -1
  48. package/dist/server/moduleGraph/workspaceScanner/__tests__/sfcli.spec.js +1 -6
  49. package/dist/server/moduleGraph/workspaceScanner/__tests__/sfcli.spec.js.map +1 -1
  50. package/dist/server/moduleGraph/workspaceScanner/fileReader.d.ts +8 -2
  51. package/dist/server/moduleGraph/workspaceScanner/fileReader.js +16 -17
  52. package/dist/server/moduleGraph/workspaceScanner/fileReader.js.map +1 -1
  53. package/dist/server/moduleGraph/workspaceScanner/index.d.ts +2 -1
  54. package/dist/server/moduleGraph/workspaceScanner/index.js.map +1 -1
  55. package/dist/server/moduleGraph/workspaceScanner/salesforceCli.js +2 -14
  56. package/dist/server/moduleGraph/workspaceScanner/salesforceCli.js.map +1 -1
  57. package/dist/server/moduleGraph/workspaceScanner/scanner.d.ts +8 -34
  58. package/dist/server/moduleGraph/workspaceScanner/scanner.js +9 -18
  59. package/dist/server/moduleGraph/workspaceScanner/scanner.js.map +1 -1
  60. package/dist/server/util/module-util.d.ts +10 -0
  61. package/dist/server/util/module-util.js +10 -0
  62. package/dist/server/util/module-util.js.map +1 -0
  63. package/dist/server/watcher/index.js +1 -2
  64. package/dist/server/watcher/index.js.map +1 -1
  65. package/dist/server/watcher/index.spec.js +1 -1
  66. package/dist/server/watcher/index.spec.js.map +1 -1
  67. package/dist/types/devServer.d.ts +2 -4
  68. package/dist/types/serverConfig.d.ts +0 -12
  69. package/dist/types/serverConfig.js +0 -12
  70. package/dist/types/serverConfig.js.map +1 -1
  71. package/package.json +5 -5
  72. package/dist/server/consoleLogger.d.ts +0 -6
  73. package/dist/server/consoleLogger.js +0 -33
  74. package/dist/server/consoleLogger.js.map +0 -1
@@ -1,15 +1,10 @@
1
1
  import path from 'node:path';
2
2
  import { Workspace } from '../../../../types/serverConfig';
3
3
  import SalesforceCliWorkspaceScanner from '../salesforceCli';
4
- class MockLogger {
5
- log(_level, _message) {
6
- // do nothing;
7
- }
8
- }
9
4
  describe('SF Cli Workspace Scanner', () => {
10
5
  let workspaceScanner;
11
6
  beforeAll(() => {
12
- workspaceScanner = new SalesforceCliWorkspaceScanner(Workspace.SfCli, [path.resolve(__dirname, 'data/sfdx/force-app/main/default')], new MockLogger());
7
+ workspaceScanner = new SalesforceCliWorkspaceScanner(Workspace.SfCli, [path.resolve(__dirname, 'data/sfdx/force-app/main/default')], {});
13
8
  });
14
9
  it('should return correct namespace', () => {
15
10
  const dirs = workspaceScanner.findModuleDirs();
@@ -1 +1 @@
1
- {"version":3,"file":"sfcli.spec.js","sourceRoot":"","sources":["../../../../../src/server/moduleGraph/workspaceScanner/__tests__/sfcli.spec.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAY,SAAS,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,6BAA6B,MAAM,kBAAkB,CAAC;AAG7D,MAAM,UAAU;IACZ,GAAG,CAAC,MAAgB,EAAE,QAAgB;QAClC,cAAc;IAClB,CAAC;CACJ;AAED,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACtC,IAAI,gBAA+C,CAAC;IACpD,SAAS,CAAC,GAAG,EAAE;QACX,gBAAgB,GAAG,IAAI,6BAA6B,CAChD,SAAS,CAAC,KAAK,EACf,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,kCAAkC,CAAC,CAAC,EAC7D,IAAI,UAAU,EAAE,CACnB,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACvC,MAAM,IAAI,GAAG,gBAAgB,CAAC,cAAc,EAAE,CAAC;QAE/C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"sfcli.spec.js","sourceRoot":"","sources":["../../../../../src/server/moduleGraph/workspaceScanner/__tests__/sfcli.spec.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,6BAA6B,MAAM,kBAAkB,CAAC;AAE7D,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACtC,IAAI,gBAA+C,CAAC;IACpD,SAAS,CAAC,GAAG,EAAE;QACX,gBAAgB,GAAG,IAAI,6BAA6B,CAChD,SAAS,CAAC,KAAK,EACf,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,kCAAkC,CAAC,CAAC,EAC7D,EAAuB,CAC1B,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACvC,MAAM,IAAI,GAAG,gBAAgB,CAAC,cAAc,EAAE,CAAC;QAE/C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1,4 +1,10 @@
1
- import type { ModuleInfo } from './scanner';
1
+ import type { ModuleInfo } from '../module.js';
2
+ /**
3
+ * Files in folders with __ or __docs__ aren't supposed to be included in LWCs sources
4
+ * @param file file path
5
+ * @returns true if file is in a valid LWC folder
6
+ */
7
+ export declare function isFileInValidLwcFolder(file: string): boolean;
2
8
  /**
3
9
  * Get all parts of an LWC component.
4
10
  * @param componentDir A directory representing an LWC Component.
@@ -7,6 +13,6 @@ import type { ModuleInfo } from './scanner';
7
13
  * @returns A map representing all valid parts of the LWC with the short path as the key and full
8
14
  * canonical path as value.
9
15
  */
10
- export declare function getComponentParts(componentDir: string, namespace: string, ownerModuleId: string): {
16
+ export declare function getComponentParts(componentDir: string): {
11
17
  [key: string]: ModuleInfo;
12
18
  } | undefined;
@@ -18,6 +18,17 @@ function isValidLwcFile(file, componentName) {
18
18
  return true;
19
19
  return false;
20
20
  }
21
+ /**
22
+ * Files in folders with __ or __docs__ aren't supposed to be included in LWCs sources
23
+ * @param file file path
24
+ * @returns true if file is in a valid LWC folder
25
+ */
26
+ export function isFileInValidLwcFolder(file) {
27
+ return !path
28
+ .dirname(file)
29
+ .split(path.sep)
30
+ .some((dir) => dir === '__' || dir === '__docs__');
31
+ }
21
32
  /**
22
33
  * Should the directory be processed as a valid LWC module part?
23
34
  */
@@ -64,27 +75,15 @@ function isValidEntryPoint(entryPoint, componentName) {
64
75
  * @returns A map representing all valid parts of the LWC with the short path as the key and full
65
76
  * canonical path as value.
66
77
  */
67
- export function getComponentParts(componentDir, namespace, ownerModuleId) {
68
- if (!existsSync(componentDir)) {
69
- throw new Error('The LWC component directory does not exist.');
70
- }
78
+ export function getComponentParts(componentDir) {
71
79
  const name = path.basename(componentDir);
72
- if (!isValidEntryPoint(componentDir, name)) {
73
- // Not an LWC directory, return
80
+ if (!isValidEntryPoint(componentDir, name))
74
81
  return undefined;
75
- }
76
82
  const files = getFiles(componentDir, name);
77
- return Object.fromEntries(
78
- // Note: The file separator in the key should match that used by the
79
- // @lwc/dev-server-plugin-lex and not the host system where the dev server runs
80
- files.map((file) => {
83
+ return Object.fromEntries(files.map((file) => {
81
84
  return [
82
- `${namespace}/${name}/${path.relative(componentDir, file)}`,
83
- {
84
- moduleFilePath: file,
85
- moduleSourceHash: getModuleHash(file),
86
- ownerModuleId, // A back reference to the owner
87
- },
85
+ `${path.relative(componentDir, file)}`,
86
+ { moduleSourceHash: getModuleHash(file) },
88
87
  ];
89
88
  }));
90
89
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fileReader.js","sourceRoot":"","sources":["../../../../src/server/moduleGraph/workspaceScanner/fileReader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGvD;;;;;GAKG;AACH,SAAS,cAAc,CAAC,IAAY,EAAE,aAAqB;IACvD,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/D,IAAI,GAAG,KAAK,UAAU,IAAI,CAAC,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,UAAU,CAAC,IAAI,QAAQ,KAAK,aAAa;QACzF,OAAO,IAAI,CAAC;IAChB,IAAI,GAAG,KAAK,aAAa,IAAI,GAAG,KAAK,MAAM,IAAI,QAAQ,KAAK,aAAa;QAAE,OAAO,IAAI,CAAC;IACvF,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAAC,IAAY;IACxC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,UAAU,CAAC;AACzD,CAAC;AAED;;;;;GAKG;AACH,SAAS,QAAQ,CAAC,GAAW,EAAE,IAAY;IACvC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,CAAC;IACd,CAAC;IACD,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;YACvB,OAAO,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpD,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,UAAkB,EAAE,aAAqB;IAChE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,GAAG,KAAK,CAAC,CAAC;IACjE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,GAAG,KAAK,CAAC,CAAC;IACjE,MAAM,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,GAAG,MAAM,CAAC,CAAC;IAC7E,OAAO,UAAU,CAAC,WAAW,CAAC,IAAI,UAAU,CAAC,WAAW,CAAC,IAAI,UAAU,CAAC,sBAAsB,CAAC,CAAC;AACpG,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAC7B,YAAoB,EACpB,SAAiB,EACjB,aAAqB;IAErB,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACzC,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC;QACzC,+BAA+B;QAC/B,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAC3C,OAAO,MAAM,CAAC,WAAW;IACrB,oEAAoE;IACpE,+EAA+E;IAC/E,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,OAAO;YACH,GAAG,SAAS,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE;YAC3D;gBACI,cAAc,EAAE,IAAI;gBACpB,gBAAgB,EAAE,aAAa,CAAC,IAAI,CAAC;gBACrC,aAAa,EAAE,gCAAgC;aAClD;SACJ,CAAC;IACN,CAAC,CAAC,CACL,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"fileReader.js","sourceRoot":"","sources":["../../../../src/server/moduleGraph/workspaceScanner/fileReader.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
- import { Logger, ServerConfig } from '../../../types/index.js';
1
+ import { Logger } from '@salesforce/core';
2
+ import { ServerConfig } from '../../../types/index.js';
2
3
  import type { WorkspaceScanner } from './scanner';
3
4
  export declare function getWorkspaceScanner(config: ServerConfig, logger: Logger): WorkspaceScanner;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/moduleGraph/workspaceScanner/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,wBAAwB,MAAM,eAAe,CAAC;AACrD,OAAO,6BAA6B,MAAM,oBAAoB,CAAC;AAC/D,OAAO,mBAAmB,MAAM,UAAU,CAAC;AAG3C,MAAM,UAAU,mBAAmB,CAAC,MAAoB,EAAE,MAAc;IACpE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IAChE,QAAQ,SAAS,EAAE,CAAC;QAChB,KAAK,SAAS,CAAC,QAAQ;YACnB,OAAO,IAAI,wBAAwB,CAC/B,SAAS,CAAC,QAAQ,EAClB,YAAY,EACZ,MAAM,EACN,YAAY,CACf,CAAC;QACN,KAAK,SAAS,CAAC,KAAK;YAChB,OAAO,IAAI,6BAA6B,CAAC,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;QACpF,KAAK,SAAS,CAAC,GAAG;YACd,OAAO,IAAI,mBAAmB,CAAC,SAAS,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IAC5E,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/moduleGraph/workspaceScanner/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,wBAAwB,MAAM,eAAe,CAAC;AACrD,OAAO,6BAA6B,MAAM,oBAAoB,CAAC;AAC/D,OAAO,mBAAmB,MAAM,UAAU,CAAC;AAG3C,MAAM,UAAU,mBAAmB,CAAC,MAAoB,EAAE,MAAc;IACpE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IAChE,QAAQ,SAAS,EAAE,CAAC;QAChB,KAAK,SAAS,CAAC,QAAQ;YACnB,OAAO,IAAI,wBAAwB,CAC/B,SAAS,CAAC,QAAQ,EAClB,YAAY,EACZ,MAAM,EACN,YAAY,CACf,CAAC;QACN,KAAK,SAAS,CAAC,KAAK;YAChB,OAAO,IAAI,6BAA6B,CAAC,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;QACpF,KAAK,SAAS,CAAC,GAAG;YACd,OAAO,IAAI,mBAAmB,CAAC,SAAS,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IAC5E,CAAC;AACL,CAAC"}
@@ -1,23 +1,11 @@
1
- import path from 'node:path';
2
- import { existsSync } from 'node:fs';
3
- import { getChildDirPaths } from '../../util/fileUtil.js';
1
+ import { globSync } from 'glob';
4
2
  import { BaseWorkspaceScanner } from './scanner.js';
5
3
  /**
6
4
  * This scanner will accept paths and builds a list of module ids to component paths.
7
5
  */
8
6
  export default class SalesforceCliWorkspaceScanner extends BaseWorkspaceScanner {
9
7
  findModuleDirs() {
10
- const lwcDirs = [];
11
- if (this.modulesPaths.length !== 1) {
12
- throw new Error('Expected workspace to have one lwc folder');
13
- }
14
- this.modulesPaths.forEach((uimodule) => {
15
- const lwcDir = path.join(uimodule, 'lwc');
16
- if (existsSync(lwcDir)) {
17
- lwcDirs.push(...getChildDirPaths(lwcDir));
18
- }
19
- });
20
- return lwcDirs;
8
+ return this.modulesPaths.flatMap((packageDir) => globSync(`${packageDir}/*/`));
21
9
  }
22
10
  getNamespace(_moduleDir) {
23
11
  return 'c';
@@ -1 +1 @@
1
- {"version":3,"file":"salesforceCli.js","sourceRoot":"","sources":["../../../../src/server/moduleGraph/workspaceScanner/salesforceCli.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEpD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,6BAA8B,SAAQ,oBAAoB;IAC3E,cAAc;QACV,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YACnC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC1C,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACrB,OAAO,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC9C,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,YAAY,CAAC,UAAkB;QAC3B,OAAO,GAAG,CAAC;IACf,CAAC;CACJ"}
1
+ {"version":3,"file":"salesforceCli.js","sourceRoot":"","sources":["../../../../src/server/moduleGraph/workspaceScanner/salesforceCli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEpD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,6BAA8B,SAAQ,oBAAoB;IAC3E,cAAc;QACV,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,UAAU,KAAK,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,YAAY,CAAC,UAAkB;QAC3B,OAAO,GAAG,CAAC;IACf,CAAC;CACJ"}
@@ -1,32 +1,6 @@
1
- import type { Logger, Workspace } from '../../../types/index';
2
- export interface ModuleInfo {
3
- moduleFilePath: string;
4
- moduleSourceHash: string;
5
- ownerModuleId: string;
6
- }
7
- /**
8
- * Represents a Module entry per LWC component
9
- */
10
- export interface ModuleMapEntry {
11
- /**
12
- * Owner module in format like <namespace>/<component-name>.
13
- * Example for internal modules, "lightning/global".
14
- * Example for custom modules, "c/myComponent".
15
- */
16
- ownerModuleId: string;
17
- /**
18
- * Various parts of the module.
19
- * For example:
20
- * {
21
- * "c/myComponent/myComponent.js": { modulePath: "workspace/ui-module/my-project/force-app/main/default/lwc/myComponent/myComponent.js", moduleHash: "xxx" },
22
- * "c/myComponent/myComponent.html": { modulePath: "workspace/ui-module/my-project/force-app/main/default/lwc/myComponent/myComponent.html", moduleHash: "xxy" },
23
- * "c/myComponent/util/util.js": { modulePath: "workspace/ui-module/my-project/force-app/main/default/lwc/myComponent/util/util.js", moduleHash: "xxz" },
24
- * }
25
- */
26
- moduleParts: {
27
- [key: string]: ModuleInfo;
28
- };
29
- }
1
+ import { Logger } from '@salesforce/core';
2
+ import { Module } from '../module.js';
3
+ import type { Workspace } from '../../../types/index';
30
4
  /**
31
5
  * An interface to define a workspace scanner that will build a map of modules and its assets in a given workspace.
32
6
  * It accepts a set of directories and returns a map of Module Ids to file paths.
@@ -43,9 +17,9 @@ export interface WorkspaceScanner {
43
17
  */
44
18
  modulesPaths: string[];
45
19
  /**
46
- * Get information about LWC modules contained in the workspace.
20
+ * Gets all modules in modulesPaths
47
21
  */
48
- getModulesMap(): Map<string, ModuleMapEntry>;
22
+ getModules(): Module[];
49
23
  /**
50
24
  * The LWC module directories that needs to be excluded from scanning.
51
25
  * In internal workspace type, the value will be ["core/ui-xx-components/modules/ns/compName_to_exclude"]
@@ -60,10 +34,10 @@ export declare abstract class BaseWorkspaceScanner implements WorkspaceScanner {
60
34
  excludePaths?: string[];
61
35
  constructor(workspace: Workspace, modulesPaths: string[], logger: Logger, excludePaths?: string[]);
62
36
  /**
63
- * Get information about LWC modules contained in the workspace.
37
+ * Get all modules in the workspace.
64
38
  */
65
- getModulesMap(): Map<string, ModuleMapEntry>;
39
+ getModules(): Module[];
66
40
  abstract getNamespace(moduleDir: string): string;
67
41
  abstract findModuleDirs(): string[];
68
- scanAModule(moduleDir: string): ModuleMapEntry | undefined;
42
+ scanModuleDir(moduleDir: string): Module | undefined;
69
43
  }
@@ -1,4 +1,5 @@
1
1
  import path from 'node:path';
2
+ import { Module } from '../module.js';
2
3
  import { getComponentParts } from './fileReader.js';
3
4
  export class BaseWorkspaceScanner {
4
5
  constructor(workspace, modulesPaths, logger, excludePaths) {
@@ -8,31 +9,21 @@ export class BaseWorkspaceScanner {
8
9
  this.logger = logger;
9
10
  }
10
11
  /**
11
- * Get information about LWC modules contained in the workspace.
12
+ * Get all modules in the workspace.
12
13
  */
13
- getModulesMap() {
14
- const modulesMap = new Map();
15
- this.findModuleDirs().forEach((dir) => {
16
- const moduleMapEntry = this.scanAModule(dir);
17
- if (moduleMapEntry) {
18
- modulesMap.set(moduleMapEntry.ownerModuleId, moduleMapEntry);
19
- }
20
- });
21
- return modulesMap;
14
+ getModules() {
15
+ return this.findModuleDirs()
16
+ .flatMap((dir) => this.scanModuleDir(dir))
17
+ .filter((x) => !!x);
22
18
  }
23
- scanAModule(moduleDir) {
19
+ scanModuleDir(moduleDir) {
24
20
  const { base } = path.parse(moduleDir);
25
21
  const namespace = this.getNamespace(moduleDir);
26
- const ownerModuleId = `${namespace}/${base}`;
27
- const moduleParts = getComponentParts(moduleDir, namespace, ownerModuleId);
22
+ const moduleParts = getComponentParts(moduleDir);
28
23
  if (!moduleParts) {
29
24
  return;
30
25
  }
31
- const moduleMap = {
32
- ownerModuleId,
33
- moduleParts,
34
- };
35
- return moduleMap;
26
+ return new Module(moduleDir, namespace, base, moduleParts);
36
27
  }
37
28
  }
38
29
  //# sourceMappingURL=scanner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scanner.js","sourceRoot":"","sources":["../../../../src/server/moduleGraph/workspaceScanner/scanner.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AA4DpD,MAAM,OAAgB,oBAAoB;IAKtC,YACI,SAAoB,EACpB,YAAsB,EACtB,MAAc,EACd,YAAuB;QAEvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,aAAa;QACT,MAAM,UAAU,GAAG,IAAI,GAAG,EAA0B,CAAC;QACrD,IAAI,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAClC,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,cAAc,EAAE,CAAC;gBACjB,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;YACjE,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,UAAU,CAAC;IACtB,CAAC;IAKD,WAAW,CAAC,SAAiB;QACzB,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,aAAa,GAAG,GAAG,SAAS,IAAI,IAAI,EAAE,CAAC;QAC7C,MAAM,WAAW,GAAG,iBAAiB,CAAC,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QAC3E,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,OAAO;QACX,CAAC;QAED,MAAM,SAAS,GAAmB;YAC9B,aAAa;YACb,WAAW;SACd,CAAC;QACF,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ"}
1
+ {"version":3,"file":"scanner.js","sourceRoot":"","sources":["../../../../src/server/moduleGraph/workspaceScanner/scanner.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AA+BpD,MAAM,OAAgB,oBAAoB;IAKtC,YACI,SAAoB,EACpB,YAAsB,EACtB,MAAc,EACd,YAAuB;QAEvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,UAAU;QACN,OAAO,IAAI,CAAC,cAAc,EAAE;aACvB,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;aACzC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IAKD,aAAa,CAAC,SAAiB;QAC3B,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,WAAW,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,OAAO;QACX,CAAC;QAED,OAAO,IAAI,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IAC/D,CAAC;CACJ"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * decodes ns/name/cmp.js to {ns, name, part: cmp.js}
3
+ * @param modulePath
4
+ */
5
+ export declare function decodeModulePath(modulePath: string): {
6
+ namespace: string;
7
+ name: string;
8
+ id: string;
9
+ part: string;
10
+ };
@@ -0,0 +1,10 @@
1
+ import path from 'path';
2
+ /**
3
+ * decodes ns/name/cmp.js to {ns, name, part: cmp.js}
4
+ * @param modulePath
5
+ */
6
+ export function decodeModulePath(modulePath) {
7
+ const [namespace, name, ...parts] = modulePath.split(path.sep);
8
+ return { namespace, name, id: `${namespace}/${name}`, part: parts.join(path.sep) };
9
+ }
10
+ //# sourceMappingURL=module-util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-util.js","sourceRoot":"","sources":["../../../src/server/util/module-util.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,UAAkB;IAC/C,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/D,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,SAAS,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AACvF,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import { watch } from 'chokidar';
2
- const watchOptions = {};
3
2
  let watcher;
4
3
  const SUPPORTED_FILE_EXTENSION_GLOB = '**/*.{html,css,js,ts}';
5
4
  export function startWatch(dirPaths) {
@@ -7,7 +6,7 @@ export function startWatch(dirPaths) {
7
6
  ...dirPaths.map((dir) => dir.endsWith('/')
8
7
  ? dir + SUPPORTED_FILE_EXTENSION_GLOB
9
8
  : dir + '/' + SUPPORTED_FILE_EXTENSION_GLOB),
10
- ], watchOptions);
9
+ ], { ignoreInitial: true });
11
10
  return watcher;
12
11
  }
13
12
  export function stopWatch() {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/watcher/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAA2B,MAAM,UAAU,CAAC;AAE1D,MAAM,YAAY,GAAiB,EAAE,CAAC;AACtC,IAAI,OAA8B,CAAC;AACnC,MAAM,6BAA6B,GAAG,uBAAuB,CAAC;AAE9D,MAAM,UAAU,UAAU,CAAC,QAAkB;IACzC,OAAO,GAAG,KAAK,CACX;QACI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACpB,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;YACb,CAAC,CAAC,GAAG,GAAG,6BAA6B;YACrC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,6BAA6B,CAClD;KACJ,EACD,YAAY,CACf,CAAC;IACF,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,SAAS;IACrB,OAAO,EAAE,KAAK,EAAE,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/watcher/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAa,MAAM,UAAU,CAAC;AAE5C,IAAI,OAA8B,CAAC;AACnC,MAAM,6BAA6B,GAAG,uBAAuB,CAAC;AAE9D,MAAM,UAAU,UAAU,CAAC,QAAkB;IACzC,OAAO,GAAG,KAAK,CACX;QACI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACpB,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;YACb,CAAC,CAAC,GAAG,GAAG,6BAA6B;YACrC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,6BAA6B,CAClD;KACJ,EACD,EAAE,aAAa,EAAE,IAAI,EAAE,CAC1B,CAAC;IACF,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,SAAS;IACrB,OAAO,EAAE,KAAK,EAAE,CAAC;AACrB,CAAC"}
@@ -18,7 +18,7 @@ describe('File Watcher Module', () => {
18
18
  it('should start watching directories with correct glob patterns', () => {
19
19
  const dirPaths = ['/path/to/dir1', '/path/to/dir2/'];
20
20
  const result = startWatch(dirPaths);
21
- expect(watch).toHaveBeenCalledWith(['/path/to/dir1/**/*.{html,css,js,ts}', '/path/to/dir2/**/*.{html,css,js,ts}'], {});
21
+ expect(watch).toHaveBeenCalledWith(['/path/to/dir1/**/*.{html,css,js,ts}', '/path/to/dir2/**/*.{html,css,js,ts}'], { ignoreInitial: true });
22
22
  expect(result).toBe(mockWatcher);
23
23
  });
24
24
  it('should stop watching when stopWatch is called', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../../../src/server/watcher/index.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAE,KAAK,EAAa,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC,CAAC,8BAA8B;AAElF,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;IACvB,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;QAC3B,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;KACjB,CAAC;CACL,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACjC,IAAI,WAAsB,CAAC;IAE3B,UAAU,CAAC,GAAG,EAAE;QACZ,yBAAyB;QACzB,WAAW,GAAG,KAAK,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,EAAE,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACpE,MAAM,QAAQ,GAAG,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;QAErD,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;QAEpC,MAAM,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAC9B,CAAC,qCAAqC,EAAE,qCAAqC,CAAC,EAC9E,EAAE,CACL,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACrD,UAAU,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;QAC7B,SAAS,EAAE,CAAC;QAEZ,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACjE,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../../../src/server/watcher/index.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAE,KAAK,EAAa,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC,CAAC,8BAA8B;AAElF,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;IACvB,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;QAC3B,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;KACjB,CAAC;CACL,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACjC,IAAI,WAAsB,CAAC;IAE3B,UAAU,CAAC,GAAG,EAAE;QACZ,yBAAyB;QACzB,WAAW,GAAG,KAAK,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,EAAE,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACpE,MAAM,QAAQ,GAAG,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;QAErD,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;QAEpC,MAAM,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAC9B,CAAC,qCAAqC,EAAE,qCAAqC,CAAC,EAC9E,EAAE,aAAa,EAAE,IAAI,EAAE,CAC1B,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACrD,UAAU,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;QAC7B,SAAS,EAAE,CAAC;QAEZ,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACjE,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1,8 +1,6 @@
1
+ import { Logger } from '@salesforce/core';
1
2
  import { ModuleGraph } from '../server/moduleGraph/index.js';
2
- import { LogLevel, ServerConfig } from './serverConfig.js';
3
- export interface Logger {
4
- log(level: LogLevel, message: string): void;
5
- }
3
+ import { ServerConfig } from './serverConfig.js';
6
4
  export interface DevServerContext {
7
5
  config: ServerConfig;
8
6
  logger: Logger;
@@ -10,17 +10,6 @@ export declare enum Workspace {
10
10
  SfCli = "SalesforceCLI",
11
11
  Mrt = "mrt"
12
12
  }
13
- /**
14
- * Logging level in decreasing order of severity and increasing order of noise.
15
- */
16
- export declare enum LogLevel {
17
- silent = 0,
18
- error = 1,
19
- warn = 2,
20
- info = 3,
21
- debug = 4,
22
- verbose = 5
23
- }
24
13
  /**
25
14
  * Config for HTTPS server
26
15
  * Technically all the supported fields that `require('ndoe:https').createServer` accepts can be passed here,
@@ -54,7 +43,6 @@ export interface ServerConfig {
54
43
  */
55
44
  paths: string[];
56
45
  workspace: Workspace;
57
- logLevel: LogLevel;
58
46
  https?: HttpsConfig;
59
47
  /**
60
48
  * maximum number of clients that can simultaneously connect to the dev server.
@@ -10,16 +10,4 @@ export var Workspace;
10
10
  Workspace["SfCli"] = "SalesforceCLI";
11
11
  Workspace["Mrt"] = "mrt";
12
12
  })(Workspace || (Workspace = {}));
13
- /**
14
- * Logging level in decreasing order of severity and increasing order of noise.
15
- */
16
- export var LogLevel;
17
- (function (LogLevel) {
18
- LogLevel[LogLevel["silent"] = 0] = "silent";
19
- LogLevel[LogLevel["error"] = 1] = "error";
20
- LogLevel[LogLevel["warn"] = 2] = "warn";
21
- LogLevel[LogLevel["info"] = 3] = "info";
22
- LogLevel[LogLevel["debug"] = 4] = "debug";
23
- LogLevel[LogLevel["verbose"] = 5] = "verbose";
24
- })(LogLevel || (LogLevel = {}));
25
13
  //# sourceMappingURL=serverConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"serverConfig.js","sourceRoot":"","sources":["../../src/types/serverConfig.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAElC;;;;GAIG;AACH,MAAM,CAAN,IAAY,SAIX;AAJD,WAAY,SAAS;IACjB,kCAAqB,CAAA;IACrB,oCAAuB,CAAA;IACvB,wBAAW,CAAA;AACf,CAAC,EAJW,SAAS,KAAT,SAAS,QAIpB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,QAOX;AAPD,WAAY,QAAQ;IAChB,2CAAU,CAAA;IACV,yCAAS,CAAA;IACT,uCAAQ,CAAA;IACR,uCAAQ,CAAA;IACR,yCAAS,CAAA;IACT,6CAAW,CAAA;AACf,CAAC,EAPW,QAAQ,KAAR,QAAQ,QAOnB"}
1
+ {"version":3,"file":"serverConfig.js","sourceRoot":"","sources":["../../src/types/serverConfig.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAElC;;;;GAIG;AACH,MAAM,CAAN,IAAY,SAIX;AAJD,WAAY,SAAS;IACjB,kCAAqB,CAAA;IACrB,oCAAuB,CAAA;IACvB,wBAAW,CAAA;AACf,CAAC,EAJW,SAAS,KAAT,SAAS,QAIpB"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@lwc/lwc-dev-server",
3
3
  "description": "A development server to get quick feedback on your LWC component development.",
4
- "version": "10.6.0",
4
+ "version": "10.7.1",
5
5
  "keywords": [
6
6
  "lwc dev server"
7
7
  ],
@@ -19,7 +19,7 @@
19
19
  "start": "node ./bin/dev-server.js start"
20
20
  },
21
21
  "dependencies": {
22
- "@lwc/sfdc-lwc-compiler": "10.6.0",
22
+ "@lwc/sfdc-lwc-compiler": "10.7.1",
23
23
  "chalk": "~5.3.0",
24
24
  "chokidar": "~3.6.0",
25
25
  "commander": "~10.0.0",
@@ -27,12 +27,12 @@
27
27
  "ws": "^8.18.0"
28
28
  },
29
29
  "devDependencies": {
30
- "@lwc/lwc-dev-server-types": "10.6.0",
31
- "@salesforce/core": "^8.6.1",
30
+ "@lwc/lwc-dev-server-types": "10.7.1",
32
31
  "@types/ws": "^8.5.10"
33
32
  },
34
33
  "peerDependencies": {
35
- "@lwc/compiler": ">=8"
34
+ "@lwc/compiler": ">=8",
35
+ "@salesforce/core": ">=8"
36
36
  },
37
37
  "engines": {
38
38
  "node": ">=16"
@@ -1,6 +0,0 @@
1
- import { LogLevel, Logger } from '../types/index.js';
2
- export default class ConsoleLogger implements Logger {
3
- logLevel: LogLevel;
4
- constructor(logLevel: LogLevel);
5
- log(level: LogLevel, message: string): void;
6
- }
@@ -1,33 +0,0 @@
1
- import chalk from 'chalk';
2
- import { LogLevel } from '../types/index.js';
3
- export default class ConsoleLogger {
4
- constructor(logLevel) {
5
- this.logLevel = logLevel;
6
- }
7
- log(level, message) {
8
- let formatter;
9
- if (this.logLevel >= level) {
10
- switch (this.logLevel) {
11
- case LogLevel.silent:
12
- case LogLevel.debug:
13
- formatter = chalk.gray;
14
- break;
15
- case LogLevel.error:
16
- formatter = chalk.red;
17
- break;
18
- case LogLevel.warn:
19
- formatter = chalk.yellow;
20
- break;
21
- case LogLevel.info:
22
- formatter = chalk.green;
23
- break;
24
- default:
25
- formatter = chalk.white;
26
- break;
27
- }
28
- // eslint-disable-next-line no-console
29
- console.log(formatter(message));
30
- }
31
- }
32
- }
33
- //# sourceMappingURL=consoleLogger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"consoleLogger.js","sourceRoot":"","sources":["../../src/server/consoleLogger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAU,MAAM,mBAAmB,CAAC;AAErD,MAAM,CAAC,OAAO,OAAO,aAAa;IAE9B,YAAY,QAAkB;QAC1B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IACD,GAAG,CAAC,KAAe,EAAE,OAAe;QAChC,IAAI,SAAS,CAAC;QACd,IAAI,IAAI,CAAC,QAAQ,IAAI,KAAK,EAAE,CAAC;YACzB,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACpB,KAAK,QAAQ,CAAC,MAAM,CAAC;gBACrB,KAAK,QAAQ,CAAC,KAAK;oBACf,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;oBACvB,MAAM;gBACV,KAAK,QAAQ,CAAC,KAAK;oBACf,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC;oBACtB,MAAM;gBACV,KAAK,QAAQ,CAAC,IAAI;oBACd,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC;oBACzB,MAAM;gBACV,KAAK,QAAQ,CAAC,IAAI;oBACd,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;oBACxB,MAAM;gBACV;oBACI,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;oBACxB,MAAM;YACd,CAAC;YACD,sCAAsC;YACtC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QACpC,CAAC;IACL,CAAC;CACJ"}