@donotdev/cli 0.0.19 → 0.0.21
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.
- package/README.md +31 -0
- package/dependencies-matrix.json +205 -50
- package/dist/bin/commands/agent-setup.js +2 -2
- package/dist/bin/commands/build.js +6 -6
- package/dist/bin/commands/bump.js +495 -70
- package/dist/bin/commands/cacheout.js +6 -6
- package/dist/bin/commands/coach.js +6 -6
- package/dist/bin/commands/create-app.js +24 -16
- package/dist/bin/commands/create-project.js +114 -18
- package/dist/bin/commands/db.js +142136 -0
- package/dist/bin/commands/deploy.js +354 -126
- package/dist/bin/commands/dev.js +6 -6
- package/dist/bin/commands/doctor.js +140 -33
- package/dist/bin/commands/emu.js +6 -6
- package/dist/bin/commands/format.js +6 -6
- package/dist/bin/commands/get-demo.js +11 -6
- package/dist/bin/commands/make-admin.js +14210 -13770
- package/dist/bin/commands/preview.js +6 -6
- package/dist/bin/commands/seed.js +142426 -0
- package/dist/bin/commands/setup-cicd.js +8904 -0
- package/dist/bin/commands/setup.js +259 -212
- package/dist/bin/commands/staging.js +361 -127
- package/dist/bin/commands/sync-secrets.js +55 -33
- package/dist/bin/commands/type-check.js +16 -10
- package/dist/bin/commands/wai.js +6 -6
- package/dist/bin/dndev.js +194 -188
- package/dist/bin/donotdev.js +139 -189
- package/dist/index.js +468 -144
- package/package.json +1 -1
- package/templates/app-demo/.env.example +1 -0
- package/templates/{root-consumer → app-demo}/entities/ExampleEntity.ts.example +15 -9
- package/templates/app-demo/index.html.example +1 -1
- package/templates/app-demo/public/apple-touch-icon.png.example +0 -0
- package/templates/app-demo/public/favicon.svg.example +1 -0
- package/templates/app-demo/public/icon-192x192.png.example +0 -0
- package/templates/app-demo/public/icon-512x512.png.example +0 -0
- package/templates/app-demo/src/App.tsx.example +3 -1
- package/templates/app-demo/src/config/app.ts.example +1 -0
- package/templates/app-demo/src/entities/booking.ts.example +75 -0
- package/templates/app-demo/src/entities/onboarding.ts.example +160 -0
- package/templates/app-demo/src/entities/product.ts.example +12 -0
- package/templates/app-demo/src/entities/quote.ts.example +70 -0
- package/templates/app-demo/src/pages/ChangelogPage.tsx.example +28 -1
- package/templates/app-demo/src/pages/ConditionalFormPage.tsx.example +88 -0
- package/templates/app-demo/src/pages/DashboardPage.tsx.example +2 -0
- package/templates/app-demo/src/pages/HomePage.tsx.example +355 -2
- package/templates/app-demo/src/pages/OnboardingPage.tsx.example +47 -0
- package/templates/app-demo/src/pages/PricingPage.tsx.example +28 -1
- package/templates/app-demo/src/pages/ProductsPage.tsx.example +2 -0
- package/templates/app-demo/src/pages/ProfilePage.tsx.example +2 -0
- package/templates/app-demo/src/pages/SettingsPage.tsx.example +2 -0
- package/templates/app-demo/src/pages/ShowcaseDetailPage.tsx.example +22 -16
- package/templates/app-demo/src/pages/ShowcasePage.tsx.example +3 -1
- package/templates/app-demo/src/pages/components/ComponentRenderer.tsx.example +147 -51
- package/templates/app-demo/src/pages/components/ComponentsData.tsx.example +103 -21
- package/templates/app-demo/src/pages/components/componentConfig.ts.example +139 -59
- package/templates/app-demo/src/pages/legal/LegalPage.tsx.example +12 -1
- package/templates/app-demo/src/pages/legal/PrivacyPage.tsx.example +10 -1
- package/templates/app-demo/src/pages/legal/TermsPage.tsx.example +10 -1
- package/templates/app-demo/src/themes.css.example +289 -77
- package/templates/app-demo/stats.html.example +4949 -0
- package/templates/app-dndev/index.html.example +164 -0
- package/templates/app-dndev/public/logo.svg.example +1 -0
- package/templates/app-dndev/public/manifest.json.example +10 -0
- package/templates/app-dndev/src/App.tsx.example +35 -0
- package/templates/app-dndev/src/components/CockpitLayout.css.example +181 -0
- package/templates/app-dndev/src/components/CockpitLayout.tsx.example +209 -0
- package/templates/app-dndev/src/components/Kanban.css.example +385 -0
- package/templates/app-dndev/src/components/ModeToggle.tsx.example +32 -0
- package/templates/app-dndev/src/components/OverlaySlot.tsx.example +68 -0
- package/templates/app-dndev/src/components/TerminalPanel.css.example +228 -0
- package/templates/app-dndev/src/components/TerminalPanel.tsx.example +714 -0
- package/templates/app-dndev/src/components/markdown-prose.css.example +49 -0
- package/templates/app-dndev/src/components/phases/CaptainLog.tsx.example +107 -0
- package/templates/app-dndev/src/components/phases/ContextTabs.tsx.example +352 -0
- package/templates/app-dndev/src/components/phases/PhaseCard.tsx.example +126 -0
- package/templates/app-dndev/src/components/phases/PhaseDetail.tsx.example +147 -0
- package/templates/app-dndev/src/components/phases/ReviewPanel.tsx.example +115 -0
- package/templates/app-dndev/src/components/phases/phaseData.ts.example +366 -0
- package/templates/app-dndev/src/config/app.ts.example +103 -0
- package/templates/app-dndev/src/config/commands.ts.example +171 -0
- package/templates/app-dndev/src/config/legal.ts.example +170 -0
- package/templates/app-dndev/src/config/providers.ts.example +7 -0
- package/templates/app-dndev/src/globals.css.example +10 -0
- package/templates/app-dndev/src/hooks/useDndevFile.ts.example +144 -0
- package/templates/app-dndev/src/main.tsx.example +21 -0
- package/templates/app-dndev/src/pages/BoardPage.tsx.example +640 -0
- package/templates/app-dndev/src/pages/GrillPage.tsx.example +658 -0
- package/templates/app-dndev/src/pages/HomePage.tsx.example +347 -0
- package/templates/app-dndev/src/pages/NotFoundPage.tsx.example +33 -0
- package/templates/app-dndev/src/pages/PhasesPage.tsx.example +137 -0
- package/templates/app-dndev/src/pages/SettingsPage.tsx.example +64 -0
- package/templates/app-dndev/src/pages/legal/LegalNoticePage.tsx.example +75 -0
- package/templates/app-dndev/src/pages/legal/PrivacyPage.tsx.example +69 -0
- package/templates/app-dndev/src/pages/legal/TermsPage.tsx.example +71 -0
- package/templates/app-dndev/src/stores/dndevStore.ts.example +386 -0
- package/templates/app-dndev/src/themes.css.example +161 -0
- package/templates/app-dndev/terminal-sidecar.cjs.example +341 -0
- package/templates/app-dndev/tsconfig.json.example +9 -0
- package/templates/app-dndev/vite.config.ts.example +24 -0
- package/templates/app-vite/index.html.example +1 -1
- package/templates/functions-supabase/supabase/functions/.env.example +0 -2
- package/templates/root-consumer/.claude/commands/grill.md.example +86 -8
- package/templates/root-consumer/.dndev.secrets.example +32 -0
- package/templates/root-consumer/.gitignore.example +3 -0
- package/templates/root-consumer/AI.md.example +4 -0
- package/templates/root-consumer/entities/index.ts.example +2 -5
- package/templates/root-consumer/guides/dndev/COMPONENTS_ATOMIC.md.example +4 -0
- package/templates/root-consumer/guides/dndev/ENV_SETUP.md.example +23 -20
- package/templates/root-consumer/guides/dndev/INDEX.md.example +1 -0
- package/templates/root-consumer/guides/dndev/SETUP_BILLING.md.example +3 -7
- package/templates/root-consumer/guides/dndev/SETUP_CICD.md.example +115 -0
- package/templates/root-consumer/guides/dndev/SETUP_CRUD.md.example +41 -0
- package/templates/root-consumer/guides/dndev/SETUP_SUPABASE.md.example +13 -18
- package/templates/root-consumer/guides/dndev/SETUP_VERCEL.md.example +17 -12
- package/templates/root-consumer/guides/wai-way/WAI_WAY_CLI.md.example +185 -251
- package/templates/root-consumer/guides/wai-way/agents/extractor.md.example +26 -8
- package/templates/root-consumer/guides/wai-way/blueprints/0_brainstorm.md.example +66 -49
- package/templates/root-consumer/guides/wai-way/blueprints/1_scaffold.md.example +6 -5
- package/templates/root-consumer/guides/wai-way/blueprints/2_entities.md.example +9 -9
- package/templates/root-consumer/guides/wai-way/blueprints/3_compose.md.example +1 -1
- package/templates/root-consumer/guides/wai-way/blueprints/4_configure.md.example +7 -6
- package/templates/root-consumer/guides/wai-way/context_map.json.example +51 -20
- package/templates/root-consumer/guides/wai-way/hld_template.md.example +138 -0
- package/templates/root-consumer/guides/wai-way/lld_template.md.example +103 -0
- package/templates/root-consumer/guides/wai-way/prd_template.md.example +140 -0
- /package/templates/{root-consumer → app-demo}/entities/Contact.ts.example +0 -0
- /package/templates/{root-consumer → app-demo}/entities/demo.ts.example +0 -0
|
@@ -6920,7 +6920,7 @@ var init_PathResolver = __esm({
|
|
|
6920
6920
|
}
|
|
6921
6921
|
const detectedFormat = this._detectFormat(filePath, format);
|
|
6922
6922
|
let writeContent;
|
|
6923
|
-
if (
|
|
6923
|
+
if (Buffer.isBuffer(content)) {
|
|
6924
6924
|
writeContent = content;
|
|
6925
6925
|
} else if (detectedFormat === "json" && typeof content === "object") {
|
|
6926
6926
|
writeContent = JSON.stringify(content, null, 2);
|
|
@@ -6929,7 +6929,7 @@ var init_PathResolver = __esm({
|
|
|
6929
6929
|
}
|
|
6930
6930
|
try {
|
|
6931
6931
|
return await safeExecuteAsync(async () => {
|
|
6932
|
-
if (
|
|
6932
|
+
if (Buffer.isBuffer(writeContent)) {
|
|
6933
6933
|
await fs.promises.writeFile(normalizedPath, writeContent);
|
|
6934
6934
|
} else {
|
|
6935
6935
|
await fs.promises.writeFile(normalizedPath, writeContent, "utf8");
|
|
@@ -6981,7 +6981,7 @@ var init_PathResolver = __esm({
|
|
|
6981
6981
|
}
|
|
6982
6982
|
const detectedFormat = this._detectFormat(filePath, format);
|
|
6983
6983
|
let writeContent;
|
|
6984
|
-
if (
|
|
6984
|
+
if (Buffer.isBuffer(content)) {
|
|
6985
6985
|
writeContent = content;
|
|
6986
6986
|
} else if (detectedFormat === "json" && typeof content === "object") {
|
|
6987
6987
|
writeContent = JSON.stringify(content, null, 2);
|
|
@@ -6989,7 +6989,7 @@ var init_PathResolver = __esm({
|
|
|
6989
6989
|
writeContent = String(content);
|
|
6990
6990
|
}
|
|
6991
6991
|
try {
|
|
6992
|
-
if (
|
|
6992
|
+
if (Buffer.isBuffer(writeContent)) {
|
|
6993
6993
|
fs.writeFileSync(normalizedPath, writeContent);
|
|
6994
6994
|
} else {
|
|
6995
6995
|
fs.writeFileSync(normalizedPath, writeContent, "utf8");
|
|
@@ -7716,7 +7716,7 @@ var init_pathResolver = __esm({
|
|
|
7716
7716
|
});
|
|
7717
7717
|
|
|
7718
7718
|
// packages/tooling/src/bundler/utils.ts
|
|
7719
|
-
import { Buffer
|
|
7719
|
+
import { Buffer } from "node:buffer";
|
|
7720
7720
|
import { readFileSync as readFileSync2, writeFileSync as writeFileSync2, mkdirSync as mkdirSync2 } from "node:fs";
|
|
7721
7721
|
import { createRequire as createRequire3 } from "node:module";
|
|
7722
7722
|
import { dirname as dirname3, resolve as resolve3 } from "node:path";
|
|
@@ -7733,7 +7733,7 @@ var init_utils = __esm({
|
|
|
7733
7733
|
globalThis.require = require2;
|
|
7734
7734
|
globalThis.__filename = __filename;
|
|
7735
7735
|
globalThis.__dirname = __dirname;
|
|
7736
|
-
globalThis.Buffer =
|
|
7736
|
+
globalThis.Buffer = Buffer;
|
|
7737
7737
|
globalThis.process = process;
|
|
7738
7738
|
if (typeof global === "undefined") {
|
|
7739
7739
|
globalThis.global = globalThis;
|
|
@@ -7768,9 +7768,39 @@ var init_cli_input = __esm({
|
|
|
7768
7768
|
}
|
|
7769
7769
|
});
|
|
7770
7770
|
|
|
7771
|
+
// packages/tooling/src/utils/secrets-resolver.ts
|
|
7772
|
+
function parseEnvFile(filePath) {
|
|
7773
|
+
if (!pathExists(filePath)) return {};
|
|
7774
|
+
const content = readSync(filePath, { format: "text" });
|
|
7775
|
+
if (typeof content !== "string" || !content) return {};
|
|
7776
|
+
const result = {};
|
|
7777
|
+
for (const line of content.split(/\r?\n/)) {
|
|
7778
|
+
const trimmed = line.trim();
|
|
7779
|
+
if (!trimmed || trimmed.startsWith("#")) continue;
|
|
7780
|
+
const eqIdx = trimmed.indexOf("=");
|
|
7781
|
+
if (eqIdx === -1) continue;
|
|
7782
|
+
const key = trimmed.slice(0, eqIdx).trim();
|
|
7783
|
+
let value = trimmed.slice(eqIdx + 1).trim();
|
|
7784
|
+
if (value.startsWith('"') && value.endsWith('"') || value.startsWith("'") && value.endsWith("'")) {
|
|
7785
|
+
value = value.slice(1, -1);
|
|
7786
|
+
}
|
|
7787
|
+
if (key && value) {
|
|
7788
|
+
result[key] = value;
|
|
7789
|
+
}
|
|
7790
|
+
}
|
|
7791
|
+
return result;
|
|
7792
|
+
}
|
|
7793
|
+
var init_secrets_resolver = __esm({
|
|
7794
|
+
"packages/tooling/src/utils/secrets-resolver.ts"() {
|
|
7795
|
+
"use strict";
|
|
7796
|
+
init_utils();
|
|
7797
|
+
init_pathResolver();
|
|
7798
|
+
}
|
|
7799
|
+
});
|
|
7800
|
+
|
|
7771
7801
|
// packages/tooling/src/apps/sync-secrets.ts
|
|
7772
7802
|
import { spawnSync } from "node:child_process";
|
|
7773
|
-
function
|
|
7803
|
+
function parseEnvFile2(filePath) {
|
|
7774
7804
|
if (!pathExists(filePath)) {
|
|
7775
7805
|
throw new DoNotDevError(
|
|
7776
7806
|
`Environment file not found: ${filePath}`,
|
|
@@ -7778,30 +7808,22 @@ function parseEnvFile(filePath) {
|
|
|
7778
7808
|
{ context: { filePath } }
|
|
7779
7809
|
);
|
|
7780
7810
|
}
|
|
7781
|
-
const
|
|
7782
|
-
|
|
7783
|
-
|
|
7784
|
-
throw new Error(`Failed to read secrets file: ${filePath}`);
|
|
7811
|
+
const result = parseEnvFile(filePath);
|
|
7812
|
+
if (Object.keys(result).length === 0) {
|
|
7813
|
+
log.debug(`No key-value pairs found in ${filePath}`);
|
|
7785
7814
|
}
|
|
7786
|
-
|
|
7787
|
-
|
|
7788
|
-
|
|
7789
|
-
|
|
7790
|
-
|
|
7791
|
-
|
|
7792
|
-
|
|
7793
|
-
|
|
7794
|
-
|
|
7795
|
-
return;
|
|
7796
|
-
}
|
|
7797
|
-
const key = trimmedLine.substring(0, equalIndex).trim();
|
|
7798
|
-
const value = trimmedLine.substring(equalIndex + 1).trim();
|
|
7799
|
-
const cleanValue = value.replace(/^["']|["']$/g, "");
|
|
7800
|
-
if (key && cleanValue) {
|
|
7801
|
-
secrets[key] = cleanValue;
|
|
7815
|
+
return result;
|
|
7816
|
+
}
|
|
7817
|
+
function parseSecretsWithFallback(envFilePath, projectRoot) {
|
|
7818
|
+
const dndevSecretsPath = joinPath(projectRoot, ".dndev.secrets");
|
|
7819
|
+
if (pathExists(dndevSecretsPath)) {
|
|
7820
|
+
const secrets = parseEnvFile(dndevSecretsPath);
|
|
7821
|
+
if (Object.keys(secrets).length > 0) {
|
|
7822
|
+
log.info(`Reading secrets from: ${dndevSecretsPath}`);
|
|
7823
|
+
return secrets;
|
|
7802
7824
|
}
|
|
7803
|
-
}
|
|
7804
|
-
return
|
|
7825
|
+
}
|
|
7826
|
+
return parseEnvFile2(envFilePath);
|
|
7805
7827
|
}
|
|
7806
7828
|
function detectPlatform() {
|
|
7807
7829
|
const currentDir = process.cwd();
|
|
@@ -8161,7 +8183,7 @@ function uploadServiceAccountToGitHub(appDir, repo, dryRun = false, staging = fa
|
|
|
8161
8183
|
const contentRaw = readSync(filePath, { format: "text" });
|
|
8162
8184
|
const content = typeof contentRaw === "string" ? contentRaw : null;
|
|
8163
8185
|
if (!content) return;
|
|
8164
|
-
const encoded =
|
|
8186
|
+
const encoded = Buffer.from(content).toString("base64");
|
|
8165
8187
|
setGitHubSecret(secretName, encoded, repo, dryRun);
|
|
8166
8188
|
}
|
|
8167
8189
|
async function main(options = {}) {
|
|
@@ -8248,7 +8270,7 @@ Examples:
|
|
|
8248
8270
|
return 1;
|
|
8249
8271
|
}
|
|
8250
8272
|
log.info(`Syncing secrets to GitHub repository: ${repo}`);
|
|
8251
|
-
const secrets2 =
|
|
8273
|
+
const secrets2 = parseSecretsWithFallback(envFilePath, currentDir);
|
|
8252
8274
|
const secretKeys2 = Object.keys(secrets2);
|
|
8253
8275
|
if (secretKeys2.length === 0) {
|
|
8254
8276
|
log.info("No secrets found in .env file");
|
|
@@ -8284,14 +8306,13 @@ Examples:
|
|
|
8284
8306
|
return 0;
|
|
8285
8307
|
}
|
|
8286
8308
|
const platform = config.platform || detectPlatform();
|
|
8287
|
-
log.info(`Reading secrets from: ${envFilePath}`);
|
|
8288
8309
|
if (config.verbose) {
|
|
8289
8310
|
log.debug(`Working directory: ${currentDir}`);
|
|
8290
8311
|
log.debug(`Environment file: ${envFilePath}`);
|
|
8291
8312
|
log.debug(`Platform: ${platform}`);
|
|
8292
8313
|
log.debug(`Dry run mode: ${config.dryRun}`);
|
|
8293
8314
|
}
|
|
8294
|
-
const secrets =
|
|
8315
|
+
const secrets = parseSecretsWithFallback(envFilePath, currentDir);
|
|
8295
8316
|
const secretKeys = Object.keys(secrets);
|
|
8296
8317
|
if (secretKeys.length === 0) {
|
|
8297
8318
|
log.info("No secrets found in .env file");
|
|
@@ -8351,6 +8372,7 @@ var init_sync_secrets = __esm({
|
|
|
8351
8372
|
init_cli_output();
|
|
8352
8373
|
init_errors();
|
|
8353
8374
|
init_pathResolver();
|
|
8375
|
+
init_secrets_resolver();
|
|
8354
8376
|
}
|
|
8355
8377
|
});
|
|
8356
8378
|
|
|
@@ -6712,7 +6712,7 @@ var init_PathResolver = __esm({
|
|
|
6712
6712
|
}
|
|
6713
6713
|
const detectedFormat = this._detectFormat(filePath, format);
|
|
6714
6714
|
let writeContent;
|
|
6715
|
-
if (
|
|
6715
|
+
if (Buffer.isBuffer(content)) {
|
|
6716
6716
|
writeContent = content;
|
|
6717
6717
|
} else if (detectedFormat === "json" && typeof content === "object") {
|
|
6718
6718
|
writeContent = JSON.stringify(content, null, 2);
|
|
@@ -6721,7 +6721,7 @@ var init_PathResolver = __esm({
|
|
|
6721
6721
|
}
|
|
6722
6722
|
try {
|
|
6723
6723
|
return await safeExecuteAsync(async () => {
|
|
6724
|
-
if (
|
|
6724
|
+
if (Buffer.isBuffer(writeContent)) {
|
|
6725
6725
|
await fs.promises.writeFile(normalizedPath, writeContent);
|
|
6726
6726
|
} else {
|
|
6727
6727
|
await fs.promises.writeFile(normalizedPath, writeContent, "utf8");
|
|
@@ -6773,7 +6773,7 @@ var init_PathResolver = __esm({
|
|
|
6773
6773
|
}
|
|
6774
6774
|
const detectedFormat = this._detectFormat(filePath, format);
|
|
6775
6775
|
let writeContent;
|
|
6776
|
-
if (
|
|
6776
|
+
if (Buffer.isBuffer(content)) {
|
|
6777
6777
|
writeContent = content;
|
|
6778
6778
|
} else if (detectedFormat === "json" && typeof content === "object") {
|
|
6779
6779
|
writeContent = JSON.stringify(content, null, 2);
|
|
@@ -6781,7 +6781,7 @@ var init_PathResolver = __esm({
|
|
|
6781
6781
|
writeContent = String(content);
|
|
6782
6782
|
}
|
|
6783
6783
|
try {
|
|
6784
|
-
if (
|
|
6784
|
+
if (Buffer.isBuffer(writeContent)) {
|
|
6785
6785
|
fs.writeFileSync(normalizedPath, writeContent);
|
|
6786
6786
|
} else {
|
|
6787
6787
|
fs.writeFileSync(normalizedPath, writeContent, "utf8");
|
|
@@ -7510,7 +7510,7 @@ function globSync(pattern, options = {}) {
|
|
|
7510
7510
|
});
|
|
7511
7511
|
return results.map((p) => pathResolverInstance.normalizePath(p));
|
|
7512
7512
|
}
|
|
7513
|
-
var pathResolverInstance, getRepoRoot, normalizePath, pathExists, readSync, writeSync, removeSync, getDirname;
|
|
7513
|
+
var pathResolverInstance, getRepoRoot, normalizePath, pathExists, readSync, writeSync, removeSync, getDirname, joinPath;
|
|
7514
7514
|
var init_pathResolver = __esm({
|
|
7515
7515
|
"packages/tooling/src/utils/pathResolver.ts"() {
|
|
7516
7516
|
"use strict";
|
|
@@ -7528,11 +7528,14 @@ var init_pathResolver = __esm({
|
|
|
7528
7528
|
getDirname = (filePath) => {
|
|
7529
7529
|
return normalizePath(dirname2(filePath));
|
|
7530
7530
|
};
|
|
7531
|
+
joinPath = (...pathSegments) => {
|
|
7532
|
+
return normalizePath(...pathSegments);
|
|
7533
|
+
};
|
|
7531
7534
|
}
|
|
7532
7535
|
});
|
|
7533
7536
|
|
|
7534
7537
|
// packages/tooling/src/bundler/utils.ts
|
|
7535
|
-
import { Buffer
|
|
7538
|
+
import { Buffer } from "node:buffer";
|
|
7536
7539
|
import { readFileSync as readFileSync2, writeFileSync as writeFileSync2, mkdirSync as mkdirSync2 } from "node:fs";
|
|
7537
7540
|
import { createRequire as createRequire3 } from "node:module";
|
|
7538
7541
|
import { dirname as dirname3, resolve as resolve3 } from "node:path";
|
|
@@ -7549,7 +7552,7 @@ var init_utils = __esm({
|
|
|
7549
7552
|
globalThis.require = require2;
|
|
7550
7553
|
globalThis.__filename = __filename;
|
|
7551
7554
|
globalThis.__dirname = __dirname;
|
|
7552
|
-
globalThis.Buffer =
|
|
7555
|
+
globalThis.Buffer = Buffer;
|
|
7553
7556
|
globalThis.process = process;
|
|
7554
7557
|
if (typeof global === "undefined") {
|
|
7555
7558
|
globalThis.global = globalThis;
|
|
@@ -7959,7 +7962,7 @@ ${output}
|
|
|
7959
7962
|
}
|
|
7960
7963
|
}
|
|
7961
7964
|
const logName2 = options.package ? `type-check-${options.package}.log` : `type-check-all.log`;
|
|
7962
|
-
const logFilePath2 =
|
|
7965
|
+
const logFilePath2 = joinPath(repoRoot, logName2);
|
|
7963
7966
|
const logContent = [
|
|
7964
7967
|
`DoNotDev Type Check - Errors`,
|
|
7965
7968
|
`Generated: ${(/* @__PURE__ */ new Date()).toISOString()}`,
|
|
@@ -7983,7 +7986,7 @@ ${output}
|
|
|
7983
7986
|
return 1;
|
|
7984
7987
|
}
|
|
7985
7988
|
const logName = options.package ? `type-check-${options.package}.log` : `type-check-all.log`;
|
|
7986
|
-
const logFilePath =
|
|
7989
|
+
const logFilePath = joinPath(repoRoot, logName);
|
|
7987
7990
|
if (pathExists(logFilePath, true)) {
|
|
7988
7991
|
removeSync(logFilePath);
|
|
7989
7992
|
}
|
|
@@ -8000,8 +8003,11 @@ ${output}
|
|
|
8000
8003
|
displayDoNotDevError(doNotDevError);
|
|
8001
8004
|
if (options.verbose && logEntries.length > 0) {
|
|
8002
8005
|
const repoRoot = getRepoRoot();
|
|
8006
|
+
if (!repoRoot) {
|
|
8007
|
+
throw doNotDevError;
|
|
8008
|
+
}
|
|
8003
8009
|
const timestamp = (/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-");
|
|
8004
|
-
const logFilePath =
|
|
8010
|
+
const logFilePath = joinPath(
|
|
8005
8011
|
repoRoot,
|
|
8006
8012
|
`type-check-error-${timestamp}.log`
|
|
8007
8013
|
);
|
package/dist/bin/commands/wai.js
CHANGED
|
@@ -6601,7 +6601,7 @@ var init_PathResolver = __esm({
|
|
|
6601
6601
|
}
|
|
6602
6602
|
const detectedFormat = this._detectFormat(filePath, format);
|
|
6603
6603
|
let writeContent;
|
|
6604
|
-
if (
|
|
6604
|
+
if (Buffer.isBuffer(content)) {
|
|
6605
6605
|
writeContent = content;
|
|
6606
6606
|
} else if (detectedFormat === "json" && typeof content === "object") {
|
|
6607
6607
|
writeContent = JSON.stringify(content, null, 2);
|
|
@@ -6610,7 +6610,7 @@ var init_PathResolver = __esm({
|
|
|
6610
6610
|
}
|
|
6611
6611
|
try {
|
|
6612
6612
|
return await safeExecuteAsync(async () => {
|
|
6613
|
-
if (
|
|
6613
|
+
if (Buffer.isBuffer(writeContent)) {
|
|
6614
6614
|
await fs.promises.writeFile(normalizedPath, writeContent);
|
|
6615
6615
|
} else {
|
|
6616
6616
|
await fs.promises.writeFile(normalizedPath, writeContent, "utf8");
|
|
@@ -6662,7 +6662,7 @@ var init_PathResolver = __esm({
|
|
|
6662
6662
|
}
|
|
6663
6663
|
const detectedFormat = this._detectFormat(filePath, format);
|
|
6664
6664
|
let writeContent;
|
|
6665
|
-
if (
|
|
6665
|
+
if (Buffer.isBuffer(content)) {
|
|
6666
6666
|
writeContent = content;
|
|
6667
6667
|
} else if (detectedFormat === "json" && typeof content === "object") {
|
|
6668
6668
|
writeContent = JSON.stringify(content, null, 2);
|
|
@@ -6670,7 +6670,7 @@ var init_PathResolver = __esm({
|
|
|
6670
6670
|
writeContent = String(content);
|
|
6671
6671
|
}
|
|
6672
6672
|
try {
|
|
6673
|
-
if (
|
|
6673
|
+
if (Buffer.isBuffer(writeContent)) {
|
|
6674
6674
|
fs.writeFileSync(normalizedPath, writeContent);
|
|
6675
6675
|
} else {
|
|
6676
6676
|
fs.writeFileSync(normalizedPath, writeContent, "utf8");
|
|
@@ -7247,7 +7247,7 @@ var init_pathResolver = __esm({
|
|
|
7247
7247
|
});
|
|
7248
7248
|
|
|
7249
7249
|
// packages/tooling/src/bundler/utils.ts
|
|
7250
|
-
import { Buffer
|
|
7250
|
+
import { Buffer } from "node:buffer";
|
|
7251
7251
|
import { readFileSync as readFileSync2, writeFileSync as writeFileSync2, mkdirSync as mkdirSync2 } from "node:fs";
|
|
7252
7252
|
import { createRequire as createRequire3 } from "node:module";
|
|
7253
7253
|
import { dirname as dirname3, resolve as resolve3 } from "node:path";
|
|
@@ -7264,7 +7264,7 @@ var init_utils = __esm({
|
|
|
7264
7264
|
globalThis.require = require2;
|
|
7265
7265
|
globalThis.__filename = __filename;
|
|
7266
7266
|
globalThis.__dirname = __dirname;
|
|
7267
|
-
globalThis.Buffer =
|
|
7267
|
+
globalThis.Buffer = Buffer;
|
|
7268
7268
|
globalThis.process = process;
|
|
7269
7269
|
if (typeof global === "undefined") {
|
|
7270
7270
|
globalThis.global = globalThis;
|