|
|
@@ -0,0 +1,42 @@
|
|
|
+#!/usr/bin/env node
|
|
|
+
|
|
|
+/**
|
|
|
+ * @license Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
|
|
|
+ * For licensing, see LICENSE.md.
|
|
|
+ */
|
|
|
+
|
|
|
+/* eslint-env node */
|
|
|
+
|
|
|
+'use strict';
|
|
|
+
|
|
|
+const path = require( 'path' );
|
|
|
+const { tools, logger } = require( '@ckeditor/ckeditor5-dev-utils' );
|
|
|
+
|
|
|
+const log = logger();
|
|
|
+const rootPath = path.join( __dirname, '..', '..' );
|
|
|
+const packageJsonPath = path.join( rootPath, 'package.json' );
|
|
|
+
|
|
|
+const mgitJson = require( path.join( rootPath, 'mgit.json' ) );
|
|
|
+
|
|
|
+log.info( 'Updating version of dependencies in "package.json"...' );
|
|
|
+
|
|
|
+tools.updateJSONFile( packageJsonPath, packageJson => {
|
|
|
+ const dependencies = packageJson.dependencies;
|
|
|
+
|
|
|
+ for ( const packageName of Object.keys( dependencies ) ) {
|
|
|
+ if ( !mgitJson.dependencies[ packageName ] ) {
|
|
|
+ log.warning( `Package "${ packageName }" is not defined in "mgit.json" and its version cannot be updated.` );
|
|
|
+
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ const dependencyPath = path.join( rootPath, mgitJson.packages, packageName.split( '/' )[ 1 ] );
|
|
|
+ const dependencyPackageJson = require( path.join( dependencyPath, 'package.json' ) );
|
|
|
+
|
|
|
+ packageJson.dependencies[ dependencyPackageJson.name ] = '^' + dependencyPackageJson.version;
|
|
|
+ }
|
|
|
+
|
|
|
+ return packageJson;
|
|
|
+} );
|
|
|
+
|
|
|
+log.info( 'Done.' );
|