diff --git a/packages/sdk-tizen/src/tasks/taskChangeCertificate.ts b/packages/sdk-tizen/src/tasks/taskChangeCertificate.ts index 38db49619..32ee3f605 100644 --- a/packages/sdk-tizen/src/tasks/taskChangeCertificate.ts +++ b/packages/sdk-tizen/src/tasks/taskChangeCertificate.ts @@ -8,7 +8,6 @@ export default createTask({ fn: async ({ ctx }) => { for (const config of ctx.paths.appConfig.configs) { if (config.includes('base')) { - const configFile = await JSON.parse(fs.readFileSync(config, 'utf-8')); const { confirm } = await inquirerPrompt({ message: 'Tizen - used certificate change. NOTE: you must create the certificate first through the tizens certificate-manager. Continue?', @@ -34,6 +33,29 @@ export default createTask({ return; } + if (!fs.existsSync(config)) { + const configContent = JSON.stringify( + { + platforms: { + [platform]: { + certificateProfile: name, + }, + }, + }, + null, + 2 + ); + + fs.writeFileSync(config, configContent); + return; + } + + const configFile = await JSON.parse(fs.readFileSync(config, 'utf-8')); + + if (!configFile.platforms[platform]) { + configFile.platforms[platform] = {}; + } + configFile.platforms[`${platform}`].certificateProfile = name; fs.writeFileSync(config, JSON.stringify(configFile, null, 2));