Skip to content

Commit d7d86b2

Browse files
committed
fix(core): declare native platform packages
1 parent 94aad06 commit d7d86b2

4 files changed

Lines changed: 126 additions & 0 deletions

File tree

packages/core/__tests__/build-artifacts.spec.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import url from 'node:url';
55
import { describe, expect, it } from 'vitest';
66

77
import cliPkgJson from '../../cli/package.json' with { type: 'json' };
8+
import corePkgJson from '../package.json' with { type: 'json' };
89
import {
910
getNativePlatformPackageName,
1011
getNativePlatformPackageNames,
@@ -45,6 +46,14 @@ describe('build artifacts', () => {
4546
]);
4647
});
4748

49+
it('declares Vite+ native packages as core optional dependencies', () => {
50+
for (const packageName of getNativePlatformPackageNames(cliPkgJson.napi.targets)) {
51+
expect(corePkgJson.optionalDependencies).toHaveProperty(packageName, corePkgJson.version);
52+
}
53+
54+
expect(corePkgJson.peerDependencies).not.toHaveProperty('vite-plus');
55+
});
56+
4857
it('rejects unsupported NAPI targets', () => {
4958
expect(() => getNativePlatformPackageName('wasm32-unknown-unknown')).toThrow(
5059
'Unsupported NAPI target architecture',

packages/core/build.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,15 @@ import { generateLicenseFile } from '../../scripts/generate-license.js';
2020
import viteRolldownConfig from '../../vite/packages/vite/rolldown.config.js';
2121
import { buildCjsDeps } from './build-support/build-cjs-deps.js';
2222
import { replaceThirdPartyCjsRequires } from './build-support/find-create-require.js';
23+
import { getNativePlatformPackageNames } from './build-support/native-platform-packages.js';
2324
import { RewriteImportsPlugin } from './build-support/rewrite-imports.js';
2425
import {
2526
createRolldownRewriteRules,
2627
createViteRewriteRules,
2728
rewriteModuleSpecifiers,
2829
type ReplacementRule,
2930
} from './build-support/rewrite-module-specifiers.js';
31+
import cliPkgJson from '../cli/package.json' with { type: 'json' };
3032
import pkgJson from './package.json' with { type: 'json' };
3133

3234
const projectDir = join(fileURLToPath(import.meta.url), '..');
@@ -784,6 +786,13 @@ async function mergePackageJson() {
784786
tsdown: tsdownPkg.version,
785787
};
786788

789+
destPkg.optionalDependencies = {
790+
...destPkg.optionalDependencies,
791+
...Object.fromEntries(
792+
getNativePlatformPackageNames(cliPkgJson.napi.targets).map((name) => [name, destPkg.version]),
793+
),
794+
};
795+
787796
const { code, errors } = await format(destPkgPath, JSON.stringify(destPkg, null, 2) + '\n', {
788797
sortPackageJson: true,
789798
});

packages/core/package.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,14 @@
206206
}
207207
},
208208
"optionalDependencies": {
209+
"@voidzero-dev/vite-plus-darwin-arm64": "0.2.2",
210+
"@voidzero-dev/vite-plus-darwin-x64": "0.2.2",
211+
"@voidzero-dev/vite-plus-linux-arm64-gnu": "0.2.2",
212+
"@voidzero-dev/vite-plus-linux-arm64-musl": "0.2.2",
213+
"@voidzero-dev/vite-plus-linux-x64-gnu": "0.2.2",
214+
"@voidzero-dev/vite-plus-linux-x64-musl": "0.2.2",
215+
"@voidzero-dev/vite-plus-win32-arm64-msvc": "0.2.2",
216+
"@voidzero-dev/vite-plus-win32-x64-msvc": "0.2.2",
209217
"fsevents": "~2.3.3"
210218
},
211219
"engines": {

pnpm-lock.yaml

Lines changed: 100 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)