Browse Source

split css

tripeur 4 years ago
parent
commit
65f527e7cc
5 changed files with 244 additions and 313 deletions
  1. 3 73
      package-lock.json
  2. 2 6
      package.json
  3. 4 233
      src/Timeline.ts
  4. 234 0
      src/styles/TimelineStyle.ts
  5. 1 1
      tsconfig.json

+ 3 - 73
package-lock.json

@@ -1330,10 +1330,9 @@
       "dev": true
     },
     "dayjs": {
-      "version": "1.9.7",
-      "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.9.7.tgz",
-      "integrity": "sha512-IC877KBdMhBrCfBfJXHQlo0G8keZ0Opy7YIIq5QKtUbCuHMzim8S4PyiVK4YmihI3iOF9lhfUBW4AQWHTR5WHA==",
-      "dev": true
+      "version": "1.10.4",
+      "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.4.tgz",
+      "integrity": "sha512-RI/Hh4kqRc1UKLOAf/T5zdMMX5DQIlDxwUe3wSyMMnEbGunnpENCdbUgM+dW7kXidZqCttBrmw7BhN4TMddkCw=="
     },
     "debug": {
       "version": "4.3.1",
@@ -2752,57 +2751,6 @@
       "integrity": "sha512-/VulV3SYni1taM7a4RMdceqzJWR39gpZHjBwUnsCFKWV/GJkD14CJ5F7eWcZozmHJK0/f/H5U3b3SiPkuvxMgg==",
       "dev": true
     },
-    "html-minifier": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-4.0.0.tgz",
-      "integrity": "sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==",
-      "dev": true,
-      "requires": {
-        "camel-case": "^3.0.0",
-        "clean-css": "^4.2.1",
-        "commander": "^2.19.0",
-        "he": "^1.2.0",
-        "param-case": "^2.1.1",
-        "relateurl": "^0.2.7",
-        "uglify-js": "^3.5.1"
-      },
-      "dependencies": {
-        "camel-case": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz",
-          "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=",
-          "dev": true,
-          "requires": {
-            "no-case": "^2.2.0",
-            "upper-case": "^1.1.1"
-          }
-        },
-        "lower-case": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz",
-          "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=",
-          "dev": true
-        },
-        "no-case": {
-          "version": "2.3.2",
-          "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz",
-          "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==",
-          "dev": true,
-          "requires": {
-            "lower-case": "^1.1.1"
-          }
-        },
-        "param-case": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz",
-          "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=",
-          "dev": true,
-          "requires": {
-            "no-case": "^2.2.0"
-          }
-        }
-      }
-    },
     "html-minifier-terser": {
       "version": "5.1.1",
       "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz",
@@ -3624,12 +3572,6 @@
       "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
       "dev": true
     },
-    "minify-template-literal-loader": {
-      "version": "0.0.3",
-      "resolved": "https://registry.npmjs.org/minify-template-literal-loader/-/minify-template-literal-loader-0.0.3.tgz",
-      "integrity": "sha1-/IGvRLVROXdBAAlzc1a2KWunYMI=",
-      "dev": true
-    },
     "minimalistic-assert": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
@@ -5546,12 +5488,6 @@
       "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==",
       "dev": true
     },
-    "uglify-js": {
-      "version": "3.13.2",
-      "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.2.tgz",
-      "integrity": "sha512-SbMu4D2Vo95LMC/MetNaso1194M1htEA+JrqE9Hk+G2DhI+itfS9TRu9ZKeCahLDNa/J3n4MqUJ/fOHMzQpRWw==",
-      "dev": true
-    },
     "union-value": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
@@ -5616,12 +5552,6 @@
       "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
       "dev": true
     },
