Add script to update package versions (#1287)

* add script to update package versions

* add indentation
This commit is contained in:
Acy Watson
2022-02-21 10:08:28 -08:00
committed by acywatson
parent c75a469e3a
commit 569699e16c
5 changed files with 70 additions and 4 deletions

View File

@ -81,7 +81,8 @@
"prepare-release": "npm run build-release && node ./scripts/npm/prepare-release.js",
"prepare": "husky install",
"prepare-size-compare": "npm run build-prod && node ./scripts/npm/prepare-size-compare.js",
"release": "npm run prepare-release && node ./scripts/npm/release.js"
"release": "npm run prepare-release && node ./scripts/npm/release.js",
"update-version": "node ./scripts/updateVersion"
},
"devDependencies": {
"@babel/plugin-transform-flow-strip-types": "^7.14.5",

View File

@ -10,8 +10,6 @@
import type {ElementFormatType} from './nodes/base/LexicalElementNode';
import type {TextFormatType, TextModeType} from './nodes/base/LexicalTextNode';
export const VERSION = '0.1.9';
// DOM
export const DOM_ELEMENT_TYPE = 1;
export const DOM_TEXT_TYPE = 3;

View File

@ -0,0 +1,10 @@
/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @flow strict
*/
export const VERSION = '0.1.9';

View File

@ -7,7 +7,6 @@
* @flow strict
*/
import {VERSION} from './LexicalConstants';
import {createEditor} from './LexicalEditor';
import {$createNodeFromParse} from './LexicalParsing';
import {
@ -27,6 +26,7 @@ import {
$setCompositionKey,
$setSelection,
} from './LexicalUtils';
import {VERSION} from './LexicalVersion';
import {
$isDecoratorNode,
createDecoratorArray,

57
scripts/updateVersion.js Normal file
View File

@ -0,0 +1,57 @@
'use strict';
const fs = require('fs-extra');
const packages = {
'@lexical/file': 'lexical-file',
'@lexical/helpers': 'lexical-helpers',
'@lexical/list': 'lexical-list',
'@lexical/react': 'lexical-react',
'@lexical/table': 'lexical-table',
'@lexical/yjs': 'lexical-yjs',
lexical: 'lexical',
'lexical-playground': 'lexical-playground',
shared: 'shared',
};
function updateVersion() {
const version = getVersionFromFile();
Object.values(packages).forEach((pkg) => {
const packageJSON = fs.readJsonSync(`./packages/${pkg}/package.json`);
packageJSON.version = version;
updateDependencies(packageJSON, version);
fs.writeJsonSync(`./packages/${pkg}/package.json`, packageJSON, {
spaces: 2,
});
});
}
function updateDependencies(packageJSON, version) {
const {dependencies, peerDependencies} = packageJSON;
if (dependencies !== undefined) {
Object.keys(dependencies).forEach((dep) => {
if (packages[dep] !== undefined) {
dependencies[dep] = version;
}
});
}
if (peerDependencies !== undefined) {
Object.keys(peerDependencies).forEach((peerDep) => {
if (packages[peerDep] !== undefined) {
peerDependencies[peerDep] = version;
}
});
}
}
function getVersionFromFile() {
const fileContent = fs.readFileSync(
'./packages/lexical/src/LexicalVersion.js',
'utf8',
);
const regex = /VERSION = '(\d{1,3}\.\d{1,3}\.\d{1,3})'/;
const version = regex.exec(fileContent)[1];
return version;
}
updateVersion();