mirror of
https://github.com/langchain-ai/create-agent-chat-app.git
synced 2026-07-01 21:24:02 -04:00
fix: gitignore
This commit is contained in:
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
node_modules
|
node_modules
|
||||||
dist
|
|
||||||
index.js
|
index.js
|
||||||
|
gitignore.js
|
||||||
.yarn/*
|
.yarn/*
|
||||||
!.yarn/patches
|
!.yarn/patches
|
||||||
!.yarn/plugins
|
!.yarn/plugins
|
||||||
|
|||||||
+2
-1
@@ -20,10 +20,11 @@
|
|||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"index.js",
|
"index.js",
|
||||||
|
"gitignore.js",
|
||||||
"templates/**"
|
"templates/**"
|
||||||
],
|
],
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "tsc ./src/index.ts --esModuleInterop --target es2020 --module esnext --moduleResolution node --outDir .",
|
"build": "tsc ./src/*.ts --esModuleInterop --target es2020 --module esnext --moduleResolution node --outDir .",
|
||||||
"prepublishOnly": "npm run build",
|
"prepublishOnly": "npm run build",
|
||||||
"clean": "rm -rf src/index.js",
|
"clean": "rm -rf src/index.js",
|
||||||
"format": "prettier --write . --ignore-path .prettierignore",
|
"format": "prettier --write . --ignore-path .prettierignore",
|
||||||
|
|||||||
@@ -0,0 +1,108 @@
|
|||||||
|
export const BASE_GITIGNORE = `# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
|
||||||
|
|
||||||
|
# dependencies
|
||||||
|
/node_modules
|
||||||
|
**/node_modules
|
||||||
|
/.pnp
|
||||||
|
.pnp.js
|
||||||
|
.yarn/install-state.gz
|
||||||
|
.yarn/cache
|
||||||
|
|
||||||
|
# testing
|
||||||
|
/coverage
|
||||||
|
|
||||||
|
# next.js
|
||||||
|
/.next/
|
||||||
|
/out/
|
||||||
|
|
||||||
|
# production
|
||||||
|
/build
|
||||||
|
/dist
|
||||||
|
**/dist
|
||||||
|
.turbo/
|
||||||
|
|
||||||
|
# misc
|
||||||
|
.DS_Store
|
||||||
|
*.pem
|
||||||
|
|
||||||
|
# debug
|
||||||
|
npm-debug.log*
|
||||||
|
yarn-debug.log*
|
||||||
|
yarn-error.log*
|
||||||
|
|
||||||
|
# local env files
|
||||||
|
.env*.local
|
||||||
|
.env
|
||||||
|
|
||||||
|
# vercel
|
||||||
|
.vercel
|
||||||
|
|
||||||
|
# typescript
|
||||||
|
*.tsbuildinfo
|
||||||
|
next-env.d.ts
|
||||||
|
|
||||||
|
credentials.json
|
||||||
|
|
||||||
|
# LangGraph API
|
||||||
|
.langgraph_api
|
||||||
|
`;
|
||||||
|
|
||||||
|
export const NEXTJS_GITIGNORE = `# Logs
|
||||||
|
logs
|
||||||
|
*.log
|
||||||
|
npm-debug.log*
|
||||||
|
yarn-debug.log*
|
||||||
|
yarn-error.log*
|
||||||
|
pnpm-debug.log*
|
||||||
|
lerna-debug.log*
|
||||||
|
|
||||||
|
node_modules
|
||||||
|
dist
|
||||||
|
dist-ssr
|
||||||
|
*.local
|
||||||
|
|
||||||
|
# Editor directories and files
|
||||||
|
.vscode/*
|
||||||
|
!.vscode/extensions.json
|
||||||
|
.idea
|
||||||
|
.DS_Store
|
||||||
|
*.suo
|
||||||
|
*.ntvs*
|
||||||
|
*.njsproj
|
||||||
|
*.sln
|
||||||
|
*.sw?
|
||||||
|
|
||||||
|
# LangGraph API
|
||||||
|
.langgraph_api
|
||||||
|
.env
|
||||||
|
.next/
|
||||||
|
next-env.d.ts`;
|
||||||
|
|
||||||
|
export const VITE_GITIGNORE = `# Logs
|
||||||
|
logs
|
||||||
|
*.log
|
||||||
|
npm-debug.log*
|
||||||
|
yarn-debug.log*
|
||||||
|
yarn-error.log*
|
||||||
|
pnpm-debug.log*
|
||||||
|
lerna-debug.log*
|
||||||
|
|
||||||
|
node_modules
|
||||||
|
dist
|
||||||
|
dist-ssr
|
||||||
|
*.local
|
||||||
|
|
||||||
|
# Editor directories and files
|
||||||
|
.vscode/*
|
||||||
|
!.vscode/extensions.json
|
||||||
|
.idea
|
||||||
|
.DS_Store
|
||||||
|
*.suo
|
||||||
|
*.ntvs*
|
||||||
|
*.njsproj
|
||||||
|
*.sln
|
||||||
|
*.sw?
|
||||||
|
|
||||||
|
# LangGraph API
|
||||||
|
.langgraph_api
|
||||||
|
.env`;
|
||||||
+38
-15
@@ -6,12 +6,18 @@ import chalk, { ChalkInstance } from "chalk";
|
|||||||
import { fileURLToPath } from "url";
|
import { fileURLToPath } from "url";
|
||||||
import prompts from "prompts";
|
import prompts from "prompts";
|
||||||
import { execSync } from "child_process";
|
import { execSync } from "child_process";
|
||||||
|
import {
|
||||||
|
BASE_GITIGNORE,
|
||||||
|
NEXTJS_GITIGNORE,
|
||||||
|
VITE_GITIGNORE,
|
||||||
|
} from "./gitignore.js";
|
||||||
|
|
||||||
// Get the directory name of the current module
|
// Get the directory name of the current module
|
||||||
const __filename: string = fileURLToPath(import.meta.url);
|
const __filename: string = fileURLToPath(import.meta.url);
|
||||||
const __dirname: string = path.dirname(__filename);
|
const __dirname: string = path.dirname(__filename);
|
||||||
|
|
||||||
type PackageManager = "npm" | "pnpm" | "yarn";
|
type PackageManager = "npm" | "pnpm" | "yarn";
|
||||||
|
type Framework = "nextjs" | "vite";
|
||||||
|
|
||||||
interface ProjectAnswers {
|
interface ProjectAnswers {
|
||||||
/**
|
/**
|
||||||
@@ -29,7 +35,7 @@ interface ProjectAnswers {
|
|||||||
/**
|
/**
|
||||||
* @default "nextjs"
|
* @default "nextjs"
|
||||||
*/
|
*/
|
||||||
framework: "nextjs" | "vite";
|
framework: Framework;
|
||||||
/**
|
/**
|
||||||
* @default true
|
* @default true
|
||||||
*/
|
*/
|
||||||
@@ -110,6 +116,33 @@ async function setPackageJsonFields(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function writeGitignore(
|
||||||
|
baseDir: string,
|
||||||
|
framework: Framework,
|
||||||
|
chalk: ChalkInstance,
|
||||||
|
): Promise<void> {
|
||||||
|
try {
|
||||||
|
const gitignorePath = path.join(baseDir, ".gitignore");
|
||||||
|
// Write the base .gitignore file in the root
|
||||||
|
await fs.promises.writeFile(gitignorePath, BASE_GITIGNORE);
|
||||||
|
|
||||||
|
// write the framework-specific .gitignore file inside baseDir/apps/web
|
||||||
|
const frameworkGitignorePath = path.join(
|
||||||
|
baseDir,
|
||||||
|
"apps",
|
||||||
|
"web",
|
||||||
|
".gitignore",
|
||||||
|
);
|
||||||
|
if (framework === "nextjs") {
|
||||||
|
await fs.promises.writeFile(frameworkGitignorePath, NEXTJS_GITIGNORE);
|
||||||
|
} else {
|
||||||
|
await fs.promises.writeFile(frameworkGitignorePath, VITE_GITIGNORE);
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
console.log(`${chalk.red("Error: ")} Failed to write .gitignore`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const createStartServersMessage = (
|
const createStartServersMessage = (
|
||||||
chalk: ChalkInstance,
|
chalk: ChalkInstance,
|
||||||
packageManager: PackageManager,
|
packageManager: PackageManager,
|
||||||
@@ -278,13 +311,9 @@ async function init(): Promise<void> {
|
|||||||
"templates",
|
"templates",
|
||||||
"monorepo",
|
"monorepo",
|
||||||
);
|
);
|
||||||
fs.copySync(monorepoTemplateDir, targetDir, {
|
fs.copySync(monorepoTemplateDir, targetDir);
|
||||||
dereference: true,
|
|
||||||
filter: (_) => {
|
await writeGitignore(targetDir, framework, chalk);
|
||||||
// Ensure hidden files (like .gitignore) are copied
|
|
||||||
return true;
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
// Create web directory inside apps and copy the framework template
|
// Create web directory inside apps and copy the framework template
|
||||||
const appsDir: string = path.join(targetDir, "apps");
|
const appsDir: string = path.join(targetDir, "apps");
|
||||||
@@ -297,13 +326,7 @@ async function init(): Promise<void> {
|
|||||||
"templates",
|
"templates",
|
||||||
framework,
|
framework,
|
||||||
);
|
);
|
||||||
fs.copySync(frameworkTemplateDir, webDir, {
|
fs.copySync(frameworkTemplateDir, webDir);
|
||||||
dereference: true,
|
|
||||||
filter: (_) => {
|
|
||||||
// Ensure hidden files (like .gitignore) are copied
|
|
||||||
return true;
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
// Get the path to the agents src directory which already exists in the monorepo template
|
// Get the path to the agents src directory which already exists in the monorepo template
|
||||||
const agentsDir: string = path.join(appsDir, "agents", "src");
|
const agentsDir: string = path.join(appsDir, "agents", "src");
|
||||||
|
|||||||
Reference in New Issue
Block a user