-    "upper-case": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz",
-      "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=",
-      "dev": true
-    },
     "uri-js": {
       "version": "4.4.0",
       "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz",

+ 2 - 6
package.json

@@ -5,8 +5,6 @@
   "main": "dist/index.js",
   "private": true,
   "scripts": {
-    "test": "echo \"Error: no test specified\" && exit 1",
-    "watch": "webpack --watch",
     "prod ": "webpack --config webpack.prod.js ",
     "serve": "webpack serve --config webpack.dev.js",
     "export": "tsc -m commonjs --outDir lib && tsc -m es6 --outDir lib-esm"
@@ -24,11 +22,8 @@
     "@typescript-eslint/eslint-plugin": "^4.19.0",
     "@typescript-eslint/parser": "^4.19.0",
     "clean-webpack-plugin": "^3.0.0",
-    "dayjs": "^1.9.7",
     "eslint": "^7.22.0",
-    "html-minifier": "^4.0.0",
     "html-webpack-plugin": "^4.5.0",
-    "minify-template-literal-loader": "0.0.3",
     "ts-loader": "^8.0.12",
     "typescript": "^4.1.3",
     "webpack": "^5.10.3",
@@ -38,6 +33,7 @@
   },
   "dependencies": {
     "lit-element": "^2.4.0",
-    "tsc": "^1.20150623.0"
+    "tsc": "^1.20150623.0",
+    "dayjs": "^1.10.4"
   }
 }

+ 4 - 233
src/Timeline.ts

@@ -5,12 +5,14 @@ import { Ressource, IRessource } from './Ressource'
 
 // eslint-disable-next-line @typescript-eslint/no-unused-vars
 import { HorizontalResizer } from './components/horizontal-resizer'
-import { LitElement, html, customElement, property, css, TemplateResult } from 'lit-element';
+import { LitElement, html, customElement, property, TemplateResult } from 'lit-element';
 import { styleMap } from 'lit-html/directives/style-map';
 
 import syncronizeElementsScrolling from './utils/syncroScroll';
 import Selectable from './utils/selectable';
 
