From 1cbf2dfa64f0934487f7d084a02801be704a108c Mon Sep 17 00:00:00 2001 From: Arman Jivanyan Date: Fri, 13 Feb 2026 12:26:12 +0400 Subject: [PATCH 1/3] fix devextreme-schematics resolving logic --- .../src/applications/application.angular.js | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/packages/devextreme-cli/src/applications/application.angular.js b/packages/devextreme-cli/src/applications/application.angular.js index a05981c71..f2e2d5ef3 100644 --- a/packages/devextreme-cli/src/applications/application.angular.js +++ b/packages/devextreme-cli/src/applications/application.angular.js @@ -220,13 +220,9 @@ const migrateConfigComponents = async(options = {}) => { commandArguments.push('-p', '@angular-devkit/schematics-cli'); } - if(!collectionPath) { - commandArguments.push('-p', `${collectionName}@${schematicsVersion}`); - } + commandArguments.push('-p', `${collectionName}@${schematicsVersion}`); - const collectionSpecifier = collectionPath - ? `${collectionPath.replace(/\\/g, '/')}:migrate-config-components` - : `${collectionName}:migrate-config-components`; + const collectionSpecifier = `${collectionName}:migrate-config-components`; commandArguments.push('schematics', collectionSpecifier); From 29b719971fd56ba108b633f099cbf1fc5368ed04 Mon Sep 17 00:00:00 2001 From: Arman Jivanyan Date: Fri, 13 Feb 2026 12:40:39 +0400 Subject: [PATCH 2/3] cover case with installed schematics-cli --- .../src/applications/application.angular.js | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/packages/devextreme-cli/src/applications/application.angular.js b/packages/devextreme-cli/src/applications/application.angular.js index f2e2d5ef3..cdfda5f53 100644 --- a/packages/devextreme-cli/src/applications/application.angular.js +++ b/packages/devextreme-cli/src/applications/application.angular.js @@ -88,15 +88,6 @@ function getCollectionPath(packageName) { return null; } -function schematicsCliExists() { - try { - require.resolve('@angular-devkit/schematics-cli/package.json'); - return true; - } catch(e) { - return false; - } -} - const hasSutableNgCli = async() => { const localVersion = ngVersion.getLocalNgVersion(); @@ -213,13 +204,9 @@ const migrateConfigComponents = async(options = {}) => { ...options }; - const hasSchematicsCli = schematicsCliExists(); const commandArguments = ['--yes']; - if(!hasSchematicsCli) { - commandArguments.push('-p', '@angular-devkit/schematics-cli'); - } - + commandArguments.push('-p', '@angular-devkit/schematics-cli'); commandArguments.push('-p', `${collectionName}@${schematicsVersion}`); const collectionSpecifier = `${collectionName}:migrate-config-components`; From 7b3ff14a108a430831dcd12160283d55b6bef041 Mon Sep 17 00:00:00 2001 From: Arman Jivanyan Date: Fri, 13 Feb 2026 12:56:19 +0400 Subject: [PATCH 3/3] Remove unnecessary install prompt and related logic --- .../src/applications/application.angular.js | 44 ------------------- 1 file changed, 44 deletions(-) diff --git a/packages/devextreme-cli/src/applications/application.angular.js b/packages/devextreme-cli/src/applications/application.angular.js index cdfda5f53..6a6821431 100644 --- a/packages/devextreme-cli/src/applications/application.angular.js +++ b/packages/devextreme-cli/src/applications/application.angular.js @@ -63,31 +63,6 @@ function localPackageExists(packageName) { return false; } -function getLocalCollectionPath(packageName) { - const nodeModulesPath = path.join(process.cwd(), 'node_modules', packageName, 'src', 'collection.json'); - if(fs.existsSync(nodeModulesPath)) { - return nodeModulesPath; - } - return null; -} - -function getCollectionPath(packageName) { - const localPath = getLocalCollectionPath(packageName); - if(localPath) { - return localPath; - } - - try { - const packageJsonPath = require.resolve(`${packageName}/package.json`); - const collectionPath = path.join(path.dirname(packageJsonPath), 'src', 'collection.json'); - if(fs.existsSync(collectionPath)) { - return collectionPath; - } - } catch(e) {} - - return null; -} - const hasSutableNgCli = async() => { const localVersion = ngVersion.getLocalNgVersion(); @@ -180,25 +155,6 @@ const addView = (viewName, options) => { const migrateConfigComponents = async(options = {}) => { const collectionName = 'devextreme-schematics'; - const collectionPath = getCollectionPath(collectionName); - - if(!collectionPath) { - const prompts = require('prompts'); - - console.log(`\nRequired package is missing: '${collectionName}'`); - - const response = await prompts({ - type: 'confirm', - name: 'install', - message: `Would you like to install '${collectionName}@${schematicsVersion}' in the npm cache?`, - initial: true - }); - - if(!response.install) { - console.log('Migration was canceled.'); - process.exit(1); - } - } const schematicOptions = { ...options