update-dependencies-versions.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #!/usr/bin/env node
  2. /**
  3. * @license Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
  4. * For licensing, see LICENSE.md.
  5. */
  6. /* eslint-env node */
  7. 'use strict';
  8. const path = require( 'path' );
  9. const { tools, logger } = require( '@ckeditor/ckeditor5-dev-utils' );
  10. const log = logger();
  11. const rootPath = path.join( __dirname, '..', '..' );
  12. const packageJsonPath = path.join( rootPath, 'package.json' );
  13. const mgitJson = require( path.join( rootPath, 'mgit.json' ) );
  14. log.info( 'Updating version of dependencies in "package.json"...' );
  15. tools.updateJSONFile( packageJsonPath, packageJson => {
  16. const dependencies = packageJson.dependencies;
  17. for ( const packageName of Object.keys( dependencies ) ) {
  18. if ( !mgitJson.dependencies[ packageName ] ) {
  19. log.warning( `Package "${ packageName }" is not defined in "mgit.json" and its version cannot be updated.` );
  20. continue;
  21. }
  22. const dependencyPath = path.join( rootPath, mgitJson.packages, packageName.split( '/' )[ 1 ] );
  23. const dependencyPackageJson = require( path.join( dependencyPath, 'package.json' ) );
  24. packageJson.dependencies[ dependencyPackageJson.name ] = '^' + dependencyPackageJson.version;
  25. }
  26. return packageJson;
  27. } );
  28. log.info( 'Done.' );