Skip to content

Commit

Permalink
Merge pull request #1427 from embroider-build/test-setup-peers
Browse files Browse the repository at this point in the history
Use optional peer deps in @embroider/test-setup
  • Loading branch information
ef4 authored May 17, 2023
2 parents e891bf1 + d18dcd8 commit 3878f42
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 27 deletions.
22 changes: 19 additions & 3 deletions packages/test-setup/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,27 @@
"resolve": "^1.20.0"
},
"devDependencies": {
"@embroider/compat": "workspace:*",
"@embroider/core": "workspace:*",
"@embroider/webpack": "workspace:*",
"@embroider/compat": "workspace:^",
"@embroider/core": "workspace:^",
"@embroider/webpack": "workspace:^",
"@types/lodash": "^4.14.170"
},
"peerDependencies": {
"@embroider/compat": "workspace:^",
"@embroider/core": "workspace:^",
"@embroider/webpack": "workspace:^"
},
"peerDependenciesMeta": {
"@embroider/compat": {
"optional": true
},
"@embroider/core": {
"optional": true
},
"@embroider/webpack": {
"optional": true
}
},
"engines": {
"node": "12.* || 14.* || >= 16"
},
Expand Down
28 changes: 11 additions & 17 deletions packages/test-setup/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,15 @@ import type { Webpack } from '@embroider/webpack';
type EmberWebpackOptions = typeof Webpack extends PackagerConstructor<infer Options> ? Options : never;

// eslint-disable-next-line @typescript-eslint/no-require-imports
const currentEmbroiderVersion = `^${require('../package.json').version}`;
const ourPeerDeps = require('../package.json').peerDependencies;

const embroiderDevDeps = {
'@embroider/core': `^${ourPeerDeps['@embroider/core']}`,
'@embroider/webpack': `^${ourPeerDeps['@embroider/webpack']}`,
'@embroider/compat': `^${ourPeerDeps['@embroider/compat']}`,
// Webpack is a peer dependency of `@embroider/webpack`
webpack: '^5.0.0',
};

/*
Use this instead of `app.toTree()` in your ember-cli-build.js:
Expand Down Expand Up @@ -49,14 +57,7 @@ export function embroiderSafe(extension?: object) {
{
name: 'embroider-safe',
npm: {
devDependencies: {
'@embroider/core': currentEmbroiderVersion,
'@embroider/webpack': currentEmbroiderVersion,
'@embroider/compat': currentEmbroiderVersion,

// Webpack is a peer dependency of `@embroider/webpack`
webpack: '^5.0.0',
},
devDependencies: embroiderDevDeps,
},
env: {
EMBROIDER_TEST_SETUP_OPTIONS: 'safe',
Expand All @@ -71,14 +72,7 @@ export function embroiderOptimized(extension?: object) {
{
name: 'embroider-optimized',
npm: {
devDependencies: {
'@embroider/core': currentEmbroiderVersion,
'@embroider/webpack': currentEmbroiderVersion,
'@embroider/compat': currentEmbroiderVersion,

// Webpack is a peer dependency of `@embroider/webpack`
webpack: '^5.0.0',
},
devDependencies: embroiderDevDeps,
},
env: {
EMBROIDER_TEST_SETUP_OPTIONS: 'optimized',
Expand Down
14 changes: 7 additions & 7 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 3878f42

Please sign in to comment.