@salesforce/templates 66.15.0 → 66.16.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.
Files changed (29) hide show
  1. package/lib/generators/lightningOutGenerator.d.ts +7 -0
  2. package/lib/generators/lightningOutGenerator.js +122 -0
  3. package/lib/generators/lightningOutGenerator.js.map +1 -0
  4. package/lib/i18n/i18n.d.ts +10 -0
  5. package/lib/i18n/i18n.js +10 -0
  6. package/lib/i18n/i18n.js.map +1 -1
  7. package/lib/index.d.ts +1 -0
  8. package/lib/index.js +1 -0
  9. package/lib/index.js.map +1 -1
  10. package/lib/templates/lightningout/default/corsWhitelistOrigin.xml +4 -0
  11. package/lib/templates/lightningout/default/externalClientApplication.xml +7 -0
  12. package/lib/templates/lightningout/default/extlClntAppGlobalOauthSettings.xml +7 -0
  13. package/lib/templates/lightningout/default/extlClntAppOauthSettings.xml +6 -0
  14. package/lib/templates/lightningout/default/lightningOutApp.xml +20 -0
  15. package/lib/templates/lightningout/default/myDomainSettings.xml +4 -0
  16. package/lib/templates/lightningout/default/securitySettings.xml +6 -0
  17. package/lib/templates/project/angularextapp/_p_/_m_/_w_/_a_/package-lock.json +190 -190
  18. package/lib/templates/project/angularintapp/_p_/_m_/_w_/_a_/package-lock.json +193 -193
  19. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/package-lock.json +50 -50
  20. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/package-lock.json +53 -53
  21. package/lib/templates/uiBundles/angularbasic/package-lock.json +190 -190
  22. package/lib/templates/uiBundles/reactbasic/package-lock.json +50 -50
  23. package/lib/utils/lightningOut.d.ts +42 -0
  24. package/lib/utils/lightningOut.js +119 -0
  25. package/lib/utils/lightningOut.js.map +1 -0
  26. package/lib/utils/types.d.ts +28 -6
  27. package/lib/utils/types.js +8 -5
  28. package/lib/utils/types.js.map +1 -1
  29. package/package.json +1 -1
