Lines 3-43javascript
3 return (mod && mod.__esModule) ? mod : { "default": mod };
5Object.defineProperty(exports, "__esModule", { value: true });
6exports.buildApiClient = void 0;
7exports.runFreeeLogin = runFreeeLogin;
8exports.runFreeeTemplates = runFreeeTemplates;
9exports.runFreeeIssue = runFreeeIssue;
11 * webgram freee — freee 請求書発行コマンド群。
13 * - login: ローカル :8080 で認可コードを受け取り backend で token 交換
14 * - templates: 使用可能な帳票テンプレート一覧
15 * - issue: 請求書を発行し report_url(帳票詳細ページURL) を返す
16 * (submission.ts と同じく dry-run 既定 + --yes 安全弁)
18 * clientSecret は CLI に持たせない。token 交換は必ず backend で行う。
20const crypto_1 = __importDefault(require("crypto"));
21const fs_1 = __importDefault(require("fs"));
22const http_1 = __importDefault(require("http"));
23const url_1 = require("url");
24const child_process_1 = require("child_process");
25const apiClient_1 = require("../lib/apiClient");
HighChild Process
Package source references child process execution.
dist/commands/freee.jsView on unpkg · L23 26Object.defineProperty(exports, "buildApiClient", { enumerable: true, get: function () { return apiClient_1.buildApiClient; } });
27const CALLBACK_PORT = 8080;
28const CALLBACK_PATH = '/callback';
29function sha256Hex(s) {
30 return crypto_1.default.createHash('sha256').update(s).digest('hex').slice(0, 16);
32/** JWT (検証なし) から email を取り出す。失敗時は undefined。 */
33function decodeJwtEmail(token) {
37 const payload = token.split('.')[1];
40 const v = JSON.parse(Buffer.from(payload, 'base64url').toString('utf8'));
41 return typeof v?.email === 'string' ? v.email : undefined;