UNPKG

liferay-npm-bundler-preset-reactjs

Version:

liferay npm bundler preset react

44 lines (43 loc) 1.4 kB
"use strict"; /** * SPDX-FileCopyrightText: © 2020 Liferay, Inc. <https://liferay.com> * SPDX-License-Identifier: LGPL-3.0-or-later */ Object.defineProperty(exports, "__esModule", { value: true }); exports.ProjectType = void 0; var ProjectType; (function (ProjectType) { ProjectType["CREATE_REACT_APP"] = "create-react-app"; ProjectType["ANGULAR_CLI"] = "angular-cli"; ProjectType["VUE_CLI"] = "vue-cli"; })(ProjectType = exports.ProjectType || (exports.ProjectType = {})); /** * Reflects project type (React, Angular, ...) */ class Probe { constructor(project) { this._project = project; } /** * Return true if project is of type create-react-app * @return the project type or undefined if nothing detected */ get type() { if (this._hasDependency('react-scripts')) { return ProjectType.CREATE_REACT_APP; } if (this._hasDependency('@angular/cli')) { return ProjectType.ANGULAR_CLI; } if (this._hasDependency('@vue/cli-service')) { return ProjectType.VUE_CLI; } return undefined; } _hasDependency(pkgName) { const { pkgJson } = this._project; return ((pkgJson['dependencies'] && pkgJson['dependencies'][pkgName]) || (pkgJson['devDependencies'] && pkgJson['devDependencies'][pkgName])); } } exports.default = Probe;