diff --git a/.changeset/tasty-paws-cover.md b/.changeset/tasty-paws-cover.md new file mode 100644 index 00000000..f178ef35 --- /dev/null +++ b/.changeset/tasty-paws-cover.md @@ -0,0 +1,5 @@ +--- +"dmno": patch +--- + +Remove undefined items from `dmno resolve --format env` output diff --git a/.github/workflows/release-preview.yaml b/.github/workflows/release-preview.yaml index 8c296c2a..a502dd31 100644 --- a/.github/workflows/release-preview.yaml +++ b/.github/workflows/release-preview.yaml @@ -29,7 +29,7 @@ jobs: - name: Install node deps run: pnpm i - name: Enable turborepo build cache - uses: rharkor/caching-for-turbo@v1.5 + uses: rharkor/caching-for-turbo@v2.3.2 - name: Build publishable DMNO modules run: pnpm build:libs diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index ce645332..46b4b667 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -25,7 +25,7 @@ jobs: - name: Install node deps run: pnpm i - name: Enable turborepo build cache - uses: rharkor/caching-for-turbo@v1.5 + uses: rharkor/caching-for-turbo@v2.3.2 - name: Create Release Pull Request or Publish to npm id: changesets uses: changesets/action@v1 diff --git a/packages/core/src/cli/lib/env-file-helpers.test.ts b/packages/core/src/cli/lib/env-file-helpers.test.ts index 4e0af09d..0b9136e5 100644 --- a/packages/core/src/cli/lib/env-file-helpers.test.ts +++ b/packages/core/src/cli/lib/env-file-helpers.test.ts @@ -18,4 +18,8 @@ describe('stringifyObjectAsEnvFile', () => { const result = stringifyObjectAsEnvFile({ foo: 'bar"baz' }); expect(result).toEqual('foo="bar\\"baz"'); }); + test('excludes undefined values', () => { + const result = stringifyObjectAsEnvFile({ foo: 'bar', baz: undefined, qux: 'test' }); + expect(result).toEqual('foo="bar"\nqux="test"'); + }); }); diff --git a/packages/core/src/cli/lib/env-file-helpers.ts b/packages/core/src/cli/lib/env-file-helpers.ts index bb898f62..aa669bbc 100644 --- a/packages/core/src/cli/lib/env-file-helpers.ts +++ b/packages/core/src/cli/lib/env-file-helpers.ts @@ -1,11 +1,13 @@ export function stringifyObjectAsEnvFile(obj: Record) { - return Object.entries(obj).map(([key, value]) => { - // Handle newlines and quotes by wrapping in double quotes and escaping - const formattedValue = String(value) - .replace(/\\/g, '\\\\') // escape backslashes first - .replace(/\n/g, '\\n') // escape newlines - .replace(/"/g, '\\"'); // escape double quotes + return Object.entries(obj) + .filter(([_key, value]) => value !== undefined) // Exclude undefined values + .map(([key, value]) => { + // Handle newlines and quotes by wrapping in double quotes and escaping + const formattedValue = String(value) + .replace(/\\/g, '\\\\') // escape backslashes first + .replace(/\n/g, '\\n') // escape newlines + .replace(/"/g, '\\"'); // escape double quotes - return `${key}="${formattedValue}"`; - }).join('\n'); + return `${key}="${formattedValue}"`; + }).join('\n'); }