git-history-ui 1.0.2 → 1.0.3
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 +7 -7
- package/dist/backend/server.d.ts.map +1 -1
- package/dist/backend/server.js +19 -5
- package/dist/backend/server.js.map +1 -1
- package/package.json +6 -1
- package/.dockerignore +0 -19
- package/.eslintrc.js +0 -21
- package/Dockerfile +0 -29
- package/demo.js +0 -45
- package/frontend/.editorconfig +0 -17
- package/frontend/.vscode/extensions.json +0 -4
- package/frontend/.vscode/launch.json +0 -20
- package/frontend/.vscode/tasks.json +0 -42
- package/frontend/README.md +0 -59
- package/frontend/angular.json +0 -99
- package/frontend/package-lock.json +0 -11272
- package/frontend/package.json +0 -58
- package/frontend/postcss.config.js +0 -6
- package/frontend/proxy.conf.json +0 -7
- package/frontend/public/favicon.ico +0 -0
- package/frontend/src/app/app.component.ts +0 -598
- package/frontend/src/app/app.config.ts +0 -12
- package/frontend/src/app/app.css +0 -0
- package/frontend/src/app/app.html +0 -342
- package/frontend/src/app/app.routes.ts +0 -3
- package/frontend/src/app/app.spec.ts +0 -23
- package/frontend/src/app/app.ts +0 -12
- package/frontend/src/app/components/color-palette-selector/color-palette-selector.component.ts +0 -137
- package/frontend/src/app/components/commit-detail/commit-detail.component.ts +0 -327
- package/frontend/src/app/components/commit-graph/commit-graph.component.ts +0 -294
- package/frontend/src/app/components/commit-list/commit-list.component.ts +0 -199
- package/frontend/src/app/components/diff-viewer/diff-viewer.component.ts +0 -311
- package/frontend/src/app/models/color-palette.models.ts +0 -229
- package/frontend/src/app/models/git.models.ts +0 -39
- package/frontend/src/app/services/git.service.ts +0 -43
- package/frontend/src/index.html +0 -13
- package/frontend/src/main.ts +0 -6
- package/frontend/src/styles.css +0 -401
- package/frontend/tailwind.config.js +0 -11
- package/frontend/tsconfig.app.json +0 -15
- package/frontend/tsconfig.json +0 -34
- package/frontend/tsconfig.spec.json +0 -14
- package/jest.config.js +0 -26
- package/src/__tests__/gitService.test.ts +0 -533
- package/src/__tests__/setup.ts +0 -25
- package/src/backend/dev-server.ts +0 -14
- package/src/backend/gitService.ts +0 -277
- package/src/backend/server.ts +0 -140
- package/src/cli.ts +0 -56
- package/tsconfig.json +0 -25
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@ A beautiful, modern web UI for visualizing git history with interactive commit g
|
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
8
|
# Run directly with npx (no installation needed)
|
|
9
|
-
npx git-history-ui
|
|
9
|
+
npx git-history-ui@latest
|
|
10
10
|
```
|
|
11
11
|
|
|
12
12
|
That's it! The application will start on `http://localhost:3000` and open your browser automatically.
|
|
@@ -25,22 +25,22 @@ That's it! The application will start on `http://localhost:3000` and open your b
|
|
|
25
25
|
### CLI Options
|
|
26
26
|
```bash
|
|
27
27
|
# Custom port
|
|
28
|
-
npx git-history-ui --port 8080
|
|
28
|
+
npx git-history-ui@latest --port 8080
|
|
29
29
|
|
|
30
30
|
# Filter by specific file
|
|
31
|
-
npx git-history-ui --file src/app.js
|
|
31
|
+
npx git-history-ui@latest --file src/app.js
|
|
32
32
|
|
|
33
33
|
# Filter by author
|
|
34
|
-
npx git-history-ui --author "your-name"
|
|
34
|
+
npx git-history-ui@latest --author "your-name"
|
|
35
35
|
|
|
36
36
|
# Filter by date range
|
|
37
|
-
npx git-history-ui --since 2024-01-01
|
|
37
|
+
npx git-history-ui@latest --since 2024-01-01
|
|
38
38
|
|
|
39
39
|
# Don't auto-open browser
|
|
40
|
-
npx git-history-ui --no-open
|
|
40
|
+
npx git-history-ui@latest --no-open
|
|
41
41
|
|
|
42
42
|
# Show help
|
|
43
|
-
npx git-history-ui --help
|
|
43
|
+
npx git-history-ui@latest --help
|
|
44
44
|
```
|
|
45
45
|
|
|
46
46
|
## 🏭 Production
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/backend/server.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,WAAW,CAC/B,IAAI,GAAE,MAAa,EACnB,IAAI,GAAE,MAAoB,EAC1B,OAAO,GAAE,OAAO,CAAC,aAAa,CAAM,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/backend/server.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,WAAW,CAC/B,IAAI,GAAE,MAAa,EACnB,IAAI,GAAE,MAAoB,EAC1B,OAAO,GAAE,OAAO,CAAC,aAAa,CAAM,iBAsIrC"}
|
package/dist/backend/server.js
CHANGED
|
@@ -29,10 +29,17 @@ async function startServer(port = 3000, host = 'localhost', options = {}) {
|
|
|
29
29
|
// Middleware
|
|
30
30
|
app.use((0, cors_1.default)(corsOptions));
|
|
31
31
|
app.use(express_1.default.json());
|
|
32
|
-
//
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
// Check if Angular build exists, otherwise use public folder
|
|
33
|
+
const angularBuildPath = path_1.default.join(__dirname, '../../frontend/dist/frontend/browser');
|
|
34
|
+
const publicPath = path_1.default.join(__dirname, '../../public');
|
|
35
|
+
if (require('fs').existsSync(angularBuildPath)) {
|
|
36
|
+
// Serve Angular build files
|
|
37
|
+
app.use(express_1.default.static(angularBuildPath));
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
// Serve public folder as fallback
|
|
41
|
+
app.use(express_1.default.static(publicPath));
|
|
42
|
+
}
|
|
36
43
|
// API Routes
|
|
37
44
|
app.get('/api/commits', async (req, res) => {
|
|
38
45
|
try {
|
|
@@ -105,7 +112,14 @@ async function startServer(port = 3000, host = 'localhost', options = {}) {
|
|
|
105
112
|
});
|
|
106
113
|
// Serve the main HTML file for Angular routing
|
|
107
114
|
app.get('*', (req, res) => {
|
|
108
|
-
|
|
115
|
+
const angularIndexPath = path_1.default.join(__dirname, '../../frontend/dist/frontend/browser/index.html');
|
|
116
|
+
const publicIndexPath = path_1.default.join(__dirname, '../../public/index.html');
|
|
117
|
+
if (require('fs').existsSync(angularIndexPath)) {
|
|
118
|
+
res.sendFile(angularIndexPath);
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
res.sendFile(publicIndexPath);
|
|
122
|
+
}
|
|
109
123
|
});
|
|
110
124
|
// Socket.IO for real-time updates
|
|
111
125
|
io.on('connection', (socket) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/backend/server.ts"],"names":[],"mappings":";;;;;AAeA,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/backend/server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "git-history-ui",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"description": "Beautiful git history visualization in your browser",
|
|
5
5
|
"main": "dist/cli.js",
|
|
6
6
|
"bin": {
|
|
7
7
|
"git-history-ui": "dist/cli.js"
|
|
8
8
|
},
|
|
9
|
+
"files": [
|
|
10
|
+
"dist/**/*",
|
|
11
|
+
"frontend/dist/**/*",
|
|
12
|
+
"public/**/*"
|
|
13
|
+
],
|
|
9
14
|
"scripts": {
|
|
10
15
|
"build": "npm run build:backend && npm run build:frontend",
|
|
11
16
|
"build:backend": "tsc -p tsconfig.json",
|
package/.dockerignore
DELETED
package/.eslintrc.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
module.exports = {
|
|
2
|
-
parser: '@typescript-eslint/parser',
|
|
3
|
-
extends: [
|
|
4
|
-
'eslint:recommended',
|
|
5
|
-
'@typescript-eslint/recommended',
|
|
6
|
-
],
|
|
7
|
-
parserOptions: {
|
|
8
|
-
ecmaVersion: 2020,
|
|
9
|
-
sourceType: 'module',
|
|
10
|
-
},
|
|
11
|
-
env: {
|
|
12
|
-
node: true,
|
|
13
|
-
es6: true,
|
|
14
|
-
},
|
|
15
|
-
rules: {
|
|
16
|
-
'@typescript-eslint/no-unused-vars': 'error',
|
|
17
|
-
'@typescript-eslint/explicit-function-return-type': 'off',
|
|
18
|
-
'@typescript-eslint/explicit-module-boundary-types': 'off',
|
|
19
|
-
'@typescript-eslint/no-explicit-any': 'warn',
|
|
20
|
-
},
|
|
21
|
-
};
|
package/Dockerfile
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
# Use Node.js 18 Alpine for smaller image size
|
|
2
|
-
FROM node:18-alpine
|
|
3
|
-
|
|
4
|
-
# Set working directory
|
|
5
|
-
WORKDIR /app
|
|
6
|
-
|
|
7
|
-
# Copy package files
|
|
8
|
-
COPY package*.json ./
|
|
9
|
-
COPY frontend/package*.json ./frontend/
|
|
10
|
-
|
|
11
|
-
# Install dependencies
|
|
12
|
-
RUN npm ci --only=production && \
|
|
13
|
-
cd frontend && npm ci --only=production && cd ..
|
|
14
|
-
|
|
15
|
-
# Copy source code
|
|
16
|
-
COPY . .
|
|
17
|
-
|
|
18
|
-
# Build the application
|
|
19
|
-
RUN npm run build:production
|
|
20
|
-
|
|
21
|
-
# Expose port
|
|
22
|
-
EXPOSE 3000
|
|
23
|
-
|
|
24
|
-
# Set environment variables
|
|
25
|
-
ENV NODE_ENV=production
|
|
26
|
-
ENV PORT=3000
|
|
27
|
-
|
|
28
|
-
# Start the application
|
|
29
|
-
CMD ["npm", "run", "start:production"]
|
package/demo.js
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
// Simple demo script to test the git-history-ui functionality
|
|
4
|
-
const { execSync } = require('child_process');
|
|
5
|
-
const path = require('path');
|
|
6
|
-
|
|
7
|
-
console.log('🚀 Git History UI Demo');
|
|
8
|
-
console.log('=====================');
|
|
9
|
-
|
|
10
|
-
// Check if we're in a git repository
|
|
11
|
-
try {
|
|
12
|
-
execSync('git status', { stdio: 'pipe' });
|
|
13
|
-
console.log('✅ Git repository detected');
|
|
14
|
-
} catch (error) {
|
|
15
|
-
console.log('❌ Not in a git repository');
|
|
16
|
-
console.log('Please run this script from a git repository');
|
|
17
|
-
process.exit(1);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
// Test the CLI
|
|
21
|
-
console.log('\n📋 Testing CLI...');
|
|
22
|
-
try {
|
|
23
|
-
const result = execSync('node dist/cli.js --help', { encoding: 'utf8' });
|
|
24
|
-
console.log('✅ CLI help command works');
|
|
25
|
-
console.log(result);
|
|
26
|
-
} catch (error) {
|
|
27
|
-
console.log('❌ CLI help command failed');
|
|
28
|
-
console.log(error.message);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
// Test the server
|
|
32
|
-
console.log('\n🌐 Testing server...');
|
|
33
|
-
try {
|
|
34
|
-
const server = require('./dist/backend/server');
|
|
35
|
-
console.log('✅ Server module loads successfully');
|
|
36
|
-
} catch (error) {
|
|
37
|
-
console.log('❌ Server module failed to load');
|
|
38
|
-
console.log(error.message);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
console.log('\n🎉 Demo completed!');
|
|
42
|
-
console.log('\nTo start the server, run:');
|
|
43
|
-
console.log(' npm start');
|
|
44
|
-
console.log('\nOr use the CLI:');
|
|
45
|
-
console.log(' node dist/cli.js');
|
package/frontend/.editorconfig
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
# Editor configuration, see https://editorconfig.org
|
|
2
|
-
root = true
|
|
3
|
-
|
|
4
|
-
[*]
|
|
5
|
-
charset = utf-8
|
|
6
|
-
indent_style = space
|
|
7
|
-
indent_size = 2
|
|
8
|
-
insert_final_newline = true
|
|
9
|
-
trim_trailing_whitespace = true
|
|
10
|
-
|
|
11
|
-
[*.ts]
|
|
12
|
-
quote_type = single
|
|
13
|
-
ij_typescript_use_double_quotes = false
|
|
14
|
-
|
|
15
|
-
[*.md]
|
|
16
|
-
max_line_length = off
|
|
17
|
-
trim_trailing_whitespace = false
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
|
3
|
-
"version": "0.2.0",
|
|
4
|
-
"configurations": [
|
|
5
|
-
{
|
|
6
|
-
"name": "ng serve",
|
|
7
|
-
"type": "chrome",
|
|
8
|
-
"request": "launch",
|
|
9
|
-
"preLaunchTask": "npm: start",
|
|
10
|
-
"url": "http://localhost:4200/"
|
|
11
|
-
},
|
|
12
|
-
{
|
|
13
|
-
"name": "ng test",
|
|
14
|
-
"type": "chrome",
|
|
15
|
-
"request": "launch",
|
|
16
|
-
"preLaunchTask": "npm: test",
|
|
17
|
-
"url": "http://localhost:9876/debug.html"
|
|
18
|
-
}
|
|
19
|
-
]
|
|
20
|
-
}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
// For more information, visit: https://go.microsoft.com/fwlink/?LinkId=733558
|
|
3
|
-
"version": "2.0.0",
|
|
4
|
-
"tasks": [
|
|
5
|
-
{
|
|
6
|
-
"type": "npm",
|
|
7
|
-
"script": "start",
|
|
8
|
-
"isBackground": true,
|
|
9
|
-
"problemMatcher": {
|
|
10
|
-
"owner": "typescript",
|
|
11
|
-
"pattern": "$tsc",
|
|
12
|
-
"background": {
|
|
13
|
-
"activeOnStart": true,
|
|
14
|
-
"beginsPattern": {
|
|
15
|
-
"regexp": "(.*?)"
|
|
16
|
-
},
|
|
17
|
-
"endsPattern": {
|
|
18
|
-
"regexp": "bundle generation complete"
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
"type": "npm",
|
|
25
|
-
"script": "test",
|
|
26
|
-
"isBackground": true,
|
|
27
|
-
"problemMatcher": {
|
|
28
|
-
"owner": "typescript",
|
|
29
|
-
"pattern": "$tsc",
|
|
30
|
-
"background": {
|
|
31
|
-
"activeOnStart": true,
|
|
32
|
-
"beginsPattern": {
|
|
33
|
-
"regexp": "(.*?)"
|
|
34
|
-
},
|
|
35
|
-
"endsPattern": {
|
|
36
|
-
"regexp": "bundle generation complete"
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
]
|
|
42
|
-
}
|
package/frontend/README.md
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
# Frontend
|
|
2
|
-
|
|
3
|
-
This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 20.2.0.
|
|
4
|
-
|
|
5
|
-
## Development server
|
|
6
|
-
|
|
7
|
-
To start a local development server, run:
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
ng serve
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
Once the server is running, open your browser and navigate to `http://localhost:4200/`. The application will automatically reload whenever you modify any of the source files.
|
|
14
|
-
|
|
15
|
-
## Code scaffolding
|
|
16
|
-
|
|
17
|
-
Angular CLI includes powerful code scaffolding tools. To generate a new component, run:
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
ng generate component component-name
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
For a complete list of available schematics (such as `components`, `directives`, or `pipes`), run:
|
|
24
|
-
|
|
25
|
-
```bash
|
|
26
|
-
ng generate --help
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
## Building
|
|
30
|
-
|
|
31
|
-
To build the project run:
|
|
32
|
-
|
|
33
|
-
```bash
|
|
34
|
-
ng build
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
This will compile your project and store the build artifacts in the `dist/` directory. By default, the production build optimizes your application for performance and speed.
|
|
38
|
-
|
|
39
|
-
## Running unit tests
|
|
40
|
-
|
|
41
|
-
To execute unit tests with the [Karma](https://karma-runner.github.io) test runner, use the following command:
|
|
42
|
-
|
|
43
|
-
```bash
|
|
44
|
-
ng test
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
## Running end-to-end tests
|
|
48
|
-
|
|
49
|
-
For end-to-end (e2e) testing, run:
|
|
50
|
-
|
|
51
|
-
```bash
|
|
52
|
-
ng e2e
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
Angular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs.
|
|
56
|
-
|
|
57
|
-
## Additional Resources
|
|
58
|
-
|
|
59
|
-
For more information on using the Angular CLI, including detailed command references, visit the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page.
|
package/frontend/angular.json
DELETED
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
|
|
3
|
-
"version": 1,
|
|
4
|
-
"cli": {
|
|
5
|
-
"packageManager": "npm",
|
|
6
|
-
"analytics": "d562ce7a-00ba-44af-a685-e79fde7ddbdf"
|
|
7
|
-
},
|
|
8
|
-
"newProjectRoot": "projects",
|
|
9
|
-
"projects": {
|
|
10
|
-
"frontend": {
|
|
11
|
-
"projectType": "application",
|
|
12
|
-
"schematics": {},
|
|
13
|
-
"root": "",
|
|
14
|
-
"sourceRoot": "src",
|
|
15
|
-
"prefix": "app",
|
|
16
|
-
"architect": {
|
|
17
|
-
"build": {
|
|
18
|
-
"builder": "@angular/build:application",
|
|
19
|
-
"options": {
|
|
20
|
-
"browser": "src/main.ts",
|
|
21
|
-
"polyfills": [
|
|
22
|
-
"zone.js"
|
|
23
|
-
],
|
|
24
|
-
"tsConfig": "tsconfig.app.json",
|
|
25
|
-
"assets": [
|
|
26
|
-
{
|
|
27
|
-
"glob": "**/*",
|
|
28
|
-
"input": "public"
|
|
29
|
-
}
|
|
30
|
-
],
|
|
31
|
-
"styles": [
|
|
32
|
-
"src/styles.css"
|
|
33
|
-
]
|
|
34
|
-
},
|
|
35
|
-
"configurations": {
|
|
36
|
-
"production": {
|
|
37
|
-
"budgets": [
|
|
38
|
-
{
|
|
39
|
-
"type": "initial",
|
|
40
|
-
"maximumWarning": "500kB",
|
|
41
|
-
"maximumError": "1MB"
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
"type": "anyComponentStyle",
|
|
45
|
-
"maximumWarning": "4kB",
|
|
46
|
-
"maximumError": "8kB"
|
|
47
|
-
}
|
|
48
|
-
],
|
|
49
|
-
"outputHashing": "all"
|
|
50
|
-
},
|
|
51
|
-
"development": {
|
|
52
|
-
"optimization": false,
|
|
53
|
-
"extractLicenses": false,
|
|
54
|
-
"sourceMap": true
|
|
55
|
-
}
|
|
56
|
-
},
|
|
57
|
-
"defaultConfiguration": "production"
|
|
58
|
-
},
|
|
59
|
-
"serve": {
|
|
60
|
-
"builder": "@angular/build:dev-server",
|
|
61
|
-
"options": {
|
|
62
|
-
"proxyConfig": "proxy.conf.json"
|
|
63
|
-
},
|
|
64
|
-
"configurations": {
|
|
65
|
-
"production": {
|
|
66
|
-
"buildTarget": "frontend:build:production"
|
|
67
|
-
},
|
|
68
|
-
"development": {
|
|
69
|
-
"buildTarget": "frontend:build:development"
|
|
70
|
-
}
|
|
71
|
-
},
|
|
72
|
-
"defaultConfiguration": "development"
|
|
73
|
-
},
|
|
74
|
-
"extract-i18n": {
|
|
75
|
-
"builder": "@angular/build:extract-i18n"
|
|
76
|
-
},
|
|
77
|
-
"test": {
|
|
78
|
-
"builder": "@angular/build:karma",
|
|
79
|
-
"options": {
|
|
80
|
-
"polyfills": [
|
|
81
|
-
"zone.js",
|
|
82
|
-
"zone.js/testing"
|
|
83
|
-
],
|
|
84
|
-
"tsConfig": "tsconfig.spec.json",
|
|
85
|
-
"assets": [
|
|
86
|
-
{
|
|
87
|
-
"glob": "**/*",
|
|
88
|
-
"input": "public"
|
|
89
|
-
}
|
|
90
|
-
],
|
|
91
|
-
"styles": [
|
|
92
|
-
"src/styles.css"
|
|
93
|
-
]
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
}
|