@@ -0,0 +1,7 @@
1
+ import { LightningOutOptions } from '../utils/types';
2
+ import { BaseGenerator } from './baseGenerator';
3
+ export default class LightningOutGenerator extends BaseGenerator<LightningOutOptions> {
4
+ private normalizedHostDomains;
5
+ validateOptions(): void;
6
+ generate(): Promise<void>;
7
+ }
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2026, salesforce.com, inc.
4
+ * All rights reserved.
5
+ * Licensed under the BSD 3-Clause license.
6
+ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ const tslib_1 = require("tslib");
10
+ const path = tslib_1.__importStar(require("path"));
11
+ const node_url_1 = require("node:url");
12
+ const i18n_1 = require("../i18n");
13
+ const lightningOut_1 = require("../utils/lightningOut");
14
+ const baseGenerator_1 = require("./baseGenerator");
15
+ const VALID_RUNTIMES = new Set(lightningOut_1.LIGHTNING_OUT_RUNTIMES);
16
+ const APP_NAME_MAX = 64;
17
+ const ECA_NAME_MAX = 80;
18
+ const EMAIL_RE = /^[^@\s]+@[^@\s]+\.[^@\s]+$/;
19
+ class LightningOutGenerator extends baseGenerator_1.BaseGenerator {
20
+ validateOptions() {
21
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
22
+ const o = this.options;
23
+ const errors = [];
24
+ const missing = [];
25
+ if (!((_a = o.appName) === null || _a === void 0 ? void 0 : _a.trim())) {
26
+ missing.push('appName');
27
+ }
28
+ if (!((_c = (_b = o.eca) === null || _b === void 0 ? void 0 : _b.name) === null || _c === void 0 ? void 0 : _c.trim())) {
29
+ missing.push('eca.name');
30
+ }
31
+ if (!((_d = o.runtime) === null || _d === void 0 ? void 0 : _d.toString().trim())) {
32
+ missing.push('runtime');
33
+ }
34
+ if (!Array.isArray(o.hostDomains) || o.hostDomains.length === 0) {
35
+ missing.push('hostDomains');
36
+ }
37
+ if (!((_f = (_e = o.eca) === null || _e === void 0 ? void 0 : _e.contactEmail) === null || _f === void 0 ? void 0 : _f.trim())) {
38
+ missing.push('eca.contactEmail');
39
+ }
40
+ if (!((_h = (_g = o.eca) === null || _g === void 0 ? void 0 : _g.callbackUrl) === null || _h === void 0 ? void 0 : _h.trim())) {
41
+ missing.push('eca.callbackUrl');
42
+ }
43
+ if (missing.length) {
44
+ errors.push(i18n_1.nls.localize('MissingLightningOutInputs', [missing.join(', ')]));
45
+ }
46
+ if (o.appName) {
47
+ const e = (0, lightningOut_1.checkDeveloperName)(o.appName, 'appName', APP_NAME_MAX);
48
+ if (e) {
49
+ errors.push(e);
50
+ }
51
+ }
52
+ if ((_j = o.eca) === null || _j === void 0 ? void 0 : _j.name) {
53
+ const e = (0, lightningOut_1.checkDeveloperName)(o.eca.name, 'eca.name', ECA_NAME_MAX);
54
+ if (e) {
55
+ errors.push(e);
56
+ }
57
+ }
58
+ if (o.runtime && !VALID_RUNTIMES.has(o.runtime)) {
59
+ errors.push(i18n_1.nls.localize('InvalidLightningOutRuntime', [[...VALID_RUNTIMES].join(', ')]));
60
+ }
61
+ if (((_k = o.eca) === null || _k === void 0 ? void 0 : _k.contactEmail) && !EMAIL_RE.test(o.eca.contactEmail)) {
62
+ errors.push(i18n_1.nls.localize('InvalidLightningOutContactEmail', [o.eca.contactEmail]));
63
+ }
64
+ if ((_l = o.eca) === null || _l === void 0 ? void 0 : _l.callbackUrl) {
65
+ let ok = false;
66
+ try {
67
+ ok = new node_url_1.URL(o.eca.callbackUrl).protocol === 'https:';
68
+ }
69
+ catch (_o) {
70
+ ok = false;
71
+ }
72
+ if (!ok) {
73
+ errors.push(i18n_1.nls.localize('InvalidLightningOutCallbackUrl', [o.eca.callbackUrl]));
74
+ }
75
+ }
76
+ for (const c of (_m = o.components) !== null && _m !== void 0 ? _m : []) {
77
+ if (!(0, lightningOut_1.isValidComponentRef)(c)) {
78
+ errors.push(i18n_1.nls.localize('InvalidLightningOutComponent', [c]));
79
+ }
80
+ }
81
+ let normalized;
82
+ if (Array.isArray(o.hostDomains) && o.hostDomains.length) {
83
+ try {
84
+ normalized = (0, lightningOut_1.normalizeHostDomains)(o.hostDomains);
85
+ }
86
+ catch (e) {
87
+ errors.push(e.message);
88
+ }
89
+ }
90
+ if (errors.length) {
91
+ throw new Error(i18n_1.nls.localize('InvalidLightningOutDefinition', ['\n - ' + errors.join('\n - ')]));
92
+ }
93
+ this.normalizedHostDomains = normalized !== null && normalized !== void 0 ? normalized : { origins: [], fileTokens: [] };
94
+ }
95
+ generate() {
96
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
97
+ const { appName, runtime, components, eca } = this.options;
98
+ const { origins, fileTokens } = this.normalizedHostDomains;
99
+ this.sourceRootWithPartialPath(path.join('lightningout', 'default'));
100
+ // LightningOutApp
101
+ yield this.render(this.templatePath('lightningOutApp.xml'), this.destinationPath(path.join(this.outputdir, 'lightningOutApps', `${appName}.lightningOutApp-meta.xml`)),
102
+ // Trim each ref so the emitted value matches what isValidComponentRef validated
103
+ // (it validates the trimmed form); otherwise surrounding whitespace would be baked
104
+ // into the XML and fail Core's parseComponentName at deploy.
105
+ { name: appName, runtime, components: (components !== null && components !== void 0 ? components : []).map((c) => c.trim()), hostDomains: origins });
106
+ // MyDomainSettings / SecuritySettings — server-side field merge (safe minimal files).
107
+ yield this.render(this.templatePath('myDomainSettings.xml'), this.destinationPath(path.join(this.outputdir, 'settings', 'MyDomain.settings-meta.xml')), {});
108
+ yield this.render(this.templatePath('securitySettings.xml'), this.destinationPath(path.join(this.outputdir, 'settings', 'Security.settings-meta.xml')), {});
109
+ // CorsWhitelistOrigin — one independent, per-origin file (never clobbers others).
110
+ for (let i = 0; i < origins.length; i++) {
111
+ yield this.render(this.templatePath('corsWhitelistOrigin.xml'), this.destinationPath(path.join(this.outputdir, 'corsWhitelistOrigins', `${fileTokens[i]}.corsWhitelistOrigin-meta.xml`)), { origin: origins[i] });
112
+ }
113
+ // ExternalClientApplication + OAuth settings trio. Invariants hardcoded:
114
+ // distributionState=Local, single OAuth scope "Web".
115
+ yield this.render(this.templatePath('externalClientApplication.xml'), this.destinationPath(path.join(this.outputdir, 'externalClientApps', `${eca.name}.eca-meta.xml`)), { name: eca.name, contactEmail: eca.contactEmail, distributionState: 'Local' });
116
+ yield this.render(this.templatePath('extlClntAppGlobalOauthSettings.xml'), this.destinationPath(path.join(this.outputdir, 'extlClntAppGlobalOauthSets', `${eca.name}.ecaGlblOauth-meta.xml`)), { name: eca.name, callbackUrl: eca.callbackUrl });
117
+ yield this.render(this.templatePath('extlClntAppOauthSettings.xml'), this.destinationPath(path.join(this.outputdir, 'extlClntAppOauthSettings', `${eca.name}.ecaOauth-meta.xml`)), { name: eca.name, oauthScopes: 'Web' });
118
+ });
119
+ }
120
+ }
121
+ exports.default = LightningOutGenerator;
122
+ //# sourceMappingURL=lightningOutGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lightningOutGenerator.js","sourceRoot":"","sources":["../../src/generators/lightningOutGenerator.ts"],"names":[],"mappings":"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"}
@@ -45,4 +45,14 @@ export declare const messages: {
45
45
  MissingUIEmbeddingTitle: string;
46
46
  InvalidUIEmbeddingTitleChar: string;
47
47
  UIEmbeddingBundle: string;
48
+ InvalidLightningOutDefinition: string;
49
+ InvalidLightningOutName: string;
50
+ InvalidLightningOutNameLength: string;
51
+ InvalidLightningOutRuntime: string;
52
+ InvalidLightningOutHostDomain: string;
53
+ InvalidLightningOutHostDomainCollision: string;
54
+ MissingLightningOutInputs: string;
55
+ InvalidLightningOutContactEmail: string;
56
+ InvalidLightningOutCallbackUrl: string;
57
+ InvalidLightningOutComponent: string;
48
58
  };