+import { TimelineStyle } from './styles/TimelineStyle';
+
 interface TimelineOptions {
     ressources?: Array<IRessource>
     items?: Array<IEvent>
@@ -40,238 +42,7 @@ interface legendItem {
 
 @customElement('jc-timeline')
 class Timeline extends LitElement {
-    static styles = css`
-    body{
-        font-family:Roboto;
-    }
-    div {
-        box-sizing: border-box;
-    }
-    .jc-timeline-content,
-    .jc-timeline-header{
-        width:100%;
-        position:relative;
-        display: flex;
-        flex-direction:row;
-        height:max-content;
-        align-items: stretch;
-    }
-    
-    .jc-timeline-rows-title,
-    .jc-timeline-rows > tr > td{        
-        padding: 8px;
-        min-width:40px;
-    }
-    .jc-timeline-rows > tr > td {
-        max-width:calc( var(--width) - 8px );
-        padding: 0px; 
-        vertical-align:top;
-    }
-    .jc-timeline-rows > tr.empty > td{
-        padding: 6px 0px 4px 8px;
-    }
-    i.jc-spacer {
-        display:inline-block;
-        width : 1rem;
-        height: 1rem;
-        position:relative;
-        box-sizing: border-box;
-    }
-    i.jc-spacer:after{
-        content: " ";
-        position:absolute;
-        background-repeat: no-repeat;
-        background-size: 1.05rem;
-        width:  1.05rem;
-        height: 1.05rem;
-    }
-    .jc-spacer.extend,
-    .jc-spacer.collapse    {
-        cursor:pointer;
-    }
-    i.jc-spacer.extend:after{
-        background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iYmxhY2siIHdpZHRoPSIxOHB4IiBoZWlnaHQ9IjE4cHgiPjxwYXRoIGQ9Ik0wIDBoMjR2MjRIMFYweiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik0xOSAzSDVjLTEuMTEgMC0yIC45LTIgMnYxNGMwIDEuMS44OSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0wIDE2SDVWNWgxNHYxNHptLTgtMmgydi00aDR2LTJoLTRWN2gtMnY0SDd2Mmg0eiIvPjwvc3ZnPg==")
-    }
-    i.jc-spacer.collapse:after{
-        background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0Ij48cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTE5IDNINWMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0wIDE2SDVWNWgxNHYxNHpNNyAxMWgxMHYySDd6Ii8+PC9zdmc+")
-    }
-    
-    .jc-timeline-rows > tr{
-        box-sizing: border-box;
-        white-space: nowrap;
-        border: 1px solid grey;
-        border-style: solid none;
-    }
-    .jc-timeline-rows,
-    .jc-timeline-rows-title{
-        width:var(--width, 200px);
-        overflow: hidden;
-        border-collapse:collapse;
-    }
-    .jc-timeline-grid-title-container,
-    .jc-timeline-grid-container{
-        position:relative;
-        width: 600px;
-        display: block;
-        overflow: hidden;
-    }
-    .jc-timeline-grid-container{
-        overflow-x: auto;
-    }
-    .jc-timeline-grid-title-container > table,
-    .jc-timeline-grid-container > table {
-        width:100%;
-        table-layout: fixed;
-        border-collapse: collapse;
-        box-sizing: border-box;
-    }
-
-    .jc-timeline-grid-title-container {
-        white-space: nowrap;
-        cursor: grab;
-        user-select: none; /* supported by Chrome and Opera */
-        -webkit-user-select: none; /* Safari */
-        -khtml-user-select: none; /* Konqueror HTML */
-        -moz-user-select: none; /* Firefox */
-        -ms-user-select: none; /* Internet Explorer/Edge */
-    }
-    .jc-timeline-grid-title:first-child > th{
-        border-top:0;
-    }    
-    .jc-timeline-grid-title:first-child > th:before,
-    .jc-timeline-grid-title:first-child > th:last-child:after {
-        content:" ";
-        display: block;
-        position:absolute;
-        left:-1px;
-        top:0px;
-        height:calc( 100% - 8px);
-        border-left: 2px solid white;
-        z-index:2;
-    }
-    .jc-timeline-grid-title:first-child > th:last-child:after
-    {
-        left:auto;
-        right:-1px;
-    }
-    .jc-timeline-grid-title:first-child:last-child >th{
-        padding:8px 0;
-    }
-    .jc-timeline-grid-title:last-child > th{
-        border-bottom:none;
-    }
-    .jc-timeline-grid-title > th,
-    .jc-slot {      
-        height:100%;
-        border: solid 1px lightgray;
-        border-left-style: dotted;
-        border-right:0;
-        text-align: center;
-        position:relative;
-        box-sizing: border-box;
-    }
-    .jc-timeline-grid-title > th:last-child,
-    .jc-slot:last-child{
-        border-right:solid 1px lightgray;
-    }
-    .jc-timeline-grid-title > th,
-    .jc-major-slot{
-        border-left-style: solid;
-    }
-    .jc-timeslots{
-        position:absolute;
-        top:0px;
-        left:0px;
-        bottom:0px;
-        overflow: hidden;
-    }
-    .jc-timeslot{
-        position:absolute;
-        white-space: nowrap;
-        overflow-x:hidden;
-        background-color:var(--default-background);
-        color:#fff;
-        border-radius:3px;
-        padding:4px;
-        margin:2px 0px;
-        z-index:1;
-        cursor:auto;
-    }
-    .jc-timeslot.empty{
-        height:5px;
-        padding:2px 2px;
-        margin:0px;
-        cursor:pointer;
-    }
-    .jc-timeslot.moving{
-        opacity:0.7;
-        cursor:grabbing;
-    }
-    .jc-timeslot.selected:before{
-        border:solid 2px black;
-        position:absolute;
-        top:0;
-        bottom:0;
-        left:0;
-        right:0;
-        content:" ";
-    }
-    .jc-timeslot-resizer-start,
-    .jc-timeslot-resizer-end{
-        position:absolute;
-        top:0;
-        bottom:0;
-        width:4px;
-        min-width:4px;
-        display:block;
-        cursor: ew-resize;
-    }
-    .jc-timeslot-resizer-start,
-    .jc-timeslot-resizer-end{
-        display:block;
-    }
-    .jc-timeslot-resizer-start{
-        left:0px;
-    }
-    .jc-timeslot-resizer-end{
-        right:0px;
-    }
-    .jc-timeline-rows > tr >td{
-        height:100%;
-    }
-    .jc-ressource{
-        padding-top: 2px;
-        height: calc( 100% - 8px);
-    }
-    .jc-ressource > span {
-        pointer-events: none;
-    }
-    .jc-ressource.target{
-        background-color: lightgrey;
-    }
-    .jc-ressource-selected{
-        border:1px solid var(--default-background, SteelBlue);
-        border-right:0;
-        border-left:0;
-        background-color:#4682b46b;
-    }
-    .jc-ressource-above{
-        height:4px;
-    }
-    .jc-ressource-above.target{
-        margin-left: calc( var(--depth) * 16px );
-        background-color: var(--default-background, SteelBlue);
-        border-radius: 0 0 0 4px;
-    }
-    .jc-ressource-below{
-        height:4px;
-    }
-    .jc-ressource-below.target{
-        margin-left: calc( var(--depth) * 16px);
-        background-color: var(--default-background, SteelBlue);
-        border-radius: 4px 0 0 0;
-    }
-  `;
+    static styles = [TimelineStyle] 
     @property({ type: Array })
     private rows: Array<Ressource>
     @property({ type: Array })

+ 234 - 0
src/styles/TimelineStyle.ts

@@ -0,0 +1,234 @@
+import { css, CSSResult } from "lit-element";
+
+export const TimelineStyle:CSSResult = css`
+body{
+    font-family:Roboto;
+}
+div {
+    box-sizing: border-box;
+}
+.jc-timeline-content,
+.jc-timeline-header{
+    width:100%;
+    position:relative;
+    display: flex;
+    flex-direction:row;
+    height:max-content;
+    align-items: stretch;
+}
+
+.jc-timeline-rows-title,
+.jc-timeline-rows > tr > td{        
+    padding: 8px;
+    min-width:40px;
+}
+.jc-timeline-rows > tr > td {
+    max-width:calc( var(--width) - 8px );
+    padding: 0px; 
+    vertical-align:top;
+}
+.jc-timeline-rows > tr.empty > td{
+    padding: 6px 0px 4px 8px;
+}
+i.jc-spacer {
+    display:inline-block;
+    width : 1rem;
+    height: 1rem;
+    position:relative;
+    box-sizing: border-box;
+}
+i.jc-spacer:after{
+    content: " ";
+    position:absolute;
+    background-repeat: no-repeat;
+    background-size: 1.05rem;
+    width:  1.05rem;
+    height: 1.05rem;
+}
+.jc-spacer.extend,
+.jc-spacer.collapse    {
+    cursor:pointer;
+}
+i.jc-spacer.extend:after{
+    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iYmxhY2siIHdpZHRoPSIxOHB4IiBoZWlnaHQ9IjE4cHgiPjxwYXRoIGQ9Ik0wIDBoMjR2MjRIMFYweiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik0xOSAzSDVjLTEuMTEgMC0yIC45LTIgMnYxNGMwIDEuMS44OSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0wIDE2SDVWNWgxNHYxNHptLTgtMmgydi00aDR2LTJoLTRWN2gtMnY0SDd2Mmg0eiIvPjwvc3ZnPg==")
+}
+i.jc-spacer.collapse:after{
+    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0Ij48cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTE5IDNINWMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0wIDE2SDVWNWgxNHYxNHpNNyAxMWgxMHYySDd6Ii8+PC9zdmc+")
+}
+
+.jc-timeline-rows > tr{
+    box-sizing: border-box;
+    white-space: nowrap;
+    border: 1px solid grey;
+    border-style: solid none;
+}
+.jc-timeline-rows,
+.jc-timeline-rows-title{
+    width:var(--width, 200px);
+    overflow: hidden;
+    border-collapse:collapse;
+}
+.jc-timeline-grid-title-container,
+.jc-timeline-grid-container{
+    position:relative;
+    width: 600px;
+    display: block;
+    overflow: hidden;
+}
+.jc-timeline-grid-container{
+    overflow-x: auto;
+}
+.jc-timeline-grid-title-container > table,
+.jc-timeline-grid-container > table {
+    width:100%;
+    table-layout: fixed;
+    border-collapse: collapse;
+    box-sizing: border-box;
+}
+
+.jc-timeline-grid-title-container {
+    white-space: nowrap;
+    cursor: grab;
+    user-select: none; /* supported by Chrome and Opera */
+    -webkit-user-select: none; /* Safari */
+    -khtml-user-select: none; /* Konqueror HTML */
+    -moz-user-select: none; /* Firefox */
+    -ms-user-select: none; /* Internet Explorer/Edge */
+}
+.jc-timeline-grid-title:first-child > th{
+    border-top:0;
+}    
+.jc-timeline-grid-title:first-child > th:before,
+.jc-timeline-grid-title:first-child > th:last-child:after {
+    content:" ";
+    display: block;
+    position:absolute;
+    left:-1px;
+    top:0px;
+    height:calc( 100% - 8px);
+    border-left: 2px solid white;
+    z-index:2;
+}
+.jc-timeline-grid-title:first-child > th:last-child:after
+{
+    left:auto;
+    right:-1px;
+}
+.jc-timeline-grid-title:first-child:last-child >th{
+    padding:8px 0;
+}
+.jc-timeline-grid-title:last-child > th{
+    border-bottom:none;
+}
+.jc-timeline-grid-title > th,
+.jc-slot {      
+    height:100%;
+    border: solid 1px lightgray;
+    border-left-style: dotted;
+    border-right:0;
+    text-align: center;
+    position:relative;
+    box-sizing: border-box;
+}
+.jc-timeline-grid-title > th:last-child,
+.jc-slot:last-child{
+    border-right:solid 1px lightgray;
+}
+.jc-timeline-grid-title > th,
+.jc-major-slot{
+    border-left-style: solid;
+}
+.jc-timeslots{
+    position:absolute;
+    top:0px;
+    left:0px;
+    bottom:0px;
+    overflow: hidden;
+}
+.jc-timeslot{
+    position:absolute;
+    white-space: nowrap;
+    overflow-x:hidden;
+    background-color:var(--default-background);
+    color:#fff;
+    border-radius:3px;
+    padding:4px;
+    margin:2px 0px;
+    z-index:1;
+    cursor:auto;
+}
+.jc-timeslot.empty{
+    height:5px;
+    padding:2px 2px;
+    margin:0px;
+    cursor:pointer;
+}
+.jc-timeslot.moving{
+    opacity:0.7;
+    cursor:grabbing;
+}
+.jc-timeslot.selected:before{
+    border:solid 2px black;
+    position:absolute;
+    top:0;
+    bottom:0;
+    left:0;
+    right:0;
+    content:" ";
+}
+.jc-timeslot-resizer-start,
+.jc-timeslot-resizer-end{
+    position:absolute;
+    top:0;
+    bottom:0;
+    width:4px;
+    min-width:4px;
+    display:block;
+    cursor: ew-resize;
+}
+.jc-timeslot-resizer-start,
+.jc-timeslot-resizer-end{
+    display:block;
+}
+.jc-timeslot-resizer-start{
+    left:0px;
+}
+.jc-timeslot-resizer-end{
+    right:0px;
+}
+.jc-timeline-rows > tr >td{
+    height:100%;
+}
+.jc-ressource{
+    padding-top: 2px;
+    height: calc( 100% - 8px);
+}
+.jc-ressource > span {
+    pointer-events: none;
+}
+.jc-ressource.target{
+    background-color: lightgrey;
+}
+.jc-ressource-selected{
+    border:1px solid var(--default-background, SteelBlue);
+    border-right:0;
+    border-left:0;
+    background-color:#4682b46b;
+}
+.jc-ressource-above{
+    height:4px;
+}
+.jc-ressource-above.target{
+    margin-left: calc( var(--depth) * 16px );
+    background-color: var(--default-background, SteelBlue);
+    border-radius: 0 0 0 4px;
+}
+.jc-ressource-below{
+    height:4px;
+}
+.jc-ressource-below.target{
+    margin-left: calc( var(--depth) * 16px);
+    background-color: var(--default-background, SteelBlue);
+    border-radius: 4px 0 0 0;
+}
+`;

+ 1 - 1
tsconfig.json

@@ -66,5 +66,5 @@
     "skipLibCheck": true,                     /* Skip type checking of declaration files. */
     "forceConsistentCasingInFileNames": true  /* Disallow inconsistently-cased references to the same file. */
   }, 
-  "include": ["src"]
+  "include": ["src"],
 }