You've already forked joplin
							
							
				mirror of
				https://github.com/laurent22/joplin.git
				synced 2025-10-31 00:07:48 +02:00 
			
		
		
		
	Tools: Added script to compile SASS files
This commit is contained in:
		| @@ -0,0 +1,5 @@ | ||||
| .encryption-config-test { | ||||
| 	& > .item { | ||||
| 		font-weight: bold; | ||||
| 	} | ||||
| } | ||||
| @@ -1,5 +1,6 @@ | ||||
| const gulp = require('gulp'); | ||||
| const utils = require('@joplin/tools/gulp/utils'); | ||||
| const compileSass = require('@joplin/tools/compileSass'); | ||||
|  | ||||
| const tasks = { | ||||
| 	compileScripts: { | ||||
| @@ -20,6 +21,14 @@ const tasks = { | ||||
| 	tsc: require('@joplin/tools/gulp/tasks/tsc'), | ||||
| 	updateIgnoredTypeScriptBuild: require('@joplin/tools/gulp/tasks/updateIgnoredTypeScriptBuild'), | ||||
| 	buildCommandIndex: require('@joplin/tools/gulp/tasks/buildCommandIndex'), | ||||
| 	compileSass: { | ||||
| 		fn: async () => { | ||||
| 			const guiDir = `${__dirname}/gui`; | ||||
| 			await compileSass([ | ||||
| 				`${guiDir}/EncryptionConfigScreen/style.scss`, | ||||
| 			], `${__dirname}/style.min.css`); | ||||
| 		}, | ||||
| 	}, | ||||
| }; | ||||
|  | ||||
| utils.registerGulpTasks(gulp, tasks); | ||||
| @@ -31,6 +40,7 @@ const buildParallel = [ | ||||
| 	'copyTinyMceLangs', | ||||
| 	'updateIgnoredTypeScriptBuild', | ||||
| 	'buildCommandIndex', | ||||
| 	'compileSass', | ||||
| ]; | ||||
|  | ||||
| gulp.task('build', gulp.parallel(...buildParallel)); | ||||
|   | ||||
							
								
								
									
										5
									
								
								packages/app-desktop/style.min.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								packages/app-desktop/style.min.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | ||||
| .encryption-config-test > .item { | ||||
|   font-weight: bold; | ||||
| } | ||||
|  | ||||
| /*# sourceMappingURL=style.min.css.map */ | ||||
							
								
								
									
										5
									
								
								packages/style.min.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								packages/style.min.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | ||||
| .encryption-config-test > .item { | ||||
|   font-weight: bold; | ||||
| } | ||||
|  | ||||
| /*# sourceMappingURL=style.min.css.map */ | ||||
							
								
								
									
										45
									
								
								packages/tools/compileSass.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								packages/tools/compileSass.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,45 @@ | ||||
| const sass = require('sass'); | ||||
| const fs = require('fs-extra'); | ||||
|  | ||||
| // The SASS doc claims that renderSync is twice as fast as render, so if speed | ||||
| // turns out to be an issue we could use that instead. The advantage of async is | ||||
| // that we can run complation of each file in parallel (and running other async | ||||
| // gulp tasks in parallel too). | ||||
|  | ||||
| // sasss.render is old school async, so convert it to a promise here. | ||||
| async function sassRender(options) { | ||||
| 	return new Promise((resolve, reject) => { | ||||
| 		sass.render(options, ((error, result) => { | ||||
| 			if (error) { | ||||
| 				reject(error); | ||||
| 			} else { | ||||
| 				resolve(result); | ||||
| 			} | ||||
| 		})); | ||||
| 	}); | ||||
| } | ||||
|  | ||||
| module.exports = async function compileSass(inputPaths, outputPath) { | ||||
| 	const promises = []; | ||||
| 	for (const inputPath of inputPaths) { | ||||
| 		console.info(`Compiling ${inputPath}...`); | ||||
|  | ||||
| 		promises.push(sassRender({ | ||||
| 			file: inputPath, | ||||
| 			sourceMap: true, | ||||
| 			outFile: outputPath, | ||||
| 		})); | ||||
| 	} | ||||
|  | ||||
| 	const results = await Promise.all(promises); | ||||
|  | ||||
| 	const cssString = results.map(r => r.css.toString()).join('\n'); | ||||
| 	const mapString = results.map(r => r.map.toString()).join('\n'); | ||||
|  | ||||
| 	await Promise.all([ | ||||
| 		fs.writeFile(outputPath, cssString, 'utf8'), | ||||
| 		fs.writeFile(`${outputPath}.map`, mapString, 'utf8'), | ||||
| 	]); | ||||
|  | ||||
| 	console.info(`Generated ${outputPath}`); | ||||
| }; | ||||
							
								
								
									
										284
									
								
								packages/tools/package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										284
									
								
								packages/tools/package-lock.json
									
									
									
										generated
									
									
									
								
							| @@ -6,7 +6,7 @@ | ||||
| 	"packages": { | ||||
| 		"": { | ||||
| 			"name": "@joplin/tools", | ||||
| 			"version": "2.3.0", | ||||
| 			"version": "2.4.1", | ||||
| 			"license": "MIT", | ||||
| 			"dependencies": { | ||||
| 				"execa": "^4.1.0", | ||||
| @@ -31,6 +31,7 @@ | ||||
| 				"@types/mustache": "^0.8.32", | ||||
| 				"@types/node": "^14.14.6", | ||||
| 				"gulp": "^4.0.2", | ||||
| 				"sass": "^1.39.2", | ||||
| 				"sqlite3": "^5.0.0", | ||||
| 				"typescript": "^4.1.3" | ||||
| 			} | ||||
| @@ -4197,6 +4198,18 @@ | ||||
| 			"integrity": "sha512-3iBXuv7XKvxeMrIgym7njT+HlZkwZqqGX4Bu9cci8xHZNT+Um1gWKqCsAzcC0d95rcKMU5WBg6YRUcHyV0HZKQ==", | ||||
| 			"dev": true | ||||
| 		}, | ||||
| 		"node_modules/picomatch": { | ||||
| 			"version": "2.3.0", | ||||
| 			"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", | ||||
| 			"integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", | ||||
| 			"dev": true, | ||||
| 			"engines": { | ||||
| 				"node": ">=8.6" | ||||
| 			}, | ||||
| 			"funding": { | ||||
| 				"url": "https://github.com/sponsors/jonschlinkert" | ||||
| 			} | ||||
| 		}, | ||||
| 		"node_modules/pify": { | ||||
| 			"version": "2.3.0", | ||||
| 			"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", | ||||
| @@ -4654,6 +4667,159 @@ | ||||
| 			"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", | ||||
| 			"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" | ||||
| 		}, | ||||
| 		"node_modules/sass": { | ||||
| 			"version": "1.39.2", | ||||
| 			"resolved": "https://registry.npmjs.org/sass/-/sass-1.39.2.tgz", | ||||
| 			"integrity": "sha512-4/6Vn2RPc+qNwSclUSKvssh7dqK1Ih3FfHBW16I/GfH47b3scbYeOw65UIrYG7PkweFiKbpJjgkf5CV8EMmvzw==", | ||||
| 			"dev": true, | ||||
| 			"dependencies": { | ||||
| 				"chokidar": ">=3.0.0 <4.0.0" | ||||
| 			}, | ||||
| 			"bin": { | ||||
| 				"sass": "sass.js" | ||||
| 			}, | ||||
| 			"engines": { | ||||
| 				"node": ">=8.9.0" | ||||
| 			} | ||||
| 		}, | ||||
| 		"node_modules/sass/node_modules/anymatch": { | ||||
| 			"version": "3.1.2", | ||||
| 			"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", | ||||
| 			"integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", | ||||
| 			"dev": true, | ||||
| 			"dependencies": { | ||||
| 				"normalize-path": "^3.0.0", | ||||
| 				"picomatch": "^2.0.4" | ||||
| 			}, | ||||
| 			"engines": { | ||||
| 				"node": ">= 8" | ||||
| 			} | ||||
| 		}, | ||||
| 		"node_modules/sass/node_modules/binary-extensions": { | ||||
| 			"version": "2.2.0", | ||||
| 			"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", | ||||
| 			"integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", | ||||
| 			"dev": true, | ||||
| 			"engines": { | ||||
| 				"node": ">=8" | ||||
| 			} | ||||
| 		}, | ||||
| 		"node_modules/sass/node_modules/braces": { | ||||
| 			"version": "3.0.2", | ||||
| 			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", | ||||
| 			"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", | ||||
| 			"dev": true, | ||||
| 			"dependencies": { | ||||
| 				"fill-range": "^7.0.1" | ||||
| 			}, | ||||
| 			"engines": { | ||||
| 				"node": ">=8" | ||||
| 			} | ||||
| 		}, | ||||
| 		"node_modules/sass/node_modules/chokidar": { | ||||
| 			"version": "3.5.2", | ||||
| 			"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", | ||||
| 			"integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", | ||||
| 			"dev": true, | ||||
| 			"dependencies": { | ||||
| 				"anymatch": "~3.1.2", | ||||
| 				"braces": "~3.0.2", | ||||
| 				"glob-parent": "~5.1.2", | ||||
| 				"is-binary-path": "~2.1.0", | ||||
| 				"is-glob": "~4.0.1", | ||||
| 				"normalize-path": "~3.0.0", | ||||
| 				"readdirp": "~3.6.0" | ||||
| 			}, | ||||
| 			"engines": { | ||||
| 				"node": ">= 8.10.0" | ||||
| 			}, | ||||
| 			"optionalDependencies": { | ||||
| 				"fsevents": "~2.3.2" | ||||
| 			} | ||||
| 		}, | ||||
| 		"node_modules/sass/node_modules/fill-range": { | ||||
| 			"version": "7.0.1", | ||||
| 			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", | ||||
| 			"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", | ||||
| 			"dev": true, | ||||
| 			"dependencies": { | ||||
| 				"to-regex-range": "^5.0.1" | ||||
| 			}, | ||||
| 			"engines": { | ||||
| 				"node": ">=8" | ||||
| 			} | ||||
| 		}, | ||||
| 		"node_modules/sass/node_modules/fsevents": { | ||||
| 			"version": "2.3.2", | ||||
| 			"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", | ||||
| 			"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", | ||||
| 			"dev": true, | ||||
| 			"hasInstallScript": true, | ||||
| 			"optional": true, | ||||
| 			"os": [ | ||||
| 				"darwin" | ||||
| 			], | ||||
| 			"engines": { | ||||
| 				"node": "^8.16.0 || ^10.6.0 || >=11.0.0" | ||||
| 			} | ||||
| 		}, | ||||
| 		"node_modules/sass/node_modules/glob-parent": { | ||||
| 			"version": "5.1.2", | ||||
| 			"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", | ||||
| 			"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", | ||||
| 			"dev": true, | ||||
| 			"dependencies": { | ||||
| 				"is-glob": "^4.0.1" | ||||
| 			}, | ||||
| 			"engines": { | ||||
| 				"node": ">= 6" | ||||
| 			} | ||||
| 		}, | ||||
| 		"node_modules/sass/node_modules/is-binary-path": { | ||||
| 			"version": "2.1.0", | ||||
| 			"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", | ||||
| 			"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", | ||||
| 			"dev": true, | ||||
| 			"dependencies": { | ||||
| 				"binary-extensions": "^2.0.0" | ||||
| 			}, | ||||
| 			"engines": { | ||||
| 				"node": ">=8" | ||||
| 			} | ||||
| 		}, | ||||
| 		"node_modules/sass/node_modules/is-number": { | ||||
| 			"version": "7.0.0", | ||||
| 			"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", | ||||
| 			"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", | ||||
| 			"dev": true, | ||||
| 			"engines": { | ||||
| 				"node": ">=0.12.0" | ||||
| 			} | ||||
| 		}, | ||||
| 		"node_modules/sass/node_modules/readdirp": { | ||||
| 			"version": "3.6.0", | ||||
| 			"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", | ||||
| 			"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", | ||||
| 			"dev": true, | ||||
| 			"dependencies": { | ||||
| 				"picomatch": "^2.2.1" | ||||
| 			}, | ||||
| 			"engines": { | ||||
| 				"node": ">=8.10.0" | ||||
| 			} | ||||
| 		}, | ||||
| 		"node_modules/sass/node_modules/to-regex-range": { | ||||
| 			"version": "5.0.1", | ||||
| 			"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", | ||||
| 			"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", | ||||
| 			"dev": true, | ||||
| 			"dependencies": { | ||||
| 				"is-number": "^7.0.0" | ||||
| 			}, | ||||
| 			"engines": { | ||||
| 				"node": ">=8.0" | ||||
| 			} | ||||
| 		}, | ||||
| 		"node_modules/sax": { | ||||
| 			"version": "1.2.4", | ||||
| 			"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", | ||||
| @@ -9271,6 +9437,12 @@ | ||||
| 			"integrity": "sha512-3iBXuv7XKvxeMrIgym7njT+HlZkwZqqGX4Bu9cci8xHZNT+Um1gWKqCsAzcC0d95rcKMU5WBg6YRUcHyV0HZKQ==", | ||||
| 			"dev": true | ||||
| 		}, | ||||
| 		"picomatch": { | ||||
| 			"version": "2.3.0", | ||||
| 			"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", | ||||
| 			"integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", | ||||
| 			"dev": true | ||||
| 		}, | ||||
| 		"pify": { | ||||
| 			"version": "2.3.0", | ||||
| 			"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", | ||||
| @@ -9642,6 +9814,116 @@ | ||||
| 			"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", | ||||
| 			"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" | ||||
| 		}, | ||||
| 		"sass": { | ||||
| 			"version": "1.39.2", | ||||
| 			"resolved": "https://registry.npmjs.org/sass/-/sass-1.39.2.tgz", | ||||
| 			"integrity": "sha512-4/6Vn2RPc+qNwSclUSKvssh7dqK1Ih3FfHBW16I/GfH47b3scbYeOw65UIrYG7PkweFiKbpJjgkf5CV8EMmvzw==", | ||||
| 			"dev": true, | ||||
| 			"requires": { | ||||
| 				"chokidar": ">=3.0.0 <4.0.0" | ||||
| 			}, | ||||
| 			"dependencies": { | ||||
| 				"anymatch": { | ||||
| 					"version": "3.1.2", | ||||
| 					"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", | ||||
| 					"integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", | ||||
| 					"dev": true, | ||||
| 					"requires": { | ||||
| 						"normalize-path": "^3.0.0", | ||||
| 						"picomatch": "^2.0.4" | ||||
| 					} | ||||
| 				}, | ||||
| 				"binary-extensions": { | ||||
| 					"version": "2.2.0", | ||||
| 					"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", | ||||
| 					"integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", | ||||
| 					"dev": true | ||||
| 				}, | ||||
| 				"braces": { | ||||
| 					"version": "3.0.2", | ||||
| 					"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", | ||||
| 					"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", | ||||
| 					"dev": true, | ||||
| 					"requires": { | ||||
| 						"fill-range": "^7.0.1" | ||||
| 					} | ||||
| 				}, | ||||
| 				"chokidar": { | ||||
| 					"version": "3.5.2", | ||||
| 					"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", | ||||
| 					"integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", | ||||
| 					"dev": true, | ||||
| 					"requires": { | ||||
| 						"anymatch": "~3.1.2", | ||||
| 						"braces": "~3.0.2", | ||||
| 						"fsevents": "~2.3.2", | ||||
| 						"glob-parent": "~5.1.2", | ||||
| 						"is-binary-path": "~2.1.0", | ||||
| 						"is-glob": "~4.0.1", | ||||
| 						"normalize-path": "~3.0.0", | ||||
| 						"readdirp": "~3.6.0" | ||||
| 					} | ||||
| 				}, | ||||
| 				"fill-range": { | ||||
| 					"version": "7.0.1", | ||||
| 					"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", | ||||
| 					"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", | ||||
| 					"dev": true, | ||||
| 					"requires": { | ||||
| 						"to-regex-range": "^5.0.1" | ||||
| 					} | ||||
| 				}, | ||||
| 				"fsevents": { | ||||
| 					"version": "2.3.2", | ||||
| 					"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", | ||||
| 					"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", | ||||
| 					"dev": true, | ||||
| 					"optional": true | ||||
| 				}, | ||||
| 				"glob-parent": { | ||||
| 					"version": "5.1.2", | ||||
| 					"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", | ||||
| 					"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", | ||||
| 					"dev": true, | ||||
| 					"requires": { | ||||
| 						"is-glob": "^4.0.1" | ||||
| 					} | ||||
| 				}, | ||||
| 				"is-binary-path": { | ||||
| 					"version": "2.1.0", | ||||
| 					"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", | ||||
| 					"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", | ||||
| 					"dev": true, | ||||
| 					"requires": { | ||||
| 						"binary-extensions": "^2.0.0" | ||||
| 					} | ||||
| 				}, | ||||
| 				"is-number": { | ||||
| 					"version": "7.0.0", | ||||
| 					"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", | ||||
| 					"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", | ||||
| 					"dev": true | ||||
| 				}, | ||||
| 				"readdirp": { | ||||
| 					"version": "3.6.0", | ||||
| 					"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", | ||||
| 					"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", | ||||
| 					"dev": true, | ||||
| 					"requires": { | ||||
| 						"picomatch": "^2.2.1" | ||||
| 					} | ||||
| 				}, | ||||
| 				"to-regex-range": { | ||||
| 					"version": "5.0.1", | ||||
| 					"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", | ||||
| 					"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", | ||||
| 					"dev": true, | ||||
| 					"requires": { | ||||
| 						"is-number": "^7.0.0" | ||||
| 					} | ||||
| 				} | ||||
| 			} | ||||
| 		}, | ||||
| 		"sax": { | ||||
| 			"version": "1.2.4", | ||||
| 			"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", | ||||
|   | ||||
| @@ -42,6 +42,7 @@ | ||||
|     "@types/mustache": "^0.8.32", | ||||
|     "@types/node": "^14.14.6", | ||||
|     "gulp": "^4.0.2", | ||||
|     "sass": "^1.39.2", | ||||
|     "sqlite3": "^5.0.0", | ||||
|     "typescript": "^4.1.3" | ||||
|   }, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user