@knapsack/renderer-react 4.69.13--canary.4821.022ca72.0 → 4.69.13
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 +19 -0
- package/dist/client/init.js +43 -33
- package/dist/client/init.js.map +1 -1
- package/dist/client/init.mjs +48 -33
- package/dist/client/init.mjs.map +1 -1
- package/dist/demo-wrapper.d.mts +2 -1
- package/dist/demo-wrapper.d.ts +2 -1
- package/dist/index.d.mts +7 -5
- package/dist/index.d.ts +7 -5
- package/dist/index.js +157 -137
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +160 -142
- package/dist/index.mjs.map +1 -1
- package/dist/types-D2eCZXsg.d.mts +13 -0
- package/dist/types-D2eCZXsg.d.ts +13 -0
- package/package.json +13 -13
- package/dist/types-CivTHEEo.d.mts +0 -10
- package/dist/types-CivTHEEo.d.ts +0 -10
package/dist/index.mjs
CHANGED
|
@@ -17,8 +17,7 @@ var __dirname = /* @__PURE__ */ getDirname();
|
|
|
17
17
|
// src/renderer-react.ts
|
|
18
18
|
import sleep from "sleep-promise";
|
|
19
19
|
import {
|
|
20
|
-
RendererWebpackBase
|
|
21
|
-
convertImportMapToNeededImportsByPath
|
|
20
|
+
RendererWebpackBase
|
|
22
21
|
} from "@knapsack/renderer-webpack-base";
|
|
23
22
|
import { pascalCase, isFirstLetterCapital } from "@knapsack/utils";
|
|
24
23
|
import { knapsackEvents, log as log2 } from "@knapsack/app";
|
|
@@ -34,10 +33,9 @@ import {
|
|
|
34
33
|
findUpPkgJson,
|
|
35
34
|
getJsExportNames as getJsExportNames2,
|
|
36
35
|
readFile as readFile2,
|
|
37
|
-
formatCode as formatCode2
|
|
38
|
-
assertFileExists
|
|
36
|
+
formatCode as formatCode2
|
|
39
37
|
} from "@knapsack/file-utils";
|
|
40
|
-
import { join, relative, parse
|
|
38
|
+
import { join, relative, parse } from "path";
|
|
41
39
|
|
|
42
40
|
// src/utils.ts
|
|
43
41
|
import { log } from "@knapsack/app";
|
|
@@ -735,7 +733,6 @@ var rendererMetaScriptTagId = "ks-react-meta";
|
|
|
735
733
|
// src/renderer-react.ts
|
|
736
734
|
var { pkg } = findUpPkgJson(__dirname);
|
|
737
735
|
log2.setupUpdateNotifier({ ...pkg, name: pkg.name, version: pkg.version });
|
|
738
|
-
var errorCatcherPath = join(__dirname, "./error-catcher.mjs");
|
|
739
736
|
var KnapsackReactRenderer = class _KnapsackReactRenderer extends RendererWebpackBase {
|
|
740
737
|
static {
|
|
741
738
|
__name(this, "KnapsackReactRenderer");
|
|
@@ -755,29 +752,22 @@ var KnapsackReactRenderer = class _KnapsackReactRenderer extends RendererWebpack
|
|
|
755
752
|
} = {}) {
|
|
756
753
|
super({
|
|
757
754
|
id,
|
|
755
|
+
extension: ".jsx",
|
|
758
756
|
language: "jsx",
|
|
759
757
|
webpackConfig,
|
|
760
758
|
extraScripts: [
|
|
761
759
|
// this is the code in `./client/init.mts`
|
|
762
760
|
"@knapsack/renderer-react/client"
|
|
763
|
-
]
|
|
764
|
-
codeSrcs: [demoWrapperPath, errorCatcherPath]
|
|
761
|
+
]
|
|
765
762
|
});
|
|
766
763
|
this.language = "jsx";
|
|
767
764
|
this.assets = [];
|
|
768
|
-
this.demoWrapperPath =
|
|
769
|
-
path: demoWrapperPath,
|
|
770
|
-
resolveFromDir: this.userConfigDir
|
|
771
|
-
}).absolutePath;
|
|
772
|
-
assertFileExists(
|
|
773
|
-
this.demoWrapperPath,
|
|
774
|
-
`Could not find demo wrapper at: "${this.demoWrapperPath}"
|
|
775
|
-
Please adjust setting in "knapsack.config.js" or pass a different path when creating the React Renderer.`
|
|
776
|
-
);
|
|
765
|
+
this.demoWrapperPath = demoWrapperPath;
|
|
777
766
|
this.disableReactStrictMode = disableReactStrictMode;
|
|
778
767
|
this.creators = [createReactPattern];
|
|
779
768
|
}
|
|
780
|
-
init = /* @__PURE__ */ __name(async () => {
|
|
769
|
+
init = /* @__PURE__ */ __name(async (opt) => {
|
|
770
|
+
await super.init(opt);
|
|
781
771
|
this.assets = await copyReactAssets(this.outputDir, this.publicPath);
|
|
782
772
|
if (!await fileExists(this.demoWrapperPath)) {
|
|
783
773
|
throw new Error(
|
|
@@ -823,37 +813,76 @@ Please adjust setting in "knapsack.config.js" or pass a different path when crea
|
|
|
823
813
|
};
|
|
824
814
|
return config;
|
|
825
815
|
}, "createWebpackConfig");
|
|
816
|
+
getJsImports = /* @__PURE__ */ __name(() => {
|
|
817
|
+
const imports = super.getJsImports();
|
|
818
|
+
imports.push(
|
|
819
|
+
{
|
|
820
|
+
type: "extra",
|
|
821
|
+
importInfo: {
|
|
822
|
+
type: "default",
|
|
823
|
+
path: this.demoWrapperPath,
|
|
824
|
+
name: "DemoWrapper"
|
|
825
|
+
}
|
|
826
|
+
},
|
|
827
|
+
{
|
|
828
|
+
type: "extra",
|
|
829
|
+
importInfo: {
|
|
830
|
+
type: "default",
|
|
831
|
+
path: join(__dirname, "./error-catcher.mjs"),
|
|
832
|
+
name: "ErrorCatcher"
|
|
833
|
+
}
|
|
834
|
+
}
|
|
835
|
+
);
|
|
836
|
+
return imports;
|
|
837
|
+
}, "getJsImports");
|
|
826
838
|
async prepClientRenderResults({
|
|
827
839
|
usage,
|
|
828
840
|
demoApp,
|
|
829
|
-
|
|
830
|
-
renderOptions: {
|
|
841
|
+
imports: xImports,
|
|
842
|
+
renderOptions: { pattern, template, demo }
|
|
831
843
|
}) {
|
|
844
|
+
const extraImports = this.getJsImports().filter(
|
|
845
|
+
(imp) => imp.type === "extra"
|
|
846
|
+
);
|
|
847
|
+
const { imports, isDeclaredVarsUnique, nameCollisions } = this.makeKsJsImportsUnique({ imports: [...xImports, ...extraImports] });
|
|
848
|
+
if (!isDeclaredVarsUnique) {
|
|
849
|
+
log2.error(`${nameCollisions.join(", ")} are declared multiple times`, {
|
|
850
|
+
imports
|
|
851
|
+
});
|
|
852
|
+
}
|
|
832
853
|
const meta = {
|
|
833
854
|
demo,
|
|
834
855
|
disableReactStrictMode: this.disableReactStrictMode,
|
|
835
|
-
|
|
836
|
-
extraImports: {
|
|
837
|
-
DemoWrapper: {
|
|
838
|
-
type: "default",
|
|
839
|
-
path: this.demoWrapperPath,
|
|
840
|
-
name: "DemoWrapper"
|
|
841
|
-
},
|
|
842
|
-
ErrorCatcher: {
|
|
843
|
-
type: "default",
|
|
844
|
-
path: errorCatcherPath,
|
|
845
|
-
name: "ErrorCatcher"
|
|
846
|
-
}
|
|
847
|
-
},
|
|
856
|
+
neededImports: imports,
|
|
848
857
|
demoWrapperProps: {
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
demo
|
|
858
|
+
pattern,
|
|
859
|
+
template,
|
|
860
|
+
demo,
|
|
861
|
+
patternsUsed: imports.flatMap((imp) => {
|
|
862
|
+
if (imp.type === "pattern-template") {
|
|
863
|
+
return [
|
|
864
|
+
{
|
|
865
|
+
patternId: imp.patternId,
|
|
866
|
+
templateId: imp.templateId
|
|
867
|
+
}
|
|
868
|
+
];
|
|
869
|
+
}
|
|
870
|
+
if (imp.type === "pattern-template-demo") {
|
|
871
|
+
return [
|
|
872
|
+
{
|
|
873
|
+
patternId: imp.patternId,
|
|
874
|
+
templateId: imp.templateId,
|
|
875
|
+
demoId: imp.demoId
|
|
876
|
+
}
|
|
877
|
+
];
|
|
878
|
+
}
|
|
879
|
+
return [];
|
|
880
|
+
})
|
|
852
881
|
}
|
|
853
882
|
};
|
|
854
883
|
let code = `
|
|
855
884
|
window.knapsack = window.knapsack || {};
|
|
856
|
-
window.knapsack.getDemoApp = ({ ${
|
|
885
|
+
window.knapsack.getDemoApp = ({ ${imports.map((i) => i.importInfo.name).join(", ")} }) => {
|
|
857
886
|
${demoApp}
|
|
858
887
|
return ${demoAppName}
|
|
859
888
|
}
|
|
@@ -875,7 +904,7 @@ Please adjust setting in "knapsack.config.js" or pass a different path when crea
|
|
|
875
904
|
<script type="application/javascript">${code}</script>
|
|
876
905
|
<div id="render-root" class="knapsack-pattern-direct-parent" data-dev-note="Knapsack React Template Wrapper"></div>
|
|
877
906
|
${this.assets.map((asset) => `<script src="${asset}"></script>`).join("\n")}
|
|
878
|
-
${
|
|
907
|
+
${this.createHtmlTagsForAssetPaths({
|
|
879
908
|
assets: this.getWebpackAssetPaths(),
|
|
880
909
|
// we need the scripts to finish adding methods to the global knapsack object synchronously before the client-side code runs that is in the <script> tag below
|
|
881
910
|
scriptTagsAreAsync: false
|
|
@@ -919,12 +948,9 @@ Please adjust setting in "knapsack.config.js" or pass a different path when crea
|
|
|
919
948
|
await sleep(waitTime);
|
|
920
949
|
}
|
|
921
950
|
}
|
|
922
|
-
const [templateFileContents, { usage,
|
|
951
|
+
const [templateFileContents, { usage, imports }] = await Promise.all([
|
|
923
952
|
readFile2(templateDemoPath),
|
|
924
|
-
this.getUsageAndImports(
|
|
925
|
-
...opt,
|
|
926
|
-
importMap: /* @__PURE__ */ new Map()
|
|
927
|
-
})
|
|
953
|
+
this.getUsageAndImports(opt)
|
|
928
954
|
]);
|
|
929
955
|
const demoApp = await getDemoAppUsage({
|
|
930
956
|
children: usage
|
|
@@ -932,18 +958,15 @@ Please adjust setting in "knapsack.config.js" or pass a different path when crea
|
|
|
932
958
|
const results = await this.prepClientRenderResults({
|
|
933
959
|
usage: templateFileContents,
|
|
934
960
|
demoApp,
|
|
935
|
-
|
|
936
|
-
|
|
961
|
+
imports,
|
|
962
|
+
renderOptions: opt
|
|
937
963
|
});
|
|
938
964
|
return results;
|
|
939
965
|
}
|
|
940
966
|
if (opt.demo?.type === "data") {
|
|
941
|
-
const { usage,
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
});
|
|
945
|
-
const importCode = RendererWebpackBase.createJsImportCodeBlock({
|
|
946
|
-
importMap
|
|
967
|
+
const { usage, imports } = await this.getUsageAndImports(opt);
|
|
968
|
+
const { code: importCode } = this.createJsImportCodeBlock({
|
|
969
|
+
imports
|
|
947
970
|
});
|
|
948
971
|
const [demoAppUsage, demoApp] = await Promise.all([
|
|
949
972
|
getDemoAppUsage({
|
|
@@ -958,40 +981,32 @@ Please adjust setting in "knapsack.config.js" or pass a different path when crea
|
|
|
958
981
|
return this.prepClientRenderResults({
|
|
959
982
|
demoApp,
|
|
960
983
|
usage: demoAppUsage,
|
|
961
|
-
|
|
962
|
-
|
|
984
|
+
imports,
|
|
985
|
+
renderOptions: opt
|
|
963
986
|
});
|
|
964
987
|
}
|
|
965
988
|
}, "render");
|
|
966
989
|
getUsageAndImports = /* @__PURE__ */ __name(async ({
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
importMap
|
|
990
|
+
pattern,
|
|
991
|
+
template,
|
|
992
|
+
patternManifest,
|
|
993
|
+
demo
|
|
972
994
|
}) => {
|
|
973
|
-
if (
|
|
974
|
-
throw new Error(
|
|
975
|
-
`No demo provided while rendering ${patternId} ${templateId}`
|
|
976
|
-
);
|
|
977
|
-
}
|
|
978
|
-
const pattern = state.patterns[patternId];
|
|
979
|
-
if (!pattern) {
|
|
980
|
-
throw new Error(`Could not find pattern: ${patternId}`);
|
|
981
|
-
}
|
|
982
|
-
if (demo.type === "data") {
|
|
983
|
-
const template = pattern.templates.find((t) => t.id === templateId);
|
|
984
|
-
if (!template) {
|
|
985
|
-
throw new Error(`Could not find template: ${templateId}`);
|
|
986
|
-
}
|
|
995
|
+
if (demo?.type && demo.type === "data") {
|
|
987
996
|
const {
|
|
988
997
|
data: { props, slots, slotsOptionsComputed }
|
|
989
998
|
} = demo;
|
|
990
|
-
const
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
alias: template.alias || "default"
|
|
999
|
+
const importInfo = this.getJsImport({
|
|
1000
|
+
patternId: pattern.id,
|
|
1001
|
+
templateId: template.id
|
|
994
1002
|
});
|
|
1003
|
+
if (!importInfo) {
|
|
1004
|
+
throw new Error(
|
|
1005
|
+
`Could not find import for pattern-template: ${pattern.id}-${template.id}`
|
|
1006
|
+
);
|
|
1007
|
+
}
|
|
1008
|
+
const { type, name: templateName } = importInfo.importInfo;
|
|
1009
|
+
const importInfos = [importInfo];
|
|
995
1010
|
const children = [];
|
|
996
1011
|
const extraProps = [];
|
|
997
1012
|
if (slots) {
|
|
@@ -1001,7 +1016,6 @@ Please adjust setting in "knapsack.config.js" or pass a different path when crea
|
|
|
1001
1016
|
const slotItems = slots[slotName];
|
|
1002
1017
|
const slotItemsUsages = await Promise.all(
|
|
1003
1018
|
slotItems.filter((slotItem) => {
|
|
1004
|
-
if (!slotItem) return false;
|
|
1005
1019
|
if (slotItem.type !== "text") {
|
|
1006
1020
|
if (!slotItem.patternId) return false;
|
|
1007
1021
|
if (!slotItem.templateId) return false;
|
|
@@ -1017,39 +1031,31 @@ Please adjust setting in "knapsack.config.js" or pass a different path when crea
|
|
|
1017
1031
|
}
|
|
1018
1032
|
return slotItem.text;
|
|
1019
1033
|
}
|
|
1034
|
+
const slotPattern = patternManifest.getPattern(
|
|
1035
|
+
slotItem.patternId
|
|
1036
|
+
);
|
|
1037
|
+
const slotTemplate = slotPattern.templates.find(
|
|
1038
|
+
(t) => t.id === slotItem.templateId
|
|
1039
|
+
);
|
|
1020
1040
|
if (slotItem.type === "template-reference") {
|
|
1021
|
-
const
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
);
|
|
1026
|
-
}
|
|
1027
|
-
const templateRefImport = await this.addUniqueValueToImportMap({
|
|
1028
|
-
importMap,
|
|
1029
|
-
path: slottedTemplate.path,
|
|
1030
|
-
alias: slottedTemplate.alias || "default"
|
|
1041
|
+
const { usage: usage2, imports } = await this.getUsageAndImports({
|
|
1042
|
+
pattern: slotPattern,
|
|
1043
|
+
template: slotTemplate,
|
|
1044
|
+
patternManifest
|
|
1031
1045
|
});
|
|
1032
|
-
|
|
1046
|
+
importInfos.push(...imports);
|
|
1047
|
+
return usage2;
|
|
1033
1048
|
}
|
|
1034
1049
|
if (slotItem.type === "template-demo") {
|
|
1035
|
-
const
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
)}`
|
|
1041
|
-
);
|
|
1042
|
-
}
|
|
1043
|
-
const { usage: usage2 } = await this.getUsageAndImports({
|
|
1044
|
-
patternId: thisDemo.patternId,
|
|
1045
|
-
templateId: thisDemo.templateId,
|
|
1046
|
-
demo: thisDemo,
|
|
1047
|
-
state,
|
|
1048
|
-
importMap
|
|
1050
|
+
const { usage: usage2, imports } = await this.getUsageAndImports({
|
|
1051
|
+
pattern: slotPattern,
|
|
1052
|
+
template: slotTemplate,
|
|
1053
|
+
demo: slotItem.demo || this.patterns.demosById[slotItem.demoId],
|
|
1054
|
+
patternManifest
|
|
1049
1055
|
});
|
|
1056
|
+
importInfos.push(...imports);
|
|
1050
1057
|
return usage2;
|
|
1051
1058
|
}
|
|
1052
|
-
const _exhaustiveCheck2 = slotItem;
|
|
1053
1059
|
throw new Error(
|
|
1054
1060
|
`Unknown slot item: ${JSON.stringify(slotItem)}`
|
|
1055
1061
|
);
|
|
@@ -1108,25 +1114,50 @@ Please adjust setting in "knapsack.config.js" or pass a different path when crea
|
|
|
1108
1114
|
});
|
|
1109
1115
|
return {
|
|
1110
1116
|
usage,
|
|
1111
|
-
|
|
1117
|
+
imports: importInfos
|
|
1112
1118
|
};
|
|
1113
1119
|
}
|
|
1114
|
-
if (demo.type === "template") {
|
|
1115
|
-
const
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
alias: templateInfo.alias || "default"
|
|
1120
|
+
if (demo?.type && demo.type === "template") {
|
|
1121
|
+
const importInfo = this.getJsImport({
|
|
1122
|
+
patternId: pattern.id,
|
|
1123
|
+
templateId: template.id,
|
|
1124
|
+
demoId: demo.id
|
|
1120
1125
|
});
|
|
1126
|
+
if (!importInfo) {
|
|
1127
|
+
throw new Error(
|
|
1128
|
+
`Could not find import for pattern-template-demo: ${pattern.id}-${template.id}-${demo.id}`
|
|
1129
|
+
);
|
|
1130
|
+
}
|
|
1131
|
+
const { type, name: templateName } = importInfo.importInfo;
|
|
1121
1132
|
const usage = await getUsage({ templateName });
|
|
1122
1133
|
return {
|
|
1123
1134
|
usage,
|
|
1124
|
-
|
|
1135
|
+
imports: [importInfo]
|
|
1136
|
+
};
|
|
1137
|
+
}
|
|
1138
|
+
if (!demo) {
|
|
1139
|
+
const importInfo = this.getJsImport({
|
|
1140
|
+
patternId: pattern.id,
|
|
1141
|
+
templateId: template.id
|
|
1142
|
+
});
|
|
1143
|
+
if (!importInfo) {
|
|
1144
|
+
throw new Error(
|
|
1145
|
+
`Could not find import for pattern-template: ${pattern.id}-${template.id}`
|
|
1146
|
+
);
|
|
1147
|
+
}
|
|
1148
|
+
const { type, name: templateName } = importInfo.importInfo;
|
|
1149
|
+
return {
|
|
1150
|
+
/**
|
|
1151
|
+
* i.e. Given a React Component, `Button`, normally this would be `<Button>` with a demo, but since there is none this will just be a reference to it: `Button`
|
|
1152
|
+
* @see {KsSlotInfo['isTemplateReference']}
|
|
1153
|
+
* @see {SlottedTemplate}
|
|
1154
|
+
*/
|
|
1155
|
+
usage: templateName,
|
|
1156
|
+
imports: [importInfo]
|
|
1125
1157
|
};
|
|
1126
1158
|
}
|
|
1127
|
-
const _exhaustiveCheck = demo;
|
|
1128
1159
|
throw new Error(
|
|
1129
|
-
`Unhandled demo type for ${
|
|
1160
|
+
`Unhandled demo type for ${pattern.id}-${template.id}: ${JSON.stringify(
|
|
1130
1161
|
demo
|
|
1131
1162
|
)}`
|
|
1132
1163
|
);
|
|
@@ -1149,8 +1180,8 @@ Please adjust setting in "knapsack.config.js" or pass a different path when crea
|
|
|
1149
1180
|
}
|
|
1150
1181
|
return spec;
|
|
1151
1182
|
}, "inferSpec");
|
|
1152
|
-
watch = /* @__PURE__ */ __name(async () => {
|
|
1153
|
-
super.watch();
|
|
1183
|
+
watch = /* @__PURE__ */ __name(async (opt) => {
|
|
1184
|
+
super.watch(opt);
|
|
1154
1185
|
knapsackEvents.onPatternTemplateChanged(() => {
|
|
1155
1186
|
clearInferSpecCache();
|
|
1156
1187
|
});
|
|
@@ -1228,34 +1259,21 @@ Please adjust setting in "knapsack.config.js" or pass a different path when crea
|
|
|
1228
1259
|
];
|
|
1229
1260
|
}, "alterTemplateMetaFiles");
|
|
1230
1261
|
getTemplateSuggestions = /* @__PURE__ */ __name(async ({
|
|
1231
|
-
newPath
|
|
1232
|
-
state
|
|
1262
|
+
newPath
|
|
1233
1263
|
}) => {
|
|
1234
|
-
const
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
);
|
|
1246
|
-
return acc;
|
|
1247
|
-
},
|
|
1248
|
-
[]
|
|
1249
|
-
);
|
|
1250
|
-
const codeSrcs = new Set(this.getCodeSrcs());
|
|
1251
|
-
codeSrcs.delete(this.demoWrapperPath);
|
|
1252
|
-
codeSrcs.delete(errorCatcherPath);
|
|
1264
|
+
const { data: dataDir } = this.patterns.userConfig;
|
|
1265
|
+
const { allTemplateDemos, allTemplates } = this.getMyTemplates();
|
|
1266
|
+
const usedSuggestions = [
|
|
1267
|
+
...allTemplateDemos,
|
|
1268
|
+
...allTemplates
|
|
1269
|
+
].map(({ path: path3, alias }) => {
|
|
1270
|
+
return {
|
|
1271
|
+
path: path3,
|
|
1272
|
+
alias: alias || "default"
|
|
1273
|
+
};
|
|
1274
|
+
});
|
|
1253
1275
|
const allPaths = [
|
|
1254
|
-
.../* @__PURE__ */ new Set([
|
|
1255
|
-
newPath,
|
|
1256
|
-
...Object.keys(this.pkgPathAliases || {}),
|
|
1257
|
-
...codeSrcs
|
|
1258
|
-
])
|
|
1276
|
+
.../* @__PURE__ */ new Set([newPath, ...usedSuggestions.map(({ path: path3 }) => path3)])
|
|
1259
1277
|
];
|
|
1260
1278
|
const allSuggestions = await Promise.all(
|
|
1261
1279
|
allPaths.map(async (path3) => {
|
|
@@ -1263,7 +1281,7 @@ Please adjust setting in "knapsack.config.js" or pass a different path when crea
|
|
|
1263
1281
|
try {
|
|
1264
1282
|
const { exports, errorMsg } = await getJsExportNames2({
|
|
1265
1283
|
path: path3,
|
|
1266
|
-
resolveFromDir:
|
|
1284
|
+
resolveFromDir: dataDir,
|
|
1267
1285
|
pkgPathAliases: this.pkgPathAliases
|
|
1268
1286
|
});
|
|
1269
1287
|
if (errorMsg) {
|