Skip to content

Commit 555c110

Browse files
committed
build: use the tar files for dependencies for e2e
This adds a new flag to the build script that sets the tar files path as dependencies inside the package.json before tarring the files.
1 parent 3aecfa7 commit 555c110

File tree

3 files changed

+35
-2
lines changed

3 files changed

+35
-2
lines changed

lib/packages.js

+1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ const packages =
2525
packages[name] = {
2626
dist: path.join(distRoot, pkg.name),
2727
packageJson: path.join(pkg.root, 'package.json'),
28+
distPackageJson: path.join(distRoot, pkg.name, 'package.json'),
2829
root: pkg.root,
2930
relative: path.relative(path.dirname(__dirname), pkg.root),
3031
main: path.resolve(pkg.root, 'src/index.ts'),

tests/e2e/setup/010-build.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ export default function() {
1212
return;
1313
}
1414

15-
return npm('run', 'build')
15+
return npm('run', 'build', '--', '--local')
1616
.then(() => console.log('Updating package.json from dist...'))
1717
.then(() => Promise.all(Object.keys(packages).map(pkgName => {
1818
return updateJsonFile(join(packages[pkgName].dist, 'package.json'), json => {

tools/publish/src/build.ts

+33-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ function getDeps(pkg: any): any {
5757
}
5858

5959

60-
export default function build(packagesToBuild: string[], _opts: any,
60+
export default function build(packagesToBuild: string[], opts: { local: boolean },
6161
logger: Logger): Promise<void> {
6262
const { packages, tools } = require('../../../lib/packages');
6363

@@ -227,6 +227,38 @@ export default function build(packagesToBuild: string[], _opts: any,
227227
return copy('LICENSE', path.join(pkg.dist, 'LICENSE'));
228228
}));
229229
})
230+
.then(() => {
231+
if (!opts.local) {
232+
return;
233+
}
234+
235+
logger.info('Changing dependencies between packages to tar files...');
236+
logger.warn('=================================================');
237+
logger.warn('= THIS SHOULD NOT BE USED FOR PUBLISHING TO NPM =');
238+
logger.warn('=================================================');
239+
240+
Object.keys(packages).forEach(pkgName => {
241+
const pkg = packages[pkgName];
242+
const json = JSON.parse(fs.readFileSync(pkg.packageJson).toString());
243+
244+
if (!json['dependencies']) {
245+
json['dependencies'] = {};
246+
}
247+
if (!json['devDependencies']) {
248+
json['devDependencies'] = {};
249+
}
250+
251+
for (const packageName of Object.keys(packages)) {
252+
if (json['dependencies'].hasOwnProperty(packageName)) {
253+
json['dependencies'][packageName] = packages[packageName].tar;
254+
} else if (json['devDependencies'].hasOwnProperty(packageName)) {
255+
json['devDependencies'][packageName] = packages[packageName].tar;
256+
}
257+
}
258+
259+
fs.writeFileSync(pkg.distPackageJson, JSON.stringify(json, null, 2));
260+
});
261+
})
230262
.then(() => {
231263
logger.info('Tarring all packages...');
232264

0 commit comments

Comments
 (0)