js2me-exports-post-build-script
Advanced tools
Comparing version
{ | ||
"name": "js2me-exports-post-build-script", | ||
"version": "2.0.6", | ||
"version": "2.0.7", | ||
"description": "", | ||
@@ -68,2 +68,7 @@ "main": "./index.js", | ||
}, | ||
"./utils/update-package-version": { | ||
"import": "./utils/update-package-version.js", | ||
"default": "./utils/update-package-version.js", | ||
"types": "./utils/update-package-version.d.ts" | ||
}, | ||
"./package.json": "./package.json" | ||
@@ -79,4 +84,6 @@ }, | ||
"build": "tsc && node ./post-build.mjs", | ||
"pub": "PUBLISH=true pnpm run build" | ||
"pub:patch": "PUBLISH=true PUBLISH_VERSION=patch pnpm run build", | ||
"pub:minor": "PUBLISH=true PUBLISH_VERSION=minor pnpm run build", | ||
"pub:major": "PUBLISH=true PUBLISH_VERSION=major pnpm run build" | ||
} | ||
} |
@@ -5,3 +5,3 @@ import { PostBuildScriptConfig } from './types.js'; | ||
*/ | ||
export declare const postBuildScript: ({ buildDir, rootDir, filesToCopy, srcDirName, filterExportsPathFn, patchPackageJson, onPackageVersionChanged, }: PostBuildScriptConfig) => void; | ||
export declare const postBuildScript: ({ buildDir, rootDir, filesToCopy, srcDirName, filterExportsPathFn, patchPackageJson, onPackageVersionChanged, updateVersion, }: PostBuildScriptConfig) => void; | ||
//# sourceMappingURL=post-build-script.d.ts.map |
import * as utils from './utils/fs.js'; | ||
import { getPackageVersionDiff } from './utils/get-package-version-diff.js'; | ||
import { updatePackageVersion } from './utils/update-package-version.js'; | ||
const { $, fs, path, readFile, scanDir, writeFile } = utils; | ||
@@ -64,3 +65,3 @@ const buildExportsMap = (targetPath, exportsMap, srcDirName, filterExportsPathFunction) => { | ||
*/ | ||
export const postBuildScript = ({ buildDir, rootDir = '.', filesToCopy = [], srcDirName = 'src', filterExportsPathFn = defaultFilterExportsPathFunction, patchPackageJson, onPackageVersionChanged, }) => { | ||
export const postBuildScript = ({ buildDir, rootDir = '.', filesToCopy = [], srcDirName = 'src', filterExportsPathFn = defaultFilterExportsPathFunction, patchPackageJson, onPackageVersionChanged, updateVersion, }) => { | ||
const packageJson = JSON.parse(readFile(`${rootDir}/package.json`).toString()); | ||
@@ -91,3 +92,32 @@ filesToCopy?.forEach((file) => { | ||
writeFile(`${buildDir}/package.json`, JSON.stringify(patchedPackageJson, null, 2)); | ||
const versionsDiff = getPackageVersionDiff(`${rootDir}/package.json`); | ||
let versionsDiff = getPackageVersionDiff(`${rootDir}/package.json`); | ||
if (!versionsDiff && updateVersion) { | ||
switch (updateVersion) { | ||
case 'major': { | ||
packageJson.version = updatePackageVersion(packageJson.version, 'major'); | ||
patchedPackageJson.version = packageJson.version; | ||
writeFile(`${rootDir}/package.json`, JSON.stringify(packageJson, null, 2)); | ||
writeFile(`${buildDir}/package.json`, JSON.stringify(patchedPackageJson, null, 2)); | ||
break; | ||
} | ||
case 'minor': { | ||
packageJson.version = updatePackageVersion(packageJson.version, 'minor'); | ||
patchedPackageJson.version = packageJson.version; | ||
writeFile(`${rootDir}/package.json`, JSON.stringify(packageJson, null, 2)); | ||
writeFile(`${buildDir}/package.json`, JSON.stringify(patchedPackageJson, null, 2)); | ||
break; | ||
} | ||
case 'patch': { | ||
packageJson.version = updatePackageVersion(packageJson.version, 'patch'); | ||
patchedPackageJson.version = packageJson.version; | ||
writeFile(`${rootDir}/package.json`, JSON.stringify(packageJson, null, 2)); | ||
writeFile(`${buildDir}/package.json`, JSON.stringify(patchedPackageJson, null, 2)); | ||
break; | ||
} | ||
default: { | ||
break; | ||
} | ||
} | ||
versionsDiff = getPackageVersionDiff(`${rootDir}/package.json`); | ||
} | ||
if (versionsDiff) { | ||
@@ -94,0 +124,0 @@ onPackageVersionChanged?.(versionsDiff.nextVersion, versionsDiff.prevVersion, utils); |
@@ -33,2 +33,3 @@ import * as fsUtils from './utils/fs.js'; | ||
onPackageVersionChanged?: (nextVersion: string, currentVersion: string | null, utils: FsUtils) => void; | ||
updateVersion?: 'minor' | 'major' | 'patch'; | ||
} | ||
@@ -35,0 +36,0 @@ export interface PublishScriptConfig { |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
21205
17.26%33
10%332
21.61%