@lwc/metadata 2.19.0
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/LICENSE.txt +21 -0
- package/dist/__tests__/bundle-metadata.spec.d.ts +1 -0
- package/dist/bundle-metadata.d.ts +3 -0
- package/dist/bundle-metadata.js +119 -0
- package/dist/bundle-metadata.js.map +1 -0
- package/dist/dependency-analyzer/__tests__/komaci-script-docs.fixtures.spec.d.ts +1 -0
- package/dist/dependency-analyzer/__tests__/komaci-template-docs.fixtures.spec.d.ts +1 -0
- package/dist/dependency-analyzer/analyzeScriptFile.d.ts +4 -0
- package/dist/dependency-analyzer/analyzeScriptFile.js +465 -0
- package/dist/dependency-analyzer/analyzeScriptFile.js.map +1 -0
- package/dist/dependency-analyzer/analyzeTemplateFile.d.ts +3 -0
- package/dist/dependency-analyzer/analyzeTemplateFile.js +364 -0
- package/dist/dependency-analyzer/analyzeTemplateFile.js.map +1 -0
- package/dist/dependency-analyzer/index.d.ts +2 -0
- package/dist/errors/errors.d.ts +9 -0
- package/dist/errors/errors.js +119 -0
- package/dist/errors/errors.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/schema/typescript-types/bundle-metadata-types.d.ts +14 -0
- package/dist/schema/typescript-types/common-metadata-types.d.ts +25 -0
- package/dist/schema/typescript-types/script-metadata-types.d.ts +241 -0
- package/dist/schema/typescript-types/script-metadata-types.js +18 -0
- package/dist/schema/typescript-types/script-metadata-types.js.map +1 -0
- package/dist/schema/typescript-types/style-metadata-types.d.ts +35 -0
- package/dist/schema/typescript-types/style-metadata-types.js +13 -0
- package/dist/schema/typescript-types/style-metadata-types.js.map +1 -0
- package/dist/schema/typescript-types/template-metadata-types.d.ts +11 -0
- package/dist/schema/typescript-types/template-metadata-types.js +13 -0
- package/dist/schema/typescript-types/template-metadata-types.js.map +1 -0
- package/dist/script-metadata/__tests__/class.members.spec.d.ts +1 -0
- package/dist/script-metadata/__tests__/classes.spec.d.ts +1 -0
- package/dist/script-metadata/__tests__/dynamic-import-hints.spec.d.ts +1 -0
- package/dist/script-metadata/__tests__/dynamic-imports.spec.d.ts +1 -0
- package/dist/script-metadata/__tests__/exports-default.spec.d.ts +1 -0
- package/dist/script-metadata/__tests__/exports.spec.d.ts +1 -0
- package/dist/script-metadata/__tests__/imports.spec.d.ts +1 -0
- package/dist/script-metadata/__tests__/module-references.spec.d.ts +1 -0
- package/dist/script-metadata/__tests__/reexports.spec.d.ts +1 -0
- package/dist/script-metadata/__tests__/script-metadata.spec.d.ts +1 -0
- package/dist/script-metadata/__tests__/test-util.d.ts +3 -0
- package/dist/script-metadata/decorators/__tests__/decorators.spec.d.ts +1 -0
- package/dist/script-metadata/decorators/index.d.ts +4 -0
- package/dist/script-metadata/decorators/index.js +184 -0
- package/dist/script-metadata/decorators/index.js.map +1 -0
- package/dist/script-metadata/events/__tests__/event-construction.spec.d.ts +1 -0
- package/dist/script-metadata/events/__tests__/event-dispatch.spec.d.ts +1 -0
- package/dist/script-metadata/events/__tests__/event-listener.spec.d.ts +1 -0
- package/dist/script-metadata/events/event-construction.d.ts +7 -0
- package/dist/script-metadata/events/event-construction.js +55 -0
- package/dist/script-metadata/events/event-construction.js.map +1 -0
- package/dist/script-metadata/events/event-dispatch.d.ts +5 -0
- package/dist/script-metadata/events/event-dispatch.js +46 -0
- package/dist/script-metadata/events/event-dispatch.js.map +1 -0
- package/dist/script-metadata/events/event-listener.d.ts +4 -0
- package/dist/script-metadata/events/event-listener.js +74 -0
- package/dist/script-metadata/events/event-listener.js.map +1 -0
- package/dist/script-metadata/events/util.d.ts +14 -0
- package/dist/script-metadata/events/util.js +63 -0
- package/dist/script-metadata/events/util.js.map +1 -0
- package/dist/script-metadata/index.d.ts +8 -0
- package/dist/script-metadata/index.js +203 -0
- package/dist/script-metadata/index.js.map +1 -0
- package/dist/script-metadata/module-references/__tests__/generic-module.spec.d.ts +1 -0
- package/dist/script-metadata/module-references/__tests__/local-module.spec.d.ts +1 -0
- package/dist/script-metadata/module-references/__tests__/salesforce-references/access-check.spec.d.ts +1 -0
- package/dist/script-metadata/module-references/__tests__/salesforce-references/apex-continuation.spec.d.ts +1 -0
- package/dist/script-metadata/module-references/__tests__/salesforce-references/apex.spec.d.ts +1 -0
- package/dist/script-metadata/module-references/__tests__/salesforce-references/base.spec.d.ts +1 -0
- package/dist/script-metadata/module-references/__tests__/salesforce-references/client.spec.d.ts +1 -0
- package/dist/script-metadata/module-references/__tests__/salesforce-references/commerce.spec.d.ts +1 -0
- package/dist/script-metadata/module-references/__tests__/salesforce-references/community.spec.d.ts +1 -0
- package/dist/script-metadata/module-references/__tests__/salesforce-references/content-asset-url.spec.d.ts +1 -0
- package/dist/script-metadata/module-references/__tests__/salesforce-references/custom-permission.spec.d.ts +1 -0
- package/dist/script-metadata/module-references/__tests__/salesforce-references/gates.spec.d.ts +1 -0
- package/dist/script-metadata/module-references/__tests__/salesforce-references/i18n.spec.d.ts +1 -0
- package/dist/script-metadata/module-references/__tests__/salesforce-references/internal.spec.d.ts +1 -0
- package/dist/script-metadata/module-references/__tests__/salesforce-references/komaci.spec.d.ts +1 -0
- package/dist/script-metadata/module-references/__tests__/salesforce-references/label.spec.d.ts +1 -0
- package/dist/script-metadata/module-references/__tests__/salesforce-references/loader.spec.d.ts +1 -0
- package/dist/script-metadata/module-references/__tests__/salesforce-references/message-channel.spec.d.ts +1 -0
- package/dist/script-metadata/module-references/__tests__/salesforce-references/metric.spec.d.ts +1 -0
- package/dist/script-metadata/module-references/__tests__/salesforce-references/resource-url.spec.d.ts +1 -0
- package/dist/script-metadata/module-references/__tests__/salesforce-references/schema.spec.d.ts +1 -0
- package/dist/script-metadata/module-references/__tests__/salesforce-references/site.spec.d.ts +1 -0
- package/dist/script-metadata/module-references/__tests__/salesforce-references/slds.spec.d.ts +1 -0
- package/dist/script-metadata/module-references/__tests__/salesforce-references/user-permission.spec.d.ts +1 -0
- package/dist/script-metadata/module-references/__tests__/salesforce-references/user.spec.d.ts +1 -0
- package/dist/script-metadata/module-references/collectors/__tests__/collection-api.spec.d.ts +1 -0
- package/dist/script-metadata/module-references/collectors/generic-module.d.ts +3 -0
- package/dist/script-metadata/module-references/collectors/generic-module.js +92 -0
- package/dist/script-metadata/module-references/collectors/generic-module.js.map +1 -0
- package/dist/script-metadata/module-references/collectors/local-module.d.ts +3 -0
- package/dist/script-metadata/module-references/collectors/local-module.js +16 -0
- package/dist/script-metadata/module-references/collectors/local-module.js.map +1 -0
- package/dist/script-metadata/module-references/collectors/main.d.ts +8 -0
- package/dist/script-metadata/module-references/collectors/main.js +37 -0
- package/dist/script-metadata/module-references/collectors/main.js.map +1 -0
- package/dist/script-metadata/module-references/collectors/scoped/access-check.d.ts +3 -0
- package/dist/script-metadata/module-references/collectors/scoped/access-check.js +12 -0
- package/dist/script-metadata/module-references/collectors/scoped/access-check.js.map +1 -0
- package/dist/script-metadata/module-references/collectors/scoped/apex.d.ts +3 -0
- package/dist/script-metadata/module-references/collectors/scoped/apex.js +88 -0
- package/dist/script-metadata/module-references/collectors/scoped/apex.js.map +1 -0
- package/dist/script-metadata/module-references/collectors/scoped/client.d.ts +3 -0
- package/dist/script-metadata/module-references/collectors/scoped/client.js +28 -0
- package/dist/script-metadata/module-references/collectors/scoped/client.js.map +1 -0
- package/dist/script-metadata/module-references/collectors/scoped/commerce.d.ts +3 -0
- package/dist/script-metadata/module-references/collectors/scoped/commerce.js +26 -0
- package/dist/script-metadata/module-references/collectors/scoped/commerce.js.map +1 -0
- package/dist/script-metadata/module-references/collectors/scoped/community.d.ts +3 -0
- package/dist/script-metadata/module-references/collectors/scoped/community.js +29 -0
- package/dist/script-metadata/module-references/collectors/scoped/community.js.map +1 -0
- package/dist/script-metadata/module-references/collectors/scoped/content-asset-url.d.ts +3 -0
- package/dist/script-metadata/module-references/collectors/scoped/content-asset-url.js +12 -0
- package/dist/script-metadata/module-references/collectors/scoped/content-asset-url.js.map +1 -0
- package/dist/script-metadata/module-references/collectors/scoped/custom-permissions.d.ts +3 -0
- package/dist/script-metadata/module-references/collectors/scoped/custom-permissions.js +12 -0
- package/dist/script-metadata/module-references/collectors/scoped/custom-permissions.js.map +1 -0
- package/dist/script-metadata/module-references/collectors/scoped/design-system.d.ts +3 -0
- package/dist/script-metadata/module-references/collectors/scoped/design-system.js +21 -0
- package/dist/script-metadata/module-references/collectors/scoped/design-system.js.map +1 -0
- package/dist/script-metadata/module-references/collectors/scoped/gate.d.ts +3 -0
- package/dist/script-metadata/module-references/collectors/scoped/gate.js +12 -0
- package/dist/script-metadata/module-references/collectors/scoped/gate.js.map +1 -0
- package/dist/script-metadata/module-references/collectors/scoped/generic-prefix-salesforce-collector.d.ts +9 -0
- package/dist/script-metadata/module-references/collectors/scoped/generic-prefix-salesforce-collector.js +22 -0
- package/dist/script-metadata/module-references/collectors/scoped/generic-prefix-salesforce-collector.js.map +1 -0
- package/dist/script-metadata/module-references/collectors/scoped/i18n.d.ts +3 -0
- package/dist/script-metadata/module-references/collectors/scoped/i18n.js +12 -0
- package/dist/script-metadata/module-references/collectors/scoped/i18n.js.map +1 -0
- package/dist/script-metadata/module-references/collectors/scoped/internal.d.ts +3 -0
- package/dist/script-metadata/module-references/collectors/scoped/internal.js +35 -0
- package/dist/script-metadata/module-references/collectors/scoped/internal.js.map +1 -0
- package/dist/script-metadata/module-references/collectors/scoped/komaci.d.ts +3 -0
- package/dist/script-metadata/module-references/collectors/scoped/komaci.js +67 -0
- package/dist/script-metadata/module-references/collectors/scoped/komaci.js.map +1 -0
- package/dist/script-metadata/module-references/collectors/scoped/label.d.ts +3 -0
- package/dist/script-metadata/module-references/collectors/scoped/label.js +12 -0
- package/dist/script-metadata/module-references/collectors/scoped/label.js.map +1 -0
- package/dist/script-metadata/module-references/collectors/scoped/message-channel.d.ts +3 -0
- package/dist/script-metadata/module-references/collectors/scoped/message-channel.js +12 -0
- package/dist/script-metadata/module-references/collectors/scoped/message-channel.js.map +1 -0
- package/dist/script-metadata/module-references/collectors/scoped/metric.d.ts +3 -0
- package/dist/script-metadata/module-references/collectors/scoped/metric.js +12 -0
- package/dist/script-metadata/module-references/collectors/scoped/metric.js.map +1 -0
- package/dist/script-metadata/module-references/collectors/scoped/resource-url.d.ts +3 -0
- package/dist/script-metadata/module-references/collectors/scoped/resource-url.js +12 -0
- package/dist/script-metadata/module-references/collectors/scoped/resource-url.js.map +1 -0
- package/dist/script-metadata/module-references/collectors/scoped/schema.d.ts +3 -0
- package/dist/script-metadata/module-references/collectors/scoped/schema.js +12 -0
- package/dist/script-metadata/module-references/collectors/scoped/schema.js.map +1 -0
- package/dist/script-metadata/module-references/collectors/scoped/site.d.ts +3 -0
- package/dist/script-metadata/module-references/collectors/scoped/site.js +28 -0
- package/dist/script-metadata/module-references/collectors/scoped/site.js.map +1 -0
- package/dist/script-metadata/module-references/collectors/scoped/user-permissions.d.ts +3 -0
- package/dist/script-metadata/module-references/collectors/scoped/user-permissions.js +12 -0
- package/dist/script-metadata/module-references/collectors/scoped/user-permissions.js.map +1 -0
- package/dist/script-metadata/module-references/collectors/scoped/user.d.ts +3 -0
- package/dist/script-metadata/module-references/collectors/scoped/user.js +28 -0
- package/dist/script-metadata/module-references/collectors/scoped/user.js.map +1 -0
- package/dist/script-metadata/module-references/collectors/utils.d.ts +16 -0
- package/dist/script-metadata/module-references/collectors/utils.js +166 -0
- package/dist/script-metadata/module-references/collectors/utils.js.map +1 -0
- package/dist/script-metadata/module-references/reference.d.ts +4 -0
- package/dist/script-metadata/module-references/reference.js +78 -0
- package/dist/script-metadata/module-references/reference.js.map +1 -0
- package/dist/script-metadata/resolver.d.ts +17 -0
- package/dist/script-metadata/resolver.js +306 -0
- package/dist/script-metadata/resolver.js.map +1 -0
- package/dist/script-metadata/utils.d.ts +34 -0
- package/dist/script-metadata/utils.js +118 -0
- package/dist/script-metadata/utils.js.map +1 -0
- package/dist/script-metadata/visitors/call-expression-visitor.d.ts +5 -0
- package/dist/script-metadata/visitors/call-expression-visitor.js +124 -0
- package/dist/script-metadata/visitors/call-expression-visitor.js.map +1 -0
- package/dist/script-metadata/visitors/class-visitor.d.ts +5 -0
- package/dist/script-metadata/visitors/class-visitor.js +195 -0
- package/dist/script-metadata/visitors/class-visitor.js.map +1 -0
- package/dist/script-metadata/visitors/dynamic-imports-visitor.d.ts +9 -0
- package/dist/script-metadata/visitors/dynamic-imports-visitor.js +68 -0
- package/dist/script-metadata/visitors/dynamic-imports-visitor.js.map +1 -0
- package/dist/script-metadata/visitors/export-all-visitor.d.ts +10 -0
- package/dist/script-metadata/visitors/export-all-visitor.js +65 -0
- package/dist/script-metadata/visitors/export-all-visitor.js.map +1 -0
- package/dist/script-metadata/visitors/export-default-visitor.d.ts +5 -0
- package/dist/script-metadata/visitors/export-default-visitor.js +67 -0
- package/dist/script-metadata/visitors/export-default-visitor.js.map +1 -0
- package/dist/script-metadata/visitors/export-named-visitor.d.ts +5 -0
- package/dist/script-metadata/visitors/export-named-visitor.js +125 -0
- package/dist/script-metadata/visitors/export-named-visitor.js.map +1 -0
- package/dist/script-metadata/visitors/module-imports-visitor.d.ts +5 -0
- package/dist/script-metadata/visitors/module-imports-visitor.js +63 -0
- package/dist/script-metadata/visitors/module-imports-visitor.js.map +1 -0
- package/dist/script-metadata/visitors/new-expression-visitor.d.ts +5 -0
- package/dist/script-metadata/visitors/new-expression-visitor.js +36 -0
- package/dist/script-metadata/visitors/new-expression-visitor.js.map +1 -0
- package/dist/shared/config.d.ts +15 -0
- package/dist/shared/utils.d.ts +66 -0
- package/dist/shared/utils.js +129 -0
- package/dist/shared/utils.js.map +1 -0
- package/dist/style-metadata/__tests__/component-references.spec.d.ts +1 -0
- package/dist/style-metadata/__tests__/custom-properties.spec.d.ts +1 -0
- package/dist/style-metadata/__tests__/imports.spec.d.ts +1 -0
- package/dist/style-metadata/__tests__/index.spec.d.ts +1 -0
- package/dist/style-metadata/component-references.d.ts +4 -0
- package/dist/style-metadata/component-references.js +82 -0
- package/dist/style-metadata/component-references.js.map +1 -0
- package/dist/style-metadata/custom-properties.d.ts +3 -0
- package/dist/style-metadata/custom-properties.js +70 -0
- package/dist/style-metadata/custom-properties.js.map +1 -0
- package/dist/style-metadata/imports.d.ts +4 -0
- package/dist/style-metadata/imports.js +120 -0
- package/dist/style-metadata/imports.js.map +1 -0
- package/dist/style-metadata/index.d.ts +6 -0
- package/dist/style-metadata/index.js +70 -0
- package/dist/style-metadata/index.js.map +1 -0
- package/dist/template-metadata/__tests__/component-reference.spec.d.ts +1 -0
- package/dist/template-metadata/index.d.ts +6 -0
- package/dist/template-metadata/index.js +136 -0
- package/dist/template-metadata/index.js.map +1 -0
- package/package.json +35 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var reference = require('../module-references/reference.js');
|
|
6
|
+
var utils$1 = require('../../shared/utils.js');
|
|
7
|
+
var utils = require('../utils.js');
|
|
8
|
+
var resolver = require('../resolver.js');
|
|
9
|
+
|
|
10
|
+
// Copyright (c) 2022, Salesforce, Inc.,
|
|
11
|
+
function gatherImportMetadata(node, result, refId) {
|
|
12
|
+
const { source: { value: moduleSpecifier }, specifiers, } = node;
|
|
13
|
+
const importMetadata = {
|
|
14
|
+
moduleSpecifier,
|
|
15
|
+
location: utils.generateSourceLocation(node),
|
|
16
|
+
refId,
|
|
17
|
+
};
|
|
18
|
+
const namedImports = [];
|
|
19
|
+
specifiers.forEach((specifier) => {
|
|
20
|
+
const { local } = specifier;
|
|
21
|
+
const location = utils.generateSourceLocation(specifier);
|
|
22
|
+
switch (specifier.type) {
|
|
23
|
+
case 'ImportDefaultSpecifier': {
|
|
24
|
+
importMetadata.defaultBinding = {
|
|
25
|
+
name: local.name,
|
|
26
|
+
location,
|
|
27
|
+
};
|
|
28
|
+
break;
|
|
29
|
+
}
|
|
30
|
+
case 'ImportNamespaceSpecifier': {
|
|
31
|
+
importMetadata.namespaceImport = {
|
|
32
|
+
aliasName: local.name,
|
|
33
|
+
location,
|
|
34
|
+
};
|
|
35
|
+
break;
|
|
36
|
+
}
|
|
37
|
+
case 'ImportSpecifier': {
|
|
38
|
+
const { imported } = specifier;
|
|
39
|
+
const importedName = resolver.resolveImportSpecifierImported(imported);
|
|
40
|
+
namedImports.push({
|
|
41
|
+
name: importedName,
|
|
42
|
+
aliasName: local.name === importedName ? undefined : local.name,
|
|
43
|
+
location,
|
|
44
|
+
});
|
|
45
|
+
break;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
if (!utils$1.isEmpty(namedImports)) {
|
|
50
|
+
importMetadata.namedImports = namedImports;
|
|
51
|
+
}
|
|
52
|
+
result.imports.push(importMetadata);
|
|
53
|
+
}
|
|
54
|
+
function moduleImportVisitor(state, result) {
|
|
55
|
+
return function ImportVisitorFunction(path) {
|
|
56
|
+
const { node } = path;
|
|
57
|
+
const moduleReference = reference.gatherModuleReference(node, state, result);
|
|
58
|
+
gatherImportMetadata(node, result, moduleReference.id);
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
exports["default"] = moduleImportVisitor;
|
|
63
|
+
//# sourceMappingURL=module-imports-visitor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module-imports-visitor.js","sources":["../../../src/script-metadata/visitors/module-imports-visitor.ts"],"sourcesContent":[null],"names":["generateSourceLocation","resolveImportSpecifierImported","isEmpty","gatherModuleReference"],"mappings":";;;;;;;;;AAAA;AAgBA,SAAS,oBAAoB,CAAC,IAAyB,EAAE,MAAkB,EAAE,KAAa,EAAA;AACtF,IAAA,MAAM,EACF,MAAM,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,EAClC,UAAU,GACb,GAAG,IAAI,CAAC;AACT,IAAA,MAAM,cAAc,GAAW;QAC3B,eAAe;AACf,QAAA,QAAQ,EAAEA,4BAAsB,CAAC,IAAI,CAAC;QACtC,KAAK;KACR,CAAC;IAEF,MAAM,YAAY,GAAkB,EAAE,CAAC;AAEvC,IAAA,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,KAAI;AAC7B,QAAA,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC;AAC5B,QAAA,MAAM,QAAQ,GAAGA,4BAAsB,CAAC,SAAS,CAAC,CAAC;QACnD,QAAQ,SAAS,CAAC,IAAI;YAClB,KAAK,wBAAwB,EAAE;gBAC3B,cAAc,CAAC,cAAc,GAAG;oBAC5B,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,QAAQ;iBACX,CAAC;gBACF,MAAM;AACT,aAAA;YACD,KAAK,0BAA0B,EAAE;gBAC7B,cAAc,CAAC,eAAe,GAAG;oBAC7B,SAAS,EAAE,KAAK,CAAC,IAAI;oBACrB,QAAQ;iBACX,CAAC;gBACF,MAAM;AACT,aAAA;YACD,KAAK,iBAAiB,EAAE;AACpB,gBAAA,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC;AAC/B,gBAAA,MAAM,YAAY,GAAGC,uCAA8B,CAAC,QAAQ,CAAC,CAAC;gBAC9D,YAAY,CAAC,IAAI,CAAC;AACd,oBAAA,IAAI,EAAE,YAAY;AAClB,oBAAA,SAAS,EAAE,KAAK,CAAC,IAAI,KAAK,YAAY,GAAG,SAAS,GAAG,KAAK,CAAC,IAAI;oBAC/D,QAAQ;AACX,iBAAA,CAAC,CAAC;gBACH,MAAM;AACT,aAAA;AACJ,SAAA;AACL,KAAC,CAAC,CAAC;AACH,IAAA,IAAI,CAACC,eAAO,CAAC,YAAY,CAAC,EAAE;AACxB,QAAA,cAAc,CAAC,YAAY,GAAG,YAAY,CAAC;AAC9C,KAAA;AAED,IAAA,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACxC,CAAC;AAEa,SAAU,mBAAmB,CAAC,KAAkB,EAAE,MAAkB,EAAA;IAC9E,OAAO,SAAS,qBAAqB,CAAC,IAAmC,EAAA;AACrE,QAAA,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QACtB,MAAM,eAAe,GAAGC,+BAAqB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACnE,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,CAAC,CAAC;AAC3D,KAAC,CAAC;AACN;;;;"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import * as t from '@babel/types';
|
|
2
|
+
import { NodePath } from '@babel/traverse';
|
|
3
|
+
import { ScriptFile } from '../../schema/typescript-types/script-metadata-types';
|
|
4
|
+
import { ScriptState } from '../utils';
|
|
5
|
+
export default function visitorFunction(state: ScriptState, result: ScriptFile): (path: NodePath<t.NewExpression>) => void;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var eventConstruction = require('../events/event-construction.js');
|
|
6
|
+
var utils = require('../utils.js');
|
|
7
|
+
|
|
8
|
+
// Copyright (c) 2022, Salesforce, Inc.,
|
|
9
|
+
function visitorFunction(state, result) {
|
|
10
|
+
return function NewExpressionVisitorFunction(path) {
|
|
11
|
+
const { callee } = path.node;
|
|
12
|
+
if (callee.type === 'Identifier') {
|
|
13
|
+
const { name } = callee;
|
|
14
|
+
// process expressions like new Event()
|
|
15
|
+
if (eventConstruction.VALID_EVENT_INTERFACES.has(name) && utils.isGlobalIdentifier(callee, path.scope)) {
|
|
16
|
+
eventConstruction.gatherEventMetadata(path, name, result, state);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
if (callee.type === 'MemberExpression') {
|
|
20
|
+
const { object, property } = callee;
|
|
21
|
+
// process expressions like new window.Event()
|
|
22
|
+
if (property.type === 'Identifier' &&
|
|
23
|
+
eventConstruction.VALID_EVENT_INTERFACES.has(property.name) &&
|
|
24
|
+
object.type === 'Identifier' &&
|
|
25
|
+
(object.name === 'window' ||
|
|
26
|
+
object.name === 'globalThis' ||
|
|
27
|
+
object.name === 'self') &&
|
|
28
|
+
utils.isGlobalIdentifier(object, path.scope)) {
|
|
29
|
+
eventConstruction.gatherEventMetadata(path, property.name, result, state);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
exports["default"] = visitorFunction;
|
|
36
|
+
//# sourceMappingURL=new-expression-visitor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"new-expression-visitor.js","sources":["../../../src/script-metadata/visitors/new-expression-visitor.ts"],"sourcesContent":[null],"names":["VALID_EVENT_INTERFACES","isGlobalIdentifier","gatherEventMetadata"],"mappings":";;;;;;;AAAA;AAec,SAAU,eAAe,CAAC,KAAkB,EAAE,MAAkB,EAAA;IAC1E,OAAO,SAAS,4BAA4B,CAAC,IAA+B,EAAA;AACxE,QAAA,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;AAC7B,QAAA,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE;AAC9B,YAAA,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;;AAExB,YAAA,IAAIA,wCAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAIC,wBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;gBAC5EC,qCAAmB,CAAC,IAAI,EAAE,IAA0B,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AACxE,aAAA;AACJ,SAAA;AACD,QAAA,IAAI,MAAM,CAAC,IAAI,KAAK,kBAAkB,EAAE;AACpC,YAAA,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;;AAEpC,YAAA,IACI,QAAQ,CAAC,IAAI,KAAK,YAAY;AAC9B,gBAAAF,wCAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACzC,MAAM,CAAC,IAAI,KAAK,YAAY;AAC5B,iBAAC,MAAM,CAAC,IAAI,KAAK,QAAQ;oBACrB,MAAM,CAAC,IAAI,KAAK,YAAY;AAC5B,oBAAA,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC;AAC3B,gBAAAC,wBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,EACxC;gBACEC,qCAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,IAA0B,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AACjF,aAAA;AACJ,SAAA;AACL,KAAC,CAAC;AACN;;;;"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare type NamespaceMapping = {
|
|
2
|
+
[name: string]: string;
|
|
3
|
+
};
|
|
4
|
+
export declare type BundleType = 'internal' | 'platform';
|
|
5
|
+
export interface BundleConfig {
|
|
6
|
+
type: BundleType;
|
|
7
|
+
name: string;
|
|
8
|
+
namespace: string;
|
|
9
|
+
namespaceMapping: NamespaceMapping;
|
|
10
|
+
files: {
|
|
11
|
+
fileName: string;
|
|
12
|
+
source: string;
|
|
13
|
+
}[];
|
|
14
|
+
enableKomaci?: boolean;
|
|
15
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { ID } from '../schema/typescript-types/script-metadata-types';
|
|
2
|
+
import { BundleType, NamespaceMapping } from './config';
|
|
3
|
+
/**
|
|
4
|
+
* Returns true if the value is null
|
|
5
|
+
* @param {any} o
|
|
6
|
+
*/
|
|
7
|
+
export declare function isNull(o: any): o is null;
|
|
8
|
+
/**
|
|
9
|
+
* Returns true if the value is undefined
|
|
10
|
+
* @param {any} o
|
|
11
|
+
*/
|
|
12
|
+
export declare function isUndefined(o: any): o is undefined;
|
|
13
|
+
/**
|
|
14
|
+
* Returns true if value is true
|
|
15
|
+
* @param {any} o
|
|
16
|
+
*/
|
|
17
|
+
export declare function isTrue(o: any): o is true;
|
|
18
|
+
/**
|
|
19
|
+
* Returns false if value is false
|
|
20
|
+
* @param {any} o
|
|
21
|
+
*/
|
|
22
|
+
export declare function isFalse(o: any): o is false;
|
|
23
|
+
/**
|
|
24
|
+
* Returns true if
|
|
25
|
+
* the value is an array and length is zero or
|
|
26
|
+
* the value is a string and the trimmed value is an empty string
|
|
27
|
+
* @param {string | Array<any>} o
|
|
28
|
+
*/
|
|
29
|
+
export declare function isEmpty(o: string | Array<any>): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Returns true if
|
|
32
|
+
* the value is truthy and has no enumerable keys
|
|
33
|
+
* @param {object} o
|
|
34
|
+
*/
|
|
35
|
+
export declare function isEmptyObject(o: object): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Generate a unique reference id for a reference object
|
|
38
|
+
* @param refType Reference type
|
|
39
|
+
* @param idx unique numerical identifier to be appended to the end of the generated id
|
|
40
|
+
* @param name name of the reference
|
|
41
|
+
*/
|
|
42
|
+
export declare function generateReferenceId(refType: string, idx: number, name?: string): ID;
|
|
43
|
+
export declare class State {
|
|
44
|
+
private idx;
|
|
45
|
+
fileName: string;
|
|
46
|
+
namespaceMapping: NamespaceMapping;
|
|
47
|
+
bundleType: BundleType;
|
|
48
|
+
constructor({ fileName, namespaceMapping, bundleType, }: {
|
|
49
|
+
fileName: string;
|
|
50
|
+
namespaceMapping: NamespaceMapping;
|
|
51
|
+
bundleType: BundleType;
|
|
52
|
+
});
|
|
53
|
+
generateReferenceId(refType: string, name?: string): ID;
|
|
54
|
+
}
|
|
55
|
+
export declare function tagNameToComponentName(name: string): string;
|
|
56
|
+
export declare function attributeNameToPropertyName(name: string): string;
|
|
57
|
+
declare const assign: {
|
|
58
|
+
<T extends {}, U>(target: T, source: U): T & U;
|
|
59
|
+
<T_1 extends {}, U_1, V>(target: T_1, source1: U_1, source2: V): T_1 & U_1 & V;
|
|
60
|
+
<T_2 extends {}, U_2, V_1, W>(target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W;
|
|
61
|
+
(target: object, ...sources: any[]): any;
|
|
62
|
+
}, keys: {
|
|
63
|
+
(o: object): string[];
|
|
64
|
+
(o: {}): string[];
|
|
65
|
+
};
|
|
66
|
+
export { assign, keys };
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
// Copyright (c) 2022, Salesforce, Inc.,
|
|
6
|
+
// All rights reserved.
|
|
7
|
+
// For full license text, see the LICENSE.txt file
|
|
8
|
+
/**
|
|
9
|
+
* Returns true if the value is null
|
|
10
|
+
* @param {any} o
|
|
11
|
+
*/
|
|
12
|
+
function isNull(o) {
|
|
13
|
+
return o === null;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Returns true if the value is undefined
|
|
17
|
+
* @param {any} o
|
|
18
|
+
*/
|
|
19
|
+
function isUndefined(o) {
|
|
20
|
+
return o === undefined;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Returns true if value is true
|
|
24
|
+
* @param {any} o
|
|
25
|
+
*/
|
|
26
|
+
function isTrue(o) {
|
|
27
|
+
return o === true;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Returns true if
|
|
31
|
+
* the value is an array and length is zero or
|
|
32
|
+
* the value is a string and the trimmed value is an empty string
|
|
33
|
+
* @param {string | Array<any>} o
|
|
34
|
+
*/
|
|
35
|
+
function isEmpty(o) {
|
|
36
|
+
if (Array.isArray(o) && o.length === 0) {
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
else if (typeof o === 'string' && o.trim().length === 0) {
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Returns true if
|
|
46
|
+
* the value is truthy and has no enumerable keys
|
|
47
|
+
* @param {object} o
|
|
48
|
+
*/
|
|
49
|
+
function isEmptyObject(o) {
|
|
50
|
+
return o && typeof o === 'object' && Object.keys(o).length === 0;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Generate a unique reference id for a reference object
|
|
54
|
+
* @param refType Reference type
|
|
55
|
+
* @param idx unique numerical identifier to be appended to the end of the generated id
|
|
56
|
+
* @param name name of the reference
|
|
57
|
+
*/
|
|
58
|
+
function generateReferenceId(refType, idx, name) {
|
|
59
|
+
return `${refType}#${name}#${idx}`;
|
|
60
|
+
}
|
|
61
|
+
class State {
|
|
62
|
+
constructor({ fileName, namespaceMapping, bundleType, }) {
|
|
63
|
+
this.idx = 0;
|
|
64
|
+
this.fileName = fileName;
|
|
65
|
+
this.namespaceMapping = namespaceMapping;
|
|
66
|
+
this.bundleType = bundleType;
|
|
67
|
+
}
|
|
68
|
+
generateReferenceId(refType, name) {
|
|
69
|
+
return `${refType}#${name}#${this.idx++}`;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
// Converts a tag name (e.g. lightning-input-field) into a namespaced
|
|
73
|
+
// qualified component name (e.g. lightning/inputField).
|
|
74
|
+
function tagNameToComponentName(name) {
|
|
75
|
+
const newName = [];
|
|
76
|
+
let nsFound = false;
|
|
77
|
+
let upper = false;
|
|
78
|
+
for (const currChar of name) {
|
|
79
|
+
if (currChar === '-') {
|
|
80
|
+
if (!nsFound) {
|
|
81
|
+
nsFound = true;
|
|
82
|
+
newName.push('/');
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
upper = true;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
// Converts kebab case to camel case.
|
|
90
|
+
newName.push(upper ? currChar.toUpperCase() : currChar);
|
|
91
|
+
upper = false;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
return newName.join('');
|
|
95
|
+
}
|
|
96
|
+
// Converts an element's attribute (e.g. record-id) into a class
|
|
97
|
+
// property (e.g. recordId).
|
|
98
|
+
//
|
|
99
|
+
// TODO: export method toPropertyName in template-compiler's
|
|
100
|
+
// shared/utils.ts and utilize that instead.
|
|
101
|
+
function attributeNameToPropertyName(name) {
|
|
102
|
+
const newName = [];
|
|
103
|
+
let upper = false;
|
|
104
|
+
for (const currChar of name) {
|
|
105
|
+
if (currChar === '-') {
|
|
106
|
+
upper = true;
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
// Converts kebab case to camel case.
|
|
110
|
+
newName.push(upper ? currChar.toUpperCase() : currChar);
|
|
111
|
+
upper = false;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
return newName.join('');
|
|
115
|
+
}
|
|
116
|
+
const { assign, keys } = Object;
|
|
117
|
+
|
|
118
|
+
exports.State = State;
|
|
119
|
+
exports.assign = assign;
|
|
120
|
+
exports.attributeNameToPropertyName = attributeNameToPropertyName;
|
|
121
|
+
exports.generateReferenceId = generateReferenceId;
|
|
122
|
+
exports.isEmpty = isEmpty;
|
|
123
|
+
exports.isEmptyObject = isEmptyObject;
|
|
124
|
+
exports.isNull = isNull;
|
|
125
|
+
exports.isTrue = isTrue;
|
|
126
|
+
exports.isUndefined = isUndefined;
|
|
127
|
+
exports.keys = keys;
|
|
128
|
+
exports.tagNameToComponentName = tagNameToComponentName;
|
|
129
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../src/shared/utils.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Root } from 'postcss';
|
|
2
|
+
import { CSSFile } from '../schema/typescript-types/style-metadata-types';
|
|
3
|
+
import { NamespaceMapping } from '../shared/config';
|
|
4
|
+
export declare function collectComponentReferences(result: CSSFile, root: Root, namespaceMapping: NamespaceMapping): void;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var sfdcCompilerUtils = require('@lwc/sfdc-compiler-utils');
|
|
6
|
+
var postcssSelector = require('postcss-selector-parser');
|
|
7
|
+
var utils = require('../shared/utils.js');
|
|
8
|
+
|
|
9
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
10
|
+
|
|
11
|
+
var postcssSelector__default = /*#__PURE__*/_interopDefaultLegacy(postcssSelector);
|
|
12
|
+
|
|
13
|
+
// Copyright (c) 2022, Salesforce, Inc.,
|
|
14
|
+
function isCustomElementSelector(tag) {
|
|
15
|
+
return tag.includes('-');
|
|
16
|
+
}
|
|
17
|
+
function getReferenceLocation({ input }, start, length) {
|
|
18
|
+
const startLoc = input.fromOffset(start);
|
|
19
|
+
const endLoc = input.fromOffset(start + length);
|
|
20
|
+
return {
|
|
21
|
+
start,
|
|
22
|
+
end: start + length,
|
|
23
|
+
startLine: startLoc.line,
|
|
24
|
+
startColumn: startLoc.col,
|
|
25
|
+
endLine: endLoc.line,
|
|
26
|
+
endColumn: endLoc.col,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
function getSelectorReferences({ selector, source }, offset, namespaceMapping) {
|
|
30
|
+
const references = [];
|
|
31
|
+
const processor = postcssSelector__default["default"]();
|
|
32
|
+
const root = processor.astSync(selector, { lossless: true });
|
|
33
|
+
root.walkTags((node) => {
|
|
34
|
+
// [W-7479930] Workaround issue where An+B CSS micro-syntax is incorrectly parsed by
|
|
35
|
+
// postcss-selector-parser: https://github.com/postcss/postcss-selector-parser/issues/14.
|
|
36
|
+
// Currently `3n-1` inside `:nth-last-of-type(3n-1)` is wrongly treated as a tag selector.
|
|
37
|
+
if (postcssSelector__default["default"].isSelector(node.parent) &&
|
|
38
|
+
postcssSelector__default["default"].isPseudo(node.parent.parent) &&
|
|
39
|
+
node.parent.parent.value.startsWith(':nth')) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
const tagName = node.value;
|
|
43
|
+
if (!isCustomElementSelector(tagName)) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
const moduleName = utils.tagNameToComponentName(tagName);
|
|
47
|
+
const ref = {
|
|
48
|
+
name: utils.tagNameToComponentName(tagName),
|
|
49
|
+
tagName,
|
|
50
|
+
type: 'external',
|
|
51
|
+
locations: [getReferenceLocation(source, offset + node.sourceIndex, tagName.length)],
|
|
52
|
+
};
|
|
53
|
+
const namespacedName = sfdcCompilerUtils.getNamespacedIdForResource(moduleName, namespaceMapping);
|
|
54
|
+
if (!utils.isUndefined(namespacedName)) {
|
|
55
|
+
ref.namespacedName = namespacedName;
|
|
56
|
+
}
|
|
57
|
+
references.push(ref);
|
|
58
|
+
});
|
|
59
|
+
return references;
|
|
60
|
+
}
|
|
61
|
+
function collectComponentReferences(result, root, namespaceMapping) {
|
|
62
|
+
const references = new Map();
|
|
63
|
+
root.walkRules((rule) => {
|
|
64
|
+
const selectorOffset = rule.source.start.offset;
|
|
65
|
+
const ruleReferences = getSelectorReferences(rule, selectorOffset, namespaceMapping);
|
|
66
|
+
for (const referenceInRule of ruleReferences) {
|
|
67
|
+
const { tagName } = referenceInRule;
|
|
68
|
+
let reference = references.get(tagName);
|
|
69
|
+
if (utils.isUndefined(reference)) {
|
|
70
|
+
reference = referenceInRule;
|
|
71
|
+
references.set(tagName, reference);
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
reference.locations.push(...referenceInRule.locations);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
result.componentReferences.push(...references.values());
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
exports.collectComponentReferences = collectComponentReferences;
|
|
82
|
+
//# sourceMappingURL=component-references.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component-references.js","sources":["../../src/style-metadata/component-references.ts"],"sourcesContent":[null],"names":["postcssSelector","tagNameToComponentName","getNamespacedIdForResource","isUndefined"],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var postcssValueParser = require('postcss-value-parser');
|
|
6
|
+
var utils = require('../shared/utils.js');
|
|
7
|
+
|
|
8
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
9
|
+
|
|
10
|
+
var postcssValueParser__default = /*#__PURE__*/_interopDefaultLegacy(postcssValueParser);
|
|
11
|
+
|
|
12
|
+
// Copyright (c) 2022, Salesforce, Inc.,
|
|
13
|
+
function collectCustomProperties(result, root) {
|
|
14
|
+
root.walkDecls((decl) => {
|
|
15
|
+
// Early exit if the declaration doesn't includes a var() function. This avoid parsing the
|
|
16
|
+
// selector when not needed.
|
|
17
|
+
if (!decl.value.includes('var(')) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
// The value offset from the start of the declaration node is:
|
|
21
|
+
// - the declaration property name length
|
|
22
|
+
// - the space between the declaration and the value (raws.between includes the `:`)
|
|
23
|
+
const valueOffset = decl.prop.length + (decl.raws.between?.length ?? 1);
|
|
24
|
+
let parsedValue;
|
|
25
|
+
try {
|
|
26
|
+
parsedValue = postcssValueParser__default["default"](decl.value);
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
// Ignore cases where the declaration value is malformed.
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
const { nodes } = parsedValue;
|
|
33
|
+
// To keep the implementation backwards compatible with metadata-v1, only process declaration
|
|
34
|
+
// values that start with a "var". This is not comprehensive, as lwc tokens nested with in
|
|
35
|
+
// css functions are not collected. But doing so now will break existing usages in production
|
|
36
|
+
const declarationValueStartsWithVar = nodes.filter((n) => {
|
|
37
|
+
return n.type === 'function' && n.value === 'var';
|
|
38
|
+
});
|
|
39
|
+
postcssValueParser__default["default"].walk(declarationValueStartsWithVar, (node) => {
|
|
40
|
+
if (node.type !== 'function' || node.value !== 'var') {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
const params = node.nodes;
|
|
44
|
+
if (utils.isUndefined(params[0]) || params[0].type !== 'word') {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
const name = params[0].value;
|
|
48
|
+
// Relative position of the variable with respect to the declaration
|
|
49
|
+
const relativeOffset = valueOffset + params[0].sourceIndex;
|
|
50
|
+
const start = decl.positionInside(relativeOffset);
|
|
51
|
+
const end = decl.positionInside(relativeOffset + name.length);
|
|
52
|
+
const startOffset = decl.source.start.offset + relativeOffset;
|
|
53
|
+
// const endOffset = startOffset + name.length;
|
|
54
|
+
result.customProperties.push({
|
|
55
|
+
name,
|
|
56
|
+
location: {
|
|
57
|
+
startLine: start.line,
|
|
58
|
+
startColumn: start.column,
|
|
59
|
+
endLine: end.line,
|
|
60
|
+
endColumn: end.column,
|
|
61
|
+
start: startOffset,
|
|
62
|
+
end: startOffset + name.length,
|
|
63
|
+
},
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
exports.collectCustomProperties = collectCustomProperties;
|
|
70
|
+
//# sourceMappingURL=custom-properties.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-properties.js","sources":["../../src/style-metadata/custom-properties.ts"],"sourcesContent":[null],"names":["postcssValueParser","isUndefined"],"mappings":";;;;;;;;;;;AAAA;AAUgB,SAAA,uBAAuB,CAAC,MAAe,EAAE,IAAU,EAAA;AAC/D,IAAA,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,KAAI;;;QAGpB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YAC9B,OAAO;AACV,SAAA;;;;AAKD,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC;AAExE,QAAA,IAAI,WAAwB,CAAC;QAC7B,IAAI;AACA,YAAA,WAAW,GAAGA,sCAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChD,SAAA;AAAC,QAAA,OAAO,KAAK,EAAE;;YAEZ,OAAO;AACV,SAAA;AAED,QAAA,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC;;;;QAK9B,MAAM,6BAA6B,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAI;YACrD,OAAO,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC;AACtD,SAAC,CAAC,CAAC;QAEHA,sCAAkB,CAAC,IAAI,CAAC,6BAA6B,EAAE,CAAC,IAAI,KAAI;YAC5D,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE;gBAClD,OAAO;AACV,aAAA;AAED,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;AAE1B,YAAA,IAAIC,iBAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE;gBACrD,OAAO;AACV,aAAA;YAED,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;;YAE7B,MAAM,cAAc,GAAG,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;AAClD,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,MAAO,CAAC,KAAM,CAAC,MAAM,GAAG,cAAc,CAAC;;AAEhE,YAAA,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC;gBACzB,IAAI;AACJ,gBAAA,QAAQ,EAAE;oBACN,SAAS,EAAE,KAAK,CAAC,IAAI;oBACrB,WAAW,EAAE,KAAK,CAAC,MAAM;oBACzB,OAAO,EAAE,GAAG,CAAC,IAAI;oBACjB,SAAS,EAAE,GAAG,CAAC,MAAM;AACrB,oBAAA,KAAK,EAAE,WAAW;AAClB,oBAAA,GAAG,EAAE,WAAW,GAAG,IAAI,CAAC,MAAM;AACjC,iBAAA;AACJ,aAAA,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;AACP,KAAC,CAAC,CAAC;AACP;;;;"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Root } from 'postcss';
|
|
2
|
+
import { NamespaceMapping } from '../shared/config';
|
|
3
|
+
import { CSSFile } from '../schema/typescript-types/style-metadata-types';
|
|
4
|
+
export declare function collectImports(result: CSSFile, root: Root, namespaceMapping: NamespaceMapping): void;
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var postcssValueParser = require('postcss-value-parser');
|
|
6
|
+
var sfdcCompilerUtils = require('@lwc/sfdc-compiler-utils');
|
|
7
|
+
var utils = require('../shared/utils.js');
|
|
8
|
+
var utils$1 = require('../script-metadata/utils.js');
|
|
9
|
+
|
|
10
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
11
|
+
|
|
12
|
+
var postcssValueParser__default = /*#__PURE__*/_interopDefaultLegacy(postcssValueParser);
|
|
13
|
+
|
|
14
|
+
// Copyright (c) 2022, Salesforce, Inc.,
|
|
15
|
+
function getImportInfo(param) {
|
|
16
|
+
let root;
|
|
17
|
+
try {
|
|
18
|
+
root = postcssValueParser__default["default"](param);
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
// Ignore cases where the params value is malformed.
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
const node = root.nodes[0];
|
|
25
|
+
if (utils.isUndefined(node)) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
// @import "./module.css";
|
|
29
|
+
if (node.type === 'string') {
|
|
30
|
+
return {
|
|
31
|
+
name: node.value,
|
|
32
|
+
offset: node.sourceIndex,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
// @import url(./module.css);
|
|
36
|
+
// @import url("./module.css");
|
|
37
|
+
if (node.type === 'function' && node.value === 'url') {
|
|
38
|
+
const params = node.nodes;
|
|
39
|
+
if (utils.isUndefined(params[0])) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
if (params[0].type === 'string') {
|
|
43
|
+
return {
|
|
44
|
+
name: params[0].value,
|
|
45
|
+
offset: params[0].sourceIndex + 1, // Add the front quote to the offset.
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
if (params[0].type === 'word') {
|
|
49
|
+
return {
|
|
50
|
+
name: params[0].value,
|
|
51
|
+
offset: params[0].sourceIndex,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
function getLocation(rule, info) {
|
|
57
|
+
// The at-rule parameter offset relative to the at-rule node is:
|
|
58
|
+
// - 1 for the '@' prefix length
|
|
59
|
+
// - the at-rule name length
|
|
60
|
+
// - the whitespace after the name length.
|
|
61
|
+
const paramOffset = 1 + rule.name.length + (rule.raws.afterName?.length ?? 1);
|
|
62
|
+
// relative position of module name with respect to the import statement
|
|
63
|
+
const moduleNameRelativeOffset = paramOffset + info.offset + utils$1.QUOTE_LENGTH;
|
|
64
|
+
const start = rule.positionInside(moduleNameRelativeOffset);
|
|
65
|
+
const end = rule.positionInside(moduleNameRelativeOffset + info.name.length);
|
|
66
|
+
const startOffset = rule.source.start.offset + moduleNameRelativeOffset;
|
|
67
|
+
return {
|
|
68
|
+
startLine: start.line,
|
|
69
|
+
startColumn: start.column,
|
|
70
|
+
endLine: end.line,
|
|
71
|
+
endColumn: end.column,
|
|
72
|
+
start: startOffset,
|
|
73
|
+
end: startOffset + info.name.length,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
function getImportType(name) {
|
|
77
|
+
if (name.startsWith('.')) {
|
|
78
|
+
return 'local';
|
|
79
|
+
}
|
|
80
|
+
else if (name.startsWith('@salesforce')) {
|
|
81
|
+
return '@salesforce';
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
return 'external';
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
function createReference(name, references, namespaceMapping) {
|
|
88
|
+
const type = getImportType(name);
|
|
89
|
+
const id = utils.generateReferenceId('ModuleReference', references.size, name);
|
|
90
|
+
const namespacedName = type === 'external' ? sfdcCompilerUtils.getNamespacedIdForResource(name, namespaceMapping) : undefined;
|
|
91
|
+
return {
|
|
92
|
+
id,
|
|
93
|
+
name,
|
|
94
|
+
namespacedName,
|
|
95
|
+
type,
|
|
96
|
+
locations: [],
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
function collectImports(result, root, namespaceMapping) {
|
|
100
|
+
const references = new Map();
|
|
101
|
+
root.walkAtRules('import', (rule) => {
|
|
102
|
+
const importInfo = getImportInfo(rule.params);
|
|
103
|
+
// Ignore malformed at-rule imports.
|
|
104
|
+
if (utils.isUndefined(importInfo)) {
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
const { name } = importInfo;
|
|
108
|
+
const importLocation = getLocation(rule, importInfo);
|
|
109
|
+
let reference = references.get(name);
|
|
110
|
+
if (utils.isUndefined(reference)) {
|
|
111
|
+
reference = createReference(name, references, namespaceMapping);
|
|
112
|
+
result.imports.push(reference);
|
|
113
|
+
references.set(name, reference);
|
|
114
|
+
}
|
|
115
|
+
reference.locations.push(importLocation);
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
exports.collectImports = collectImports;
|
|
120
|
+
//# sourceMappingURL=imports.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imports.js","sources":["../../src/style-metadata/imports.ts"],"sourcesContent":[null],"names":["postcssValueParser","isUndefined","QUOTE_LENGTH","generateReferenceId","getNamespacedIdForResource"],"mappings":"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"}
|