* Add copilot instructions and skills for build and tests. * Add dev-server skill. * Auth Util changes to fix Entra login while running from copilot. * Fix lint issue.
2.7 KiB
name, description, allowed-tools
| name | description | allowed-tools |
|---|---|---|
| build | Build the Cosmos Explorer project. Use this skill when asked to build, compile, or check the build status of the project. | shell |
Build Skill
Use the following commands to build the Cosmos Explorer project. Choose the appropriate command based on the task.
Full Production Build
Run a complete production build (format check → lint → compile → strict compile → webpack prod → copy):
npm run build
CI Build (Faster)
Run a CI build that uses webpack dev mode for faster bundling:
npm run build:ci
TypeScript Compile Only
Run a TypeScript type-check without emitting output:
npm run compile
Strict TypeScript Compile
Run a strict null-checks compile on the subset of files in tsconfig.strict.json:
npm run compile:strict
Lint Only
Run ESLint across all .ts and .tsx files:
npm run lint
Format Check
Run Prettier to verify formatting without modifying files:
npm run format:check
Pre-Build: Check Dependencies
Before running any build command, check whether npm install needs to be run. Do this by comparing package.json and package-lock.json against the installed node_modules:
- Check if the
node_modulesdirectory exists. If it does not, runnpm install. - If
node_modulesexists, check whetherpackage.jsonorpackage-lock.jsonhave been modified more recently thannode_modules. If so, runnpm install.
# Check if node_modules is missing or outdated
if [ ! -d node_modules ] || [ package.json -nt node_modules ] || [ package-lock.json -nt node_modules ]; then
npm install
fi
On Windows PowerShell:
if (-not (Test-Path node_modules) -or
(Get-Item package.json).LastWriteTime -gt (Get-Item node_modules).LastWriteTime -or
(Get-Item package-lock.json).LastWriteTime -gt (Get-Item node_modules).LastWriteTime) {
npm install
}
Always run this check before proceeding with any build command.
Guidelines
- When asked to simply "build", run
npm run buildfor a full production build. - When asked for a quick or fast build, use
npm run build:ci. - When asked to just check types, use
npm run compile. - If the build fails, read the error output carefully. Common issues include:
- TypeScript errors: Fix type errors shown in the
npm run compileoutput. - Strict null-check errors: Fix strict errors shown in
npm run compile:strictoutput. - Lint errors: Fix lint issues shown in
npm run lintoutput. - Format errors: Run
npm run formatto auto-fix formatting, then retry the build.
- TypeScript errors: Fix type errors shown in the
- New files must be added to
tsconfig.strict.jsonso they compile under strict mode.