mirror of
https://github.com/facebook/lexical.git
synced 2025-08-06 16:39:33 +08:00
88 lines
2.6 KiB
JavaScript
88 lines
2.6 KiB
JavaScript
/**
|
|
* 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.
|
|
*/
|
|
|
|
'use strict';
|
|
|
|
const fs = require('fs-extra');
|
|
|
|
const packages = {
|
|
'@lexical/clipboard': 'lexical-clipboard',
|
|
'@lexical/code': 'lexical-code',
|
|
'@lexical/dragon': 'lexical-dragon',
|
|
'@lexical/file': 'lexical-file',
|
|
'@lexical/hashtag': 'lexical-hashtag',
|
|
'@lexical/headless': 'lexical-headless',
|
|
'@lexical/history': 'lexical-history',
|
|
'@lexical/html': 'lexical-html',
|
|
'@lexical/link': 'lexical-link',
|
|
'@lexical/list': 'lexical-list',
|
|
'@lexical/mark': 'lexical-mark',
|
|
'@lexical/markdown': 'lexical-markdown',
|
|
'@lexical/offset': 'lexical-offset',
|
|
'@lexical/overflow': 'lexical-overflow',
|
|
'@lexical/plain-text': 'lexical-plain-text',
|
|
'@lexical/react': 'lexical-react',
|
|
'@lexical/rich-text': 'lexical-rich-text',
|
|
'@lexical/selection': 'lexical-selection',
|
|
'@lexical/table': 'lexical-table',
|
|
'@lexical/text': 'lexical-text',
|
|
'@lexical/utils': 'lexical-utils',
|
|
'@lexical/yjs': 'lexical-yjs',
|
|
lexical: 'lexical',
|
|
'lexical-playground': 'lexical-playground',
|
|
shared: 'shared',
|
|
};
|
|
|
|
function updateVersion() {
|
|
const version = getVersionFromFile();
|
|
// update monorepo package.json version
|
|
const basePackageJSON = fs.readJsonSync(`./package.json`);
|
|
basePackageJSON.version = version;
|
|
fs.writeJsonSync(`./package.json`, basePackageJSON, {
|
|
spaces: 2,
|
|
});
|
|
// update individual packages
|
|
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.ts',
|
|
'utf8',
|
|
);
|
|
const regex = /VERSION = '(\d{1,3}\.\d{1,3}\.\d{1,3})'/;
|
|
const version = regex.exec(fileContent)[1];
|
|
return version;
|
|
}
|
|
|
|
updateVersion();
|