Skip to content

Commit

Permalink
fix: no longer includes tag in sanity devDependency range
Browse files Browse the repository at this point in the history
  • Loading branch information
snorrees committed Nov 4, 2022
1 parent d66dd6c commit bd33294
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 13 deletions.
3 changes: 0 additions & 3 deletions src/actions/init.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
import path from 'path'
import {inject} from './inject'
import {ensureDir, writeFile} from '../util/files'
import {resolveLatestVersions} from '../npm/resolveLatestVersions'
import sharedFlags from '../sharedFlags'
import {TypedFlags} from 'meow'
import {getPackage} from '../npm/package'
import {defaultSourceJs, defaultSourceTs} from '../configs/default-source'
import {incompatiblePluginPackage} from '../constants'
import {forcedPackageVersions} from '../configs/forced-package-versions'

export const initFlags = {
...sharedFlags,
Expand Down
12 changes: 10 additions & 2 deletions src/configs/forced-package-versions.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,16 @@
const sanityVersion = '3.0.0-rc.0'

export const forcedPackageVersions = {
react: '^18',
'@types/react': '^18',
'react-dom': '^18',
'@types/react-dom': '^18',
sanity: 'dev-preview || 3.0.0-rc.0',
sanity: `dev-preview || ${sanityVersion}`,
'@sanity/ui': '1.0.0-beta.32',
} as const
}

export const forcedDevPackageVersions = {
...forcedPackageVersions,
// tagged release does not play nice with npm ci
sanity: sanityVersion,
}
22 changes: 14 additions & 8 deletions src/npm/package.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import {cliName, incompatiblePluginPackage} from '../constants'
import {InjectOptions, PackageData} from '../actions/inject'
import {expectedScripts} from '../actions/verify/validations'
import {PackageJson} from '../actions/verify/types'
import {forcedPackageVersions} from '../configs/forced-package-versions'
import {forcedDevPackageVersions, forcedPackageVersions} from '../configs/forced-package-versions'

const defaultDependencies = [incompatiblePluginPackage]

Expand Down Expand Up @@ -234,11 +234,14 @@ export async function writePackageJson(data: PackageData, options: InjectOptions
...(addDeps || {}),
...(await resolveLatestVersions(defaultDependencies)),
})
const devDependencies = forceDependencyVersions({
...(addDevDeps || {}),
...(prev.devDependencies || {}),
...(await resolveLatestVersions([...newDevDependencies, ...defaultDevDependencies])),
})
const devDependencies = forceDependencyVersions(
{
...(addDevDeps || {}),
...(prev.devDependencies || {}),
...(await resolveLatestVersions([...newDevDependencies, ...defaultDevDependencies])),
},
forcedDevPackageVersions
)
const peerDependencies = forceDependencyVersions({
...(prev.peerDependencies || {}),
...(addPeers || {}),
Expand Down Expand Up @@ -384,10 +387,13 @@ export function sortKeys<T extends Record<string, unknown>>(unordered: T): T {
}, {} as T)
}

function forceDependencyVersions(deps: Record<string, string>): Record<string, string> {
function forceDependencyVersions(
deps: Record<string, string>,
versions = forcedPackageVersions
): Record<string, string> {
const entries = Object.entries(deps).map((entry) => {
const [pkg] = entry
const forceVersion = forcedPackageVersions[pkg as keyof typeof forcedPackageVersions]
const forceVersion = versions[pkg as keyof typeof versions]
if (forceVersion) {
return [pkg, forceVersion]
}
Expand Down

0 comments on commit bd33294

Please sign in to comment.