package/lib/i18n/i18n.js CHANGED
@@ -54,5 +54,15 @@ exports.messages = {
54
54
  MissingUIEmbeddingTitle: 'The --title flag is required and must be a non-empty string used as the iframe accessible name.',
55
55
  InvalidUIEmbeddingTitleChar: 'The --title flag must not contain a double-quote character; it would break the generated HTML attribute.',
56
56
  UIEmbeddingBundle: 'A Lightning Web Component that wraps the <lightning-ui-embedding> base component.',
57
+ InvalidLightningOutDefinition: 'The Lightning Out definition is invalid:%s',
58
+ InvalidLightningOutName: 'Invalid %s "%s": must be an ASCII developer name (start with a letter; letters, digits, single underscores; no trailing underscore).',
59
+ InvalidLightningOutNameLength: '%s exceeds the maximum length of %s characters (got %s).',
60
+ InvalidLightningOutRuntime: 'runtime must be one of: %s.',
61
+ InvalidLightningOutHostDomain: 'Invalid host domain "%s": %s.',
62
+ InvalidLightningOutHostDomainCollision: 'Host domains "%s" and "%s" both map to the CorsWhitelistOrigin file name "%s"; use distinct domains.',
63
+ MissingLightningOutInputs: 'Missing required input(s): %s.',
64
+ InvalidLightningOutContactEmail: 'Invalid contact email "%s".',
65
+ InvalidLightningOutCallbackUrl: 'Invalid callback URL "%s": must be an absolute https URL.',
66
+ InvalidLightningOutComponent: 'Invalid component reference "%s": expected LWC "namespace-my-component" or "namespace/myComponent", or Aura "namespace:Name".',
57
67
  };
