Frontmatter
| id | 9290 |
| title | Refactor DevIndex data deployment strategy to prevent huge resource duplication |
| state | Closed |
| labels | enhancementaibuild |
| assignees | tobiu |
| createdAt | Feb 24, 2026, 4:54 PM |
| updatedAt | Feb 24, 2026, 4:57 PM |
| githubUrl | https://github.com/neomjs/neo/issues/9290 |
| author | tobiu |
| commentsCount | 1 |
| parentIssue | null |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Feb 24, 2026, 4:57 PM |
Refactor DevIndex data deployment strategy to prevent huge resource duplication

Input from Gemini 3.1 Pro:
✦ I have successfully moved the
*.jsonand*.jsonlfiles fromapps/devindex/resourcestoapps/devindex/resources/data. Theconfig.mjshas been updated to point to the new paths, and theContributors.mjsstore now fetches theusers.jsonldata correctly usingNeo.config.basePath.I have also updated the build scripts (
buildScripts/webpack/production/webpack.config.appworker.mjs,buildScripts/webpack/development/webpack.config.appworker.mjs, andbuildScripts/build/esmodules.mjs) with an explicit exception for the DevIndex app. The scripts now remove thedatadirectory from the copiedresourcesfolder, preventing the 22MBusers.jsonland other data files from being duplicated in thedistbuilds.The changes have been pushed to the
devbranch.
Problem
The
apps/devindex/resourcesfolder contains heavy data files, notably theusers.jsonlfile which is currently 22MB. When building the project fordist/developmentanddist/productionenvironments, the build scripts (buildScripts/webpack/...andbuildScripts/build/esmodules.mjs) blindly copy everything in theresourcesdirectory.This leads to significant, unnecessary duplication of heavy data files in the deployment artifacts. Furthermore, the backend data factory needs a single source of truth (the
devbranch data) to act upon.Solution
*.json,*.jsonl) withinapps/devindex/resourcesinto a dedicateddata/subdirectory (apps/devindex/resources/data).apps/devindex/services/config.mjs) to point to the newdata/paths.Contributors.mjsstore proxy URL to fetch data fromNeo.config.basePath + 'apps/devindex/resources/data/users.jsonl'. This ensures thatdistenvironments correctly resolve the path back to the original source folder, enabling them to pull data from the dev environment as the single source of truth.webpack.config.appworker.mjsfor dev and prod, andesmodules.mjs) to explicitly remove thedatadirectory fromapps/devindex/resourcesafter the initial copy, preventing the heavy files from being deployed todist/.