@storm-software/workspace-tools
Version:
Tools for managing a Storm workspace, including various Nx generators and executors for common development tasks.
94 lines (78 loc) • 3.11 kB
JavaScript
;Object.defineProperty(exports, "__esModule", {value: true});
var _chunkHTGUYSQTjs = require('./chunk-HTGUYSQT.js');
var _chunkUHTWNVEZjs = require('./chunk-UHTWNVEZ.js');
var _chunkCQDBLKPFjs = require('./chunk-CQDBLKPF.js');
// src/utils/package-helpers.ts
var _devkit = require('@nx/devkit');
var _child_process = require('child_process');
var _fs = require('fs');
var _promises = require('fs/promises');
var _path = require('path');
var _prettier = require('prettier');
var PackageManagerTypes = {
PackageJson: "package.json",
CargoToml: "Cargo.toml"
};
var getPackageInfo = (project) => {
if (_chunkUHTWNVEZjs.isEqualProjectTag.call(void 0,
project,
_chunkUHTWNVEZjs.ProjectTagConstants.Language.TAG_ID,
_chunkUHTWNVEZjs.ProjectTagConstants.Language.RUST
) && _fs.existsSync.call(void 0, _devkit.joinPathFragments.call(void 0, project.root, "Cargo.toml"))) {
return {
type: "Cargo.toml",
content: _chunkHTGUYSQTjs.parseCargoToml.call(void 0, _devkit.joinPathFragments.call(void 0, project.root, "Cargo.toml"))
};
} else if (_chunkUHTWNVEZjs.isEqualProjectTag.call(void 0,
project,
_chunkUHTWNVEZjs.ProjectTagConstants.Language.TAG_ID,
_chunkUHTWNVEZjs.ProjectTagConstants.Language.TYPESCRIPT
) && _fs.existsSync.call(void 0, _devkit.joinPathFragments.call(void 0, project.root, "package.json"))) {
return {
type: "package.json",
content: _devkit.readJsonFile.call(void 0,
_devkit.joinPathFragments.call(void 0, project.root, "package.json")
)
};
}
return null;
};
async function addPackageJsonGitHead(packageRoot) {
const packageJsonPath = _chunkCQDBLKPFjs.joinPaths.call(void 0, packageRoot, "package.json");
if (!packageJsonPath) {
throw new Error(
"No file path provided. Please provide a valid path to the package.json file."
);
}
const packageJsonValue = JSON.parse(await _promises.readFile.call(void 0, packageJsonPath, "utf8"));
if (!packageJsonValue || typeof packageJsonValue !== "object") {
throw new Error(
`Invalid package.json file at ${packageJsonPath}. Please ensure it is a valid JSON file.`
);
}
const gitHead = _child_process.execFileSync.call(void 0, "git", ["rev-parse", "HEAD"], {
cwd: _path.dirname.call(void 0, _path.resolve.call(void 0, packageJsonPath)),
encoding: "utf8"
}).trim();
packageJsonValue.gitHead = gitHead;
return _promises.writeFile.call(void 0,
packageJsonPath,
await _prettier.format.call(void 0, JSON.stringify(packageJsonValue), {
parser: "json",
proseWrap: "preserve",
trailingComma: "none",
tabWidth: 2,
semi: true,
singleQuote: false,
quoteProps: "as-needed",
insertPragma: false,
bracketSameLine: true,
printWidth: 80,
bracketSpacing: true,
arrowParens: "avoid",
endOfLine: "lf",
plugins: ["prettier-plugin-packagejson"]
})
);
}
exports.PackageManagerTypes = PackageManagerTypes; exports.getPackageInfo = getPackageInfo; exports.addPackageJsonGitHead = addPackageJsonGitHead;