@adobedjangir/commerce-admin-management 0.0.10 → 0.0.12
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/package.json +1 -1
- package/scripts/setup.js +46 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adobedjangir/commerce-admin-management",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.12",
|
|
4
4
|
"description": "Schema-driven system configuration for Adobe Commerce App Builder sync apps. Magento-style scoped config in Adobe App Builder Database (ABDB) with encryption, Commerce REST helpers, and React Admin UI.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Adobe Inc.",
|
package/scripts/setup.js
CHANGED
|
@@ -441,6 +441,45 @@ function setupWebSrc (projectRoot) {
|
|
|
441
441
|
return { changed, results }
|
|
442
442
|
}
|
|
443
443
|
|
|
444
|
+
/**
|
|
445
|
+
* Remove the aio `app init` boilerplate source directory for the
|
|
446
|
+
* dx/excshell/1 extension. We stripped its entry from app.config.yaml in
|
|
447
|
+
* patchAppConfig, but the matching scaffolded source tree at
|
|
448
|
+
* `src/dx-excshell-1/` is left behind. Delete it so its stale React-16
|
|
449
|
+
* code (with `react-error-boundary` default-import) doesn't get picked up
|
|
450
|
+
* by `aio app dev` or `npm install` peer-resolution.
|
|
451
|
+
*/
|
|
452
|
+
function stripExcshellSourceDir (projectRoot) {
|
|
453
|
+
const dir = path.join(projectRoot, 'src', 'dx-excshell-1')
|
|
454
|
+
const parent = path.join(projectRoot, 'src')
|
|
455
|
+
let changed = false
|
|
456
|
+
|
|
457
|
+
if (fs.existsSync(dir)) {
|
|
458
|
+
try {
|
|
459
|
+
fs.rmSync(dir, { recursive: true, force: true })
|
|
460
|
+
changed = true
|
|
461
|
+
} catch (err) {
|
|
462
|
+
return { changed: false, reason: `rm-failed: ${err.message}` }
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
// If src/ is now empty (or was never anything but dx-excshell-1) drop it
|
|
467
|
+
// too — leaving an empty src/ in the project root is just clutter. We
|
|
468
|
+
// never remove it when it still contains other files (the host's own
|
|
469
|
+
// code), so this is safe.
|
|
470
|
+
if (fs.existsSync(parent)) {
|
|
471
|
+
try {
|
|
472
|
+
const remaining = fs.readdirSync(parent).filter((n) => n !== '.DS_Store')
|
|
473
|
+
if (remaining.length === 0) {
|
|
474
|
+
fs.rmSync(parent, { recursive: true, force: true })
|
|
475
|
+
changed = true
|
|
476
|
+
}
|
|
477
|
+
} catch (_) { /* best effort */ }
|
|
478
|
+
}
|
|
479
|
+
|
|
480
|
+
return { changed, reason: changed ? 'removed' : 'absent' }
|
|
481
|
+
}
|
|
482
|
+
|
|
444
483
|
function setupAppConfig (projectRoot) {
|
|
445
484
|
const appConfigPath = path.join(projectRoot, 'app.config.yaml')
|
|
446
485
|
if (!fs.existsSync(appConfigPath)) {
|
|
@@ -477,6 +516,13 @@ function main () {
|
|
|
477
516
|
return
|
|
478
517
|
}
|
|
479
518
|
|
|
519
|
+
// Strip the leftover aio dx/excshell/1 source scaffold before anything
|
|
520
|
+
// else — its stale React-16 code conflicts with our React-18 bundle.
|
|
521
|
+
const excshell = stripExcshellSourceDir(projectRoot)
|
|
522
|
+
if (excshell.changed) {
|
|
523
|
+
console.log('[@adobedjangir/commerce-admin-management] removed src/dx-excshell-1/ (replaced by commerce/backend-ui/1)')
|
|
524
|
+
}
|
|
525
|
+
|
|
480
526
|
const app = setupAppConfig(projectRoot)
|
|
481
527
|
if (app.changed) {
|
|
482
528
|
console.log(
|