Skip to content

Commit d0d8d4e

Browse files
authored
Fix a bug where $ sign in dart outputs would fail compilation (#2194)
1 parent 4e97389 commit d0d8d4e

File tree

5 files changed

+13
-4
lines changed

5 files changed

+13
-4
lines changed

.changeset/new-buckets-mix.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@aws-amplify/client-config': patch
3+
---
4+
5+
Fix a bug where $ sign in dart outputs would fail compilation

packages/client-config/src/client-config-writer/client_config_formatter_default.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ void describe('client config formatter', () => {
5050
ClientConfigFormat.DART
5151
);
5252

53-
assert.ok(formattedConfig.startsWith("const amplifyConfig = '''"));
53+
assert.ok(formattedConfig.startsWith("const amplifyConfig = r'''"));
5454
assert.ok(
5555
formattedConfig.includes(JSON.stringify(expectedConfigReturned, null, 2))
5656
);

packages/client-config/src/client-config-writer/client_config_formatter_default.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@ export class ClientConfigFormatterDefault implements ClientConfigFormatter {
1616
format = (clientConfig: ClientConfig, format: ClientConfigFormat): string => {
1717
switch (format) {
1818
case ClientConfigFormat.DART: {
19-
return `const amplifyConfig = '''${JSON.stringify(
19+
// Using raw string, i.e. r''' to disable Dart's interpolations
20+
// because we're using special characters like $ in some outputs.
21+
return `const amplifyConfig = r'''${JSON.stringify(
2022
clientConfig,
2123
null,
2224
2

packages/client-config/src/client-config-writer/client_config_formatter_legacy.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ void describe('client config formatter', () => {
109109
expectedLegacyConfig.aws_user_pools_id
110110
);
111111

112-
assert.ok(formattedConfig.startsWith("const amplifyConfig = '''"));
112+
assert.ok(formattedConfig.startsWith("const amplifyConfig = r'''"));
113113
assert.ok(
114114
formattedConfig.includes(JSON.stringify(clientConfigMobile, null, 2))
115115
);

packages/client-config/src/client-config-writer/client_config_formatter_legacy.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,9 @@ export class ClientConfigFormatterLegacy implements ClientConfigFormatter {
2929
}export default amplifyConfig;${os.EOL}`;
3030
}
3131
case ClientConfigFormat.DART: {
32-
return `const amplifyConfig = '''${JSON.stringify(
32+
// Using raw string, i.e. r''' to disable Dart's interpolations
33+
// because we're using special characters like $ in some outputs.
34+
return `const amplifyConfig = r'''${JSON.stringify(
3335
this.configConverter.convertToMobileConfig(legacyConfig),
3436
null,
3537
2

0 commit comments

Comments
 (0)