@dojo/cli-create-theme
Advanced tools
Comparing version 2.0.0 to 3.0.0
@@ -1,21 +0,11 @@ | ||
(function (factory) { | ||
if (typeof module === "object" && typeof module.exports === "object") { | ||
var v = factory(require, exports); | ||
if (v !== undefined) module.exports = v; | ||
} | ||
else if (typeof define === "function" && define.amd) { | ||
define(["require", "exports"], factory); | ||
} | ||
})(function (require, exports) { | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
function convertSelectorsToCSS(selectors) { | ||
return selectors | ||
.map(function (selector) { return selector.trim(); }) | ||
.filter(function (selector) { return selector !== '_key'; }) | ||
.map(function (selector) { return "." + selector + " {}"; }) | ||
.join('\n\n'); | ||
} | ||
exports.default = convertSelectorsToCSS; | ||
}); | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
function convertSelectorsToCSS(selectors) { | ||
return selectors | ||
.map((selector) => selector.trim()) | ||
.filter((selector) => selector !== '_key') | ||
.map((selector) => `.${selector} {}`) | ||
.join('\n\n'); | ||
} | ||
exports.default = convertSelectorsToCSS; | ||
//# sourceMappingURL=convertSelectorsToCSS.js.map |
@@ -1,50 +0,38 @@ | ||
(function (factory) { | ||
if (typeof module === "object" && typeof module.exports === "object") { | ||
var v = factory(require, exports); | ||
if (v !== undefined) module.exports = v; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const path_1 = require("path"); | ||
const camelcase = require("camelcase"); | ||
const fs = require("fs-extra"); | ||
const chalk_1 = require("chalk"); | ||
const pkgDir = require('pkg-dir'); | ||
const packagePath = pkgDir.sync(__dirname); | ||
function createThemeFile({ themesDirectory, themedWidgets, CSSModuleExtension, renderFiles }) { | ||
const mainThemeFileName = `theme.ts`; | ||
const relativeThemeFilePath = path_1.join(themesDirectory, mainThemeFileName); | ||
const absoluteThemeFilePath = path_1.join(process.cwd(), relativeThemeFilePath); | ||
if (fs.existsSync(absoluteThemeFilePath)) { | ||
console.info(`A theme file already exists in '${chalk_1.default.bold.underline(relativeThemeFilePath)}'. Will not overwrite.`); | ||
return; | ||
} | ||
else if (typeof define === "function" && define.amd) { | ||
define(["require", "exports", "path", "camelcase", "fs-extra", "chalk"], factory); | ||
} | ||
})(function (require, exports) { | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var path_1 = require("path"); | ||
var camelcase = require("camelcase"); | ||
var fs = require("fs-extra"); | ||
var chalk_1 = require("chalk"); | ||
var pkgDir = require('pkg-dir'); | ||
var packagePath = pkgDir.sync(__dirname); | ||
function createThemeFile(_a) { | ||
var themesDirectory = _a.themesDirectory, themedWidgets = _a.themedWidgets, CSSModuleExtension = _a.CSSModuleExtension, renderFiles = _a.renderFiles; | ||
var mainThemeFileName = "theme.ts"; | ||
var relativeThemeFilePath = path_1.join(themesDirectory, mainThemeFileName); | ||
var absoluteThemeFilePath = path_1.join(process.cwd(), relativeThemeFilePath); | ||
if (fs.existsSync(absoluteThemeFilePath)) { | ||
console.info("A theme file already exists in '" + chalk_1.default.bold.underline(relativeThemeFilePath) + "'. Will not overwrite."); | ||
return; | ||
const CSSModulesData = themedWidgets.map(({ themeKey, fileName }) => { | ||
const CSSModulePath = `${themeKey}/${fileName}${CSSModuleExtension}`; | ||
const themeKeyVariable = camelcase(fileName); | ||
return { | ||
path: CSSModulePath, | ||
themeKeyVariable, | ||
themeKey | ||
}; | ||
}); | ||
const src = path_1.join(packagePath, 'templates', 'src', `${mainThemeFileName}.ejs`); | ||
renderFiles([ | ||
{ | ||
src, | ||
dest: absoluteThemeFilePath | ||
} | ||
var CSSModulesData = themedWidgets.map(function (_a) { | ||
var themeKey = _a.themeKey, fileName = _a.fileName; | ||
var CSSModulePath = themeKey + "/" + fileName + CSSModuleExtension; | ||
var themeKeyVariable = camelcase(fileName); | ||
return { | ||
path: CSSModulePath, | ||
themeKeyVariable: themeKeyVariable, | ||
themeKey: themeKey | ||
}; | ||
}); | ||
var src = path_1.join(packagePath, 'templates', 'src', mainThemeFileName + ".ejs"); | ||
renderFiles([ | ||
{ | ||
src: src, | ||
dest: absoluteThemeFilePath | ||
} | ||
], { | ||
CSSModules: CSSModulesData | ||
}); | ||
console.info("\nPlease import '" + chalk_1.default.bold.underline(relativeThemeFilePath) + "' into your project to use your new theme"); | ||
} | ||
exports.default = createThemeFile; | ||
}); | ||
], { | ||
CSSModules: CSSModulesData | ||
}); | ||
console.info(`\nPlease import '${chalk_1.default.bold.underline(relativeThemeFilePath)}' into your project to use your new theme`); | ||
} | ||
exports.default = createThemeFile; | ||
//# sourceMappingURL=createThemeFile.js.map |
30
main.js
@@ -1,21 +0,11 @@ | ||
(function (factory) { | ||
if (typeof module === "object" && typeof module.exports === "object") { | ||
var v = factory(require, exports); | ||
if (v !== undefined) module.exports = v; | ||
} | ||
else if (typeof define === "function" && define.amd) { | ||
define(["require", "exports", "./run", "./register"], factory); | ||
} | ||
})(function (require, exports) { | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var run_1 = require("./run"); | ||
var register_1 = require("./register"); | ||
var command = { | ||
description: 'Generate theme files from widgets', | ||
register: register_1.default, | ||
run: run_1.default | ||
}; | ||
exports.default = command; | ||
}); | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const run_1 = require("./run"); | ||
const register_1 = require("./register"); | ||
const command = { | ||
description: 'Generate theme files from widgets', | ||
register: register_1.default, | ||
run: run_1.default | ||
}; | ||
exports.default = command; | ||
//# sourceMappingURL=main.js.map |
126
package.json
{ | ||
"name": "@dojo/cli-create-theme", | ||
"version": "2.0.0", | ||
"description": "Command to scaffold out a new theme", | ||
"engines": { | ||
"npm": ">=3.0.0", | ||
"node": ">=6" | ||
}, | ||
"homepage": "http://dojo.io", | ||
"bugs": { | ||
"url": "https://github.com/dojo/cli-create-theme/issues" | ||
}, | ||
"license": "BSD-3-Clause", | ||
"main": "main.js", | ||
"repository": { | ||
"type": "git", | ||
"url": "https://github.com/dojo/cli-create-theme.git" | ||
}, | ||
"devDependencies": { | ||
"@dojo/cli": "^2.0.0", | ||
"@dojo/loader": "^2.0.0", | ||
"@types/camelcase": "^4.1.0", | ||
"@types/fs-extra": "^4.0.5", | ||
"@types/glob": "5.0.*", | ||
"@types/globby": "^6.1.0", | ||
"@types/grunt": "0.4.*", | ||
"@types/inquirer": "0.0.35", | ||
"@types/mkdirp": "^0.5.2", | ||
"@types/mockery": "^1.4.29", | ||
"@types/node": "~9.6.5", | ||
"@types/sinon": "^4.0.0", | ||
"codecov.io": "0.1.6", | ||
"grunt": "~1.0.1", | ||
"grunt-dojo2": "latest", | ||
"grunt-tslint": "5.0.1", | ||
"husky": "0.14.3", | ||
"intern": "~4.1.0", | ||
"lint-staged": "6.0.0", | ||
"mockery": "^2.1.0", | ||
"prettier": "1.9.2", | ||
"sinon": "^4.1.2", | ||
"tslint": "5.2.0", | ||
"tslint-plugin-prettier": "1.3.0", | ||
"typescript": "~2.6.1" | ||
}, | ||
"dependencies": { | ||
"camelcase": "^4.1.0", | ||
"chalk": "2.3.0", | ||
"fs-extra": "^4.0.2", | ||
"globby": "^7.1.1", | ||
"inquirer": "^4.0.1", | ||
"mkdirp": "^0.5.1", | ||
"pkg-dir": "^2.0.0" | ||
}, | ||
"lint-staged": { | ||
"*.{ts,tsx}": [ | ||
"prettier --write", | ||
"git add" | ||
] | ||
}, | ||
"prettier": { | ||
"singleQuote": true, | ||
"tabWidth": 4, | ||
"useTabs": true, | ||
"parser": "typescript", | ||
"printWidth": 120, | ||
"arrowParens": "always" | ||
} | ||
"name": "@dojo/cli-create-theme", | ||
"version": "3.0.0", | ||
"description": "Command to scaffold out a new theme", | ||
"engines": { | ||
"npm": ">=3.0.0", | ||
"node": ">=6" | ||
}, | ||
"homepage": "http://dojo.io", | ||
"bugs": { | ||
"url": "https://github.com/dojo/cli-create-theme/issues" | ||
}, | ||
"license": "BSD-3-Clause", | ||
"main": "main.js", | ||
"repository": { | ||
"type": "git", | ||
"url": "https://github.com/dojo/cli-create-theme.git" | ||
}, | ||
"devDependencies": { | ||
"@dojo/cli": "~3.0.0", | ||
"@dojo/loader": "^2.0.0", | ||
"@dojo/scripts": "~3.0.1", | ||
"@types/camelcase": "^4.1.0", | ||
"@types/fs-extra": "^5.0.0", | ||
"@types/globby": "^6.1.0", | ||
"@types/inquirer": "0.0.35", | ||
"@types/mockery": "^1.4.29", | ||
"@types/node": "~9.6.5", | ||
"@types/sinon": "~4.3.3", | ||
"codecov": "~3.0.4", | ||
"cpx": "~1.5.0", | ||
"husky": "0.14.3", | ||
"lint-staged": "6.0.0", | ||
"mockery": "^2.1.0", | ||
"npm-run-all": "~4.1.3", | ||
"sinon": "~4.5.0" | ||
}, | ||
"dependencies": { | ||
"camelcase": "4.1.0", | ||
"chalk": "2.4.1", | ||
"fs-extra": "5.0.0", | ||
"globby": "6.1.0", | ||
"inquirer": "4.0.2", | ||
"pkg-dir": "2.0.0", | ||
"tslib": "1.8.1" | ||
}, | ||
"lint-staged": { | ||
"*.{ts,tsx}": [ | ||
"prettier --write", | ||
"git add" | ||
] | ||
}, | ||
"prettier": { | ||
"singleQuote": true, | ||
"tabWidth": 4, | ||
"useTabs": true, | ||
"parser": "typescript", | ||
"printWidth": 120, | ||
"arrowParens": "always" | ||
} | ||
} |
159
questions.js
@@ -1,113 +0,56 @@ | ||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||
return new (P || (P = Promise))(function (resolve, reject) { | ||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | ||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | ||
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } | ||
step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||
}); | ||
}; | ||
var __generator = (this && this.__generator) || function (thisArg, body) { | ||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; | ||
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; | ||
function verb(n) { return function (v) { return step([n, v]); }; } | ||
function step(op) { | ||
if (f) throw new TypeError("Generator is already executing."); | ||
while (_) try { | ||
if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; | ||
if (y = 0, t) op = [0, t.value]; | ||
switch (op[0]) { | ||
case 0: case 1: t = op; break; | ||
case 4: _.label++; return { value: op[1], done: false }; | ||
case 5: _.label++; y = op[1]; op = [0]; continue; | ||
case 7: op = _.ops.pop(); _.trys.pop(); continue; | ||
default: | ||
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } | ||
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } | ||
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } | ||
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } | ||
if (t[2]) _.ops.pop(); | ||
_.trys.pop(); continue; | ||
} | ||
op = body.call(thisArg, _); | ||
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } | ||
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const tslib_1 = require("tslib"); | ||
const inquirer = require("inquirer"); | ||
const path_1 = require("path"); | ||
const packageQuestions = [ | ||
{ | ||
type: 'input', | ||
name: 'package', | ||
message: 'What Package to do you want to theme?' | ||
}, | ||
{ | ||
type: 'confirm', | ||
name: 'askAgain', | ||
message: 'Any more?', | ||
default: true | ||
} | ||
}; | ||
(function (factory) { | ||
if (typeof module === "object" && typeof module.exports === "object") { | ||
var v = factory(require, exports); | ||
if (v !== undefined) module.exports = v; | ||
} | ||
else if (typeof define === "function" && define.amd) { | ||
define(["require", "exports", "inquirer", "path"], factory); | ||
} | ||
})(function (require, exports) { | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var inquirer = require("inquirer"); | ||
var path_1 = require("path"); | ||
var packageQuestions = [ | ||
]; | ||
exports.packageQuestions = packageQuestions; | ||
function getFileQuestions(packageName, files, cssDataFileExtension) { | ||
return [ | ||
{ | ||
type: 'input', | ||
name: 'package', | ||
message: 'What Package to do you want to theme?' | ||
}, | ||
{ | ||
type: 'confirm', | ||
name: 'askAgain', | ||
message: 'Any more?', | ||
default: true | ||
type: 'checkbox', | ||
message: `Which of the ${packageName} theme files would you like to scaffold?`, | ||
name: 'files', | ||
choices: files.map((name) => { | ||
return { | ||
name: path_1.basename(name).split(cssDataFileExtension)[0], | ||
value: name | ||
}; | ||
}) | ||
} | ||
]; | ||
exports.packageQuestions = packageQuestions; | ||
function getFileQuestions(packageName, files, cssDataFileExtension) { | ||
return [ | ||
{ | ||
type: 'checkbox', | ||
message: "Which of the " + packageName + " theme files would you like to scaffold?", | ||
name: 'files', | ||
choices: files.map(function (name) { | ||
return { | ||
name: path_1.basename(name).split(cssDataFileExtension)[0], | ||
value: name | ||
}; | ||
}) | ||
} | ||
]; | ||
} | ||
exports.getFileQuestions = getFileQuestions; | ||
function askForPackageNames(packageQuestions, packages) { | ||
if (packages === void 0) { packages = []; } | ||
return __awaiter(this, void 0, void 0, function () { | ||
var answer; | ||
return __generator(this, function (_a) { | ||
switch (_a.label) { | ||
case 0: return [4 /*yield*/, inquirer.prompt(packageQuestions)]; | ||
case 1: | ||
answer = _a.sent(); | ||
packages.push(answer.package); | ||
if (!answer.askAgain) return [3 /*break*/, 3]; | ||
return [4 /*yield*/, askForPackageNames(packageQuestions, packages)]; | ||
case 2: return [2 /*return*/, _a.sent()]; | ||
case 3: return [2 /*return*/, packages]; | ||
} | ||
}); | ||
}); | ||
} | ||
exports.askForPackageNames = askForPackageNames; | ||
function askForDesiredFiles(fileQuestions) { | ||
return __awaiter(this, void 0, void 0, function () { | ||
var files; | ||
return __generator(this, function (_a) { | ||
switch (_a.label) { | ||
case 0: return [4 /*yield*/, inquirer.prompt(fileQuestions)]; | ||
case 1: | ||
files = (_a.sent()).files; | ||
return [2 /*return*/, files]; | ||
} | ||
}); | ||
}); | ||
} | ||
exports.askForDesiredFiles = askForDesiredFiles; | ||
}); | ||
} | ||
exports.getFileQuestions = getFileQuestions; | ||
function askForPackageNames(packageQuestions, packages = []) { | ||
return tslib_1.__awaiter(this, void 0, void 0, function* () { | ||
const answer = yield inquirer.prompt(packageQuestions); | ||
packages.push(answer.package); | ||
if (answer.askAgain) { | ||
return yield askForPackageNames(packageQuestions, packages); | ||
} | ||
else { | ||
return packages; | ||
} | ||
}); | ||
} | ||
exports.askForPackageNames = askForPackageNames; | ||
function askForDesiredFiles(fileQuestions) { | ||
return tslib_1.__awaiter(this, void 0, void 0, function* () { | ||
const { files } = yield inquirer.prompt(fileQuestions); | ||
return files; | ||
}); | ||
} | ||
exports.askForDesiredFiles = askForDesiredFiles; | ||
//# sourceMappingURL=questions.js.map |
@@ -1,23 +0,13 @@ | ||
(function (factory) { | ||
if (typeof module === "object" && typeof module.exports === "object") { | ||
var v = factory(require, exports); | ||
if (v !== undefined) module.exports = v; | ||
} | ||
else if (typeof define === "function" && define.amd) { | ||
define(["require", "exports"], factory); | ||
} | ||
})(function (require, exports) { | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
function default_1(options) { | ||
options('n', { | ||
alias: 'name', | ||
describe: 'The name of your theme', | ||
demand: true, | ||
requiresArg: true, | ||
type: 'string' | ||
}); | ||
} | ||
exports.default = default_1; | ||
}); | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
function default_1(options) { | ||
options('n', { | ||
alias: 'name', | ||
describe: 'The name of your theme', | ||
demand: true, | ||
requiresArg: true, | ||
type: 'string' | ||
}); | ||
} | ||
exports.default = default_1; | ||
//# sourceMappingURL=register.js.map |
181
run.js
@@ -1,132 +0,57 @@ | ||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||
return new (P || (P = Promise))(function (resolve, reject) { | ||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | ||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | ||
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } | ||
step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||
}); | ||
}; | ||
var __generator = (this && this.__generator) || function (thisArg, body) { | ||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; | ||
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; | ||
function verb(n) { return function (v) { return step([n, v]); }; } | ||
function step(op) { | ||
if (f) throw new TypeError("Generator is already executing."); | ||
while (_) try { | ||
if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; | ||
if (y = 0, t) op = [0, t.value]; | ||
switch (op[0]) { | ||
case 0: case 1: t = op; break; | ||
case 4: _.label++; return { value: op[1], done: false }; | ||
case 5: _.label++; y = op[1]; op = [0]; continue; | ||
case 7: op = _.ops.pop(); _.trys.pop(); continue; | ||
default: | ||
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } | ||
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } | ||
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } | ||
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } | ||
if (t[2]) _.ops.pop(); | ||
_.trys.pop(); continue; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const tslib_1 = require("tslib"); | ||
const fs = require("fs-extra"); | ||
const globby = require("globby"); | ||
const fs_extra_1 = require("fs-extra"); | ||
const path_1 = require("path"); | ||
const createThemeFile_1 = require("./createThemeFile"); | ||
const convertSelectorsToCSS_1 = require("./convertSelectorsToCSS"); | ||
const questions_1 = require("./questions"); | ||
function run(helper, args) { | ||
return tslib_1.__awaiter(this, void 0, void 0, function* () { | ||
const themeName = args.name; | ||
const CSSModuleExtension = '.m.css'; | ||
const themesDirectory = `src/themes/${themeName}`; | ||
const packageNames = yield questions_1.askForPackageNames(questions_1.packageQuestions); | ||
const allWidgets = []; | ||
for (const packageName of packageNames) { | ||
const selectedpackagePath = path_1.join('node_modules', packageName, 'theme'); | ||
if (!fs.existsSync(selectedpackagePath)) { | ||
throw new Error(`This package path does not exist: ${selectedpackagePath}`); | ||
} | ||
op = body.call(thisArg, _); | ||
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } | ||
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; | ||
} | ||
}; | ||
(function (factory) { | ||
if (typeof module === "object" && typeof module.exports === "object") { | ||
var v = factory(require, exports); | ||
if (v !== undefined) module.exports = v; | ||
} | ||
else if (typeof define === "function" && define.amd) { | ||
define(["require", "exports", "fs-extra", "globby", "mkdirp", "path", "./createThemeFile", "./convertSelectorsToCSS", "./questions"], factory); | ||
} | ||
})(function (require, exports) { | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var fs = require("fs-extra"); | ||
var globby = require("globby"); | ||
var mkdirp = require("mkdirp"); | ||
var path_1 = require("path"); | ||
var createThemeFile_1 = require("./createThemeFile"); | ||
var convertSelectorsToCSS_1 = require("./convertSelectorsToCSS"); | ||
var questions_1 = require("./questions"); | ||
function run(helper, args) { | ||
return __awaiter(this, void 0, void 0, function () { | ||
var themeName, CSSModuleExtension, themesDirectory, packageNames, allWidgets, _loop_1, _i, packageNames_1, packageName; | ||
return __generator(this, function (_a) { | ||
switch (_a.label) { | ||
case 0: | ||
themeName = args.name; | ||
CSSModuleExtension = '.m.css'; | ||
themesDirectory = "src/themes/" + themeName; | ||
return [4 /*yield*/, questions_1.askForPackageNames(questions_1.packageQuestions)]; | ||
case 1: | ||
packageNames = _a.sent(); | ||
allWidgets = []; | ||
_loop_1 = function (packageName) { | ||
var selectedpackagePath, cssDataFileExtension, cssDataFileGlob, matchingCSSFiles, fileQuestions, selectedWidgets, themedWidgets; | ||
return __generator(this, function (_a) { | ||
switch (_a.label) { | ||
case 0: | ||
selectedpackagePath = path_1.join('node_modules', packageName, 'theme'); | ||
if (!fs.existsSync(selectedpackagePath)) { | ||
throw new Error("This package path does not exist: " + selectedpackagePath); | ||
} | ||
cssDataFileExtension = '.m.css.js'; | ||
cssDataFileGlob = path_1.join(selectedpackagePath, "**/*" + cssDataFileExtension); | ||
matchingCSSFiles = globby.sync(cssDataFileGlob); | ||
fileQuestions = questions_1.getFileQuestions(packageName, matchingCSSFiles, cssDataFileExtension); | ||
return [4 /*yield*/, questions_1.askForDesiredFiles(fileQuestions)]; | ||
case 1: | ||
selectedWidgets = _a.sent(); | ||
if (!selectedWidgets.length) { | ||
throw new Error('No widgets were selected'); | ||
} | ||
themedWidgets = selectedWidgets.map(function (selectedWidget) { | ||
var fileName = path_1.basename(selectedWidget).split(cssDataFileExtension)[0]; | ||
var themeKey = path_1.join(packageName, fileName); | ||
var fullWidgetPath = path_1.join(process.cwd(), selectedWidget); | ||
var selectors = Object.keys(require(fullWidgetPath)); | ||
var newFileOutput = convertSelectorsToCSS_1.default(selectors); | ||
var widgetThemePath = themesDirectory + "/" + themeKey; | ||
var newFilePath = path_1.join(process.cwd(), widgetThemePath + "/" + fileName + CSSModuleExtension); | ||
mkdirp.sync(widgetThemePath); | ||
fs.writeFileSync(newFilePath, newFileOutput); | ||
return { | ||
themeKey: themeKey, | ||
fileName: fileName | ||
}; | ||
}); | ||
allWidgets.push.apply(allWidgets, themedWidgets); | ||
return [2 /*return*/]; | ||
} | ||
}); | ||
}; | ||
_i = 0, packageNames_1 = packageNames; | ||
_a.label = 2; | ||
case 2: | ||
if (!(_i < packageNames_1.length)) return [3 /*break*/, 5]; | ||
packageName = packageNames_1[_i]; | ||
return [5 /*yield**/, _loop_1(packageName)]; | ||
case 3: | ||
_a.sent(); | ||
_a.label = 4; | ||
case 4: | ||
_i++; | ||
return [3 /*break*/, 2]; | ||
case 5: | ||
createThemeFile_1.default({ | ||
renderFiles: helper.command.renderFiles, | ||
themesDirectory: themesDirectory, | ||
themedWidgets: allWidgets, | ||
CSSModuleExtension: CSSModuleExtension | ||
}); | ||
return [2 /*return*/]; | ||
} | ||
const cssDataFileExtension = '.m.css.js'; | ||
const cssDataFileGlob = path_1.join(selectedpackagePath, `**/*${cssDataFileExtension}`); | ||
const matchingCSSFiles = globby.sync(cssDataFileGlob); | ||
const fileQuestions = questions_1.getFileQuestions(packageName, matchingCSSFiles, cssDataFileExtension); | ||
const selectedWidgets = yield questions_1.askForDesiredFiles(fileQuestions); | ||
if (!selectedWidgets.length) { | ||
throw new Error('No widgets were selected'); | ||
} | ||
const themedWidgets = selectedWidgets.map((selectedWidget) => { | ||
const [fileName] = path_1.basename(selectedWidget).split(cssDataFileExtension); | ||
const themeKey = path_1.join(packageName, fileName); | ||
const fullWidgetPath = path_1.join(process.cwd(), selectedWidget); | ||
const selectors = Object.keys(require(fullWidgetPath)); | ||
const newFileOutput = convertSelectorsToCSS_1.default(selectors); | ||
const widgetThemePath = `${themesDirectory}/${themeKey}`; | ||
const newFilePath = path_1.join(process.cwd(), `${widgetThemePath}/${fileName}${CSSModuleExtension}`); | ||
fs_extra_1.mkdirsSync(widgetThemePath); | ||
fs.writeFileSync(newFilePath, newFileOutput); | ||
return { | ||
themeKey, | ||
fileName | ||
}; | ||
}); | ||
allWidgets.push(...themedWidgets); | ||
} | ||
createThemeFile_1.default({ | ||
renderFiles: helper.command.renderFiles, | ||
themesDirectory, | ||
themedWidgets: allWidgets, | ||
CSSModuleExtension | ||
}); | ||
} | ||
exports.default = run; | ||
}); | ||
}); | ||
} | ||
exports.default = run; | ||
//# sourceMappingURL=run.js.map |
@@ -1,14 +0,3 @@ | ||
(function (factory) { | ||
if (typeof module === "object" && typeof module.exports === "object") { | ||
var v = factory(require, exports); | ||
if (v !== undefined) module.exports = v; | ||
} | ||
else if (typeof define === "function" && define.amd) { | ||
define(["require", "exports"], factory); | ||
} | ||
})(function (require, exports) { | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
; | ||
}); | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
//# sourceMappingURL=WidgetDataInterface.js.map |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
17
4
24737
17
182
1
+ Addedtslib@1.8.1
+ Addedchalk@2.4.1(transitive)
+ Addedfs-extra@5.0.0(transitive)
+ Addedglobby@6.1.0(transitive)
+ Addedhas-flag@3.0.0(transitive)
+ Addedobject-assign@4.1.1(transitive)
+ Addedpify@2.3.0(transitive)
+ Addedpinkie@2.0.4(transitive)
+ Addedpinkie-promise@2.0.1(transitive)
+ Addedsupports-color@5.5.0(transitive)
+ Addedtslib@1.8.1(transitive)
- Removedmkdirp@^0.5.1
- Removedchalk@2.3.0(transitive)
- Removeddir-glob@2.2.2(transitive)
- Removedfs-extra@4.0.3(transitive)
- Removedglobby@7.1.1(transitive)
- Removedhas-flag@2.0.0(transitive)
- Removedignore@3.3.10(transitive)
- Removedminimist@1.2.8(transitive)
- Removedmkdirp@0.5.6(transitive)
- Removedpath-type@3.0.0(transitive)
- Removedpify@3.0.0(transitive)
- Removedslash@1.0.0(transitive)
- Removedsupports-color@4.5.0(transitive)
Updatedcamelcase@4.1.0
Updatedchalk@2.4.1
Updatedfs-extra@5.0.0
Updatedglobby@6.1.0
Updatedinquirer@4.0.2
Updatedpkg-dir@2.0.0