Я использую gulp и ищу родительскую папку в пакете. json и создаю папку в моем каталоге $ HOME на основе имени без пробелов и специальных символов.
Мой пакет. json скрипты работают, но я в настоящее время добавляю имена вручную, см. Ниже:
{
"name": "StarterProject",
"version": "1.0.0",
"description": "Starter Project",
"main": "index.html",
"scripts": {
"start": "run-s postinstall gulp",
"postinstall": "cd $HOME/Sites && mkdirp abtaxis && cd $HOME/Sites/abtaxis && valet secure",
"gulp": "gulp"
},
"author": "test",
"license": "ISC",
"devDependencies": {
"npm-run-all": "^4.1.5",
"ttab": "^0.6.1",
"gulp": "^4.0.2",
"browser-sync": "^2.26.7",
"del": "^5.1.0",
"gulp-sass": "^4.0.2",
"gulp-autoprefixer": "^7.0.1",
"gulp-clean-css": "4.2.0",
"cssnano": "^4.1.10",
"gulp-concat": "^2.6.1",
"gulp-embed-svg": "^1.2.0",
"gulp-htmlmin": "^5.0.1",
"gulp-imagemin": "^7.1.0",
"gulp-plumber": "^1.2.1",
"gulp-rename": "^2.0.0",
"gulp-sourcemaps": "^2.6.5",
"gulp-uglify": "^3.0.2",
"watch": "^1.0.2",
"gulp-postcss": "^8.0.0",
"gulp-file-include": "^2.1.1",
"mkdirp": "^1.0.3",
"gulp-replace": "^1.0.0"
},
"dependencies": {
"chai": "^4.2.0",
"node-sass": "^4.13.1"
}
}
Я использую gulp и ищу получить родительскую папку в пакете. json и создайте папку в моем каталоге $ HOME на основе имени без пробелов и специальных символов.
Мой пакет. json скрипты работают, но я в настоящее время добавляю имена вручную, см. ниже:
{
"name": "StarterProject",
"version": "1.0.0",
"description": "Starter Project",
"main": "index.html",
"scripts": {
"start": "run-s postinstall gulp",
"postinstall": "cd $HOME/Sites && mkdirp abtaxis && cd $HOME/Sites/abtaxis && valet secure",
"gulp": "gulp"
},
"author": "test",
"license": "ISC",
"devDependencies": {
"npm-run-all": "^4.1.5",
"ttab": "^0.6.1",
"gulp": "^4.0.2",
"browser-sync": "^2.26.7",
"del": "^5.1.0",
"gulp-sass": "^4.0.2",
"gulp-autoprefixer": "^7.0.1",
"gulp-clean-css": "4.2.0",
"cssnano": "^4.1.10",
"gulp-concat": "^2.6.1",
"gulp-embed-svg": "^1.2.0",
"gulp-htmlmin": "^5.0.1",
"gulp-imagemin": "^7.1.0",
"gulp-plumber": "^1.2.1",
"gulp-rename": "^2.0.0",
"gulp-sourcemaps": "^2.6.5",
"gulp-uglify": "^3.0.2",
"watch": "^1.0.2",
"gulp-postcss": "^8.0.0",
"gulp-file-include": "^2.1.1",
"mkdirp": "^1.0.3",
"gulp-replace": "^1.0.0"
},
"dependencies": {
"chai": "^4.2.0",
"node-sass": "^4.13.1"
}
}
Мой файл gulpfile. js вместе со всеми моими другими исходными файлами находится по следующему адресу:
cd $HOME/Documents/Clients/"A&B TAXIS"/Projects/Website/5-Website
В основном, я хотел бы получить название 'A & B Taxis 'и измените его на' abtaxis ', затем создайте папку из этого.
У меня есть скрипт, который делает это, который находится в файле gulpfile. js, но я не могу понять, как заставить его работать в упаковке. json. Как я упоминал ранее, я вручную добавляю 'abtaxis' в пакет. json файл, который не идеален.
Вот мой сценарий:
const homedir = require("os").homedir();
var path = require("path");
var pathDir = require("path").resolve(__dirname, "../../");
var parentDir = path
.dirname(pathDir)
.split(path.sep)
.pop();
var newParent = parentDir.split(" ").join("_");
var parentdir = path.basename(path.dirname(pathDir));
parentdir = parentDir.replace(/[^\w]/g, "");
parentdir = parentDir.replace(/[^\w]/g, "").toLowerCase();
Вот как я использую переменную parentdir:
browserSync.init({
proxy: "https://" + parentdir + ".test",
host: parentdir + ".test",
open: "external",
https: {
key: homedir + "/.config/valet/Certificates/" + parentdir + ".test.key",
cert: homedir + "/.config/valet/Certificates/" + parentdir + ".test.crt"
},
browser: "Google Chrome Canary",
notify: false
});
Возможно ли это? Я не могу понять, как.