create-plasmic-app 0.0.46 → 0.0.47

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/lib.js CHANGED
@@ -102,6 +102,7 @@ function create(args) {
102
102
  const installResult = yield cpaStrategy.installDeps({
103
103
  scheme,
104
104
  projectPath: resolvedProjectPath,
105
+ useTypescript,
105
106
  });
106
107
  if (!installResult) {
107
108
  throw new Error("Failed to install the Plasmic dependency");
@@ -61,15 +61,26 @@ const gatsbyStrategy = {
61
61
  const createCommand = `npx -p create-gatsby create-gatsby ${useTypescript ? "-ts" : ""} -y ${dir}`;
62
62
  yield cmd_utils_1.spawnOrFail(`${createCommand}`, parent);
63
63
  }),
64
- installDeps: ({ projectPath, scheme }) => __awaiter(void 0, void 0, void 0, function* () {
64
+ installDeps: ({ projectPath, scheme, useTypescript }) => __awaiter(void 0, void 0, void 0, function* () {
65
65
  if (scheme === "loader") {
66
- return ((yield npm_utils_1.installUpgrade("@plasmicapp/loader-gatsby", {
66
+ const installedLoader = yield npm_utils_1.installUpgrade("@plasmicapp/loader-gatsby", {
67
67
  workingDir: projectPath,
68
- })) &&
69
- (yield npm_utils_1.installUpgrade("react-helmet", { workingDir: projectPath })) &&
70
- (yield npm_utils_1.installUpgrade("gatsby-plugin-react-helmet", {
68
+ });
69
+ const installedHelmet = yield npm_utils_1.installUpgrade("react-helmet", {
70
+ workingDir: projectPath,
71
+ });
72
+ const installedHelmetTypes = !useTypescript ||
73
+ (yield npm_utils_1.installUpgrade("@types/react-helmet", {
71
74
  workingDir: projectPath,
72
- })));
75
+ dev: true,
76
+ }));
77
+ const installedHelmetPlugin = yield npm_utils_1.installUpgrade("gatsby-plugin-react-helmet", {
78
+ workingDir: projectPath,
79
+ });
80
+ return (installedLoader &&
81
+ installedHelmet &&
82
+ installedHelmetPlugin &&
83
+ installedHelmetTypes);
73
84
  }
74
85
  else {
75
86
  return yield common_1.installCodegenDeps({ projectPath });
@@ -86,7 +97,9 @@ const gatsbyStrategy = {
86
97
  input: fs_1.createReadStream(gatsbyConfigFile),
87
98
  crlfDelay: Infinity,
88
99
  });
89
- let result = "";
100
+ // Typescript doesn't accept require.resolve
101
+ // https://www.gatsbyjs.com/docs/how-to/custom-configuration/typescript/#requireresolve
102
+ let result = useTypescript ? `import path from "path";\n` : "";
90
103
  const pluginConfig = gatsby_1.GATSBY_PLUGIN_CONFIG(projectId, lang_utils_1.ensure(projectApiToken), useTypescript);
91
104
  try {
92
105
  for (var rl_1 = __asyncValues(rl), rl_1_1; rl_1_1 = yield rl_1.next(), !rl_1_1.done;) {
@@ -25,6 +25,7 @@ interface BuildArgs {
25
25
  interface InstallArgs {
26
26
  scheme: CodeScheme;
27
27
  projectPath: string;
28
+ useTypescript: boolean;
28
29
  }
29
30
  export interface CPAStrategy {
30
31
  create: (args: CreateArgs) => Promise<void>;
@@ -43,10 +43,10 @@ const PlasmicGatsbyPage = ({ data }${file_utils_1.ifTs(ts, ": PlasmicGatsbyPageP
43
43
  prefetchedData={plasmicComponents}
44
44
  >
45
45
  <Helmet>
46
- {pageMetadata.title && <title>{pageMetadata.title}</title>}
47
- {pageMetadata.title && <meta property="og:title" content={pageMetadata.title} /> }
48
- {pageMetadata.description && <meta property="og:description" content={pageMetadata.description} />}
49
- {pageMetadata.openGraphImageUrl && <meta property="og:image" content={pageMetadata.openGraphImageUrl} />}
46
+ {pageMetadata?.title && <title>{pageMetadata.title}</title>}
47
+ {pageMetadata?.title && <meta property="og:title" content={pageMetadata.title} /> }
48
+ {pageMetadata?.description && <meta property="og:description" content={pageMetadata.description} />}
49
+ {pageMetadata?.openGraphImageUrl && <meta property="og:image" content={pageMetadata.openGraphImageUrl} />}
50
50
  </Helmet>
51
51
  <PlasmicComponent component={pageMeta.displayName} />
52
52
  </PlasmicRootProvider>
@@ -74,7 +74,7 @@ const GATSBY_PLUGIN_CONFIG = (projectId, projectApiToken, useTypescript) => `
74
74
  },
75
75
  ], // An array of project ids.
76
76
  preview: false,
77
- defaultPlasmicPage: require.resolve("./src/templates/defaultPlasmicPage.${useTypescript ? "tsx" : "jsx"}"),
77
+ defaultPlasmicPage: ${useTypescript ? "path" : "require"}.resolve("./src/templates/defaultPlasmicPage.${useTypescript ? "tsx" : "jsx"}"),
78
78
  },
79
79
  },
80
80
  {
@@ -61,7 +61,7 @@ export default function PlasmicLoaderPage(props${file_utils_1.ifTs(ts, `: {
61
61
  prefetchedData={plasmicData}
62
62
  prefetchedQueryData={queryCache}
63
63
  pageParams={pageMeta.params}
64
- pageQuery={router.query${file_utils_1.ifTs(ts, " as Record<string, string>")}}
64
+ pageQuery={router.query}
65
65
  >
66
66
  <PlasmicComponent component={pageMeta.displayName} />
67
67
  </PlasmicRootProvider>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-plasmic-app",
3
- "version": "0.0.46",
3
+ "version": "0.0.47",
4
4
  "description": "Create Plasmic-powered React apps",
5
5
  "main": "./dist/lib.js",
6
6
  "types": "./dist/lib.d.ts",
package/src/lib.ts CHANGED
@@ -97,6 +97,7 @@ export async function create(args: CreatePlasmicAppArgs): Promise<void> {
97
97
  const installResult = await cpaStrategy.installDeps({
98
98
  scheme,
99
99
  projectPath: resolvedProjectPath,
100
+ useTypescript,
100
101
  });
101
102
 
102
103
  if (!installResult) {
@@ -36,16 +36,34 @@ const gatsbyStrategy: CPAStrategy = {
36
36
  } -y ${dir}`;
37
37
  await spawnOrFail(`${createCommand}`, parent);
38
38
  },
39
- installDeps: async ({ projectPath, scheme }) => {
39
+ installDeps: async ({ projectPath, scheme, useTypescript }) => {
40
40
  if (scheme === "loader") {
41
- return (
42
- (await installUpgrade("@plasmicapp/loader-gatsby", {
41
+ const installedLoader = await installUpgrade(
42
+ "@plasmicapp/loader-gatsby",
43
+ {
44
+ workingDir: projectPath,
45
+ }
46
+ );
47
+ const installedHelmet = await installUpgrade("react-helmet", {
48
+ workingDir: projectPath,
49
+ });
50
+ const installedHelmetTypes =
51
+ !useTypescript ||
52
+ (await installUpgrade("@types/react-helmet", {
43
53
  workingDir: projectPath,
44
- })) &&
45
- (await installUpgrade("react-helmet", { workingDir: projectPath })) &&
46
- (await installUpgrade("gatsby-plugin-react-helmet", {
54
+ dev: true,
55
+ }));
56
+ const installedHelmetPlugin = await installUpgrade(
57
+ "gatsby-plugin-react-helmet",
58
+ {
47
59
  workingDir: projectPath,
48
- }))
60
+ }
61
+ );
62
+ return (
63
+ installedLoader &&
64
+ installedHelmet &&
65
+ installedHelmetPlugin &&
66
+ installedHelmetTypes
49
67
  );
50
68
  } else {
51
69
  return await installCodegenDeps({ projectPath });
@@ -71,7 +89,9 @@ const gatsbyStrategy: CPAStrategy = {
71
89
  input: createReadStream(gatsbyConfigFile),
72
90
  crlfDelay: Infinity,
73
91
  });
74
- let result = "";
92
+ // Typescript doesn't accept require.resolve
93
+ // https://www.gatsbyjs.com/docs/how-to/custom-configuration/typescript/#requireresolve
94
+ let result = useTypescript ? `import path from "path";\n` : "";
75
95
  const pluginConfig = GATSBY_PLUGIN_CONFIG(
76
96
  projectId,
77
97
  ensure(projectApiToken),
@@ -30,6 +30,7 @@ interface BuildArgs {
30
30
  interface InstallArgs {
31
31
  scheme: CodeScheme;
32
32
  projectPath: string;
33
+ useTypescript: boolean;
33
34
  }
34
35
 
35
36
  export interface CPAStrategy {
@@ -48,10 +48,10 @@ const PlasmicGatsbyPage = ({ data }${ifTs(ts, ": PlasmicGatsbyPageProps")}) => {
48
48
  prefetchedData={plasmicComponents}
49
49
  >
50
50
  <Helmet>
51
- {pageMetadata.title && <title>{pageMetadata.title}</title>}
52
- {pageMetadata.title && <meta property="og:title" content={pageMetadata.title} /> }
53
- {pageMetadata.description && <meta property="og:description" content={pageMetadata.description} />}
54
- {pageMetadata.openGraphImageUrl && <meta property="og:image" content={pageMetadata.openGraphImageUrl} />}
51
+ {pageMetadata?.title && <title>{pageMetadata.title}</title>}
52
+ {pageMetadata?.title && <meta property="og:title" content={pageMetadata.title} /> }
53
+ {pageMetadata?.description && <meta property="og:description" content={pageMetadata.description} />}
54
+ {pageMetadata?.openGraphImageUrl && <meta property="og:image" content={pageMetadata.openGraphImageUrl} />}
55
55
  </Helmet>
56
56
  <PlasmicComponent component={pageMeta.displayName} />
57
57
  </PlasmicRootProvider>
@@ -84,9 +84,11 @@ export const GATSBY_PLUGIN_CONFIG = (
84
84
  },
85
85
  ], // An array of project ids.
86
86
  preview: false,
87
- defaultPlasmicPage: require.resolve("./src/templates/defaultPlasmicPage.${
88
- useTypescript ? "tsx" : "jsx"
89
- }"),
87
+ defaultPlasmicPage: ${
88
+ useTypescript ? "path" : "require"
89
+ }.resolve("./src/templates/defaultPlasmicPage.${
90
+ useTypescript ? "tsx" : "jsx"
91
+ }"),
90
92
  },
91
93
  },
92
94
  {
@@ -67,7 +67,7 @@ export default function PlasmicLoaderPage(props${ifTs(
67
67
  prefetchedData={plasmicData}
68
68
  prefetchedQueryData={queryCache}
69
69
  pageParams={pageMeta.params}
70
- pageQuery={router.query${ifTs(ts, " as Record<string, string>")}}
70
+ pageQuery={router.query}
71
71
  >
72
72
  <PlasmicComponent component={pageMeta.displayName} />
73
73
  </PlasmicRootProvider>