@plasmicapp/cli 0.1.353 → 0.1.355
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/__tests__/envdetect.spec.d.ts +1 -0
- package/dist/actions/sync-components.d.ts +1 -1
- package/dist/actions/sync-data-tokens.d.ts +1 -1
- package/dist/actions/sync-global-contexts.d.ts +1 -1
- package/dist/actions/sync-global-variants.d.ts +1 -1
- package/dist/actions/sync-icons.d.ts +1 -1
- package/dist/actions/sync-project-module.d.ts +1 -1
- package/dist/actions/sync-splits-provider.d.ts +1 -1
- package/dist/actions/sync-style-tokens-provider.d.ts +1 -1
- package/dist/index.js +248 -262
- package/dist/lib.js +248 -262
- package/dist/utils/code-utils.d.ts +6 -6
- package/dist/utils/config-utils.d.ts +3 -3
- package/dist/utils/envdetect.d.ts +1 -1
- package/package.json +2 -2
- package/src/__tests__/code-utils-spec.ts +6 -9
- package/src/__tests__/envdetect.spec.ts +115 -0
- package/src/actions/export.ts +110 -120
- package/src/actions/fix-imports.ts +5 -3
- package/src/actions/init.ts +5 -4
- package/src/actions/sync-components.ts +2 -6
- package/src/actions/sync-data-tokens.ts +5 -10
- package/src/actions/sync-global-contexts.ts +5 -6
- package/src/actions/sync-global-variants.ts +3 -8
- package/src/actions/sync-icons.ts +3 -4
- package/src/actions/sync-project-module.ts +5 -6
- package/src/actions/sync-splits-provider.ts +5 -6
- package/src/actions/sync-style-tokens-provider.ts +5 -7
- package/src/actions/sync.ts +15 -30
- package/src/migrations/migrations.ts +3 -3
- package/src/utils/code-utils.ts +15 -44
- package/src/utils/config-utils.ts +7 -21
- package/src/utils/envdetect.ts +42 -5
- package/src/utils/rsc-config.ts +29 -12
|
@@ -22,8 +22,7 @@ export async function syncGlobalContexts(
|
|
|
22
22
|
projectMeta: ProjectMetaBundle,
|
|
23
23
|
projectConfig: ProjectConfig,
|
|
24
24
|
projectLock: ProjectLock,
|
|
25
|
-
checksums: ChecksumBundle
|
|
26
|
-
baseDir: string
|
|
25
|
+
checksums: ChecksumBundle
|
|
27
26
|
) {
|
|
28
27
|
const resourcePath = getGlobalContextsResourcePath(context, projectConfig);
|
|
29
28
|
if (checksums.globalContextsChecksum && projectMeta.globalContextBundle) {
|
|
@@ -34,8 +33,7 @@ export async function syncGlobalContexts(
|
|
|
34
33
|
}
|
|
35
34
|
if (context.config.code.lang === "js") {
|
|
36
35
|
projectMeta.globalContextBundle.contextModule = await formatScript(
|
|
37
|
-
tsxToJsx(projectMeta.globalContextBundle.contextModule)
|
|
38
|
-
baseDir
|
|
36
|
+
tsxToJsx(projectMeta.globalContextBundle.contextModule)
|
|
39
37
|
);
|
|
40
38
|
}
|
|
41
39
|
await writeFileContent(
|
|
@@ -46,8 +44,9 @@ export async function syncGlobalContexts(
|
|
|
46
44
|
);
|
|
47
45
|
projectConfig.globalContextsFilePath = resourcePath;
|
|
48
46
|
const fl = projectLock.fileLocks.find(
|
|
49
|
-
(
|
|
50
|
-
|
|
47
|
+
(fileLock) =>
|
|
48
|
+
fileLock.assetId === projectConfig.projectId &&
|
|
49
|
+
fileLock.type === "globalContexts"
|
|
51
50
|
);
|
|
52
51
|
if (fl) {
|
|
53
52
|
fl.checksum = checksums.globalContextsChecksum;
|
|
@@ -3,7 +3,7 @@ import path from "upath";
|
|
|
3
3
|
import { ChecksumBundle, GlobalVariantBundle, ProjectMetaBundle } from "../api";
|
|
4
4
|
import { logger } from "../deps";
|
|
5
5
|
import { formatAsLocal } from "../utils/code-utils";
|
|
6
|
-
import {
|
|
6
|
+
import { PlasmicContext, getOrAddProjectLock } from "../utils/config-utils";
|
|
7
7
|
import {
|
|
8
8
|
defaultResourcePath,
|
|
9
9
|
deleteFile,
|
|
@@ -18,8 +18,7 @@ export async function syncGlobalVariants(
|
|
|
18
18
|
projectMeta: ProjectMetaBundle,
|
|
19
19
|
bundles: GlobalVariantBundle[],
|
|
20
20
|
checksums: ChecksumBundle,
|
|
21
|
-
branchName: string
|
|
22
|
-
baseDir: string
|
|
21
|
+
branchName: string
|
|
23
22
|
) {
|
|
24
23
|
const projectId = projectMeta.projectId;
|
|
25
24
|
const projectLock = getOrAddProjectLock(context, projectId, branchName);
|
|
@@ -101,11 +100,7 @@ export async function syncGlobalVariants(
|
|
|
101
100
|
await writeFileContent(
|
|
102
101
|
context,
|
|
103
102
|
variantConfig.contextFilePath,
|
|
104
|
-
await formatAsLocal(
|
|
105
|
-
bundle.contextModule,
|
|
106
|
-
variantConfig.contextFilePath,
|
|
107
|
-
baseDir
|
|
108
|
-
),
|
|
103
|
+
await formatAsLocal(bundle.contextModule, variantConfig.contextFilePath),
|
|
109
104
|
{ force: !isNew }
|
|
110
105
|
);
|
|
111
106
|
}
|
|
@@ -5,9 +5,9 @@ import { ChecksumBundle, IconBundle } from "../api";
|
|
|
5
5
|
import { logger } from "../deps";
|
|
6
6
|
import { formatAsLocal } from "../utils/code-utils";
|
|
7
7
|
import {
|
|
8
|
+
PlasmicContext,
|
|
8
9
|
getOrAddProjectConfig,
|
|
9
10
|
getOrAddProjectLock,
|
|
10
|
-
PlasmicContext,
|
|
11
11
|
} from "../utils/config-utils";
|
|
12
12
|
import {
|
|
13
13
|
defaultResourcePath,
|
|
@@ -28,8 +28,7 @@ export async function syncProjectIconAssets(
|
|
|
28
28
|
branchName: string,
|
|
29
29
|
version: string,
|
|
30
30
|
iconBundles: IconBundle[],
|
|
31
|
-
checksums: ChecksumBundle
|
|
32
|
-
baseDir: string
|
|
31
|
+
checksums: ChecksumBundle
|
|
33
32
|
) {
|
|
34
33
|
const project = getOrAddProjectConfig(context, projectId);
|
|
35
34
|
if (!project.icons) {
|
|
@@ -108,7 +107,7 @@ export async function syncProjectIconAssets(
|
|
|
108
107
|
await writeFileContent(
|
|
109
108
|
context,
|
|
110
109
|
iconConfig.moduleFilePath,
|
|
111
|
-
await formatAsLocal(bundle.module, iconConfig.moduleFilePath
|
|
110
|
+
await formatAsLocal(bundle.module, iconConfig.moduleFilePath),
|
|
112
111
|
{
|
|
113
112
|
force: !isNew,
|
|
114
113
|
}
|
|
@@ -22,8 +22,7 @@ export async function syncProjectModule(
|
|
|
22
22
|
projectMeta: ProjectMetaBundle,
|
|
23
23
|
projectConfig: ProjectConfig,
|
|
24
24
|
projectLock: ProjectLock,
|
|
25
|
-
checksums: ChecksumBundle
|
|
26
|
-
baseDir: string
|
|
25
|
+
checksums: ChecksumBundle
|
|
27
26
|
) {
|
|
28
27
|
const resourcePath = getProjectModuleResourcePath(context, projectConfig);
|
|
29
28
|
if (checksums.projectModuleChecksum && projectMeta.projectModuleBundle) {
|
|
@@ -34,8 +33,7 @@ export async function syncProjectModule(
|
|
|
34
33
|
}
|
|
35
34
|
if (context.config.code.lang === "js") {
|
|
36
35
|
projectMeta.projectModuleBundle.module = await formatScript(
|
|
37
|
-
tsxToJsx(projectMeta.projectModuleBundle.module)
|
|
38
|
-
baseDir
|
|
36
|
+
tsxToJsx(projectMeta.projectModuleBundle.module)
|
|
39
37
|
);
|
|
40
38
|
}
|
|
41
39
|
await writeFileContent(
|
|
@@ -46,8 +44,9 @@ export async function syncProjectModule(
|
|
|
46
44
|
);
|
|
47
45
|
projectConfig.projectModuleFilePath = resourcePath;
|
|
48
46
|
const fl = projectLock.fileLocks.find(
|
|
49
|
-
(
|
|
50
|
-
|
|
47
|
+
(fileLock) =>
|
|
48
|
+
fileLock.assetId === projectConfig.projectId &&
|
|
49
|
+
fileLock.type === "projectModule"
|
|
51
50
|
);
|
|
52
51
|
if (fl) {
|
|
53
52
|
fl.checksum = checksums.projectModuleChecksum || "";
|
|
@@ -22,8 +22,7 @@ export async function syncSplitsProvider(
|
|
|
22
22
|
projectMeta: ProjectMetaBundle,
|
|
23
23
|
projectConfig: ProjectConfig,
|
|
24
24
|
projectLock: ProjectLock,
|
|
25
|
-
checksums: ChecksumBundle
|
|
26
|
-
baseDir: string
|
|
25
|
+
checksums: ChecksumBundle
|
|
27
26
|
) {
|
|
28
27
|
const resourcePath = getSplitsProviderResourcePath(context, projectConfig);
|
|
29
28
|
if (checksums.splitsProviderChecksum && projectMeta.splitsProviderBundle) {
|
|
@@ -34,8 +33,7 @@ export async function syncSplitsProvider(
|
|
|
34
33
|
}
|
|
35
34
|
if (context.config.code.lang === "js") {
|
|
36
35
|
projectMeta.splitsProviderBundle.module = await formatScript(
|
|
37
|
-
tsxToJsx(projectMeta.splitsProviderBundle.module)
|
|
38
|
-
baseDir
|
|
36
|
+
tsxToJsx(projectMeta.splitsProviderBundle.module)
|
|
39
37
|
);
|
|
40
38
|
}
|
|
41
39
|
await writeFileContent(
|
|
@@ -46,8 +44,9 @@ export async function syncSplitsProvider(
|
|
|
46
44
|
);
|
|
47
45
|
projectConfig.splitsProviderFilePath = resourcePath;
|
|
48
46
|
const fl = projectLock.fileLocks.find(
|
|
49
|
-
(
|
|
50
|
-
|
|
47
|
+
(fileLock) =>
|
|
48
|
+
fileLock.assetId === projectConfig.projectId &&
|
|
49
|
+
fileLock.type === "splitsProvider"
|
|
51
50
|
);
|
|
52
51
|
if (fl) {
|
|
53
52
|
fl.checksum = checksums.splitsProviderChecksum;
|
|
@@ -22,8 +22,7 @@ export async function syncStyleTokensProvider(
|
|
|
22
22
|
projectMeta: ProjectMetaBundle,
|
|
23
23
|
projectConfig: ProjectConfig,
|
|
24
24
|
projectLock: ProjectLock,
|
|
25
|
-
checksums: ChecksumBundle
|
|
26
|
-
baseDir: string
|
|
25
|
+
checksums: ChecksumBundle
|
|
27
26
|
) {
|
|
28
27
|
const resourcePath = getStyleTokensProviderResourcePath(
|
|
29
28
|
context,
|
|
@@ -40,8 +39,7 @@ export async function syncStyleTokensProvider(
|
|
|
40
39
|
}
|
|
41
40
|
if (context.config.code.lang === "js") {
|
|
42
41
|
projectMeta.styleTokensProviderBundle.module = await formatScript(
|
|
43
|
-
tsxToJsx(projectMeta.styleTokensProviderBundle.module)
|
|
44
|
-
baseDir
|
|
42
|
+
tsxToJsx(projectMeta.styleTokensProviderBundle.module)
|
|
45
43
|
);
|
|
46
44
|
}
|
|
47
45
|
writeFileContent(
|
|
@@ -52,9 +50,9 @@ export async function syncStyleTokensProvider(
|
|
|
52
50
|
);
|
|
53
51
|
projectConfig.styleTokensProviderFilePath = resourcePath;
|
|
54
52
|
const fl = projectLock.fileLocks.find(
|
|
55
|
-
(
|
|
56
|
-
|
|
57
|
-
|
|
53
|
+
(fileLock) =>
|
|
54
|
+
fileLock.assetId === projectConfig.projectId &&
|
|
55
|
+
fileLock.type === "styleTokensProvider"
|
|
58
56
|
);
|
|
59
57
|
if (fl) {
|
|
60
58
|
fl.checksum = checksums.styleTokensProviderChecksum || "";
|
package/src/actions/sync.ts
CHANGED
|
@@ -357,7 +357,7 @@ export async function sync(
|
|
|
357
357
|
}
|
|
358
358
|
|
|
359
359
|
// Now we know config.components are all correct, so we can go ahead and fix up all the import statements
|
|
360
|
-
await fixAllImportStatements(context,
|
|
360
|
+
await fixAllImportStatements(context, summary);
|
|
361
361
|
|
|
362
362
|
const codegenVersion = await context.api.latestCodegenVersion();
|
|
363
363
|
context.lock.projects.forEach((p) => {
|
|
@@ -370,7 +370,7 @@ export async function sync(
|
|
|
370
370
|
}
|
|
371
371
|
});
|
|
372
372
|
// Write the new ComponentConfigs to disk
|
|
373
|
-
await updateConfig(context, context.config
|
|
373
|
+
await updateConfig(context, context.config);
|
|
374
374
|
};
|
|
375
375
|
|
|
376
376
|
// Perform the actual sync
|
|
@@ -580,27 +580,23 @@ async function syncProject(
|
|
|
580
580
|
for (const c of projectBundle.components) {
|
|
581
581
|
[c.renderModuleFileName, c.renderModule] = await maybeConvertTsxToJsx(
|
|
582
582
|
c.renderModuleFileName,
|
|
583
|
-
c.renderModule
|
|
584
|
-
opts.baseDir
|
|
583
|
+
c.renderModule
|
|
585
584
|
);
|
|
586
585
|
[c.skeletonModuleFileName, c.skeletonModule] = await maybeConvertTsxToJsx(
|
|
587
586
|
c.skeletonModuleFileName,
|
|
588
|
-
c.skeletonModule
|
|
589
|
-
opts.baseDir
|
|
587
|
+
c.skeletonModule
|
|
590
588
|
);
|
|
591
589
|
}
|
|
592
590
|
for (const icon of projectBundle.iconAssets) {
|
|
593
591
|
[icon.fileName, icon.module] = await maybeConvertTsxToJsx(
|
|
594
592
|
icon.fileName,
|
|
595
|
-
icon.module
|
|
596
|
-
opts.baseDir
|
|
593
|
+
icon.module
|
|
597
594
|
);
|
|
598
595
|
}
|
|
599
596
|
for (const gv of projectBundle.globalVariants) {
|
|
600
597
|
[gv.contextFileName, gv.contextModule] = await maybeConvertTsxToJsx(
|
|
601
598
|
gv.contextFileName,
|
|
602
|
-
gv.contextModule
|
|
603
|
-
opts.baseDir
|
|
599
|
+
gv.contextModule
|
|
604
600
|
);
|
|
605
601
|
}
|
|
606
602
|
}
|
|
@@ -609,8 +605,7 @@ async function syncProject(
|
|
|
609
605
|
projectBundle.projectConfig,
|
|
610
606
|
projectBundle.globalVariants,
|
|
611
607
|
projectBundle.checksums,
|
|
612
|
-
branchName
|
|
613
|
-
opts.baseDir
|
|
608
|
+
branchName
|
|
614
609
|
);
|
|
615
610
|
|
|
616
611
|
await syncProjectConfig(
|
|
@@ -624,7 +619,6 @@ async function syncProject(
|
|
|
624
619
|
opts.forceOverwrite,
|
|
625
620
|
summary,
|
|
626
621
|
projectBundle.checksums,
|
|
627
|
-
opts.baseDir,
|
|
628
622
|
indirect
|
|
629
623
|
);
|
|
630
624
|
syncCodeComponentsMeta(context, projectId, projectBundle.codeComponentMetas);
|
|
@@ -644,8 +638,7 @@ async function syncProject(
|
|
|
644
638
|
branchName,
|
|
645
639
|
projectVersion,
|
|
646
640
|
projectBundle.iconAssets,
|
|
647
|
-
projectBundle.checksums
|
|
648
|
-
opts.baseDir
|
|
641
|
+
projectBundle.checksums
|
|
649
642
|
);
|
|
650
643
|
await syncProjectImageAssets(
|
|
651
644
|
context,
|
|
@@ -690,7 +683,6 @@ async function syncProjectConfig(
|
|
|
690
683
|
forceOverwrite: boolean,
|
|
691
684
|
summary: Map<string, ComponentUpdateSummary>,
|
|
692
685
|
checksums: ChecksumBundle,
|
|
693
|
-
baseDir: string,
|
|
694
686
|
indirect: boolean
|
|
695
687
|
) {
|
|
696
688
|
const defaultCssFilePath = defaultResourcePath(
|
|
@@ -734,8 +726,7 @@ async function syncProjectConfig(
|
|
|
734
726
|
if (projectBundle.cssRules) {
|
|
735
727
|
const formattedCssRules = await formatAsLocal(
|
|
736
728
|
projectBundle.cssRules,
|
|
737
|
-
projectConfig.cssFilePath
|
|
738
|
-
baseDir
|
|
729
|
+
projectConfig.cssFilePath
|
|
739
730
|
);
|
|
740
731
|
|
|
741
732
|
// Write out project css
|
|
@@ -762,8 +753,7 @@ async function syncProjectConfig(
|
|
|
762
753
|
projectBundle,
|
|
763
754
|
projectConfig,
|
|
764
755
|
projectLock,
|
|
765
|
-
checksums
|
|
766
|
-
baseDir
|
|
756
|
+
checksums
|
|
767
757
|
);
|
|
768
758
|
|
|
769
759
|
await syncSplitsProvider(
|
|
@@ -771,8 +761,7 @@ async function syncProjectConfig(
|
|
|
771
761
|
projectBundle,
|
|
772
762
|
projectConfig,
|
|
773
763
|
projectLock,
|
|
774
|
-
checksums
|
|
775
|
-
baseDir
|
|
764
|
+
checksums
|
|
776
765
|
);
|
|
777
766
|
|
|
778
767
|
await syncProjectModule(
|
|
@@ -780,8 +769,7 @@ async function syncProjectConfig(
|
|
|
780
769
|
projectBundle,
|
|
781
770
|
projectConfig,
|
|
782
771
|
projectLock,
|
|
783
|
-
checksums
|
|
784
|
-
baseDir
|
|
772
|
+
checksums
|
|
785
773
|
);
|
|
786
774
|
|
|
787
775
|
await syncStyleTokensProvider(
|
|
@@ -789,8 +777,7 @@ async function syncProjectConfig(
|
|
|
789
777
|
projectBundle,
|
|
790
778
|
projectConfig,
|
|
791
779
|
projectLock,
|
|
792
|
-
checksums
|
|
793
|
-
baseDir
|
|
780
|
+
checksums
|
|
794
781
|
);
|
|
795
782
|
|
|
796
783
|
await syncDataTokens(
|
|
@@ -798,8 +785,7 @@ async function syncProjectConfig(
|
|
|
798
785
|
projectBundle,
|
|
799
786
|
projectConfig,
|
|
800
787
|
projectLock,
|
|
801
|
-
checksums
|
|
802
|
-
baseDir
|
|
788
|
+
checksums
|
|
803
789
|
);
|
|
804
790
|
|
|
805
791
|
// Write out components
|
|
@@ -811,8 +797,7 @@ async function syncProjectConfig(
|
|
|
811
797
|
forceOverwrite,
|
|
812
798
|
summary,
|
|
813
799
|
projectLock,
|
|
814
|
-
checksums
|
|
815
|
-
baseDir
|
|
800
|
+
checksums
|
|
816
801
|
);
|
|
817
802
|
}
|
|
818
803
|
|
|
@@ -125,7 +125,7 @@ export async function runNecessaryMigrations(
|
|
|
125
125
|
const prev = readConfig(configFile, false);
|
|
126
126
|
const next = migrationFunc(prev, context);
|
|
127
127
|
next.cliVersion = version;
|
|
128
|
-
await writeConfig(configFile, next
|
|
128
|
+
await writeConfig(configFile, next);
|
|
129
129
|
}
|
|
130
130
|
|
|
131
131
|
const lockMigrationFunc = LOCK_MIGRATIONS[version];
|
|
@@ -133,7 +133,7 @@ export async function runNecessaryMigrations(
|
|
|
133
133
|
const prev = maybeReadLock();
|
|
134
134
|
if (prev) {
|
|
135
135
|
const next = lockMigrationFunc(prev, context);
|
|
136
|
-
await writeLock(lockFile, next
|
|
136
|
+
await writeLock(lockFile, next);
|
|
137
137
|
}
|
|
138
138
|
}
|
|
139
139
|
}
|
|
@@ -142,6 +142,6 @@ export async function runNecessaryMigrations(
|
|
|
142
142
|
const latestConfig = readConfig(configFile, false);
|
|
143
143
|
if (latestConfig.cliVersion !== cliVersion) {
|
|
144
144
|
latestConfig.cliVersion = cliVersion;
|
|
145
|
-
await writeConfig(configFile, latestConfig
|
|
145
|
+
await writeConfig(configFile, latestConfig);
|
|
146
146
|
}
|
|
147
147
|
}
|
package/src/utils/code-utils.ts
CHANGED
|
@@ -44,7 +44,6 @@ import { assert, flatMap } from "./lang-utils";
|
|
|
44
44
|
export async function formatAsLocal(
|
|
45
45
|
content: string,
|
|
46
46
|
filePath: string,
|
|
47
|
-
baseDir: string,
|
|
48
47
|
defaultOpts?: Options
|
|
49
48
|
): Promise<string> {
|
|
50
49
|
if (GLOBAL_SETTINGS.skipFormatting) {
|
|
@@ -56,7 +55,7 @@ export async function formatAsLocal(
|
|
|
56
55
|
// createPlasmicElementProxy. So we're going to stop for now until we find
|
|
57
56
|
// a better solution, like maybe letting user specify a prettier config
|
|
58
57
|
// file in plasmic.json
|
|
59
|
-
// const opts = resolveConfig.sync(
|
|
58
|
+
// const opts = resolveConfig.sync() || defaultOpts;
|
|
60
59
|
const opts: Options = {
|
|
61
60
|
trailingComma: "none",
|
|
62
61
|
...defaultOpts,
|
|
@@ -73,7 +72,6 @@ export async function formatAsLocal(
|
|
|
73
72
|
|
|
74
73
|
async function nodeToFormattedCode(
|
|
75
74
|
n: Node,
|
|
76
|
-
baseDir: string,
|
|
77
75
|
unformatted?: boolean,
|
|
78
76
|
commentsToRemove?: Set<string>
|
|
79
77
|
): Promise<string> {
|
|
@@ -84,7 +82,7 @@ async function nodeToFormattedCode(
|
|
|
84
82
|
}).code;
|
|
85
83
|
return unformatted
|
|
86
84
|
? c
|
|
87
|
-
: await formatAsLocal(c, "/tmp/x.tsx",
|
|
85
|
+
: await formatAsLocal(c, "/tmp/x.tsx", {
|
|
88
86
|
arrowParens: "avoid",
|
|
89
87
|
});
|
|
90
88
|
}
|
|
@@ -242,7 +240,6 @@ export async function replaceImports(
|
|
|
242
240
|
fromPath: string,
|
|
243
241
|
fixImportContext: FixImportContext,
|
|
244
242
|
removeImportDirective: boolean,
|
|
245
|
-
baseDir: string,
|
|
246
243
|
changed = false
|
|
247
244
|
): Promise<string> {
|
|
248
245
|
[code, changed] = filterUnformattedMarker(code, changed);
|
|
@@ -508,7 +505,7 @@ export async function replaceImports(
|
|
|
508
505
|
return code;
|
|
509
506
|
}
|
|
510
507
|
|
|
511
|
-
return nodeToFormattedCode(file,
|
|
508
|
+
return nodeToFormattedCode(file, !changed, commentsToRemove);
|
|
512
509
|
}
|
|
513
510
|
|
|
514
511
|
function throwMissingReference(
|
|
@@ -630,7 +627,6 @@ export const mkFixImportContext = (config: PlasmicConfig): FixImportContext => {
|
|
|
630
627
|
*/
|
|
631
628
|
export async function fixAllImportStatements(
|
|
632
629
|
context: PlasmicContext,
|
|
633
|
-
baseDir: string,
|
|
634
630
|
summary?: Map<string, ComponentUpdateSummary>
|
|
635
631
|
) {
|
|
636
632
|
logger.info("Fixing import statements...");
|
|
@@ -640,12 +636,7 @@ export async function fixAllImportStatements(
|
|
|
640
636
|
for (const project of config.projects) {
|
|
641
637
|
for (const compConfig of project.components) {
|
|
642
638
|
try {
|
|
643
|
-
await fixRscModulesImports(
|
|
644
|
-
context,
|
|
645
|
-
baseDir,
|
|
646
|
-
fixImportContext,
|
|
647
|
-
compConfig
|
|
648
|
-
);
|
|
639
|
+
await fixRscModulesImports(context, fixImportContext, compConfig);
|
|
649
640
|
} catch (err) {
|
|
650
641
|
lastError = err;
|
|
651
642
|
}
|
|
@@ -663,8 +654,7 @@ export async function fixAllImportStatements(
|
|
|
663
654
|
context,
|
|
664
655
|
compConfig,
|
|
665
656
|
fixImportContext,
|
|
666
|
-
fixSkeletonModule
|
|
667
|
-
baseDir
|
|
657
|
+
fixSkeletonModule
|
|
668
658
|
);
|
|
669
659
|
} catch (err) {
|
|
670
660
|
logger.error(
|
|
@@ -677,7 +667,7 @@ export async function fixAllImportStatements(
|
|
|
677
667
|
}
|
|
678
668
|
|
|
679
669
|
try {
|
|
680
|
-
await fixGlobalContextImportStatements(context, fixImportContext
|
|
670
|
+
await fixGlobalContextImportStatements(context, fixImportContext);
|
|
681
671
|
} catch (err) {
|
|
682
672
|
logger.error(
|
|
683
673
|
`Error encountered while fixing imports for global contexts: ${err}`
|
|
@@ -689,7 +679,6 @@ export async function fixAllImportStatements(
|
|
|
689
679
|
await fixImportStatements(
|
|
690
680
|
context,
|
|
691
681
|
fixImportContext,
|
|
692
|
-
baseDir,
|
|
693
682
|
"splitsProviderFilePath",
|
|
694
683
|
getSplitsProviderResourcePath
|
|
695
684
|
);
|
|
@@ -704,7 +693,6 @@ export async function fixAllImportStatements(
|
|
|
704
693
|
await fixImportStatements(
|
|
705
694
|
context,
|
|
706
695
|
fixImportContext,
|
|
707
|
-
baseDir,
|
|
708
696
|
"projectModuleFilePath",
|
|
709
697
|
getProjectModuleResourcePath
|
|
710
698
|
);
|
|
@@ -719,7 +707,6 @@ export async function fixAllImportStatements(
|
|
|
719
707
|
await fixImportStatements(
|
|
720
708
|
context,
|
|
721
709
|
fixImportContext,
|
|
722
|
-
baseDir,
|
|
723
710
|
"styleTokensProviderFilePath",
|
|
724
711
|
getStyleTokensProviderResourcePath
|
|
725
712
|
);
|
|
@@ -734,7 +721,6 @@ export async function fixAllImportStatements(
|
|
|
734
721
|
await fixImportStatements(
|
|
735
722
|
context,
|
|
736
723
|
fixImportContext,
|
|
737
|
-
baseDir,
|
|
738
724
|
"dataTokensFilePath",
|
|
739
725
|
getDataTokensResourcePath
|
|
740
726
|
);
|
|
@@ -754,8 +740,7 @@ async function fixComponentImportStatements(
|
|
|
754
740
|
context: PlasmicContext,
|
|
755
741
|
compConfig: ComponentConfig,
|
|
756
742
|
fixImportContext: FixImportContext,
|
|
757
|
-
fixSkeletonModule: boolean
|
|
758
|
-
baseDir: string
|
|
743
|
+
fixSkeletonModule: boolean
|
|
759
744
|
) {
|
|
760
745
|
// If ComponentConfig.importPath is still a local file, we best-effort also fix up the import statements there.
|
|
761
746
|
if (
|
|
@@ -767,8 +752,7 @@ async function fixComponentImportStatements(
|
|
|
767
752
|
context,
|
|
768
753
|
compConfig.importSpec.modulePath,
|
|
769
754
|
fixImportContext,
|
|
770
|
-
true
|
|
771
|
-
baseDir
|
|
755
|
+
true
|
|
772
756
|
);
|
|
773
757
|
}
|
|
774
758
|
|
|
@@ -795,7 +779,6 @@ async function fixComponentImportStatements(
|
|
|
795
779
|
compConfig.renderModuleFilePath,
|
|
796
780
|
fixImportContext,
|
|
797
781
|
false,
|
|
798
|
-
baseDir,
|
|
799
782
|
renderModuleChanged
|
|
800
783
|
);
|
|
801
784
|
}
|
|
@@ -805,7 +788,6 @@ async function fixFileImportStatements(
|
|
|
805
788
|
srcDirFilePath: string,
|
|
806
789
|
fixImportContext: FixImportContext,
|
|
807
790
|
removeImportDirective: boolean,
|
|
808
|
-
baseDir: string,
|
|
809
791
|
fileHasChanged = false
|
|
810
792
|
) {
|
|
811
793
|
const filePath = makeFilePath(context, srcDirFilePath);
|
|
@@ -824,7 +806,6 @@ async function fixFileImportStatements(
|
|
|
824
806
|
srcDirFilePath,
|
|
825
807
|
fixImportContext,
|
|
826
808
|
removeImportDirective,
|
|
827
|
-
baseDir,
|
|
828
809
|
fileHasChanged
|
|
829
810
|
);
|
|
830
811
|
if (prevContent !== newContent) {
|
|
@@ -886,21 +867,17 @@ export const tsxToJsx = (code: string) => {
|
|
|
886
867
|
|
|
887
868
|
export async function maybeConvertTsxToJsx(
|
|
888
869
|
fileName: string,
|
|
889
|
-
content: string
|
|
890
|
-
baseDir: string
|
|
870
|
+
content: string
|
|
891
871
|
): Promise<[string, string]> {
|
|
892
872
|
if (fileName.endsWith("tsx")) {
|
|
893
873
|
const jsFileName = stripExtension(fileName) + ".jsx";
|
|
894
|
-
const jsContent = await formatScript(tsxToJsx(content)
|
|
874
|
+
const jsContent = await formatScript(tsxToJsx(content));
|
|
895
875
|
return [jsFileName, jsContent];
|
|
896
876
|
}
|
|
897
877
|
return [fileName, content];
|
|
898
878
|
}
|
|
899
879
|
|
|
900
|
-
export async function formatScript(
|
|
901
|
-
code: string,
|
|
902
|
-
baseDir: string
|
|
903
|
-
): Promise<string> {
|
|
880
|
+
export async function formatScript(code: string): Promise<string> {
|
|
904
881
|
const file = parser.parse(code, {
|
|
905
882
|
strictMode: true,
|
|
906
883
|
sourceType: "module",
|
|
@@ -922,12 +899,12 @@ export async function formatScript(
|
|
|
922
899
|
},
|
|
923
900
|
});
|
|
924
901
|
|
|
925
|
-
const withmarkers = await nodeToFormattedCode(file,
|
|
902
|
+
const withmarkers = await nodeToFormattedCode(file, true);
|
|
926
903
|
const withNewLines = withmarkers.replace(
|
|
927
904
|
new RegExp(`"${newLineMarker}"`, "g"),
|
|
928
905
|
"\n"
|
|
929
906
|
);
|
|
930
|
-
return await formatAsLocal(withNewLines, "/tmp/x.tsx",
|
|
907
|
+
return await formatAsLocal(withNewLines, "/tmp/x.tsx", {
|
|
931
908
|
printWidth: 80,
|
|
932
909
|
tabWidth: 2,
|
|
933
910
|
useTabs: false,
|
|
@@ -936,8 +913,7 @@ export async function formatScript(
|
|
|
936
913
|
|
|
937
914
|
async function fixGlobalContextImportStatements(
|
|
938
915
|
context: PlasmicContext,
|
|
939
|
-
fixImportContext: FixImportContext
|
|
940
|
-
baseDir: string
|
|
916
|
+
fixImportContext: FixImportContext
|
|
941
917
|
) {
|
|
942
918
|
for (const project of context.config.projects) {
|
|
943
919
|
if (!project.globalContextsFilePath) {
|
|
@@ -963,7 +939,6 @@ async function fixGlobalContextImportStatements(
|
|
|
963
939
|
resourcePath,
|
|
964
940
|
fixImportContext,
|
|
965
941
|
false,
|
|
966
|
-
baseDir,
|
|
967
942
|
true
|
|
968
943
|
);
|
|
969
944
|
|
|
@@ -978,7 +953,6 @@ async function fixGlobalContextImportStatements(
|
|
|
978
953
|
async function fixImportStatements(
|
|
979
954
|
context: PlasmicContext,
|
|
980
955
|
fixImportContext: FixImportContext,
|
|
981
|
-
baseDir: string,
|
|
982
956
|
configKey: keyof ProjectConfig,
|
|
983
957
|
getResourcePath: (ctx: PlasmicContext, project: ProjectConfig) => string
|
|
984
958
|
) {
|
|
@@ -1007,7 +981,6 @@ async function fixImportStatements(
|
|
|
1007
981
|
resourcePath,
|
|
1008
982
|
fixImportContext,
|
|
1009
983
|
false,
|
|
1010
|
-
baseDir,
|
|
1011
984
|
true
|
|
1012
985
|
);
|
|
1013
986
|
|
|
@@ -1021,7 +994,6 @@ async function fixImportStatements(
|
|
|
1021
994
|
|
|
1022
995
|
export async function fixRscModulesImports(
|
|
1023
996
|
context: PlasmicContext,
|
|
1024
|
-
baseDir: string,
|
|
1025
997
|
fixImportContext: FixImportContext,
|
|
1026
998
|
compConfig: ComponentConfig
|
|
1027
999
|
) {
|
|
@@ -1040,8 +1012,7 @@ export async function fixRscModulesImports(
|
|
|
1040
1012
|
context,
|
|
1041
1013
|
modulePath,
|
|
1042
1014
|
fixImportContext,
|
|
1043
|
-
false
|
|
1044
|
-
baseDir
|
|
1015
|
+
false
|
|
1045
1016
|
);
|
|
1046
1017
|
} catch (err) {
|
|
1047
1018
|
logger.error(
|
|
@@ -549,11 +549,7 @@ export function readConfig(
|
|
|
549
549
|
}
|
|
550
550
|
}
|
|
551
551
|
|
|
552
|
-
export async function writeConfig(
|
|
553
|
-
configFile: string,
|
|
554
|
-
config: PlasmicConfig,
|
|
555
|
-
baseDir: string
|
|
556
|
-
) {
|
|
552
|
+
export async function writeConfig(configFile: string, config: PlasmicConfig) {
|
|
557
553
|
await writeFileContentRaw(
|
|
558
554
|
configFile,
|
|
559
555
|
await formatAsLocal(
|
|
@@ -565,8 +561,7 @@ export async function writeConfig(
|
|
|
565
561
|
undefined,
|
|
566
562
|
2
|
|
567
563
|
),
|
|
568
|
-
configFile
|
|
569
|
-
baseDir
|
|
564
|
+
configFile
|
|
570
565
|
),
|
|
571
566
|
{
|
|
572
567
|
force: true,
|
|
@@ -574,18 +569,10 @@ export async function writeConfig(
|
|
|
574
569
|
);
|
|
575
570
|
}
|
|
576
571
|
|
|
577
|
-
export async function writeLock(
|
|
578
|
-
lockFile: string,
|
|
579
|
-
lock: PlasmicLock,
|
|
580
|
-
baseDir: string
|
|
581
|
-
) {
|
|
572
|
+
export async function writeLock(lockFile: string, lock: PlasmicLock) {
|
|
582
573
|
await writeFileContentRaw(
|
|
583
574
|
lockFile,
|
|
584
|
-
await formatAsLocal(
|
|
585
|
-
JSON.stringify(lock, undefined, 2),
|
|
586
|
-
"/tmp/x.json",
|
|
587
|
-
baseDir
|
|
588
|
-
),
|
|
575
|
+
await formatAsLocal(JSON.stringify(lock, undefined, 2), "/tmp/x.json"),
|
|
589
576
|
{
|
|
590
577
|
force: true,
|
|
591
578
|
}
|
|
@@ -594,15 +581,14 @@ export async function writeLock(
|
|
|
594
581
|
|
|
595
582
|
export async function updateConfig(
|
|
596
583
|
context: PlasmicContext,
|
|
597
|
-
newConfig: PlasmicConfig
|
|
598
|
-
baseDir: string
|
|
584
|
+
newConfig: PlasmicConfig
|
|
599
585
|
) {
|
|
600
586
|
// plasmic.json
|
|
601
|
-
await writeConfig(context.configFile, newConfig
|
|
587
|
+
await writeConfig(context.configFile, newConfig);
|
|
602
588
|
context.config = newConfig;
|
|
603
589
|
|
|
604
590
|
// plasmic.lock
|
|
605
|
-
await writeLock(context.lockFile, context.lock
|
|
591
|
+
await writeLock(context.lockFile, context.lock);
|
|
606
592
|
}
|
|
607
593
|
|
|
608
594
|
export function getOrAddProjectConfig(
|