58
68
  //# sourceMappingURL=i18n.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/i18n/i18n.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH;;;;;;;;;GASG;AACU,QAAA,QAAQ,GAAG;IACtB,qBAAqB,EAAE,iDAAiD;IACxE,4BAA4B,EAAE,gCAAgC;IAC9D,sBAAsB,EAAE,oCAAoC;IAC5D,qBAAqB,EAAE,+CAA+C;IACtE,eAAe,EAAE,uDAAuD;IAExE,uBAAuB,EACrB,sEAAsE;IACxE,cAAc,EAAE,2DAA2D;IAC3E,aAAa,EAAE,0DAA0D;IACzE,mBAAmB,EACjB,yDAAyD;IAC3D,oBAAoB,EAClB,0DAA0D;IAC5D,iCAAiC,EAC/B,kDAAkD;IAEpD,6BAA6B,EAC3B,iDAAiD;IACnD,qCAAqC,EACnC,gEAAgE;IAClE,iCAAiC,EAC/B,iEAAiE;IACnE,6BAA6B,EAAE,6CAA6C;IAC5E,0CAA0C,EACxC,oEAAoE;IACtE,kBAAkB,EAAE,gCAAgC;IACpD,wBAAwB,EAAE,8BAA8B;IACxD,oBAAoB,EAAE,0BAA0B;IAChD,wBAAwB,EAAE,8BAA8B;IACxD,aAAa,EAAE,kBAAkB;IACjC,SAAS,EAAE,qBAAqB;IAChC,oBAAoB,EAAE,kCAAkC;IACxD,wBAAwB,EACtB,0DAA0D;IAC5D,4BAA4B,EAC1B,yGAAyG;IAC3G,sBAAsB,EACpB,mHAAmH;IACrH,wBAAwB,EACtB,kGAAkG;IACpG,kCAAkC,EAChC,qGAAqG;IAEvG,2BAA2B,EAAE,+CAA+C;IAE5E,kBAAkB,EAChB,qKAAqK;IAEvK,wBAAwB,EACtB,sIAAsI;IACxI,yBAAyB,EACvB,mHAAmH;IACrH,8BAA8B,EAC5B,mDAAmD;IACrD,uBAAuB,EACrB,iGAAiG;IACnG,2BAA2B,EACzB,0GAA0G;IAC5G,iBAAiB,EACf,mFAAmF;CACtF,CAAC"}
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/i18n/i18n.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH;;;;;;;;;GASG;AACU,QAAA,QAAQ,GAAG;IACtB,qBAAqB,EAAE,iDAAiD;IACxE,4BAA4B,EAAE,gCAAgC;IAC9D,sBAAsB,EAAE,oCAAoC;IAC5D,qBAAqB,EAAE,+CAA+C;IACtE,eAAe,EAAE,uDAAuD;IAExE,uBAAuB,EACrB,sEAAsE;IACxE,cAAc,EAAE,2DAA2D;IAC3E,aAAa,EAAE,0DAA0D;IACzE,mBAAmB,EACjB,yDAAyD;IAC3D,oBAAoB,EAClB,0DAA0D;IAC5D,iCAAiC,EAC/B,kDAAkD;IAEpD,6BAA6B,EAC3B,iDAAiD;IACnD,qCAAqC,EACnC,gEAAgE;IAClE,iCAAiC,EAC/B,iEAAiE;IACnE,6BAA6B,EAAE,6CAA6C;IAC5E,0CAA0C,EACxC,oEAAoE;IACtE,kBAAkB,EAAE,gCAAgC;IACpD,wBAAwB,EAAE,8BAA8B;IACxD,oBAAoB,EAAE,0BAA0B;IAChD,wBAAwB,EAAE,8BAA8B;IACxD,aAAa,EAAE,kBAAkB;IACjC,SAAS,EAAE,qBAAqB;IAChC,oBAAoB,EAAE,kCAAkC;IACxD,wBAAwB,EACtB,0DAA0D;IAC5D,4BAA4B,EAC1B,yGAAyG;IAC3G,sBAAsB,EACpB,mHAAmH;IACrH,wBAAwB,EACtB,kGAAkG;IACpG,kCAAkC,EAChC,qGAAqG;IAEvG,2BAA2B,EAAE,+CAA+C;IAE5E,kBAAkB,EAChB,qKAAqK;IAEvK,wBAAwB,EACtB,sIAAsI;IACxI,yBAAyB,EACvB,mHAAmH;IACrH,8BAA8B,EAC5B,mDAAmD;IACrD,uBAAuB,EACrB,iGAAiG;IACnG,2BAA2B,EACzB,0GAA0G;IAC5G,iBAAiB,EACf,mFAAmF;IAErF,6BAA6B,EAC3B,4CAA4C;IAC9C,uBAAuB,EACrB,sIAAsI;IACxI,6BAA6B,EAAE,0DAA0D;IACzF,0BAA0B,EAAE,6BAA6B;IACzD,6BAA6B,EAAE,+BAA+B;IAC9D,sCAAsC,EACpC,sGAAsG;IACxG,yBAAyB,EAAE,gCAAgC;IAC3D,+BAA+B,EAAE,6BAA6B;IAC9D,8BAA8B,EAAE,2DAA2D;IAC3F,4BAA4B,EAC1B,+HAA+H;CAClI,CAAC"}
package/lib/index.d.ts CHANGED
@@ -4,3 +4,4 @@ export { validateCustomTemplate } from './generators/baseGenerator';
4
4
  export * from './utils/types';
