@procamp/cli 0.0.1 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/command/login.ts"],"names":[],"mappings":"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","sourcesContent":["import axios from 'axios';\nimport * as fs from 'fs-extra';\nimport inquirer from 'inquirer';\nimport jwt_decode from 'jwt-decode';\nimport * as os from 'node:os';\nimport * as path from 'path';\nimport { error } from '../utils/error';\n\nexport async function login() {\n const questions = [\n {\n type: 'input',\n name: 'email',\n message: 'Email:',\n validate: function (input) {\n // Basic email format validation using a regular expression\n const emailRegex = /^\\S+@\\S+\\.\\S+$/;\n if (input.toString().length === 0) return 'Email not be null';\n\n if (emailRegex.test(input)) {\n return true;\n }\n\n return 'Please enter a valid email address.';\n }\n },\n {\n type: 'password',\n name: 'password',\n message: 'Password:',\n mask: '*',\n validate: (password) => {\n if (!password || password.length === 0)\n return error('Password must be not null');\n return true;\n }\n }\n ];\n\n const configPath = path.join(os.homedir(), '.procamp-config.json');\n let configContent;\n if (!fs.existsSync(configPath)) {\n try {\n fs.writeJSONSync(\n configPath,\n {\n grant_type: 'password',\n client_id: 'procamp-cli',\n client_secret: 'ntVrw42swn4eD5nrIePMPg3R8kQFND6x'\n },\n { spaces: 2 }\n );\n } catch (e) {\n throw e;\n }\n }\n try {\n configContent = await fs.readJSON(configPath);\n } catch (e) {\n throw e;\n }\n inquirer.prompt(questions).then((answers) => {\n const clientData = {\n grant_type: configContent.grant_type,\n client_id: configContent.client_id,\n client_secret: configContent.client_secret\n };\n const data = {\n username: answers.email,\n password: answers.password,\n ...clientData\n };\n let bodyContent = '';\n const entries = Object.entries(data);\n for (let i = 0; i < entries.length; i++) {\n const [name, value] = entries[i];\n bodyContent += `${name}=${value}`;\n if (i !== entries.length - 1) {\n bodyContent += '&';\n }\n }\n let headersList = {\n Accept: '*/*',\n 'Content-Type': 'application/x-www-form-urlencoded'\n };\n axios\n .post(\n 'https://auth.procamp.dev/realms/procamp/protocol/openid-connect/token',\n bodyContent,\n {\n headers: headersList\n }\n )\n .then((res) => {\n let decoded: object;\n\n if ('access_token' in res.data)\n decoded = jwt_decode(res.data.access_token);\n\n fs.writeJSON(\n configPath,\n {\n ...clientData,\n ...decoded\n },\n { spaces: 2 },\n (err) => {\n if (err) {\n console.error('Error writing config file:', err);\n }\n }\n );\n console.log('You are \\x1b[32m%s\\x1b[0m', 'connected');\n return;\n })\n .catch((e) => {\n if ('response' in e)\n if ('data' in e.response)\n if ('error_description' in e.response.data)\n error(`${e.response.data.error_description}`);\n\n return;\n });\n });\n}\n"]}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/command/login.ts"],"names":[],"mappings":"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","sourcesContent":["import axios from 'axios';\nimport * as fs from 'fs-extra';\nimport inquirer from 'inquirer';\nimport jwt_decode from 'jwt-decode';\nimport * as os from 'os';\nimport * as path from 'path';\nimport { error } from '../utils/output';\nimport { procampConfig } from '../interfaces/procamp_config';\n\nexport async function login() {\n const questions = [\n {\n type: 'input',\n name: 'email',\n message: 'Email:',\n validate: function (input) {\n // Basic email format validation using a regular expression\n const emailRegex = /^\\S+@\\S+\\.\\S+$/;\n if (input.toString().length === 0) return 'Email not be null';\n\n if (emailRegex.test(input)) {\n return true;\n }\n\n return 'Please enter a valid email address.';\n }\n },\n {\n type: 'password',\n name: 'password',\n message: 'Password:',\n mask: '*',\n validate: (password) => {\n if (!password || password.length === 0)\n return error('Password must be not null');\n return true;\n }\n }\n ];\n\n const configPath = path.join(os.homedir(), '.procamp-config.json');\n const clientDataStatic = {\n grant_type: 'password',\n client_id: 'procamp-cli',\n client_secret: 'XGNKcjhw2uYICROaNcfRzMlC5QDXoHWY'\n };\n let configContent: procampConfig;\n if (!(await fs.exists(configPath))) {\n try {\n await fs.writeJSON(configPath, clientDataStatic, { spaces: 2 });\n } catch (e) {\n throw e;\n }\n }\n try {\n configContent = await fs.readJSON(configPath);\n const configContentClient = {\n grant_type: configContent['grant_type'],\n client_id: configContent['client_id'],\n client_secret: configContent['client_secret']\n };\n\n if (configContentClient !== clientDataStatic) {\n configContent = {\n ...configContent,\n ...clientDataStatic\n };\n }\n } catch (e) {\n throw e;\n }\n inquirer.prompt(questions).then((answers) => {\n const clientData = {\n grant_type: configContent.grant_type,\n client_id: configContent.client_id,\n client_secret: configContent.client_secret\n };\n const data = {\n username: answers.email,\n password: answers.password,\n ...clientData\n };\n let bodyContent = '';\n const entries = Object.entries(data);\n for (let i = 0; i < entries.length; i++) {\n const [name, value] = entries[i];\n bodyContent += `${name}=${value}`;\n if (i !== entries.length - 1) {\n bodyContent += '&';\n }\n }\n let headersList = {\n Accept: '*/*',\n 'Content-Type': 'application/x-www-form-urlencoded'\n };\n axios\n .post(\n 'https://auth.procamp.dev/realms/procamp/protocol/openid-connect/token',\n bodyContent,\n {\n headers: headersList\n }\n )\n .then(async (res) => {\n let decoded: object;\n\n if ('access_token' in res.data)\n decoded = jwt_decode(res.data.access_token);\n\n await fs.writeJSON(\n configPath,\n {\n ...clientData,\n api_key: decoded['api-key'],\n userId: decoded['sub']\n },\n { spaces: 2 }\n );\n console.log('You are \\x1b[32m%s\\x1b[0m', 'connected');\n })\n .catch((e) => {\n if ('response' in e)\n if ('data' in e.response)\n if ('error_description' in e.response.data) {\n error(`${e.response.data.error_description}`);\n return;\n }\n throw e;\n });\n });\n}\n"]}
@@ -1 +1 @@
1
- export declare function createCourse(projectName: any): Promise<void>;
1
+ export declare function createCourse(projectName: string): Promise<void>;
@@ -1,4 +1,27 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
26
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
27
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -8,11 +31,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
31
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
32
  });
10
33
  };
34
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
11
37
  Object.defineProperty(exports, "__esModule", { value: true });
12
38
  exports.createCourse = void 0;
13
- const fs = require("fs-extra");
14
- const inquirer_1 = require("inquirer");
15
- const path = require("path");
39
+ const fs = __importStar(require("fs-extra"));
40
+ const inquirer_1 = __importDefault(require("inquirer"));
41
+ const path = __importStar(require("path"));
16
42
  const init_1 = require("./init");
17
43
  function createCourse(projectName) {
18
44
  return __awaiter(this, void 0, void 0, function* () {
@@ -26,11 +52,11 @@ function createCourse(projectName) {
26
52
  console.log('Aborted.');
27
53
  return;
28
54
  }
29
- fs.mkdirSync(projectName, { recursive: true });
55
+ yield fs.mkdir(projectName, { recursive: true });
30
56
  console.log(`${projectName} course project generated!`);
31
57
  const pathfolder = path.join(process.cwd(), projectName);
32
- if (fs.existsSync(pathfolder)) {
33
- (0, init_1.initCourse)({
58
+ if (yield fs.exists(pathfolder)) {
59
+ yield (0, init_1.initCourse)({
34
60
  directory: pathfolder
35
61
  });
36
62
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"new.js","sourceRoot":"","sources":["../../src/command/new.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+BAA+B;AAC/B,uCAAgC;AAChC,6BAA6B;AAC7B,iCAAoC;AAEpC,SAAsB,YAAY,CAAC,WAAW;;QAC5C,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;YACxC,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,yDAAyD,WAAW,IAAI;YACjF,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,GAAG;SACb,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACxB,OAAO;SACR;QACD,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,GAAG,WAAW,4BAA4B,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;QACzD,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;YAC7B,IAAA,iBAAU,EAAC;gBACT,SAAS,EAAE,UAAU;aACtB,CAAC,CAAC;YACH,OAAO;SACR;IACH,CAAC;CAAA;AArBD,oCAqBC","sourcesContent":["import * as fs from 'fs-extra';\nimport inquirer from 'inquirer';\nimport * as path from 'path';\nimport { initCourse } from './init';\n\nexport async function createCourse(projectName) {\n const { confirm } = await inquirer.prompt({\n type: 'confirm',\n message: `Are you sure you want to generate a new project named ${projectName} ?`,\n name: 'confirm',\n default: 'y'\n });\n\n if (!confirm) {\n console.log('Aborted.');\n return;\n }\n fs.mkdirSync(projectName, { recursive: true });\n console.log(`${projectName} course project generated!`);\n const pathfolder = path.join(process.cwd(), projectName);\n if (fs.existsSync(pathfolder)) {\n initCourse({\n directory: pathfolder\n });\n return;\n }\n}\n"]}
1
+ {"version":3,"file":"new.js","sourceRoot":"","sources":["../../src/command/new.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAC/B,wDAAgC;AAChC,2CAA6B;AAC7B,iCAAoC;AAEpC,SAAsB,YAAY,CAAC,WAAmB;;QACpD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;YACxC,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,yDAAyD,WAAW,IAAI;YACjF,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,GAAG;SACb,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACxB,OAAO;SACR;QACD,MAAM,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,GAAG,WAAW,4BAA4B,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;QACzD,IAAI,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;YAC/B,MAAM,IAAA,iBAAU,EAAC;gBACf,SAAS,EAAE,UAAU;aACtB,CAAC,CAAC;YACH,OAAO;SACR;IACH,CAAC;CAAA;AArBD,oCAqBC","sourcesContent":["import * as fs from 'fs-extra';\nimport inquirer from 'inquirer';\nimport * as path from 'path';\nimport { initCourse } from './init';\n\nexport async function createCourse(projectName: string) {\n const { confirm } = await inquirer.prompt({\n type: 'confirm',\n message: `Are you sure you want to generate a new project named ${projectName} ?`,\n name: 'confirm',\n default: 'y'\n });\n\n if (!confirm) {\n console.log('Aborted.');\n return;\n }\n await fs.mkdir(projectName, { recursive: true });\n console.log(`${projectName} course project generated!`);\n const pathfolder = path.join(process.cwd(), projectName);\n if (await fs.exists(pathfolder)) {\n await initCourse({\n directory: pathfolder\n });\n return;\n }\n}\n"]}
@@ -1 +1 @@
1
- export declare function zipCourse(options: any): void;
1
+ export declare function zipCourse(options: any): Promise<void>;
@@ -1,32 +1,69 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
2
37
  Object.defineProperty(exports, "__esModule", { value: true });
3
38
  exports.zipCourse = void 0;
4
- const AdmZip = require("adm-zip");
5
- const fs = require("fs-extra");
6
- const path = require("path");
7
- const error_1 = require("../utils/error");
39
+ const adm_zip_1 = __importDefault(require("adm-zip"));
40
+ const fs = __importStar(require("fs-extra"));
41
+ const path = __importStar(require("path"));
42
+ const output_1 = require("../utils/output");
8
43
  function zipCourse(options) {
9
- console.log(`Compressing ${options.directory}...`);
10
- const output = '.output.zip';
11
- const zip = new AdmZip();
12
- const sourceDirectory = path.resolve(options.directory);
13
- if (fs.existsSync(sourceDirectory)) {
14
- const filesToIgnore = ['_MACOSX', 'node_modules'];
15
- zip.addLocalFolder(sourceDirectory, '', function (filename) {
16
- for (const files of filesToIgnore) {
17
- if (filename.startsWith(files)) {
18
- return false;
44
+ return __awaiter(this, void 0, void 0, function* () {
45
+ console.log(`Compressing ${options.directory}...`);
46
+ const output = '.output.zip';
47
+ const zip = new adm_zip_1.default();
48
+ const sourceDirectory = path.resolve(options.directory);
49
+ if (yield fs.exists(sourceDirectory)) {
50
+ const filesToIgnore = ['_MACOSX', 'node_modules'];
51
+ zip.addLocalFolder(sourceDirectory, '', function (filename) {
52
+ for (const files of filesToIgnore) {
53
+ if (filename.startsWith(files)) {
54
+ return false;
55
+ }
19
56
  }
20
- }
21
- return !filename.startsWith('.');
22
- });
23
- const outputFilePath = path.join(sourceDirectory, output);
24
- zip.writeZip(outputFilePath);
25
- console.log(`${sourceDirectory} compressed to ${output} in directory ${sourceDirectory}`);
26
- }
27
- else {
28
- (0, error_1.error)(`${options.directory} does not exist`);
29
- }
57
+ return !filename.startsWith('.');
58
+ });
59
+ const outputFilePath = path.join(sourceDirectory, output);
60
+ zip.writeZip(outputFilePath);
61
+ console.log(`${sourceDirectory} compressed to ${output} in directory ${sourceDirectory}`);
62
+ }
63
+ else {
64
+ (0, output_1.error)(`${options.directory} does not exist`);
65
+ }
66
+ });
30
67
  }
31
68
  exports.zipCourse = zipCourse;
32
69
  //# sourceMappingURL=pack.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pack.js","sourceRoot":"","sources":["../../src/command/pack.ts"],"names":[],"mappings":";;;AAAA,kCAAkC;AAClC,+BAA+B;AAC/B,6BAA6B;AAC7B,0CAAuC;AAEvC,SAAgB,SAAS,CAAC,OAAO;IAC/B,OAAO,CAAC,GAAG,CAAC,eAAe,OAAO,CAAC,SAAS,KAAK,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,aAAa,CAAC;IAC7B,MAAM,GAAG,GAAG,IAAI,MAAM,EAAE,CAAC;IACzB,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACxD,IAAI,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;QAClC,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QAClD,GAAG,CAAC,cAAc,CAAC,eAAe,EAAE,EAAE,EAAE,UAAU,QAAQ;YACxD,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE;gBACjC,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;oBAC9B,OAAO,KAAK,CAAC;iBACd;aACF;YACD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QACH,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QAC1D,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAC7B,OAAO,CAAC,GAAG,CACT,GAAG,eAAe,kBAAkB,MAAM,iBAAiB,eAAe,EAAE,CAC7E,CAAC;KACH;SAAM;QACL,IAAA,aAAK,EAAC,GAAG,OAAO,CAAC,SAAS,iBAAiB,CAAC,CAAC;KAC9C;AACH,CAAC;AAvBD,8BAuBC","sourcesContent":["import * as AdmZip from 'adm-zip';\nimport * as fs from 'fs-extra';\nimport * as path from 'path';\nimport { error } from '../utils/error';\n\nexport function zipCourse(options) {\n console.log(`Compressing ${options.directory}...`);\n const output = '.output.zip';\n const zip = new AdmZip();\n const sourceDirectory = path.resolve(options.directory);\n if (fs.existsSync(sourceDirectory)) {\n const filesToIgnore = ['_MACOSX', 'node_modules'];\n zip.addLocalFolder(sourceDirectory, '', function (filename) {\n for (const files of filesToIgnore) {\n if (filename.startsWith(files)) {\n return false;\n }\n }\n return !filename.startsWith('.');\n });\n const outputFilePath = path.join(sourceDirectory, output);\n zip.writeZip(outputFilePath);\n console.log(\n `${sourceDirectory} compressed to ${output} in directory ${sourceDirectory}`\n );\n } else {\n error(`${options.directory} does not exist`);\n }\n}\n"]}
1
+ {"version":3,"file":"pack.js","sourceRoot":"","sources":["../../src/command/pack.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAA6B;AAC7B,6CAA+B;AAC/B,2CAA6B;AAC7B,4CAAwC;AAExC,SAAsB,SAAS,CAAC,OAAO;;QACrC,OAAO,CAAC,GAAG,CAAC,eAAe,OAAO,CAAC,SAAS,KAAK,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,aAAa,CAAC;QAC7B,MAAM,GAAG,GAAG,IAAI,iBAAM,EAAE,CAAC;QACzB,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACxD,IAAI,MAAM,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE;YACpC,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YAClD,GAAG,CAAC,cAAc,CAAC,eAAe,EAAE,EAAE,EAAE,UAAU,QAAQ;gBACxD,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE;oBACjC,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;wBAC9B,OAAO,KAAK,CAAC;qBACd;iBACF;gBACD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;YACH,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;YAC1D,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YAC7B,OAAO,CAAC,GAAG,CACT,GAAG,eAAe,kBAAkB,MAAM,iBAAiB,eAAe,EAAE,CAC7E,CAAC;SACH;aAAM;YACL,IAAA,cAAK,EAAC,GAAG,OAAO,CAAC,SAAS,iBAAiB,CAAC,CAAC;SAC9C;IACH,CAAC;CAAA;AAvBD,8BAuBC","sourcesContent":["import AdmZip from 'adm-zip';\nimport * as fs from 'fs-extra';\nimport * as path from 'path';\nimport { error } from '../utils/output';\n\nexport async function zipCourse(options) {\n console.log(`Compressing ${options.directory}...`);\n const output = '.output.zip';\n const zip = new AdmZip();\n const sourceDirectory = path.resolve(options.directory);\n if (await fs.exists(sourceDirectory)) {\n const filesToIgnore = ['_MACOSX', 'node_modules'];\n zip.addLocalFolder(sourceDirectory, '', function (filename) {\n for (const files of filesToIgnore) {\n if (filename.startsWith(files)) {\n return false;\n }\n }\n return !filename.startsWith('.');\n });\n const outputFilePath = path.join(sourceDirectory, output);\n zip.writeZip(outputFilePath);\n console.log(\n `${sourceDirectory} compressed to ${output} in directory ${sourceDirectory}`\n );\n } else {\n error(`${options.directory} does not exist`);\n }\n}\n"]}
@@ -1,4 +1,27 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
26
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
27
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -8,21 +31,24 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
31
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
32
  });
10
33
  };
34
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
11
37
  Object.defineProperty(exports, "__esModule", { value: true });
12
38
  exports.publishCourse = void 0;
13
39
  const course_validator_1 = require("@procamp/course-validator");
14
- const axios_1 = require("axios");
15
- const FormData = require("form-data");
16
- const fs = require("fs-extra");
17
- const os = require("os");
18
- const path = require("path");
19
- const error_1 = require("../utils/error");
40
+ const axios_1 = __importDefault(require("axios"));
41
+ const form_data_1 = __importDefault(require("form-data"));
42
+ const fs = __importStar(require("fs-extra"));
43
+ const os = __importStar(require("os"));
44
+ const path = __importStar(require("path"));
45
+ const output_1 = require("../utils/output");
20
46
  const pack_1 = require("./pack");
21
47
  function publishCourse() {
22
48
  return __awaiter(this, void 0, void 0, function* () {
23
49
  const directory = process.cwd();
24
50
  const filenameConf = path.join(directory, 'meta.json');
25
- if (fs.existsSync(filenameConf)) {
51
+ if (yield fs.exists(filenameConf)) {
26
52
  const data = yield fs.readFile(filenameConf, { encoding: 'utf-8' });
27
53
  const meta = JSON.parse(data);
28
54
  if (meta.courseId && meta.courseId.length !== 0) {
@@ -30,30 +56,30 @@ function publishCourse() {
30
56
  const filePathZip = path.join(directory, '.output.zip');
31
57
  const configPath = path.join(os.homedir(), '.procamp-config.json');
32
58
  let configContent;
33
- if (fs.existsSync(configPath)) {
59
+ if (yield fs.exists(configPath)) {
34
60
  try {
35
61
  configContent = yield fs.readJSON(configPath);
36
62
  }
37
63
  catch (e) {
38
64
  throw e;
39
65
  }
40
- if (!('userID' in meta) || meta.userID.length !== 0) {
41
- if ('sub' in configContent)
42
- yield fs.writeJson(filenameConf, Object.assign(Object.assign({}, meta), { userId: configContent['sub'] }), { spaces: 2 });
66
+ if (!('userId' in meta) || meta.userId.length !== 0) {
67
+ if (configContent.userId)
68
+ yield fs.writeJson(filenameConf, Object.assign(Object.assign({}, meta), { userId: configContent['userId'] }), { spaces: 2 });
43
69
  }
44
70
  }
45
71
  else
46
- return (0, error_1.error)("I don't find config file.Please log in ");
72
+ return (0, output_1.error)("I don't find config file.Please log in ");
47
73
  yield (0, course_validator_1.validateCourse)(directory);
48
- const postZipfile = () => {
49
- if (fs.existsSync(filePathZip)) {
74
+ const postZipfile = () => __awaiter(this, void 0, void 0, function* () {
75
+ if (yield fs.exists(filePathZip)) {
50
76
  const fileStream = fs.createReadStream(filePathZip);
51
- const form = new FormData();
77
+ const form = new form_data_1.default();
52
78
  form.append('file', fileStream);
53
79
  axios_1.default
54
80
  .post(`https://course-manager.procamp.dev/api/courses/${courseId}`, form, {
55
81
  headers: {
56
- 'x-api-key': configContent['api-key']
82
+ 'x-api-key': configContent['api_key']
57
83
  }
58
84
  })
59
85
  .then((response) => {
@@ -64,30 +90,30 @@ function publishCourse() {
64
90
  if ('data' in err.response) {
65
91
  const data = err.response.data;
66
92
  if ('statusCode' in data && 'message' in data)
67
- (0, error_1.error)('Error publishing folder: ' +
93
+ (0, output_1.error)('Error publishing folder: ' +
68
94
  data.message +
69
95
  '. Error ' +
70
96
  data.statusCode);
71
97
  }
72
98
  });
73
99
  }
74
- };
75
- if (!fs.existsSync(filePathZip)) {
76
- (0, pack_1.zipCourse)({
100
+ });
101
+ if (!(yield fs.exists(filePathZip))) {
102
+ yield (0, pack_1.zipCourse)({
77
103
  directory: directory
78
104
  });
79
- postZipfile();
105
+ yield postZipfile();
80
106
  return;
81
107
  }
82
- return postZipfile();
108
+ return yield postZipfile();
83
109
  }
84
110
  else {
85
- return (0, error_1.error)("Course Id key don't exist or null in meta.json.\n" +
111
+ return (0, output_1.error)("Course Id key don't exist or null in meta.json.\n" +
86
112
  'Please complete course id');
87
113
  }
88
114
  }
89
115
  else {
90
- return (0, error_1.error)('meta.json file does not exist');
116
+ return (0, output_1.error)('meta.json file does not exist');
91
117
  }
92
118
  });
93
119
  }
@@ -1 +1 @@
1
- {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/command/publish.ts"],"names":[],"mappings":"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","sourcesContent":["import { validateCourse } from '@procamp/course-validator';\nimport axios from 'axios';\nimport * as FormData from 'form-data';\nimport * as fs from 'fs-extra';\nimport * as os from 'os';\nimport * as path from 'path';\nimport { error } from '../utils/error';\nimport { zipCourse } from './pack';\n\nexport async function publishCourse() {\n const directory = process.cwd();\n const filenameConf = path.join(directory, 'meta.json');\n\n if (fs.existsSync(filenameConf)) {\n const data = await fs.readFile(filenameConf, { encoding: 'utf-8' });\n const meta = JSON.parse(data);\n if (meta.courseId && meta.courseId.length !== 0) {\n const courseId: string = meta.courseId;\n const filePathZip = path.join(directory, '.output.zip');\n const configPath = path.join(os.homedir(), '.procamp-config.json');\n let configContent: any;\n if (fs.existsSync(configPath)) {\n try {\n configContent = await fs.readJSON(configPath);\n } catch (e) {\n throw e;\n }\n if (!('userID' in meta) || meta.userID.length !== 0) {\n if ('sub' in configContent)\n await fs.writeJson(\n filenameConf,\n { ...meta, userId: configContent['sub'] },\n { spaces: 2 }\n );\n }\n } else return error(\"I don't find config file.Please log in \");\n\n await validateCourse(directory);\n const postZipfile = () => {\n if (fs.existsSync(filePathZip)) {\n const fileStream = fs.createReadStream(filePathZip);\n const form = new FormData();\n form.append('file', fileStream);\n axios\n .post(\n `https://course-manager.procamp.dev/api/courses/${courseId}`,\n form,\n {\n headers: {\n 'x-api-key': configContent['api-key']\n }\n }\n )\n .then((response) => {\n console.log(response.data);\n })\n .catch((err) => {\n if ('response' in err)\n if ('data' in err.response) {\n const data = err.response.data;\n if ('statusCode' in data && 'message' in data)\n error(\n 'Error publishing folder: ' +\n data.message +\n '. Error ' +\n data.statusCode\n );\n }\n });\n }\n };\n\n if (!fs.existsSync(filePathZip)) {\n zipCourse({\n directory: directory\n });\n postZipfile();\n return;\n }\n\n return postZipfile();\n } else {\n return error(\n \"Course Id key don't exist or null in meta.json.\\n\" +\n 'Please complete course id'\n );\n }\n } else {\n return error('meta.json file does not exist');\n }\n}\n"]}
1
+ {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/command/publish.ts"],"names":[],"mappings":"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","sourcesContent":["import { validateCourse } from '@procamp/course-validator';\nimport axios from 'axios';\nimport FormData from 'form-data';\nimport * as fs from 'fs-extra';\nimport * as os from 'os';\nimport * as path from 'path';\nimport { error } from '../utils/output';\nimport { zipCourse } from './pack';\nimport { procampConfig } from '../interfaces/procamp_config';\nimport { courseInfo } from '../interfaces/course';\n\nexport async function publishCourse() {\n const directory = process.cwd();\n const filenameConf = path.join(directory, 'meta.json');\n\n if (await fs.exists(filenameConf)) {\n const data = await fs.readFile(filenameConf, { encoding: 'utf-8' });\n const meta: courseInfo = JSON.parse(data);\n if (meta.courseId && meta.courseId.length !== 0) {\n const courseId: string = meta.courseId;\n const filePathZip = path.join(directory, '.output.zip');\n const configPath = path.join(os.homedir(), '.procamp-config.json');\n let configContent: procampConfig;\n if (await fs.exists(configPath)) {\n try {\n configContent = await fs.readJSON(configPath);\n } catch (e) {\n throw e;\n }\n if (!('userId' in meta) || meta.userId.length !== 0) {\n if (configContent.userId)\n await fs.writeJson(\n filenameConf,\n { ...meta, userId: configContent['userId'] },\n { spaces: 2 }\n );\n }\n } else return error(\"I don't find config file.Please log in \");\n\n await validateCourse(directory);\n const postZipfile = async () => {\n if (await fs.exists(filePathZip)) {\n const fileStream = fs.createReadStream(filePathZip);\n const form = new FormData();\n form.append('file', fileStream);\n axios\n .post(\n `https://course-manager.procamp.dev/api/courses/${courseId}`,\n form,\n {\n headers: {\n 'x-api-key': configContent['api_key']\n }\n }\n )\n .then((response) => {\n console.log(response.data);\n })\n .catch((err) => {\n if ('response' in err)\n if ('data' in err.response) {\n const data = err.response.data;\n if ('statusCode' in data && 'message' in data)\n error(\n 'Error publishing folder: ' +\n data.message +\n '. Error ' +\n data.statusCode\n );\n }\n });\n }\n };\n\n if (!(await fs.exists(filePathZip))) {\n await zipCourse({\n directory: directory\n });\n await postZipfile();\n return;\n }\n\n return await postZipfile();\n } else {\n return error(\n \"Course Id key don't exist or null in meta.json.\\n\" +\n 'Please complete course id'\n );\n }\n } else {\n return error('meta.json file does not exist');\n }\n}\n"]}
@@ -0,0 +1,3 @@
1
+ export declare const setCourseId: (courseId: string) => Promise<void>;
2
+ export declare const setClientId: (clientId: string) => Promise<void>;
3
+ export declare const setClientSecret: (clientSecret: string) => Promise<void>;
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.setClientSecret = exports.setClientId = exports.setCourseId = void 0;
39
+ const process = __importStar(require("process"));
40
+ const path = __importStar(require("path"));
41
+ const fs = __importStar(require("fs-extra"));
42
+ const output_1 = require("../utils/output");
43
+ const os_1 = __importDefault(require("os"));
44
+ const setCourseId = (courseId) => __awaiter(void 0, void 0, void 0, function* () {
45
+ const directory = process.cwd();
46
+ const metaFile = path.join(directory, 'meta.json');
47
+ if (yield fs.exists(metaFile)) {
48
+ const metaContent = yield fs.readJSON(metaFile);
49
+ yield fs.writeJson(metaFile, Object.assign(Object.assign({}, metaContent), { courseId: courseId }));
50
+ (0, output_1.success)('Course id set with success');
51
+ }
52
+ else
53
+ return (0, output_1.error)('meta.json file does not exist');
54
+ });
55
+ exports.setCourseId = setCourseId;
56
+ const setClientId = (clientId) => __awaiter(void 0, void 0, void 0, function* () {
57
+ const configPath = path.join(os_1.default.homedir(), '.procamp-config.json');
58
+ if (yield fs.exists(configPath)) {
59
+ const configContent = yield fs.readJSON(configPath);
60
+ yield fs.writeJson(configPath, Object.assign(Object.assign({}, configContent), { client_id: clientId }));
61
+ (0, output_1.success)('Client id set with success');
62
+ }
63
+ else
64
+ return (0, output_1.error)('procamp config file not found');
65
+ });
66
+ exports.setClientId = setClientId;
67
+ const setClientSecret = (clientSecret) => __awaiter(void 0, void 0, void 0, function* () {
68
+ const configPath = path.join(os_1.default.homedir(), '.procamp-config.json');
69
+ if (yield fs.exists(configPath)) {
70
+ const configContent = yield fs.readJSON(configPath);
71
+ yield fs.writeJson(configPath, Object.assign(Object.assign({}, configContent), { client_secret: clientSecret }));
72
+ (0, output_1.success)('Client secret set with success');
73
+ }
74
+ else
75
+ return (0, output_1.error)('procamp config file not found');
76
+ });
77
+ exports.setClientSecret = setClientSecret;
78
+ //# sourceMappingURL=set.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set.js","sourceRoot":"","sources":["../../src/command/set.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAmC;AACnC,2CAA6B;AAC7B,6CAA+B;AAC/B,4CAAiD;AACjD,4CAAoB;AAGb,MAAM,WAAW,GAAG,CAAO,QAAgB,EAAE,EAAE;IACpD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACnD,IAAI,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;QAC7B,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,kCACtB,WAAW,KACd,QAAQ,EAAE,QAAQ,IAClB,CAAC;QACH,IAAA,gBAAO,EAAC,4BAA4B,CAAC,CAAC;KACvC;;QAAM,OAAO,IAAA,cAAK,EAAC,+BAA+B,CAAC,CAAC;AACvD,CAAC,CAAA,CAAC;AAXW,QAAA,WAAW,eAWtB;AAEK,MAAM,WAAW,GAAG,CAAO,QAAgB,EAAE,EAAE;IACpD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,sBAAsB,CAAC,CAAC;IACnE,IAAI,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;QAC/B,MAAM,aAAa,GAAkB,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACnE,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,kCACxB,aAAa,KAChB,SAAS,EAAE,QAAQ,IACnB,CAAC;QACH,IAAA,gBAAO,EAAC,4BAA4B,CAAC,CAAC;KACvC;;QAAM,OAAO,IAAA,cAAK,EAAC,+BAA+B,CAAC,CAAC;AACvD,CAAC,CAAA,CAAC;AAVW,QAAA,WAAW,eAUtB;AAEK,MAAM,eAAe,GAAG,CAAO,YAAoB,EAAE,EAAE;IAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,sBAAsB,CAAC,CAAC;IACnE,IAAI,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;QAC/B,MAAM,aAAa,GAAkB,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACnE,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,kCACxB,aAAa,KAChB,aAAa,EAAE,YAAY,IAC3B,CAAC;QACH,IAAA,gBAAO,EAAC,gCAAgC,CAAC,CAAC;KAC3C;;QAAM,OAAO,IAAA,cAAK,EAAC,+BAA+B,CAAC,CAAC;AACvD,CAAC,CAAA,CAAC;AAVW,QAAA,eAAe,mBAU1B","sourcesContent":["import * as process from 'process';\nimport * as path from 'path';\nimport * as fs from 'fs-extra';\nimport { error, success } from '../utils/output';\nimport os from 'os';\nimport { procampConfig } from '../interfaces/procamp_config';\n\nexport const setCourseId = async (courseId: string) => {\n const directory = process.cwd();\n const metaFile = path.join(directory, 'meta.json');\n if (await fs.exists(metaFile)) {\n const metaContent = await fs.readJSON(metaFile);\n await fs.writeJson(metaFile, {\n ...metaContent,\n courseId: courseId\n });\n success('Course id set with success');\n } else return error('meta.json file does not exist');\n};\n\nexport const setClientId = async (clientId: string) => {\n const configPath = path.join(os.homedir(), '.procamp-config.json');\n if (await fs.exists(configPath)) {\n const configContent: procampConfig = await fs.readJSON(configPath);\n await fs.writeJson(configPath, {\n ...configContent,\n client_id: clientId\n });\n success('Client id set with success');\n } else return error('procamp config file not found');\n};\n\nexport const setClientSecret = async (clientSecret: string) => {\n const configPath = path.join(os.homedir(), '.procamp-config.json');\n if (await fs.exists(configPath)) {\n const configContent: procampConfig = await fs.readJSON(configPath);\n await fs.writeJson(configPath, {\n ...configContent,\n client_secret: clientSecret\n });\n success('Client secret set with success');\n } else return error('procamp config file not found');\n};\n"]}
@@ -1 +1 @@
1
- export declare function validate(): void;
1
+ export declare function validate(): Promise<void>;
@@ -1,9 +1,20 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.validate = void 0;
4
13
  const course_validator_1 = require("@procamp/course-validator");
5
14
  function validate() {
6
- (0, course_validator_1.validateCourse)(process.cwd());
15
+ return __awaiter(this, void 0, void 0, function* () {
16
+ yield (0, course_validator_1.validateCourse)(process.cwd());
17
+ });
7
18
  }
8
19
  exports.validate = validate;
9
20
  //# sourceMappingURL=validate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/command/validate.ts"],"names":[],"mappings":";;;AAAA,gEAA2D;AAE3D,SAAgB,QAAQ;IACtB,IAAA,iCAAc,EAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAChC,CAAC;AAFD,4BAEC","sourcesContent":["import { validateCourse } from '@procamp/course-validator';\n\nexport function validate() {\n validateCourse(process.cwd());\n}\n"]}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/command/validate.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gEAA2D;AAE3D,SAAsB,QAAQ;;QAC5B,MAAM,IAAA,iCAAc,EAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACtC,CAAC;CAAA;AAFD,4BAEC","sourcesContent":["import { validateCourse } from '@procamp/course-validator';\n\nexport async function validate() {\n await validateCourse(process.cwd());\n}\n"]}
@@ -0,0 +1,7 @@
1
+ export interface procampConfig {
2
+ grant_type: string;
3
+ client_id: string;
4
+ client_secret: string;
5
+ api_key: string;
6
+ userId: string;
7
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=procamp_config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"procamp_config.js","sourceRoot":"","sources":["../../src/interfaces/procamp_config.ts"],"names":[],"mappings":"","sourcesContent":["export interface procampConfig {\n grant_type: string;\n client_id: string;\n client_secret: string;\n api_key: string;\n userId: string;\n}\n"]}
@@ -1 +1,2 @@
1
- export declare function getUserId(): any;
1
+ import { procampConfig } from '../interfaces/procamp_config';
2
+ export declare function getUserId(): procampConfig;
@@ -1,9 +1,32 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
26
  exports.getUserId = void 0;
4
- const fs = require("fs-extra");
5
- const os = require("os");
6
- const path = require("path");
27
+ const fs = __importStar(require("fs-extra"));
28
+ const os = __importStar(require("os"));
29
+ const path = __importStar(require("path"));
7
30
  function getUserId() {
8
31
  const configPath = path.join(os.homedir(), '.procamp-config.json');
9
32
  if (fs.existsSync(configPath)) {
@@ -1 +1 @@
1
- {"version":3,"file":"getUserId.js","sourceRoot":"","sources":["../../src/utils/getUserId.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,yBAAyB;AACzB,6BAA6B;AAE7B,SAAgB,SAAS;IACvB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,sBAAsB,CAAC,CAAC;IACnE,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;QAC7B,OAAO,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;KACpC;IACD,OAAO;AACT,CAAC;AAND,8BAMC","sourcesContent":["import * as fs from 'fs-extra';\nimport * as os from 'os';\nimport * as path from 'path';\n\nexport function getUserId() {\n const configPath = path.join(os.homedir(), '.procamp-config.json');\n if (fs.existsSync(configPath)) {\n return fs.readJSONSync(configPath);\n }\n return;\n}\n"]}
1
+ {"version":3,"file":"getUserId.js","sourceRoot":"","sources":["../../src/utils/getUserId.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAC/B,uCAAyB;AACzB,2CAA6B;AAG7B,SAAgB,SAAS;IACvB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,sBAAsB,CAAC,CAAC;IACnE,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;QAC7B,OAAO,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;KACpC;IACD,OAAO;AACT,CAAC;AAND,8BAMC","sourcesContent":["import * as fs from 'fs-extra';\nimport * as os from 'os';\nimport * as path from 'path';\nimport { procampConfig } from '../interfaces/procamp_config';\n\nexport function getUserId(): procampConfig {\n const configPath = path.join(os.homedir(), '.procamp-config.json');\n if (fs.existsSync(configPath)) {\n return fs.readJSONSync(configPath);\n }\n return;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export declare function error(err: string): void;
2
+ export declare function success(res: string): void;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.success = exports.error = void 0;
4
+ function error(err) {
5
+ console.error('camp \x1b[31m%s\x1b[0m', 'ERR!', err);
6
+ }
7
+ exports.error = error;
8
+ function success(res) {
9
+ console.error('camp \x1b[32m%s\x1b[0m', 'SUCCESS!', res);
10
+ }
11
+ exports.success = success;
12
+ //# sourceMappingURL=output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/utils/output.ts"],"names":[],"mappings":";;;AAAA,SAAgB,KAAK,CAAC,GAAW;IAC/B,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;AACvD,CAAC;AAFD,sBAEC;AAED,SAAgB,OAAO,CAAC,GAAW;IACjC,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;AAC3D,CAAC;AAFD,0BAEC","sourcesContent":["export function error(err: string) {\n console.error('camp \\x1b[31m%s\\x1b[0m', 'ERR!', err);\n}\n\nexport function success(res: string) {\n console.error('camp \\x1b[32m%s\\x1b[0m', 'SUCCESS!', res);\n}\n"]}