> combino@1.9.1 test > vitest run --testNamePattern=plugma-bug-2 RUN v1.6.1 /Users/gavinmcfarland/Developer/repos/combino/packages/combino stdout | tests/generic.test.ts > Combino Integration Test Suite > plugma-bug-2: Basic merge test with default configuration DEBUG: Processing templatePath: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/examples/plugin-blank-w-ui -> /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/examples/plugin-blank-w-ui stdout | tests/generic.test.ts > Combino Integration Test Suite > plugma-bug-2: Basic merge test with default configuration DEBUG: resolveTemplate - Processing includes from config: [ '../../base' ] DEBUG: Processing conditional include: ../../base -> undefined DEBUG: TemplateResolver - Resolved physical source: ../../base DEBUG: TemplateResolver - Path resolution: - templatePath: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/examples/plugin-blank-w-ui - resolvedPhysicalSource: ../../base - includeSourcePath: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/base DEBUG: TemplateResolver - Checking resolved path: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/base DEBUG: TemplateResolver - Resolved path exists: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/base stdout | tests/generic.test.ts > Combino Integration Test Suite > plugma-bug-2: Basic merge test with default configuration DEBUG: TemplateResolver - Include config loaded: { merge: { '**/*.json': { strategy: 'deep' } }, data: { mainDir: 'src/main', uiDir: 'src/ui' }, layout: [ './' ], include: [ { source: '../frameworks/react/components', target: 'src/ui/components' }, { source: '../frameworks/react/assets', target: 'src/ui/assets' }, { source: '../typescript[typescript]/tsconfig.main.json', target: 'src/main/tsconfig.json' }, { source: '../frameworks/[framework]/[typescript]/tsconfig.ui.json[hasUI]', target: 'src/ui/tsconfig.json' }, { source: '../typescript[typescript]/tsconfig.ui.json[hasUI]', target: 'src/ui/tsconfig.json' } ] } stdout | tests/generic.test.ts > Combino Integration Test Suite > plugma-bug-2: Basic merge test with default configuration DEBUG: TemplateResolver - Include files loaded: 10 files DEBUG: TemplateResolver - Mapping include file: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/base/~.gitignore -> .gitignore DEBUG: TemplateResolver - Mapping include file: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/base/vite.config.ts -> vite.config.ts DEBUG: TemplateResolver - Mapping include file: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/base/package.json -> package.json DEBUG: TemplateResolver - Mapping include file: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/base/manifest.json -> manifest.json DEBUG: TemplateResolver - Mapping include file: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/base/README.md -> README.md DEBUG: TemplateResolver - Mapping include file: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/base/src/vite-env.d.ts -> src/vite-env.d.ts DEBUG: TemplateResolver - Mapping include file: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/base/src/ui[hasUI]/styles.css -> src/ui[hasUI]/styles.css DEBUG: TemplateResolver - Mapping include file: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/base/src/ui[hasUI]/[framework=="vue"]/ui.ts -> src/ui[hasUI]/[framework=="vue"]/ui.ts DEBUG: TemplateResolver - Mapping include file: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/base/src/ui[hasUI]/[framework=="svelte"]/ui.ts -> src/ui[hasUI]/[framework=="svelte"]/ui.ts DEBUG: TemplateResolver - Mapping include file: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/base/src/ui[hasUI]/[framework=="react"]/ui.tsx -> src/ui[hasUI]/[framework=="react"]/ui.tsx DEBUG: TemplateResolver - Added 10 files from include: ../../base -> undefined stdout | tests/generic.test.ts > Combino Integration Test Suite > plugma-bug-2: Basic merge test with default configuration DEBUG: Processing templatePath: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/frameworks/react -> /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/frameworks/react stdout | tests/generic.test.ts > Combino Integration Test Suite > plugma-bug-2: Basic merge test with default configuration DEBUG: Processing templatePath: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/typescript -> /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/typescript stdout | tests/generic.test.ts > Combino Integration Test Suite > plugma-bug-2: Basic merge test with default configuration DEBUG: Processing templatePath: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/base -> /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/base stdout | tests/generic.test.ts > Combino Integration Test Suite > plugma-bug-2: Basic merge test with default configuration DEBUG: resolveTemplate - Processing includes from config: [ { source: '../frameworks/react/components', target: 'src/ui/components' }, { source: '../frameworks/react/assets', target: 'src/ui/assets' }, { source: '../typescript[typescript]/tsconfig.main.json', target: 'src/main/tsconfig.json' }, { source: '../frameworks/[framework]/[typescript]/tsconfig.ui.json[hasUI]', target: 'src/ui/tsconfig.json' }, { source: '../typescript[typescript]/tsconfig.ui.json[hasUI]', target: 'src/ui/tsconfig.json' } ] DEBUG: Processing conditional include: ../frameworks/react/components -> src/ui/components DEBUG: TemplateResolver - Resolved physical source: ../frameworks/react/components DEBUG: TemplateResolver - Path resolution: - templatePath: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/base - resolvedPhysicalSource: ../frameworks/react/components - includeSourcePath: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/frameworks/react/components DEBUG: TemplateResolver - Checking resolved path: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/frameworks/react/components DEBUG: TemplateResolver - Resolved path exists: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/frameworks/react/components DEBUG: TemplateResolver - No include config found stdout | tests/generic.test.ts > Combino Integration Test Suite > plugma-bug-2: Basic merge test with default configuration DEBUG: TemplateResolver - Include files loaded: 3 files DEBUG: TemplateResolver - Mapping include file: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/frameworks/react/components/Input.tsx -> src/ui/components/Input.tsx DEBUG: TemplateResolver - Mapping include file: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/frameworks/react/components/Icon.tsx -> src/ui/components/Icon.tsx DEBUG: TemplateResolver - Mapping include file: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/frameworks/react/components/Button.tsx -> src/ui/components/Button.tsx DEBUG: TemplateResolver - Added 3 files from include: ../frameworks/react/components -> src/ui/components DEBUG: Processing conditional include: ../frameworks/react/assets -> src/ui/assets DEBUG: TemplateResolver - Resolved physical source: ../frameworks/react/assets DEBUG: TemplateResolver - Path resolution: - templatePath: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/base - resolvedPhysicalSource: ../frameworks/react/assets - includeSourcePath: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/frameworks/react/assets DEBUG: TemplateResolver - Checking resolved path: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/frameworks/react/assets DEBUG: TemplateResolver - Resolved path exists: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/frameworks/react/assets DEBUG: TemplateResolver - No include config found stdout | tests/generic.test.ts > Combino Integration Test Suite > plugma-bug-2: Basic merge test with default configuration DEBUG: TemplateResolver - Include files loaded: 1 files DEBUG: TemplateResolver - Mapping include file: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/frameworks/react/assets/react.svg -> src/ui/assets/react.svg DEBUG: TemplateResolver - Added 1 files from include: ../frameworks/react/assets -> src/ui/assets DEBUG: Processing conditional include: ../typescript/tsconfig.main.json -> src/main/tsconfig.json stdout | tests/generic.test.ts > Combino Integration Test Suite > plugma-bug-2: Basic merge test with default configuration DEBUG: TemplateResolver - Resolved physical source: ../typescript/tsconfig.main.json DEBUG: TemplateResolver - Path resolution: - templatePath: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/base - resolvedPhysicalSource: ../typescript/tsconfig.main.json - includeSourcePath: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/typescript/tsconfig.main.json DEBUG: TemplateResolver - Checking resolved path: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/typescript/tsconfig.main.json DEBUG: TemplateResolver - Resolved path exists: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/typescript/tsconfig.main.json DEBUG: TemplateResolver - No include config found DEBUG: TemplateResolver - Include files loaded: 1 files DEBUG: TemplateResolver - Mapping include file: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/typescript/tsconfig.main.json -> src/main/tsconfig.json DEBUG: TemplateResolver - Added 1 files from include: ../typescript/tsconfig.main.json -> src/main/tsconfig.json DEBUG: Processing conditional include: ../frameworks/react/tsconfig.ui.json -> src/ui/tsconfig.json stdout | tests/generic.test.ts > Combino Integration Test Suite > plugma-bug-2: Basic merge test with default configuration DEBUG: TemplateResolver - Resolved physical source: ../frameworks/react/[typescript]/tsconfig.ui.json DEBUG: TemplateResolver - Path resolution: - templatePath: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/base - resolvedPhysicalSource: ../frameworks/react/[typescript]/tsconfig.ui.json - includeSourcePath: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/frameworks/react/[typescript]/tsconfig.ui.json DEBUG: TemplateResolver - Checking resolved path: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/frameworks/react/[typescript]/tsconfig.ui.json DEBUG: TemplateResolver - Resolved path exists: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/frameworks/react/[typescript]/tsconfig.ui.json DEBUG: TemplateResolver - No include config found DEBUG: TemplateResolver - Include files loaded: 1 files DEBUG: TemplateResolver - Mapping include file: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/frameworks/react/[typescript]/tsconfig.ui.json -> src/ui/tsconfig.json DEBUG: TemplateResolver - Added 1 files from include: ../frameworks/react/tsconfig.ui.json -> src/ui/tsconfig.json DEBUG: Processing conditional include: ../typescript/tsconfig.ui.json -> src/ui/tsconfig.json DEBUG: TemplateResolver - Resolved physical source: ../typescript/tsconfig.ui[hasUI].json DEBUG: TemplateResolver - Path resolution: - templatePath: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/base - resolvedPhysicalSource: ../typescript/tsconfig.ui[hasUI].json - includeSourcePath: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/typescript/tsconfig.ui[hasUI].json DEBUG: TemplateResolver - Checking resolved path: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/typescript/tsconfig.ui[hasUI].json DEBUG: TemplateResolver - Resolved path exists: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/typescript/tsconfig.ui[hasUI].json DEBUG: TemplateResolver - No include config found DEBUG: TemplateResolver - Include files loaded: 1 files DEBUG: TemplateResolver - Mapping include file: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/typescript/tsconfig.ui[hasUI].json -> src/ui/tsconfig.json DEBUG: TemplateResolver - Added 1 files from include: ../typescript/tsconfig.ui.json -> src/ui/tsconfig.json DEBUG: Processing templatePath: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/frameworks/react/components -> /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/frameworks/react/components stdout | tests/generic.test.ts > Combino Integration Test Suite > plugma-bug-2: Basic merge test with default configuration DEBUG: Processing templatePath: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/frameworks/react/assets -> /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/frameworks/react/assets DEBUG: combineMergeConfigs - Template path: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/examples/plugin-blank-w-ui DEBUG: combineMergeConfigs - Template config: { meta: { name: 'Blank', description: 'A blank plugin to start from the ground up', type: 'plugin', uiFrameworks: [ 'svelte', 'vue', 'react' ], rank: 1000 }, include: [ '../../base' ], _resolvedExcludes: Set(4) { 'components', 'assets', 'tsconfig.ui.json[hasUI]', 'tsconfig.main.json' }, _resolvedIncludes: Set(0) {}, merge: { '**/*.json': { strategy: 'deep' } } } DEBUG: combineMergeConfigs - Adding merge config: { '**/*.json': { strategy: 'deep' } } DEBUG: combineMergeConfigs - Template path: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/frameworks/react DEBUG: combineMergeConfigs - Template config: { data: { 'vite.plugins': [ [Object] ] }, _resolvedExcludes: Set(4) { 'components', 'assets', 'tsconfig.ui.json[hasUI]', 'tsconfig.main.json' }, _resolvedIncludes: Set(0) {} } DEBUG: combineMergeConfigs - Template path: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/typescript DEBUG: combineMergeConfigs - Template config: undefined DEBUG: combineMergeConfigs - Template path: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/base DEBUG: combineMergeConfigs - Template config: { merge: { '**/*.json': { strategy: 'deep' } }, data: { mainDir: 'src/main', uiDir: 'src/ui' }, layout: [ './' ], include: [ { source: '../frameworks/react/components', target: 'src/ui/components' }, { source: '../frameworks/react/assets', target: 'src/ui/assets' }, { source: '../typescript[typescript]/tsconfig.main.json', target: 'src/main/tsconfig.json' }, { source: '../frameworks/[framework]/[typescript]/tsconfig.ui.json[hasUI]', target: 'src/ui/tsconfig.json' }, { source: '../typescript[typescript]/tsconfig.ui.json[hasUI]', target: 'src/ui/tsconfig.json' } ], _resolvedExcludes: Set(4) { 'components', 'assets', 'tsconfig.ui.json[hasUI]', 'tsconfig.main.json' }, _resolvedIncludes: Set(0) {} } DEBUG: combineMergeConfigs - Adding merge config: { '**/*.json': { strategy: 'deep' } } DEBUG: combineMergeConfigs - Final combined config: { '**/*.json': { strategy: 'deep' } } DEBUG: getMergeStrategy - File: .gitignore DEBUG: getMergeStrategy - Config: { '**/*.json': { strategy: 'deep' } } DEBUG: matchesPattern - ".gitignore" matches "**/*.json": false DEBUG: getMergeStrategy - Template config: { '**/*.json': { strategy: 'deep' } } DEBUG: getMergeStrategy - Testing pattern "**/*.json" against file ".gitignore" DEBUG: matchesPattern - ".gitignore" matches "**/*.json": false DEBUG: getMergeStrategy - Pattern "**/*.json" matches: false DEBUG: getMergeStrategy - No match found, using default: replace DEBUG: getMergeStrategy - File: vite.config.ts DEBUG: getMergeStrategy - Config: { '**/*.json': { strategy: 'deep' } } DEBUG: matchesPattern - "vite.config.ts" matches "**/*.json": false DEBUG: getMergeStrategy - Template config: { '**/*.json': { strategy: 'deep' } } DEBUG: getMergeStrategy - Testing pattern "**/*.json" against file "vite.config.ts" DEBUG: matchesPattern - "vite.config.ts" matches "**/*.json": false DEBUG: getMergeStrategy - Pattern "**/*.json" matches: false DEBUG: getMergeStrategy - No match found, using default: replace DEBUG: getMergeStrategy - File: package.json DEBUG: getMergeStrategy - Config: { '**/*.json': { strategy: 'deep' } } DEBUG: matchesPattern - "package.json" matches "**/*.json": true DEBUG: getMergeStrategy - File: manifest.json DEBUG: getMergeStrategy - Config: { '**/*.json': { strategy: 'deep' } } DEBUG: matchesPattern - "manifest.json" matches "**/*.json": true DEBUG: getMergeStrategy - File: README.md DEBUG: getMergeStrategy - Config: { '**/*.json': { strategy: 'deep' } } DEBUG: matchesPattern - "README.md" matches "**/*.json": false DEBUG: getMergeStrategy - Template config: { '**/*.json': { strategy: 'deep' } } DEBUG: getMergeStrategy - Testing pattern "**/*.json" against file "README.md" DEBUG: matchesPattern - "README.md" matches "**/*.json": false DEBUG: getMergeStrategy - Pattern "**/*.json" matches: false DEBUG: getMergeStrategy - No match found, using default: replace DEBUG: getMergeStrategy - File: src/vite-env.d.ts DEBUG: getMergeStrategy - Config: { '**/*.json': { strategy: 'deep' } } DEBUG: matchesPattern - "src/vite-env.d.ts" matches "**/*.json": false DEBUG: getMergeStrategy - Template config: { '**/*.json': { strategy: 'deep' } } DEBUG: getMergeStrategy - Testing pattern "**/*.json" against file "src/vite-env.d.ts" DEBUG: matchesPattern - "src/vite-env.d.ts" matches "**/*.json": false DEBUG: getMergeStrategy - Pattern "**/*.json" matches: false DEBUG: getMergeStrategy - No match found, using default: replace DEBUG: getMergeStrategy - File: src/ui[hasUI]/styles.css DEBUG: getMergeStrategy - Config: { '**/*.json': { strategy: 'deep' } } DEBUG: matchesPattern - "src/ui[hasUI]/styles.css" matches "**/*.json": false DEBUG: getMergeStrategy - Template config: { '**/*.json': { strategy: 'deep' } } DEBUG: getMergeStrategy - Testing pattern "**/*.json" against file "src/ui[hasUI]/styles.css" DEBUG: matchesPattern - "src/ui[hasUI]/styles.css" matches "**/*.json": false DEBUG: getMergeStrategy - Pattern "**/*.json" matches: false DEBUG: getMergeStrategy - No match found, using default: replace DEBUG: getMergeStrategy - File: src/ui[hasUI]/[framework=="react"]/ui.tsx DEBUG: getMergeStrategy - Config: { '**/*.json': { strategy: 'deep' } } DEBUG: matchesPattern - "src/ui[hasUI]/[framework=="react"]/ui.tsx" matches "**/*.json": false DEBUG: getMergeStrategy - Template config: { '**/*.json': { strategy: 'deep' } } DEBUG: getMergeStrategy - Testing pattern "**/*.json" against file "src/ui[hasUI]/[framework=="react"]/ui.tsx" DEBUG: matchesPattern - "src/ui[hasUI]/[framework=="react"]/ui.tsx" matches "**/*.json": false DEBUG: getMergeStrategy - Pattern "**/*.json" matches: false DEBUG: getMergeStrategy - No match found, using default: replace DEBUG: getMergeStrategy - File: src/ui/components/Input.tsx DEBUG: getMergeStrategy - Config: { '**/*.json': { strategy: 'deep' } } DEBUG: getMergeStrategy - Template config: { '**/*.json': { strategy: 'deep' } } DEBUG: getMergeStrategy - Testing pattern "**/*.json" against file "src/ui/components/Input.tsx" DEBUG: matchesPattern - "src/ui/components/Input.tsx" matches "**/*.json": false DEBUG: getMergeStrategy - Pattern "**/*.json" matches: false DEBUG: getMergeStrategy - No match found, using default: replace DEBUG: getMergeStrategy - File: src/ui/components/Icon.tsx DEBUG: getMergeStrategy - Config: { '**/*.json': { strategy: 'deep' } } DEBUG: getMergeStrategy - Template config: { '**/*.json': { strategy: 'deep' } } DEBUG: getMergeStrategy - Testing pattern "**/*.json" against file "src/ui/components/Icon.tsx" DEBUG: matchesPattern - "src/ui/components/Icon.tsx" matches "**/*.json": false DEBUG: getMergeStrategy - Pattern "**/*.json" matches: false DEBUG: getMergeStrategy - No match found, using default: replace DEBUG: getMergeStrategy - File: src/ui/components/Button.tsx DEBUG: getMergeStrategy - Config: { '**/*.json': { strategy: 'deep' } } DEBUG: getMergeStrategy - Template config: { '**/*.json': { strategy: 'deep' } } DEBUG: getMergeStrategy - Testing pattern "**/*.json" against file "src/ui/components/Button.tsx" DEBUG: matchesPattern - "src/ui/components/Button.tsx" matches "**/*.json": false DEBUG: getMergeStrategy - Pattern "**/*.json" matches: false DEBUG: getMergeStrategy - No match found, using default: replace DEBUG: getMergeStrategy - File: src/ui/assets/react.svg DEBUG: getMergeStrategy - Config: { '**/*.json': { strategy: 'deep' } } DEBUG: getMergeStrategy - Template config: { '**/*.json': { strategy: 'deep' } } DEBUG: getMergeStrategy - Testing pattern "**/*.json" against file "src/ui/assets/react.svg" DEBUG: matchesPattern - "src/ui/assets/react.svg" matches "**/*.json": false DEBUG: getMergeStrategy - Pattern "**/*.json" matches: false DEBUG: getMergeStrategy - No match found, using default: replace DEBUG: getMergeStrategy - File: manifest.json DEBUG: getMergeStrategy - Config: { '**/*.json': { strategy: 'deep' } } DEBUG: getMergeStrategy - Template config: { '**/*.json': { strategy: 'deep' } } DEBUG: getMergeStrategy - Testing pattern "**/*.json" against file "manifest.json" DEBUG: matchesPattern - "manifest.json" matches "**/*.json": true DEBUG: getMergeStrategy - Pattern "**/*.json" matches: true DEBUG: getMergeStrategy - Template config match: **/*.json -> deep DEBUG: getMergeStrategy - File: src/main/main.ts DEBUG: getMergeStrategy - Config: { '**/*.json': { strategy: 'deep' } } DEBUG: getMergeStrategy - Template config: { '**/*.json': { strategy: 'deep' } } DEBUG: getMergeStrategy - Testing pattern "**/*.json" against file "src/main/main.ts" DEBUG: matchesPattern - "src/main/main.ts" matches "**/*.json": false DEBUG: getMergeStrategy - Pattern "**/*.json" matches: false DEBUG: getMergeStrategy - No match found, using default: replace DEBUG: getMergeStrategy - File: src/ui/[framework=="react"]/App.tsx DEBUG: getMergeStrategy - Config: { '**/*.json': { strategy: 'deep' } } DEBUG: getMergeStrategy - Template config: { '**/*.json': { strategy: 'deep' } } DEBUG: getMergeStrategy - Testing pattern "**/*.json" against file "src/ui/[framework=="react"]/App.tsx" DEBUG: matchesPattern - "src/ui/[framework=="react"]/App.tsx" matches "**/*.json": false DEBUG: getMergeStrategy - Pattern "**/*.json" matches: false DEBUG: getMergeStrategy - No match found, using default: replace DEBUG: getMergeStrategy - File: package.json DEBUG: getMergeStrategy - Config: { '**/*.json': { strategy: 'deep' } } DEBUG: getMergeStrategy - Template config: { '**/*.json': { strategy: 'deep' } } DEBUG: getMergeStrategy - Testing pattern "**/*.json" against file "package.json" DEBUG: matchesPattern - "package.json" matches "**/*.json": true DEBUG: getMergeStrategy - Pattern "**/*.json" matches: true DEBUG: getMergeStrategy - Template config match: **/*.json -> deep DEBUG: getMergeStrategy - File: tsconfig.json DEBUG: getMergeStrategy - Config: { '**/*.json': { strategy: 'deep' } } DEBUG: getMergeStrategy - Template config: { '**/*.json': { strategy: 'deep' } } DEBUG: getMergeStrategy - Testing pattern "**/*.json" against file "tsconfig.json" DEBUG: matchesPattern - "tsconfig.json" matches "**/*.json": true DEBUG: getMergeStrategy - Pattern "**/*.json" matches: true DEBUG: getMergeStrategy - Template config match: **/*.json -> deep DEBUG: getMergeStrategy - File: package.json DEBUG: getMergeStrategy - Config: { '**/*.json': { strategy: 'deep' } } DEBUG: getMergeStrategy - Template config: { '**/*.json': { strategy: 'deep' } } DEBUG: getMergeStrategy - Testing pattern "**/*.json" against file "package.json" DEBUG: matchesPattern - "package.json" matches "**/*.json": true DEBUG: getMergeStrategy - Pattern "**/*.json" matches: true DEBUG: getMergeStrategy - Template config match: **/*.json -> deep DEBUG: getMergeStrategy - File: src/ui/components/Input.tsx DEBUG: getMergeStrategy - Config: { '**/*.json': { strategy: 'deep' } } DEBUG: getMergeStrategy - Template config: { '**/*.json': { strategy: 'deep' } } DEBUG: getMergeStrategy - Testing pattern "**/*.json" against file "src/ui/components/Input.tsx" DEBUG: matchesPattern - "src/ui/components/Input.tsx" matches "**/*.json": false DEBUG: getMergeStrategy - Pattern "**/*.json" matches: false DEBUG: getMergeStrategy - No match found, using default: replace DEBUG: getMergeStrategy - File: src/ui/components/Icon.tsx DEBUG: getMergeStrategy - Config: { '**/*.json': { strategy: 'deep' } } DEBUG: getMergeStrategy - Template config: { '**/*.json': { strategy: 'deep' } } DEBUG: getMergeStrategy - Testing pattern "**/*.json" against file "src/ui/components/Icon.tsx" DEBUG: matchesPattern - "src/ui/components/Icon.tsx" matches "**/*.json": false DEBUG: getMergeStrategy - Pattern "**/*.json" matches: false DEBUG: getMergeStrategy - No match found, using default: replace DEBUG: getMergeStrategy - File: src/ui/components/Button.tsx DEBUG: getMergeStrategy - Config: { '**/*.json': { strategy: 'deep' } } DEBUG: getMergeStrategy - Template config: { '**/*.json': { strategy: 'deep' } } DEBUG: getMergeStrategy - Testing pattern "**/*.json" against file "src/ui/components/Button.tsx" DEBUG: matchesPattern - "src/ui/components/Button.tsx" matches "**/*.json": false DEBUG: getMergeStrategy - Pattern "**/*.json" matches: false DEBUG: getMergeStrategy - No match found, using default: replace DEBUG: getMergeStrategy - File: src/ui/assets/react.svg DEBUG: getMergeStrategy - Config: { '**/*.json': { strategy: 'deep' } } DEBUG: getMergeStrategy - Template config: { '**/*.json': { strategy: 'deep' } } DEBUG: getMergeStrategy - Testing pattern "**/*.json" against file "src/ui/assets/react.svg" DEBUG: matchesPattern - "src/ui/assets/react.svg" matches "**/*.json": false DEBUG: getMergeStrategy - Pattern "**/*.json" matches: false DEBUG: getMergeStrategy - No match found, using default: replace DEBUG: getMergeStrategy - File: src/main/tsconfig.json DEBUG: getMergeStrategy - Config: { '**/*.json': { strategy: 'deep' } } DEBUG: getMergeStrategy - Template config: { '**/*.json': { strategy: 'deep' } } DEBUG: getMergeStrategy - Testing pattern "**/*.json" against file "src/main/tsconfig.json" DEBUG: matchesPattern - "src/main/tsconfig.json" matches "**/*.json": true DEBUG: getMergeStrategy - Pattern "**/*.json" matches: true DEBUG: getMergeStrategy - Template config match: **/*.json -> deep DEBUG: getMergeStrategy - File: src/ui/tsconfig.json DEBUG: getMergeStrategy - Config: { '**/*.json': { strategy: 'deep' } } DEBUG: getMergeStrategy - Template config: { '**/*.json': { strategy: 'deep' } } DEBUG: getMergeStrategy - Testing pattern "**/*.json" against file "src/ui/tsconfig.json" DEBUG: matchesPattern - "src/ui/tsconfig.json" matches "**/*.json": true DEBUG: getMergeStrategy - Pattern "**/*.json" matches: true DEBUG: getMergeStrategy - Template config match: **/*.json -> deep DEBUG: getMergeStrategy - File: src/ui/tsconfig.json DEBUG: getMergeStrategy - Config: { '**/*.json': { strategy: 'deep' } } DEBUG: getMergeStrategy - Template config: { '**/*.json': { strategy: 'deep' } } DEBUG: getMergeStrategy - Testing pattern "**/*.json" against file "src/ui/tsconfig.json" DEBUG: matchesPattern - "src/ui/tsconfig.json" matches "**/*.json": true DEBUG: getMergeStrategy - Pattern "**/*.json" matches: true DEBUG: getMergeStrategy - Template config match: **/*.json -> deep stdout | tests/generic.test.ts > Combino Integration Test Suite > plugma-bug-2: Basic merge test with default configuration DEBUG: FileWriter.mergeFiles - Final merged files: - .gitignore - vite.config.ts - package.json - manifest.json - README.md - src/vite-env.d.ts - src/ui/styles.css - src/ui//ui.tsx - src/ui/components/Input.tsx - src/ui/components/Icon.tsx - src/ui/components/Button.tsx - src/ui/assets/react.svg - src/main/main.ts - src/ui//App.tsx - tsconfig.json - src/main/tsconfig.json - src/ui/tsconfig.json DEBUG: FileWriter.mergeFiles - Full mergedFiles: [ { targetPath: '.gitignore', sourcePath: '/Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/base/~.gitignore' }, { targetPath: 'vite.config.ts', sourcePath: '/Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/base/vite.config.ts' }, { targetPath: 'package.json', sourcePath: '/Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/base/package.json' }, { targetPath: 'manifest.json', sourcePath: '/Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/base/manifest.json' }, { targetPath: 'README.md', sourcePath: '/Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/base/README.md' }, { targetPath: 'src/vite-env.d.ts', sourcePath: '/Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/base/src/vite-env.d.ts' }, { targetPath: 'src/ui/styles.css', sourcePath: '/Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/base/src/ui[hasUI]/styles.css' }, { targetPath: 'src/ui//ui.tsx', sourcePath: '/Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/base/src/ui[hasUI]/[framework=="react"]/ui.tsx' }, { targetPath: 'src/ui/components/Input.tsx', sourcePath: '/Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/frameworks/react/components/Input.tsx' }, { targetPath: 'src/ui/components/Icon.tsx', sourcePath: '/Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/frameworks/react/components/Icon.tsx' }, { targetPath: 'src/ui/components/Button.tsx', sourcePath: '/Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/frameworks/react/components/Button.tsx' }, { targetPath: 'src/ui/assets/react.svg', sourcePath: '/Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/frameworks/react/assets/react.svg' }, { targetPath: 'src/main/main.ts', sourcePath: '/Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/examples/plugin-blank-w-ui/src/main/main.ts' }, { targetPath: 'src/ui//App.tsx', sourcePath: '/Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/examples/plugin-blank-w-ui/src/ui/[framework=="react"]/App.tsx' }, { targetPath: 'tsconfig.json', sourcePath: '/Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/typescript/tsconfig.json' }, { targetPath: 'src/main/tsconfig.json', sourcePath: '/Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/typescript/tsconfig.main.json' }, { targetPath: 'src/ui/tsconfig.json', sourcePath: '/Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/input/frameworks/react/[typescript]/tsconfig.ui.json' } ] ❯ tests/generic.test.ts (58 tests | 1 failed | 57 skipped) 490ms ❯ tests/generic.test.ts > Combino Integration Test Suite > plugma-bug-2: Basic merge test with default configuration → Found 2 difference(s) between directories Differences found: - manifest.json: JSON content differs - package.json: JSON content differs Actual directory: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/output Expected directory: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/expected ⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯ FAIL tests/generic.test.ts > Combino Integration Test Suite > plugma-bug-2: Basic merge test with default configuration Error: Found 2 difference(s) between directories Differences found: - manifest.json: JSON content differs - package.json: JSON content differs Actual directory: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/output Expected directory: /Users/gavinmcfarland/Developer/repos/combino/packages/combino/tests/plugma-bug-2/expected ❯ Module.assertDirectoriesEqual src/utils/directory-compare.ts:196:9 194| ].join('\n'); 195| 196| throw new Error(errorMessage); | ^ 197| } 198| } ❯ tests/generic.test.ts:214:5 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ Test Files 1 failed (1) Tests 1 failed | 57 skipped (58) Start at 11:42:15 Duration 965ms (transform 234ms, setup 0ms, collect 287ms, tests 490ms, environment 0ms, prepare 54ms)