@knapsack/renderer-webpack-base 4.69.13 → 4.69.14--canary.4821.246c5f4.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/CHANGELOG.md +0 -19
- package/dist/client/index.d.mts +1 -1
- package/dist/client/index.d.mts.map +1 -1
- package/dist/client/renderer-webpack-client.d.mts +12 -70
- package/dist/client/renderer-webpack-client.d.mts.map +1 -1
- package/dist/client/renderer-webpack-client.mjs +89 -111
- package/dist/client/renderer-webpack-client.mjs.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/renderer-webpack-base.d.ts +23 -58
- package/dist/renderer-webpack-base.d.ts.map +1 -1
- package/dist/renderer-webpack-base.js +150 -224
- package/dist/renderer-webpack-base.js.map +1 -1
- package/dist/types.d.ts +41 -23
- package/dist/types.d.ts.map +1 -1
- package/dist/utils.d.ts +3 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +8 -0
- package/dist/utils.js.map +1 -0
- package/package.json +11 -11
package/CHANGELOG.md
CHANGED
|
@@ -1,22 +1,3 @@
|
|
|
1
|
-
# v4.69.13 (Thu Sep 26 2024)
|
|
2
|
-
|
|
3
|
-
#### 🐛 Bug Fix
|
|
4
|
-
|
|
5
|
-
- update design src user flow to be async [#4739](https://github.com/knapsack-labs/app-monorepo/pull/4739) ([@mabry1985](https://github.com/mabry1985))
|
|
6
|
-
- Merge branch 'latest' into feature/ksp-5512-create-add-design-src-file-async-mutation ([@mabry1985](https://github.com/mabry1985))
|
|
7
|
-
|
|
8
|
-
#### 🏠 Internal
|
|
9
|
-
|
|
10
|
-
- improve Renderer clients [#4770](https://github.com/knapsack-labs/app-monorepo/pull/4770) ([@EvanLovely](https://github.com/EvanLovely))
|
|
11
|
-
- refactors user flow for updating design src files [#4769](https://github.com/knapsack-labs/app-monorepo/pull/4769) ([@mabry1985](https://github.com/mabry1985))
|
|
12
|
-
|
|
13
|
-
#### Authors: 2
|
|
14
|
-
|
|
15
|
-
- Evan Lovely ([@EvanLovely](https://github.com/EvanLovely))
|
|
16
|
-
- Josh Mabry ([@mabry1985](https://github.com/mabry1985))
|
|
17
|
-
|
|
18
|
-
---
|
|
19
|
-
|
|
20
1
|
# v4.69.12 (Thu Sep 26 2024)
|
|
21
2
|
|
|
22
3
|
#### 🐛 Bug Fix
|
package/dist/client/index.d.mts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../src/client/index.mts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../src/client/index.mts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -1,78 +1,20 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
type ImportedModules<ExportedComponentType> = {
|
|
4
|
-
[id: string]: () => Promise<EsModuleObject<ExportedComponentType>>;
|
|
5
|
-
};
|
|
6
|
-
/** The result of `import`-ing a module */
|
|
7
|
-
type EsModuleObject<ExportedType = unknown> = {
|
|
8
|
-
default?: ExportedType;
|
|
9
|
-
[key: string]: ExportedType;
|
|
10
|
-
};
|
|
11
|
-
type GetKsJsImportParam = {
|
|
12
|
-
type: 'pattern-template';
|
|
13
|
-
patternId: string;
|
|
14
|
-
templateId: string;
|
|
15
|
-
} | {
|
|
16
|
-
type: 'pattern-template-demo';
|
|
17
|
-
patternId: string;
|
|
18
|
-
templateId: string;
|
|
19
|
-
demoId: string;
|
|
20
|
-
} | {
|
|
21
|
-
type: 'extra';
|
|
22
|
-
name: string;
|
|
23
|
-
};
|
|
24
|
-
type GetKsJsImportPatternParam = {
|
|
25
|
-
patternId: string;
|
|
26
|
-
templateId: string;
|
|
27
|
-
demoId?: string;
|
|
28
|
-
};
|
|
29
|
-
/**
|
|
30
|
-
* This is `window.knapsack` inside the renderer client: the iframe container for renderer components
|
|
31
|
-
*/
|
|
32
|
-
export interface KsRendererClientGlobal<ExportedComponentType = unknown, RendererMetaType extends RendererMetaBase = RendererMetaBase, RendererMethods extends Record<string, unknown> = Record<string, unknown>> {
|
|
33
|
-
typeName: 'KsRendererClientGlobal';
|
|
34
|
-
importedModules: ImportedModules<ExportedComponentType>;
|
|
35
|
-
rendererMeta: RendererMetaType;
|
|
36
|
-
rendererMethods: RendererMethods;
|
|
37
|
-
meta: KsRendererClientMeta;
|
|
38
|
-
getImport: (opt: GetKsJsImportParam) => Promise<{
|
|
39
|
-
name: string;
|
|
40
|
-
/** Most likely a component */
|
|
41
|
-
value: ExportedComponentType;
|
|
42
|
-
}>;
|
|
43
|
-
getImports: (imports: GetKsJsImportParam[]) => Promise<{
|
|
44
|
-
[importName: string]: ExportedComponentType;
|
|
45
|
-
}>;
|
|
46
|
-
getPatternImport: (opt: GetKsJsImportPatternParam) => Promise<{
|
|
47
|
-
name: string;
|
|
48
|
-
/** Most likely a component */
|
|
49
|
-
value: ExportedComponentType;
|
|
50
|
-
}>;
|
|
51
|
-
getExtraImport: (opt: {
|
|
52
|
-
name: string;
|
|
53
|
-
}) => Promise<{
|
|
54
|
-
name: string;
|
|
55
|
-
/** Most likely a component */
|
|
56
|
-
value: ExportedComponentType;
|
|
57
|
-
}>;
|
|
58
|
-
getAllImports: (opt: {
|
|
59
|
-
patterns: GetKsJsImportPatternParam[];
|
|
60
|
-
extras?: {
|
|
61
|
-
name: string;
|
|
62
|
-
}[];
|
|
63
|
-
}) => Promise<{
|
|
64
|
-
[importName: string]: ExportedComponentType;
|
|
65
|
-
}>;
|
|
66
|
-
}
|
|
67
|
-
export declare function getKsRendererClientGlobal<ExportedComponentType, RendererMetaType extends RendererMetaBase,
|
|
1
|
+
import type { KsJsImportInfo, RendererMetaBase, KsRendererClientUtils } from '../types.js';
|
|
2
|
+
export declare function getKsRendererClientUtils<ExportedComponentType, RendererMetaType extends RendererMetaBase,
|
|
68
3
|
/**
|
|
69
4
|
* Any extra properties or methods placed on the window.knapsack object by the renderer in a `<script>` tag
|
|
70
5
|
*/
|
|
71
|
-
RendererMethods extends Record<string, unknown>>({ rendererMetaScriptTagId }: {
|
|
6
|
+
RendererMethods extends Record<string, unknown>>({ rendererMetaScriptTagId, assertImport, assertExtraImport, }: {
|
|
72
7
|
rendererMetaScriptTagId: string;
|
|
73
|
-
|
|
8
|
+
assertImport?: (opt: {
|
|
9
|
+
imp: unknown;
|
|
10
|
+
importInfo: KsJsImportInfo;
|
|
11
|
+
}) => void;
|
|
12
|
+
assertExtraImport?: (opt: {
|
|
13
|
+
imp: unknown;
|
|
14
|
+
importInfo: KsJsImportInfo;
|
|
15
|
+
}) => void;
|
|
16
|
+
}): KsRendererClientUtils<ExportedComponentType, RendererMetaType, RendererMethods>;
|
|
74
17
|
export declare function showUiToastMsg({ msg }: {
|
|
75
18
|
msg: string;
|
|
76
19
|
}): void;
|
|
77
|
-
export {};
|
|
78
20
|
//# sourceMappingURL=renderer-webpack-client.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer-webpack-client.d.mts","sourceRoot":"","sources":["../../src/client/renderer-webpack-client.mts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"renderer-webpack-client.d.mts","sourceRoot":"","sources":["../../src/client/renderer-webpack-client.mts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EAGtB,MAAM,aAAa,CAAC;AAmFrB,wBAAgB,wBAAwB,CACtC,qBAAqB,EACrB,gBAAgB,SAAS,gBAAgB;AACzC;;GAEG;AACH,eAAe,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/C,EACA,uBAAuB,EACvB,YAAY,EACZ,iBAAiB,GAClB,EAAE;IACD,uBAAuB,EAAE,MAAM,CAAC;IAChC,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE;QAAE,GAAG,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,cAAc,CAAA;KAAE,KAAK,IAAI,CAAC;IAC3E,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE;QACxB,GAAG,EAAE,OAAO,CAAC;QACb,UAAU,EAAE,cAAc,CAAC;KAC5B,KAAK,IAAI,CAAC;CACZ,GAsFoB,qBAAqB,CACtC,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,CAChB,CACF;AAED,wBAAgB,cAAc,CAAC,EAAE,GAAG,EAAE,EAAE;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,QAYtD"}
|
|
@@ -4,19 +4,57 @@ const isBrowser = typeof window !== 'undefined' && typeof window.document !== 'u
|
|
|
4
4
|
if (!isBrowser) {
|
|
5
5
|
throw new Error('Cannot get KsRendererClientGlobal in a non-browser environment');
|
|
6
6
|
}
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
7
|
+
function addImportToAllImports({ importInfo, mod, allImports, assertImport, }) {
|
|
8
|
+
const addImport = ({ component, name, }) => {
|
|
9
|
+
if (allImports[name]) {
|
|
10
|
+
throw new Error(`Duplicate import name: "${name}"`);
|
|
11
|
+
}
|
|
12
|
+
if (typeof component !== 'function') {
|
|
13
|
+
throw new Error(`Import "${name}" is not a component, its "typeof" should be "function" but is "${typeof component}"`);
|
|
14
|
+
}
|
|
15
|
+
assertImport?.({ imp: component, importInfo });
|
|
16
|
+
// should this get checked for correct type?
|
|
17
|
+
allImports[name] = component;
|
|
18
|
+
};
|
|
19
|
+
switch (importInfo.type) {
|
|
20
|
+
case 'named': {
|
|
21
|
+
const { name } = importInfo;
|
|
22
|
+
const component = mod[name];
|
|
23
|
+
if (!component) {
|
|
24
|
+
throw new Error(`No named export, ${name}, found for "${importInfo.path}"`);
|
|
25
|
+
}
|
|
26
|
+
addImport({ component, name });
|
|
27
|
+
break;
|
|
28
|
+
}
|
|
29
|
+
case 'default': {
|
|
30
|
+
const { name } = importInfo;
|
|
31
|
+
if (mod.default) {
|
|
32
|
+
addImport({ component: mod.default, name });
|
|
33
|
+
}
|
|
34
|
+
else if (typeof mod === 'function') {
|
|
35
|
+
addImport({ component: mod, name });
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
throw new Error(`No default export found for "${importInfo.path}"`);
|
|
39
|
+
}
|
|
40
|
+
break;
|
|
41
|
+
}
|
|
42
|
+
case 'renamed': {
|
|
43
|
+
const { name, originalName } = importInfo;
|
|
44
|
+
const item = mod[originalName];
|
|
45
|
+
if (!item) {
|
|
46
|
+
throw new Error(`No renamed export, ${originalName}, found for "${importInfo.path}"`);
|
|
47
|
+
}
|
|
48
|
+
addImport({ component: item, name });
|
|
49
|
+
break;
|
|
50
|
+
}
|
|
51
|
+
default: {
|
|
52
|
+
const _exhaustiveCheck = importInfo;
|
|
53
|
+
throw new Error(`Unknown import type: "${JSON.stringify(importInfo)}"`);
|
|
54
|
+
}
|
|
17
55
|
}
|
|
18
|
-
}
|
|
19
|
-
export function
|
|
56
|
+
}
|
|
57
|
+
export function getKsRendererClientUtils({ rendererMetaScriptTagId, assertImport, assertExtraImport, }) {
|
|
20
58
|
if (!isObject(window?.knapsack)) {
|
|
21
59
|
throw new Error(`Could not find "window.knapsack"`);
|
|
22
60
|
}
|
|
@@ -26,118 +64,58 @@ export function getKsRendererClientGlobal({ rendererMetaScriptTagId }) {
|
|
|
26
64
|
}
|
|
27
65
|
const meta = getJsonFromScriptTag(ksRendererClientMetaId);
|
|
28
66
|
const rendererMeta = getJsonFromScriptTag(rendererMetaScriptTagId);
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
if (
|
|
35
|
-
|
|
36
|
-
return (opt.patternId === imp.patternId &&
|
|
37
|
-
opt.templateId === imp.templateId &&
|
|
38
|
-
opt.demoId === imp.demoId);
|
|
67
|
+
const { neededImportsByPath, extraImports } = rendererMeta;
|
|
68
|
+
const getNeededImports = async () => {
|
|
69
|
+
const neededImports = {};
|
|
70
|
+
await Promise.all(Object.entries(neededImportsByPath).map(async ([path, importInfos]) => {
|
|
71
|
+
const getModule = importedModules[path];
|
|
72
|
+
if (!getModule) {
|
|
73
|
+
throw new Error(`No "${path}" module found for "${path}"`);
|
|
39
74
|
}
|
|
40
|
-
|
|
41
|
-
|
|
75
|
+
const mod = await getModule();
|
|
76
|
+
if (!mod) {
|
|
77
|
+
throw new Error(`No module contents found for "${path}"`);
|
|
42
78
|
}
|
|
43
|
-
|
|
44
|
-
|
|
79
|
+
importInfos.forEach((importInfo) => {
|
|
80
|
+
addImportToAllImports({
|
|
81
|
+
importInfo,
|
|
82
|
+
mod,
|
|
83
|
+
allImports: neededImports,
|
|
84
|
+
assertImport,
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
}));
|
|
88
|
+
return neededImports;
|
|
45
89
|
};
|
|
46
|
-
const
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
const getModule = importedModules[importInfo.path];
|
|
53
|
-
if (!getModule) {
|
|
54
|
-
throw new Error(`No "${importInfo.path}" module found for ${JSON.stringify(opt)}`);
|
|
55
|
-
}
|
|
56
|
-
const mod = await getModule();
|
|
57
|
-
if (!mod) {
|
|
58
|
-
throw new Error(`No module found for ${JSON.stringify(opt)}`);
|
|
59
|
-
}
|
|
60
|
-
switch (importInfo.type) {
|
|
61
|
-
case 'all':
|
|
62
|
-
return {
|
|
63
|
-
value: mod,
|
|
64
|
-
name: importInfo.name,
|
|
65
|
-
};
|
|
66
|
-
case 'default': {
|
|
67
|
-
const item = mod.default;
|
|
68
|
-
if (!item) {
|
|
69
|
-
throw new Error(`No default export found for ${JSON.stringify(opt)}`);
|
|
70
|
-
}
|
|
71
|
-
return {
|
|
72
|
-
value: item,
|
|
73
|
-
name: importInfo.name,
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
case 'named': {
|
|
77
|
-
const { name } = importInfo;
|
|
78
|
-
const item = mod[name];
|
|
79
|
-
if (!item) {
|
|
80
|
-
throw new Error(`No named export, ${name}, found for ${JSON.stringify(opt)}`);
|
|
81
|
-
}
|
|
82
|
-
return {
|
|
83
|
-
value: item,
|
|
84
|
-
name,
|
|
85
|
-
};
|
|
90
|
+
const getExtraImports = async () => {
|
|
91
|
+
const theExtraImports = {};
|
|
92
|
+
await Promise.all(Object.entries(extraImports).map(async ([name, importInfo]) => {
|
|
93
|
+
const getModule = importedModules[importInfo.path];
|
|
94
|
+
if (!getModule) {
|
|
95
|
+
throw new Error(`No "${importInfo.path}" module found for "${name}"`);
|
|
86
96
|
}
|
|
87
|
-
|
|
88
|
-
|
|
97
|
+
const mod = await getModule();
|
|
98
|
+
if (!mod) {
|
|
99
|
+
throw new Error(`No module found for "${importInfo.path}"`);
|
|
89
100
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
type: 'pattern-template-demo',
|
|
96
|
-
patternId,
|
|
97
|
-
templateId,
|
|
98
|
-
demoId,
|
|
101
|
+
addImportToAllImports({
|
|
102
|
+
importInfo,
|
|
103
|
+
mod,
|
|
104
|
+
allImports: theExtraImports,
|
|
105
|
+
assertImport: assertExtraImport,
|
|
99
106
|
});
|
|
100
|
-
}
|
|
101
|
-
return
|
|
102
|
-
type: 'pattern-template',
|
|
103
|
-
patternId,
|
|
104
|
-
templateId,
|
|
105
|
-
});
|
|
107
|
+
}));
|
|
108
|
+
return theExtraImports;
|
|
106
109
|
};
|
|
107
|
-
const getExtraImport = async ({ name, }) => getImport({ type: 'extra', name });
|
|
108
110
|
const knapsack = {
|
|
109
|
-
typeName: 'KsRendererClientGlobal',
|
|
110
111
|
importedModules,
|
|
111
112
|
meta,
|
|
112
113
|
rendererMeta,
|
|
113
114
|
rendererMethods,
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
getExtraImport,
|
|
117
|
-
getAllImports: async ({ patterns, extras = [] }) => {
|
|
118
|
-
const imported = await Promise.all([
|
|
119
|
-
...patterns.map(getPatternImport),
|
|
120
|
-
...extras.map(getExtraImport),
|
|
121
|
-
]);
|
|
122
|
-
return imported.reduce((cur, { name, value }) => {
|
|
123
|
-
if (cur[name]) {
|
|
124
|
-
throw new Error(`Duplicate import name: ${name}`);
|
|
125
|
-
}
|
|
126
|
-
cur[name] = value;
|
|
127
|
-
return cur;
|
|
128
|
-
}, {});
|
|
129
|
-
},
|
|
130
|
-
getImports: async (importsToGet) => {
|
|
131
|
-
const imported = await Promise.all(importsToGet.map(getImport));
|
|
132
|
-
return imported.reduce((cur, { name, value }) => {
|
|
133
|
-
if (cur[name]) {
|
|
134
|
-
throw new Error(`Duplicate import name: ${name}`);
|
|
135
|
-
}
|
|
136
|
-
cur[name] = value;
|
|
137
|
-
return cur;
|
|
138
|
-
}, {});
|
|
139
|
-
},
|
|
115
|
+
getNeededImports,
|
|
116
|
+
getExtraImports,
|
|
140
117
|
};
|
|
118
|
+
window.knapsack = knapsack;
|
|
141
119
|
return knapsack;
|
|
142
120
|
}
|
|
143
121
|
export function showUiToastMsg({ msg }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer-webpack-client.mjs","sourceRoot":"","sources":["../../src/client/renderer-webpack-client.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAER,sBAAsB,GAEvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"renderer-webpack-client.mjs","sourceRoot":"","sources":["../../src/client/renderer-webpack-client.mts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -16,4 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./renderer-webpack-base"), exports);
|
|
18
18
|
__exportStar(require("./types"), exports);
|
|
19
|
+
__exportStar(require("./utils"), exports);
|
|
19
20
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC;AACxC,0CAAwB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC;AACxC,0CAAwB;AACxB,0CAAwB"}
|
|
@@ -1,49 +1,28 @@
|
|
|
1
1
|
import { RendererId } from '@knapsack/types';
|
|
2
|
-
import { RendererBase, type Renderable } from '@knapsack/app/renderers';
|
|
2
|
+
import { CliLifecycle, RendererBase, type Renderable } from '@knapsack/app/renderers';
|
|
3
3
|
import { Configuration as WebpackConfig } from 'webpack';
|
|
4
|
-
import {
|
|
5
|
-
export declare abstract class RendererWebpackBase extends RendererBase {
|
|
4
|
+
import { KsJsImportInfo, KsJsImportMap } from './types';
|
|
5
|
+
export declare abstract class RendererWebpackBase extends RendererBase implements CliLifecycle {
|
|
6
6
|
#private;
|
|
7
7
|
private webpack;
|
|
8
8
|
private webpackConfig;
|
|
9
9
|
private webpackCompiler;
|
|
10
10
|
private extraScripts;
|
|
11
11
|
private entryFilePath;
|
|
12
|
-
constructor({ id,
|
|
12
|
+
constructor({ id, language, webpackConfig, extraScripts, codeSrcs, }: {
|
|
13
13
|
id: RendererId;
|
|
14
|
-
extension: string;
|
|
15
14
|
language: string;
|
|
16
15
|
webpackConfig?: WebpackConfig;
|
|
17
16
|
extraScripts?: string[];
|
|
17
|
+
codeSrcs: string[];
|
|
18
18
|
});
|
|
19
|
-
|
|
20
|
-
hydrate(
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* @see {getJsImports} for all
|
|
28
|
-
* @see {getJsImportExtra} for type "extra"
|
|
29
|
-
*/
|
|
30
|
-
getJsImport({ patternId, templateId, demoId, }: {
|
|
31
|
-
patternId: string;
|
|
32
|
-
templateId: string;
|
|
33
|
-
demoId?: string;
|
|
34
|
-
}): Exclude<KsJsImport, {
|
|
35
|
-
type: 'extra';
|
|
36
|
-
}>;
|
|
37
|
-
/**
|
|
38
|
-
* @see {getJsImports} for all
|
|
39
|
-
* @see {getJsImport} for types "pattern-template" and "pattern-template-demo"
|
|
40
|
-
*/
|
|
41
|
-
getJsImportExtra({ name, }: {
|
|
42
|
-
name: string;
|
|
43
|
-
}): Extract<KsJsImport, {
|
|
44
|
-
type: 'extra';
|
|
45
|
-
}>;
|
|
46
|
-
private writeKsEntryFile;
|
|
19
|
+
setConfig(opt: Parameters<RendererBase['setConfig']>[0]): ReturnType<RendererBase['setConfig']>;
|
|
20
|
+
hydrate(_opt: Parameters<CliLifecycle['hydrate']>[0]): ReturnType<CliLifecycle['hydrate']>;
|
|
21
|
+
addUniqueValueToImportMap({ importMap, path: originalPath, alias, }: {
|
|
22
|
+
importMap: KsJsImportMap;
|
|
23
|
+
path: string;
|
|
24
|
+
alias: string;
|
|
25
|
+
}): Promise<KsJsImportInfo>;
|
|
47
26
|
get webpackVersion(): {
|
|
48
27
|
majorVersion: number;
|
|
49
28
|
isWebpack4: boolean;
|
|
@@ -51,43 +30,29 @@ export declare abstract class RendererWebpackBase extends RendererBase {
|
|
|
51
30
|
version: string;
|
|
52
31
|
};
|
|
53
32
|
createWebpackConfig(): WebpackConfig;
|
|
54
|
-
private prepWebpack;
|
|
55
33
|
/**
|
|
56
34
|
* Every asset file path needed in `<script>` tags
|
|
57
35
|
*/
|
|
58
36
|
getWebpackAssetPaths(): string[];
|
|
59
|
-
createHtmlTagsForAssetPaths({ assets, scriptTagsAreAsync, }: {
|
|
37
|
+
static createHtmlTagsForAssetPaths({ assets, scriptTagsAreAsync, }: {
|
|
60
38
|
assets: string[];
|
|
61
39
|
scriptTagsAreAsync: boolean;
|
|
62
40
|
}): string;
|
|
63
|
-
build
|
|
41
|
+
build: CliLifecycle['build'];
|
|
64
42
|
/** Starts a webpack watch, returns an object with a `.close()` method for shutting down */
|
|
65
43
|
private startWebpackWatch;
|
|
66
|
-
watch(
|
|
44
|
+
watch(): Promise<void>;
|
|
67
45
|
onChange(): void;
|
|
68
|
-
abstract getUsageAndImports(_opt: Parameters<Renderable['render']>[0]
|
|
46
|
+
abstract getUsageAndImports(_opt: Parameters<Renderable['render']>[0] & {
|
|
47
|
+
importMap: KsJsImportMap;
|
|
48
|
+
}): Promise<{
|
|
69
49
|
usage: string;
|
|
70
|
-
|
|
50
|
+
importMap: KsJsImportMap;
|
|
71
51
|
}>;
|
|
72
52
|
getUsage: Renderable['getUsage'];
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
}):
|
|
76
|
-
imports: KsJsImport[];
|
|
77
|
-
nameCollisions: string[];
|
|
78
|
-
/** all declared vars */
|
|
79
|
-
declaredVars: string[];
|
|
80
|
-
isDeclaredVarsUnique: boolean;
|
|
81
|
-
};
|
|
82
|
-
createJsImportCodeBlock({ imports: nonUniqueImports, }: {
|
|
83
|
-
imports: KsJsImport[];
|
|
84
|
-
}): {
|
|
85
|
-
code: string;
|
|
86
|
-
/** all declared vars */
|
|
87
|
-
declaredVars: string[];
|
|
88
|
-
isDeclaredVarsUnique: boolean;
|
|
89
|
-
nameCollisions: string[];
|
|
90
|
-
};
|
|
53
|
+
static createJsImportCodeBlock({ importMap, }: {
|
|
54
|
+
importMap: KsJsImportMap;
|
|
55
|
+
}): string;
|
|
91
56
|
}
|
|
92
|
-
export type Renderer = Renderable & RendererWebpackBase;
|
|
57
|
+
export type Renderer = Renderable & RendererWebpackBase & CliLifecycle;
|
|
93
58
|
//# sourceMappingURL=renderer-webpack-base.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer-webpack-base.d.ts","sourceRoot":"","sources":["../src/renderer-webpack-base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,
|
|
1
|
+
{"version":3,"file":"renderer-webpack-base.d.ts","sourceRoot":"","sources":["../src/renderer-webpack-base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,KAAK,UAAU,EAChB,MAAM,yBAAyB,CAAC;AAUjC,OAAgB,EAEd,aAAa,IAAI,aAAa,EAG/B,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AA8BxD,8BAAsB,mBACpB,SAAQ,YACR,YAAW,YAAY;;IAEvB,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,eAAe,CAAkB;IAGzC,OAAO,CAAC,YAAY,CAAW;IAC/B,OAAO,CAAC,aAAa,CAAS;gBAIlB,EACV,EAAE,EACF,QAAQ,EACR,aAAkB,EAClB,YAAiB,EACjB,QAAQ,GACT,EAAE;QACD,EAAE,EAAE,UAAU,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB;IAoBQ,SAAS,CAChB,GAAG,EAAE,UAAU,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,GAC5C,UAAU,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IAYlC,OAAO,CACX,IAAI,EAAE,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAC3C,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAchC,yBAAyB,CAAC,EAC9B,SAAS,EACT,IAAI,EAAE,YAAY,EAClB,KAAK,GACN,EAAE;QACD,SAAS,EAAE,aAAa,CAAC;QACzB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC,cAAc,CAAC;IAqF3B,IAAI,cAAc;;;;;MAQjB;IAED,mBAAmB,IAAI,aAAa;IA0GpC;;OAEG;IACH,oBAAoB,IAAI,MAAM,EAAE;IAIhC,MAAM,CAAC,2BAA2B,CAAC,EACjC,MAAM,EACN,kBAAkB,GACnB,EAAE;QACD,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,kBAAkB,EAAE,OAAO,CAAC;KAC7B,GAAG,MAAM;IAmBV,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,CAyC1B;IAEF,2FAA2F;IAC3F,OAAO,CAAC,iBAAiB;IA6CV,KAAK;IASX,QAAQ;IAIjB,QAAQ,CAAC,kBAAkB,CACzB,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;QAC1C,SAAS,EAAE,aAAa,CAAC;KAC1B,GACA,OAAO,CAAC;QACT,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,aAAa,CAAC;KAC1B,CAAC;IAEF,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,CAM9B;IAEF,MAAM,CAAC,uBAAuB,CAAC,EAC7B,SAAS,GACV,EAAE;QACD,SAAS,EAAE,aAAa,CAAC;KAC1B,GAAG,MAAM;CA+DX;AAED,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,mBAAmB,GAAG,YAAY,CAAC"}
|