forked from MapComplete/MapComplete
		
	Update doctestts, add lint config
This commit is contained in:
		
							parent
							
								
									55dd4c58ee
								
							
						
					
					
						commit
						2f2e58faff
					
				
					 5 changed files with 108 additions and 21 deletions
				
			
		|  | @ -33,27 +33,30 @@ import ExtraLinkButton from "./BigComponents/ExtraLinkButton"; | ||||||
|  * Adds a welcome pane, contorl buttons, ... etc to index.html |  * Adds a welcome pane, contorl buttons, ... etc to index.html | ||||||
|  */ |  */ | ||||||
| export default class DefaultGUI { | export default class DefaultGUI { | ||||||
|     private readonly _guiState: DefaultGuiState; |     private readonly guiState: DefaultGuiState; | ||||||
|     private readonly state: FeaturePipelineState; |     private readonly state: FeaturePipelineState; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|     constructor(state: FeaturePipelineState, guiState: DefaultGuiState) { |     constructor(state: FeaturePipelineState, guiState: DefaultGuiState) { | ||||||
|         this.state = state; |         this.state = state; | ||||||
|         this._guiState = guiState; |         this.guiState = guiState; | ||||||
| 
 | 
 | ||||||
|         if (state.layoutToUse.customCss !== undefined) { |         } | ||||||
|             Utils.LoadCustomCss(state.layoutToUse.customCss); | 
 | ||||||
|  |     public setup(){ | ||||||
|  |         if (this.state.layoutToUse.customCss !== undefined) { | ||||||
|  |             Utils.LoadCustomCss(this.state.layoutToUse.customCss); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         this.SetupUIElements(); |         this.SetupUIElements(); | ||||||
|         this.SetupMap() |         this.SetupMap() | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|         if (state.layoutToUse.customCss !== undefined && window.location.pathname.indexOf("index") >= 0) { |         if (this.state.layoutToUse.customCss !== undefined && window.location.pathname.indexOf("index") >= 0) { | ||||||
|             Utils.LoadCustomCss(state.layoutToUse.customCss) |             Utils.LoadCustomCss(this.state.layoutToUse.customCss) | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| 
 |      | ||||||
|     public setupClickDialogOnMap(filterViewIsOpened: UIEventSource<boolean>, state: FeaturePipelineState) { |     public setupClickDialogOnMap(filterViewIsOpened: UIEventSource<boolean>, state: FeaturePipelineState) { | ||||||
| 
 | 
 | ||||||
|         const hasPresets = state.layoutToUse.layers.some(layer => layer.presets.length > 0); |         const hasPresets = state.layoutToUse.layers.some(layer => layer.presets.length > 0); | ||||||
|  | @ -125,7 +128,7 @@ export default class DefaultGUI { | ||||||
| 
 | 
 | ||||||
|     private SetupMap() { |     private SetupMap() { | ||||||
|         const state = this.state; |         const state = this.state; | ||||||
|         const guiState = this._guiState; |         const guiState = this.guiState; | ||||||
| 
 | 
 | ||||||
|         // Attach the map
 |         // Attach the map
 | ||||||
|         state.mainMapObject.SetClass("w-full h-full") |         state.mainMapObject.SetClass("w-full h-full") | ||||||
|  | @ -155,7 +158,7 @@ export default class DefaultGUI { | ||||||
| 
 | 
 | ||||||
|     private SetupUIElements() { |     private SetupUIElements() { | ||||||
|         const state = this.state; |         const state = this.state; | ||||||
|         const guiState = this._guiState; |         const guiState = this.guiState; | ||||||
| 
 | 
 | ||||||
|         const self = this |         const self = this | ||||||
|         new Combine([ |         new Combine([ | ||||||
|  | @ -210,8 +213,8 @@ export default class DefaultGUI { | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     private InitWelcomeMessage(): BaseUIElement { |     private InitWelcomeMessage(): BaseUIElement { | ||||||
|         const isOpened = this._guiState.welcomeMessageIsOpened |         const isOpened = this.guiState.welcomeMessageIsOpened | ||||||
|         const fullOptions = new FullWelcomePaneWithTabs(isOpened, this._guiState.welcomeMessageOpenedTab, this.state); |         const fullOptions = new FullWelcomePaneWithTabs(isOpened, this.guiState.welcomeMessageOpenedTab, this.state); | ||||||
| 
 | 
 | ||||||
|         // ?-Button on Desktop, opens panel with close-X.
 |         // ?-Button on Desktop, opens panel with close-X.
 | ||||||
|         const help = new MapControlButton(Svg.help_svg()); |         const help = new MapControlButton(Svg.help_svg()); | ||||||
|  |  | ||||||
							
								
								
									
										2
									
								
								index.ts
									
										
									
									
									
								
							
							
						
						
									
										2
									
								
								index.ts
									
										
									
									
									
								
							|  | @ -36,7 +36,7 @@ class Init { | ||||||
|         // This 'leaks' the global state via the window object, useful for debugging
 |         // This 'leaks' the global state via the window object, useful for debugging
 | ||||||
|         // @ts-ignore
 |         // @ts-ignore
 | ||||||
|         window.mapcomplete_state = State.state; |         window.mapcomplete_state = State.state; | ||||||
|         new DefaultGUI(State.state, guiState) |         new DefaultGUI(State.state, guiState).setup() | ||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
							
								
								
									
										26
									
								
								package-lock.json
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										26
									
								
								package-lock.json
									
										
									
										generated
									
									
									
								
							|  | @ -26,7 +26,7 @@ | ||||||
|         "@types/wikidata-sdk": "^6.1.0", |         "@types/wikidata-sdk": "^6.1.0", | ||||||
|         "@types/xml2js": "^0.4.9", |         "@types/xml2js": "^0.4.9", | ||||||
|         "country-language": "^0.1.7", |         "country-language": "^0.1.7", | ||||||
|         "doctest-ts-improved": "^0.8.5", |         "doctest-ts-improved": "^0.8.6", | ||||||
|         "email-validator": "^2.0.4", |         "email-validator": "^2.0.4", | ||||||
|         "escape-html": "^1.0.3", |         "escape-html": "^1.0.3", | ||||||
|         "geojson2svg": "^1.3.1", |         "geojson2svg": "^1.3.1", | ||||||
|  | @ -6024,14 +6024,15 @@ | ||||||
|       "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" |       "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" | ||||||
|     }, |     }, | ||||||
|     "node_modules/doctest-ts-improved": { |     "node_modules/doctest-ts-improved": { | ||||||
|       "version": "0.8.5", |       "version": "0.8.6", | ||||||
|       "resolved": "https://registry.npmjs.org/doctest-ts-improved/-/doctest-ts-improved-0.8.5.tgz", |       "resolved": "https://registry.npmjs.org/doctest-ts-improved/-/doctest-ts-improved-0.8.6.tgz", | ||||||
|       "integrity": "sha512-4zU8fQV263CU3jAi+K7xohhT9b2ZDGw20M4O7AgzW1IoKklmNkSlHMoKZX6gqN1DAouo08R+MD5aSgACG5ILRw==", |       "integrity": "sha512-J7fXMJ29ve6DUsUHKEO5bOwGmYjhNZd88L7NMVDKIiLIiUCJ9zkR2k7IZOGjMC0RXw/q788REawcMUgIj+7Muw==", | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@types/chai": "^4.3.0", |         "@types/chai": "^4.3.0", | ||||||
|         "chai": "^4.3.6", |         "chai": "^4.3.6", | ||||||
|         "global": "^4.3.2", |         "global": "^4.3.2", | ||||||
|         "mocha": "^9.2.2", |         "mocha": "^9.2.2", | ||||||
|  |         "process-yargs-parser": "^2.1.0", | ||||||
|         "typescript": "^4.6.2" |         "typescript": "^4.6.2" | ||||||
|       }, |       }, | ||||||
|       "bin": { |       "bin": { | ||||||
|  | @ -12326,6 +12327,11 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", |       "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", | ||||||
|       "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" |       "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/process-yargs-parser": { | ||||||
|  |       "version": "2.1.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/process-yargs-parser/-/process-yargs-parser-2.1.0.tgz", | ||||||
|  |       "integrity": "sha512-tzMsZn3lKksICtEhICR/k+Qv1UmQNVtzm0FaL10OiGJtw0ixgw0woNefcREDc6ZjqXOKBSruRagyULuwZ4FK4Q==" | ||||||
|  |     }, | ||||||
|     "node_modules/prompt-sync": { |     "node_modules/prompt-sync": { | ||||||
|       "version": "4.2.0", |       "version": "4.2.0", | ||||||
|       "resolved": "https://registry.npmjs.org/prompt-sync/-/prompt-sync-4.2.0.tgz", |       "resolved": "https://registry.npmjs.org/prompt-sync/-/prompt-sync-4.2.0.tgz", | ||||||
|  | @ -21413,14 +21419,15 @@ | ||||||
|       "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" |       "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" | ||||||
|     }, |     }, | ||||||
|     "doctest-ts-improved": { |     "doctest-ts-improved": { | ||||||
|       "version": "0.8.5", |       "version": "0.8.6", | ||||||
|       "resolved": "https://registry.npmjs.org/doctest-ts-improved/-/doctest-ts-improved-0.8.5.tgz", |       "resolved": "https://registry.npmjs.org/doctest-ts-improved/-/doctest-ts-improved-0.8.6.tgz", | ||||||
|       "integrity": "sha512-4zU8fQV263CU3jAi+K7xohhT9b2ZDGw20M4O7AgzW1IoKklmNkSlHMoKZX6gqN1DAouo08R+MD5aSgACG5ILRw==", |       "integrity": "sha512-J7fXMJ29ve6DUsUHKEO5bOwGmYjhNZd88L7NMVDKIiLIiUCJ9zkR2k7IZOGjMC0RXw/q788REawcMUgIj+7Muw==", | ||||||
|       "requires": { |       "requires": { | ||||||
|         "@types/chai": "^4.3.0", |         "@types/chai": "^4.3.0", | ||||||
|         "chai": "^4.3.6", |         "chai": "^4.3.6", | ||||||
|         "global": "^4.3.2", |         "global": "^4.3.2", | ||||||
|         "mocha": "^9.2.2", |         "mocha": "^9.2.2", | ||||||
|  |         "process-yargs-parser": "^2.1.0", | ||||||
|         "typescript": "^4.6.2" |         "typescript": "^4.6.2" | ||||||
|       }, |       }, | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|  | @ -26306,6 +26313,11 @@ | ||||||
|       "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", |       "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", | ||||||
|       "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" |       "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" | ||||||
|     }, |     }, | ||||||
|  |     "process-yargs-parser": { | ||||||
|  |       "version": "2.1.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/process-yargs-parser/-/process-yargs-parser-2.1.0.tgz", | ||||||
|  |       "integrity": "sha512-tzMsZn3lKksICtEhICR/k+Qv1UmQNVtzm0FaL10OiGJtw0ixgw0woNefcREDc6ZjqXOKBSruRagyULuwZ4FK4Q==" | ||||||
|  |     }, | ||||||
|     "prompt-sync": { |     "prompt-sync": { | ||||||
|       "version": "4.2.0", |       "version": "4.2.0", | ||||||
|       "resolved": "https://registry.npmjs.org/prompt-sync/-/prompt-sync-4.2.0.tgz", |       "resolved": "https://registry.npmjs.org/prompt-sync/-/prompt-sync-4.2.0.tgz", | ||||||
|  |  | ||||||
|  | @ -12,7 +12,7 @@ | ||||||
|     "strttest": "export NODE_OPTIONS=--max_old_space_size=8364 && parcel serve test.html", |     "strttest": "export NODE_OPTIONS=--max_old_space_size=8364 && parcel serve test.html", | ||||||
|     "watch:css": "tailwindcss -i index.css -o css/index-tailwind-output.css --watch", |     "watch:css": "tailwindcss -i index.css -o css/index-tailwind-output.css --watch", | ||||||
|     "generate:css": "tailwindcss -i index.css -o css/index-tailwind-output.css", |     "generate:css": "tailwindcss -i index.css -o css/index-tailwind-output.css", | ||||||
|     "generate:doctests": "doctest-ts-improved .", |     "generate:doctests": "doctest-ts-improved . --ignore .*.spec.ts --ignore .*ConfigJson.ts", | ||||||
|     "test:run-only": "mocha --require ts-node/register --require test/testhooks.ts \"./**/*.doctest.ts\" \"test/*\" \"test/**/*.ts\"", |     "test:run-only": "mocha --require ts-node/register --require test/testhooks.ts \"./**/*.doctest.ts\" \"test/*\" \"test/**/*.ts\"", | ||||||
|     "test": "(npm run generate:doctests 2>&1 | grep -v \"No doctests found in\") && npm run test:run-only && npm run clean:tests", |     "test": "(npm run generate:doctests 2>&1 | grep -v \"No doctests found in\") && npm run test:run-only && npm run clean:tests", | ||||||
|     "init": "npm ci && npm run generate && npm run generate:editor-layer-index && npm run generate:layouts && npm run clean", |     "init": "npm ci && npm run generate && npm run generate:editor-layer-index && npm run generate:layouts && npm run clean", | ||||||
|  | @ -72,7 +72,7 @@ | ||||||
|     "@types/wikidata-sdk": "^6.1.0", |     "@types/wikidata-sdk": "^6.1.0", | ||||||
|     "@types/xml2js": "^0.4.9", |     "@types/xml2js": "^0.4.9", | ||||||
|     "country-language": "^0.1.7", |     "country-language": "^0.1.7", | ||||||
|     "doctest-ts-improved": "^0.8.5", |     "doctest-ts-improved": "^0.8.6", | ||||||
|     "email-validator": "^2.0.4", |     "email-validator": "^2.0.4", | ||||||
|     "escape-html": "^1.0.3", |     "escape-html": "^1.0.3", | ||||||
|     "geojson2svg": "^1.3.1", |     "geojson2svg": "^1.3.1", | ||||||
|  |  | ||||||
							
								
								
									
										72
									
								
								tslint.json
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										72
									
								
								tslint.json
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,72 @@ | ||||||
|  | { | ||||||
|  |     "rules": { | ||||||
|  |         "class-name": false, | ||||||
|  |         "comment-format": [ | ||||||
|  |             true | ||||||
|  |         ], | ||||||
|  |         "curly": false, | ||||||
|  |         "eofline": false, | ||||||
|  |         "forin": false, | ||||||
|  |         "indent": [ | ||||||
|  |             true, | ||||||
|  |             "spaces" | ||||||
|  |         ], | ||||||
|  |         "label-position": true, | ||||||
|  |         "max-line-length": false, | ||||||
|  |         "member-access": false, | ||||||
|  |         "member-ordering": [ | ||||||
|  |             true, | ||||||
|  |             "static-after-instance", | ||||||
|  |             "variables-before-functions" | ||||||
|  |         ], | ||||||
|  |         "no-arg": true, | ||||||
|  |         "no-bitwise": false, | ||||||
|  |         "no-console": false, | ||||||
|  |         "no-construct": true, | ||||||
|  |         "no-debugger": true, | ||||||
|  |         "no-duplicate-variable": true, | ||||||
|  |         "no-empty": false, | ||||||
|  |         "no-eval": true, | ||||||
|  |         "no-inferrable-types": true, | ||||||
|  |         "no-shadowed-variable": true, | ||||||
|  |         "no-string-literal": false, | ||||||
|  |         "no-switch-case-fall-through": true, | ||||||
|  |         "no-trailing-whitespace": true, | ||||||
|  |         "no-unused-expression": true, | ||||||
|  |         "no-use-before-declare": false, | ||||||
|  |         "no-var-keyword": true, | ||||||
|  |         "object-literal-sort-keys": false, | ||||||
|  |         "one-line": [ | ||||||
|  |             true, | ||||||
|  |             "check-open-brace", | ||||||
|  |             "check-catch", | ||||||
|  |             "check-else", | ||||||
|  |             "check-whitespace" | ||||||
|  |         ], | ||||||
|  |         "quotemark": false, | ||||||
|  |         "radix": true, | ||||||
|  |         "semicolon": [ | ||||||
|  |             "always" | ||||||
|  |         ], | ||||||
|  |         "triple-equals": [], | ||||||
|  |         "typedef-whitespace": [ | ||||||
|  |             true, | ||||||
|  |             { | ||||||
|  |                 "call-signature": "nospace", | ||||||
|  |                 "index-signature": "nospace", | ||||||
|  |                 "parameter": "nospace", | ||||||
|  |                 "property-declaration": "nospace", | ||||||
|  |                 "variable-declaration": "nospace" | ||||||
|  |             } | ||||||
|  |         ], | ||||||
|  |         "variable-name": false, | ||||||
|  |         "whitespace": [ | ||||||
|  |             true, | ||||||
|  |             "check-branch", | ||||||
|  |             "check-decl", | ||||||
|  |             "check-operator", | ||||||
|  |             "check-separator", | ||||||
|  |             "check-type" | ||||||
|  |         ] | ||||||
|  |     } | ||||||
|  | } | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue