@lwc/lwc-dev-server 10.7.0 → 10.7.2
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/server/bundler/lexBundler.d.ts +3 -3
- package/dist/server/bundler/lexBundler.js +13 -15
- package/dist/server/bundler/lexBundler.js.map +1 -1
- package/dist/server/bundler/lexBundler.spec.js +90 -48
- package/dist/server/bundler/lexBundler.spec.js.map +1 -1
- package/dist/server/connection/client.d.ts +5 -7
- package/dist/server/connection/client.js +23 -39
- package/dist/server/connection/client.js.map +1 -1
- package/dist/server/connection/client.spec.js +96 -58
- package/dist/server/connection/client.spec.js.map +1 -1
- package/dist/server/connection/connection.d.ts +3 -3
- package/dist/server/connection/connection.js +8 -1
- package/dist/server/connection/connection.js.map +1 -1
- package/dist/server/connection/connection.spec.js +3 -3
- package/dist/server/connection/connection.spec.js.map +1 -1
- package/dist/server/index.d.ts +2 -2
- package/dist/server/index.js +3 -4
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.spec.js +40 -26
- package/dist/server/index.spec.js.map +1 -1
- package/dist/server/moduleGraph/index.d.ts +16 -41
- package/dist/server/moduleGraph/index.js +68 -114
- package/dist/server/moduleGraph/index.js.map +1 -1
- package/dist/server/moduleGraph/index.spec.js +106 -49
- package/dist/server/moduleGraph/index.spec.js.map +1 -1
- package/dist/server/moduleGraph/module.d.ts +78 -0
- package/dist/server/moduleGraph/module.js +126 -0
- package/dist/server/moduleGraph/module.js.map +1 -0
- package/dist/server/moduleGraph/module.spec.d.ts +1 -0
- package/dist/server/moduleGraph/module.spec.js +70 -0
- package/dist/server/moduleGraph/module.spec.js.map +1 -0
- package/dist/server/moduleGraph/workspaceScanner/__tests__/fileReader.spec.js +3 -3
- package/dist/server/moduleGraph/workspaceScanner/__tests__/fileReader.spec.js.map +1 -1
- package/dist/server/moduleGraph/workspaceScanner/__tests__/internal.spec.js +6 -2
- package/dist/server/moduleGraph/workspaceScanner/__tests__/internal.spec.js.map +1 -1
- package/dist/server/moduleGraph/workspaceScanner/fileReader.d.ts +8 -2
- package/dist/server/moduleGraph/workspaceScanner/fileReader.js +16 -17
- package/dist/server/moduleGraph/workspaceScanner/fileReader.js.map +1 -1
- package/dist/server/moduleGraph/workspaceScanner/index.js +1 -1
- package/dist/server/moduleGraph/workspaceScanner/index.js.map +1 -1
- package/dist/server/moduleGraph/workspaceScanner/salesforceCli.d.ts +4 -0
- package/dist/server/moduleGraph/workspaceScanner/salesforceCli.js +5 -1
- package/dist/server/moduleGraph/workspaceScanner/salesforceCli.js.map +1 -1
- package/dist/server/moduleGraph/workspaceScanner/scanner.d.ts +6 -33
- package/dist/server/moduleGraph/workspaceScanner/scanner.js +9 -18
- package/dist/server/moduleGraph/workspaceScanner/scanner.js.map +1 -1
- package/dist/server/util/module-util.d.ts +10 -0
- package/dist/server/util/module-util.js +10 -0
- package/dist/server/util/module-util.js.map +1 -0
- package/dist/server/watcher/index.js +1 -2
- package/dist/server/watcher/index.js.map +1 -1
- package/dist/server/watcher/index.spec.js +1 -1
- package/dist/server/watcher/index.spec.js.map +1 -1
- package/dist/types/serverConfig.d.ts +4 -0
- package/package.json +3 -3
|
@@ -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
|
|
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
|
-
`${
|
|
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,
|
|
1
|
+
{"version":3,"file":"fileReader.js","sourceRoot":"","sources":["../../../../src/server/moduleGraph/workspaceScanner/fileReader.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ export function getWorkspaceScanner(config, logger) {
|
|
|
8
8
|
case Workspace.Internal:
|
|
9
9
|
return new InternalWorkspaceScanner(Workspace.Internal, modulesPaths, logger, excludePaths);
|
|
10
10
|
case Workspace.SfCli:
|
|
11
|
-
return new SalesforceCliWorkspaceScanner(Workspace.SfCli, modulesPaths, logger);
|
|
11
|
+
return new SalesforceCliWorkspaceScanner(Workspace.SfCli, modulesPaths, logger, [], config.namespace);
|
|
12
12
|
case Workspace.Mrt:
|
|
13
13
|
return new MrtWorkspaceScanner(Workspace.Mrt, modulesPaths, logger);
|
|
14
14
|
}
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,CACpC,SAAS,CAAC,KAAK,EACf,YAAY,EACZ,MAAM,EACN,EAAE,EACF,MAAM,CAAC,SAAS,CACnB,CAAC;QACN,KAAK,SAAS,CAAC,GAAG;YACd,OAAO,IAAI,mBAAmB,CAAC,SAAS,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IAC5E,CAAC;AACL,CAAC"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
+
import { Logger } from '@salesforce/core';
|
|
2
|
+
import { Workspace } from '../../../types/index.js';
|
|
1
3
|
import { BaseWorkspaceScanner } from './scanner.js';
|
|
2
4
|
/**
|
|
3
5
|
* This scanner will accept paths and builds a list of module ids to component paths.
|
|
4
6
|
*/
|
|
5
7
|
export default class SalesforceCliWorkspaceScanner extends BaseWorkspaceScanner {
|
|
8
|
+
private namespace?;
|
|
9
|
+
constructor(workspace: Workspace, modulesPaths: string[], logger: Logger, excludePaths?: string[], namespace?: string | undefined);
|
|
6
10
|
findModuleDirs(): string[];
|
|
7
11
|
getNamespace(_moduleDir: string): string;
|
|
8
12
|
}
|
|
@@ -4,11 +4,15 @@ import { BaseWorkspaceScanner } from './scanner.js';
|
|
|
4
4
|
* This scanner will accept paths and builds a list of module ids to component paths.
|
|
5
5
|
*/
|
|
6
6
|
export default class SalesforceCliWorkspaceScanner extends BaseWorkspaceScanner {
|
|
7
|
+
constructor(workspace, modulesPaths, logger, excludePaths, namespace) {
|
|
8
|
+
super(workspace, modulesPaths, logger, excludePaths);
|
|
9
|
+
this.namespace = namespace;
|
|
10
|
+
}
|
|
7
11
|
findModuleDirs() {
|
|
8
12
|
return this.modulesPaths.flatMap((packageDir) => globSync(`${packageDir}/*/`));
|
|
9
13
|
}
|
|
10
14
|
getNamespace(_moduleDir) {
|
|
11
|
-
return 'c';
|
|
15
|
+
return this.namespace ?? 'c';
|
|
12
16
|
}
|
|
13
17
|
}
|
|
14
18
|
//# sourceMappingURL=salesforceCli.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"salesforceCli.js","sourceRoot":"","sources":["../../../../src/server/moduleGraph/workspaceScanner/salesforceCli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"salesforceCli.js","sourceRoot":"","sources":["../../../../src/server/moduleGraph/workspaceScanner/salesforceCli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAGhC,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEpD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,6BAA8B,SAAQ,oBAAoB;IAC3E,YACI,SAAoB,EACpB,YAAsB,EACtB,MAAc,EACd,YAAuB,EACf,SAAkB;QAE1B,KAAK,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QAF7C,cAAS,GAAT,SAAS,CAAS;IAG9B,CAAC;IACD,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,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC;IACjC,CAAC;CACJ"}
|
|
@@ -1,33 +1,6 @@
|
|
|
1
1
|
import { Logger } from '@salesforce/core';
|
|
2
|
+
import { Module } from '../module.js';
|
|
2
3
|
import type { Workspace } from '../../../types/index';
|
|
3
|
-
export interface ModuleInfo {
|
|
4
|
-
moduleFilePath: string;
|
|
5
|
-
moduleSourceHash: string;
|
|
6
|
-
ownerModuleId: string;
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* Represents a Module entry per LWC component
|
|
10
|
-
*/
|
|
11
|
-
export interface ModuleMapEntry {
|
|
12
|
-
/**
|
|
13
|
-
* Owner module in format like <namespace>/<component-name>.
|
|
14
|
-
* Example for internal modules, "lightning/global".
|
|
15
|
-
* Example for custom modules, "c/myComponent".
|
|
16
|
-
*/
|
|
17
|
-
ownerModuleId: string;
|
|
18
|
-
/**
|
|
19
|
-
* Various parts of the module.
|
|
20
|
-
* For example:
|
|
21
|
-
* {
|
|
22
|
-
* "c/myComponent/myComponent.js": { modulePath: "workspace/ui-module/my-project/force-app/main/default/lwc/myComponent/myComponent.js", moduleHash: "xxx" },
|
|
23
|
-
* "c/myComponent/myComponent.html": { modulePath: "workspace/ui-module/my-project/force-app/main/default/lwc/myComponent/myComponent.html", moduleHash: "xxy" },
|
|
24
|
-
* "c/myComponent/util/util.js": { modulePath: "workspace/ui-module/my-project/force-app/main/default/lwc/myComponent/util/util.js", moduleHash: "xxz" },
|
|
25
|
-
* }
|
|
26
|
-
*/
|
|
27
|
-
moduleParts: {
|
|
28
|
-
[key: string]: ModuleInfo;
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
4
|
/**
|
|
32
5
|
* An interface to define a workspace scanner that will build a map of modules and its assets in a given workspace.
|
|
33
6
|
* It accepts a set of directories and returns a map of Module Ids to file paths.
|
|
@@ -44,9 +17,9 @@ export interface WorkspaceScanner {
|
|
|
44
17
|
*/
|
|
45
18
|
modulesPaths: string[];
|
|
46
19
|
/**
|
|
47
|
-
*
|
|
20
|
+
* Gets all modules in modulesPaths
|
|
48
21
|
*/
|
|
49
|
-
|
|
22
|
+
getModules(): Module[];
|
|
50
23
|
/**
|
|
51
24
|
* The LWC module directories that needs to be excluded from scanning.
|
|
52
25
|
* In internal workspace type, the value will be ["core/ui-xx-components/modules/ns/compName_to_exclude"]
|
|
@@ -61,10 +34,10 @@ export declare abstract class BaseWorkspaceScanner implements WorkspaceScanner {
|
|
|
61
34
|
excludePaths?: string[];
|
|
62
35
|
constructor(workspace: Workspace, modulesPaths: string[], logger: Logger, excludePaths?: string[]);
|
|
63
36
|
/**
|
|
64
|
-
* Get
|
|
37
|
+
* Get all modules in the workspace.
|
|
65
38
|
*/
|
|
66
|
-
|
|
39
|
+
getModules(): Module[];
|
|
67
40
|
abstract getNamespace(moduleDir: string): string;
|
|
68
41
|
abstract findModuleDirs(): string[];
|
|
69
|
-
|
|
42
|
+
scanModuleDir(moduleDir: string): Module | undefined;
|
|
70
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
|
|
12
|
+
* Get all modules in the workspace.
|
|
12
13
|
*/
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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
|
-
|
|
19
|
+
scanModuleDir(moduleDir) {
|
|
24
20
|
const { base } = path.parse(moduleDir);
|
|
25
21
|
const namespace = this.getNamespace(moduleDir);
|
|
26
|
-
const
|
|
27
|
-
const moduleParts = getComponentParts(moduleDir, namespace, ownerModuleId);
|
|
22
|
+
const moduleParts = getComponentParts(moduleDir);
|
|
28
23
|
if (!moduleParts) {
|
|
29
24
|
return;
|
|
30
25
|
}
|
|
31
|
-
|
|
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;AAE7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;
|
|
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
|
+
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
|
-
],
|
|
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,
|
|
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,
|
|
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"}
|
|
@@ -70,4 +70,8 @@ export interface ServerConfig {
|
|
|
70
70
|
* This is used for telemetry purposes and does not affect the functionality of the dev server.
|
|
71
71
|
*/
|
|
72
72
|
clientType?: string;
|
|
73
|
+
/**
|
|
74
|
+
* namespace to be used for Salesforce CLI instead of the default 'c'
|
|
75
|
+
*/
|
|
76
|
+
namespace?: string;
|
|
73
77
|
}
|
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.7.
|
|
4
|
+
"version": "10.7.2",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"lwc dev server"
|
|
7
7
|
],
|
|
@@ -19,7 +19,8 @@
|
|
|
19
19
|
"start": "node ./bin/dev-server.js start"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@lwc/
|
|
22
|
+
"@lwc/lwc-dev-server-types": "10.7.2",
|
|
23
|
+
"@lwc/sfdc-lwc-compiler": "10.7.2",
|
|
23
24
|
"chalk": "~5.3.0",
|
|
24
25
|
"chokidar": "~3.6.0",
|
|
25
26
|
"commander": "~10.0.0",
|
|
@@ -27,7 +28,6 @@
|
|
|
27
28
|
"ws": "^8.18.0"
|
|
28
29
|
},
|
|
29
30
|
"devDependencies": {
|
|
30
|
-
"@lwc/lwc-dev-server-types": "10.7.0",
|
|
31
31
|
"@types/ws": "^8.5.10"
|
|
32
32
|
},
|
|
33
33
|
"peerDependencies": {
|