diff --git a/package-lock.json b/package-lock.json index d1d21d78..1843ef87 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@gofynd/fdk-cli", - "version": "8.0.10", + "version": "8.0.11", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@gofynd/fdk-cli", - "version": "8.0.10", + "version": "8.0.11", "license": "MIT", "dependencies": { "@babel/core": "^7.24.9", diff --git a/package.json b/package.json index a51c50b8..07db0276 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@gofynd/fdk-cli", - "version": "8.0.10", + "version": "8.0.11", "main": "index.js", "license": "MIT", "bin": { diff --git a/src/__tests__/setup_extension.spec.ts b/src/__tests__/setup_extension.spec.ts index 690ca54c..32e6c76e 100644 --- a/src/__tests__/setup_extension.spec.ts +++ b/src/__tests__/setup_extension.spec.ts @@ -289,6 +289,16 @@ describe('Extension Commands', () => { expect(fs.existsSync('payment-ext')).toBe(true); }); + it('should expose logistics launch type with react template only', () => { + expect(Object.values(CONSTANTS.LAUNCH_TYPES)).toContain('Logistics'); + expect(CONSTANTS.getTemplateChoices('Logistics')).toEqual([ + 'Node + React.js + SQLite', + ]); + expect(CONSTANTS.getTemplateChoices('logistics')).toEqual([ + 'Node + React.js + SQLite', + ]); + }); + it('should re-prompt and validate payment extension name before asking slug', async () => { await mockAxios .onGet(URLS.CHECK_PAYMENT_EXTENSION_NAME('payment-ext')) diff --git a/src/helper/constants.ts b/src/helper/constants.ts index 631d7c2c..1bd0a8b4 100644 --- a/src/helper/constants.ts +++ b/src/helper/constants.ts @@ -59,7 +59,7 @@ export const TEMPLATES = { 'node-react': { name: 'Node + React.js + SQLite', repo: 'https://github.com/gofynd/example-extension-javascript-react', - launchTypes: ['Company', 'Application'] + launchTypes: ['Company', 'Application', 'Logistics'] }, 'payment-node-react': { name: 'Node + React.js + SQLite(Payment)', @@ -76,7 +76,8 @@ export const INIT_ACTIONS = { export const LAUNCH_TYPES = { COMPANY: 'Company', APPLICATION: 'Application', - PAYMENT: 'Payment' + PAYMENT: 'Payment', + LOGISTICS: 'Logistics' }; export function getRepoUrlForTemplate(templateName: string) { @@ -98,6 +99,10 @@ export function getTemplateChoices(launchType: string) { return Object.entries(TEMPLATES) .filter(([_, template]) => template.launchTypes.some(t => t.toLowerCase() === type)) .map(([_, template]) => template.name); + } else if (type === LAUNCH_TYPES.LOGISTICS.toLowerCase()) { + return Object.entries(TEMPLATES) + .filter(([_, template]) => template.launchTypes.some(t => t.toLowerCase() === type)) + .map(([_, template]) => template.name); } // Default to COMPANY if not matched return Object.entries(TEMPLATES)