5
5
  export * from './utils/createUtil';
6
6
  export * from './utils/uiEmbedding';
7
+ export * from './utils/lightningOut';
package/lib/index.js CHANGED
@@ -15,4 +15,5 @@ Object.defineProperty(exports, "validateCustomTemplate", { enumerable: true, get
15
15
  tslib_1.__exportStar(require("./utils/types"), exports);
16
16
  tslib_1.__exportStar(require("./utils/createUtil"), exports);
17
17
  tslib_1.__exportStar(require("./utils/uiEmbedding"), exports);
18
+ tslib_1.__exportStar(require("./utils/lightningOut"), exports);
18
19
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,+DAA4D;AACnD,gGADA,iCAAe,OACA;AACxB,4DAAoE;AAA3D,uHAAA,sBAAsB,OAAA;AAC/B,wDAA8B;AAC9B,6DAAmC;AACnC,8DAAoC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,+DAA4D;AACnD,gGADA,iCAAe,OACA;AACxB,4DAAoE;AAA3D,uHAAA,sBAAsB,OAAA;AAC/B,wDAA8B;AAC9B,6DAAmC;AACnC,8DAAoC;AACpC,+DAAqC"}
@@ -0,0 +1,4 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <CorsWhitelistOrigin xmlns="http://soap.sforce.com/2006/04/metadata">
3
+ <urlPattern><%= origin %></urlPattern>
4
+ </CorsWhitelistOrigin>
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <ExternalClientApplication xmlns="http://soap.sforce.com/2006/04/metadata">
3
+ <contactEmail><%= contactEmail %></contactEmail>
4
+ <description>Lightning Out 2.0 application <%= name %> (OAuth Auth-Code + PKCE, no client secret).</description>
5
+ <distributionState><%= distributionState %></distributionState>
6
+ <label><%= name %></label>
7
+ </ExternalClientApplication>
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <ExtlClntAppGlobalOauthSettings xmlns="http://soap.sforce.com/2006/04/metadata">
3
+ <callbackUrl><%= callbackUrl %></callbackUrl>
4
+ <externalClientApplication><%= name %></externalClientApplication>
5
+ <isConsumerSecretOptional>true</isConsumerSecretOptional>
6
+ <label><%= name %> Global OAuth</label>
7
+ </ExtlClntAppGlobalOauthSettings>
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <ExtlClntAppOauthSettings xmlns="http://soap.sforce.com/2006/04/metadata">
3
+ <externalClientApplication><%= name %></externalClientApplication>
4
+ <label><%= name %> OAuth Settings</label>
5
+ <commaSeparatedOauthScopes><%= oauthScopes %></commaSeparatedOauthScopes>
6
+ </ExtlClntAppOauthSettings>
@@ -0,0 +1,20 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <LightningOutApp xmlns="http://soap.sforce.com/2006/04/metadata">
3
+ <applicationName><%= name %></applicationName>
4
+ <isEnabled>true</isEnabled>
5
+ <runtime><%= runtime %></runtime>
6
+ <components>
7
+ <% components.forEach(function (c) { -%>
8
+ <component>
9
+ <componentName><%= c %></componentName>
10
+ </component>
11
+ <% }); -%>
12
+ </components>
13
+ <allowedDomains>
14
+ <% hostDomains.forEach(function (d) { -%>
15
+ <domain>
16
+ <hostDomain><%= d %></hostDomain>
17
+ </domain>
18
+ <% }); -%>
19
+ </allowedDomains>
20
+ </LightningOutApp>
@@ -0,0 +1,4 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <MyDomainSettings xmlns="http://soap.sforce.com/2006/04/metadata">
3
+ <isFirstPartyCookieUseRequired>false</isFirstPartyCookieUseRequired>
4
+ </MyDomainSettings>
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <SecuritySettings xmlns="http://soap.sforce.com/2006/04/metadata">
3
+ <sessionSettings>
4
+ <enableOauthCorsPolicy>true</enableOauthCorsPolicy>
5
+ </sessionSettings>
6
+ </SecuritySettings>