mirror of
https://github.com/johannesjo/super-productivity.git
synced 2026-01-22 18:30:09 +00:00
Archives (archiveYoung, archiveOld) were being loaded into NgRx state at startup but their selectors were never read anywhere in the codebase. All code that needs archives loads them directly from IndexedDB via ArchiveDbAdapter (StateSnapshotService, TaskArchiveService, etc). This change removes the archive store registrations from NgRx, which: - Reduces memory usage for users with large archives - Improves startup time (no longer dispatching large archive data to NgRx) - Reduces GC pressure (fewer large objects in memory) Archive functionality is unaffected - archives are still stored in IndexedDB and loaded on-demand when needed for worklog, sync, etc.
292 lines
8.5 KiB
JSON
292 lines
8.5 KiB
JSON
{
|
|
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
|
|
"version": 1,
|
|
"newProjectRoot": "projects",
|
|
"projects": {
|
|
"sp2": {
|
|
"root": "",
|
|
"sourceRoot": "src",
|
|
"projectType": "application",
|
|
"prefix": "",
|
|
"schematics": {
|
|
"@schematics/angular:component": {
|
|
"style": "scss",
|
|
"changeDetection": "OnPush"
|
|
},
|
|
"@ngrx/schematics:component": {
|
|
"styleext": "scss",
|
|
"changeDetection": "OnPush"
|
|
}
|
|
},
|
|
"architect": {
|
|
"build": {
|
|
"builder": "@angular-devkit/build-angular:application",
|
|
"options": {
|
|
"aot": true,
|
|
"outputPath": {
|
|
"base": ".tmp/angular-dist"
|
|
},
|
|
"index": "src/index.html",
|
|
"polyfills": ["src/polyfills.ts"],
|
|
"tsConfig": "src/tsconfig.app.json",
|
|
"preserveSymlinks": true,
|
|
"assets": [
|
|
"src/favicon.ico",
|
|
"src/assets",
|
|
"src/manifest.json",
|
|
"src/static"
|
|
],
|
|
"styles": ["src/styles.scss"],
|
|
"scripts": [],
|
|
"webWorkerTsConfig": "src/tsconfig.worker.json",
|
|
"browser": "src/main.ts",
|
|
"stylePreprocessorOptions": {
|
|
"includePaths": [".", "src", "src/styles"]
|
|
},
|
|
"allowedCommonJsDependencies": [
|
|
"typia",
|
|
"electron-log",
|
|
"stacktrace-js",
|
|
"spark-md5",
|
|
"chrono-node",
|
|
"dayjs",
|
|
"jira2md",
|
|
"query-string"
|
|
]
|
|
},
|
|
"configurations": {
|
|
"development": {
|
|
"budgets": [
|
|
{
|
|
"type": "anyComponentStyle",
|
|
"maximumWarning": "20kb"
|
|
}
|
|
],
|
|
"optimization": false,
|
|
"extractLicenses": false,
|
|
"sourceMap": true,
|
|
"namedChunks": false,
|
|
"aot": false,
|
|
"serviceWorker": "ngsw-config.json"
|
|
},
|
|
"production": {
|
|
"baseHref": "",
|
|
"budgets": [
|
|
{
|
|
"type": "initial",
|
|
"maximumWarning": "5.5mb",
|
|
"maximumError": "6mb"
|
|
},
|
|
{
|
|
"type": "anyComponentStyle",
|
|
"maximumWarning": "20kb"
|
|
}
|
|
],
|
|
"fileReplacements": [
|
|
{
|
|
"replace": "src/environments/environment.ts",
|
|
"with": "src/environments/environment.prod.ts"
|
|
}
|
|
],
|
|
"optimization": {
|
|
"scripts": true,
|
|
"styles": {
|
|
"minify": true,
|
|
"inlineCritical": true
|
|
},
|
|
"fonts": true
|
|
},
|
|
"outputHashing": "all",
|
|
"sourceMap": true,
|
|
"namedChunks": false,
|
|
"aot": true,
|
|
"extractLicenses": true,
|
|
"serviceWorker": "ngsw-config.json"
|
|
},
|
|
"productionWeb": {
|
|
"outputPath": {
|
|
"base": "dist",
|
|
"browser": "browser"
|
|
},
|
|
"budgets": [
|
|
{
|
|
"type": "initial",
|
|
"maximumWarning": "5.5mb",
|
|
"maximumError": "6mb"
|
|
},
|
|
{
|
|
"type": "anyComponentStyle",
|
|
"maximumWarning": "20kb"
|
|
}
|
|
],
|
|
"fileReplacements": [
|
|
{
|
|
"replace": "src/environments/environment.ts",
|
|
"with": "src/environments/environment.prod.ts"
|
|
}
|
|
],
|
|
"optimization": {
|
|
"scripts": true,
|
|
"styles": {
|
|
"minify": true,
|
|
"inlineCritical": true
|
|
},
|
|
"fonts": true
|
|
},
|
|
"outputHashing": "all",
|
|
"sourceMap": true,
|
|
"namedChunks": false,
|
|
"aot": true,
|
|
"extractLicenses": true,
|
|
"serviceWorker": "ngsw-config.json"
|
|
},
|
|
"stage": {
|
|
"baseHref": "",
|
|
"budgets": [
|
|
{
|
|
"type": "initial",
|
|
"maximumWarning": "5.5mb",
|
|
"maximumError": "6mb"
|
|
},
|
|
{
|
|
"type": "anyComponentStyle",
|
|
"maximumWarning": "20kb"
|
|
}
|
|
],
|
|
"fileReplacements": [
|
|
{
|
|
"replace": "src/environments/environment.ts",
|
|
"with": "src/environments/environment.stage.ts"
|
|
}
|
|
],
|
|
"optimization": {
|
|
"scripts": true,
|
|
"styles": {
|
|
"minify": true,
|
|
"inlineCritical": true
|
|
},
|
|
"fonts": true
|
|
},
|
|
"outputHashing": "all",
|
|
"sourceMap": true,
|
|
"namedChunks": false,
|
|
"aot": true,
|
|
"extractLicenses": true,
|
|
"serviceWorker": false
|
|
},
|
|
"stageWeb": {
|
|
"outputPath": {
|
|
"base": "dist",
|
|
"browser": "browser"
|
|
},
|
|
"budgets": [
|
|
{
|
|
"type": "anyComponentStyle",
|
|
"maximumWarning": "20kb"
|
|
}
|
|
],
|
|
"fileReplacements": [
|
|
{
|
|
"replace": "src/environments/environment.ts",
|
|
"with": "src/environments/environment.stage.ts"
|
|
}
|
|
],
|
|
"optimization": {
|
|
"scripts": true,
|
|
"styles": {
|
|
"minify": true,
|
|
"inlineCritical": true
|
|
},
|
|
"fonts": true
|
|
},
|
|
"outputHashing": "all",
|
|
"sourceMap": true,
|
|
"namedChunks": false,
|
|
"aot": true,
|
|
"extractLicenses": true,
|
|
"serviceWorker": "ngsw-config.json"
|
|
}
|
|
}
|
|
},
|
|
"serve": {
|
|
"builder": "@angular-devkit/build-angular:dev-server",
|
|
"options": {
|
|
"open": false,
|
|
"buildTarget": "sp2:build"
|
|
},
|
|
"configurations": {
|
|
"production": {
|
|
"buildTarget": "sp2:build:production"
|
|
},
|
|
"development": {
|
|
"buildTarget": "sp2:build:development"
|
|
}
|
|
},
|
|
"defaultConfiguration": "development"
|
|
},
|
|
"extract-i18n": {
|
|
"builder": "@angular-devkit/build-angular:extract-i18n",
|
|
"options": {
|
|
"buildTarget": "sp2:build"
|
|
}
|
|
},
|
|
"test": {
|
|
"builder": "@angular-devkit/build-angular:karma",
|
|
"options": {
|
|
"main": "src/test.ts",
|
|
"polyfills": ["zone.js", "zone.js/testing", "src/polyfills.ts"],
|
|
"tsConfig": "src/tsconfig.spec.json",
|
|
"preserveSymlinks": true,
|
|
"karmaConfig": "src/karma.conf.js",
|
|
"styles": ["src/styles.scss"],
|
|
"scripts": [],
|
|
"assets": ["src/favicon.ico", "src/assets", "src/manifest.json"]
|
|
}
|
|
},
|
|
"lint": {
|
|
"builder": "@angular-eslint/builder:lint",
|
|
"options": {
|
|
"cache": true,
|
|
"lintFilePatterns": [
|
|
"src/**/*.ts",
|
|
"src/**/*.html",
|
|
"e2e/**/*.ts",
|
|
"electron/**/*.ts"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"cli": {
|
|
"analytics": false,
|
|
"schematicCollections": ["@ngrx/schematics"]
|
|
},
|
|
"schematics": {
|
|
"@schematics/angular:component": {
|
|
"style": "scss",
|
|
"type": "component"
|
|
},
|
|
"@schematics/angular:directive": {
|
|
"type": "directive"
|
|
},
|
|
"@schematics/angular:service": {
|
|
"type": "service"
|
|
},
|
|
"@schematics/angular:guard": {
|
|
"typeSeparator": "."
|
|
},
|
|
"@schematics/angular:interceptor": {
|
|
"typeSeparator": "."
|
|
},
|
|
"@schematics/angular:module": {
|
|
"typeSeparator": "."
|
|
},
|
|
"@schematics/angular:pipe": {
|
|
"typeSeparator": "."
|
|
},
|
|
"@schematics/angular:resolver": {
|
|
"typeSeparator": "."
|
|
}
|
|
}
|
|
}
|