diff --git a/frontend/app/index.html b/frontend/app/index.html
index 2a83664..d6e7e03 100644
--- a/frontend/app/index.html
+++ b/frontend/app/index.html
@@ -1,22 +1,37 @@
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
Color Tools
-
+
+
-
+
+
+
diff --git a/frontend/app/public/humans.txt b/frontend/app/public/humans.txt
new file mode 100644
index 0000000..1be28bd
--- /dev/null
+++ b/frontend/app/public/humans.txt
@@ -0,0 +1,9 @@
+/* SITE */
+ Language: English
+ License: All Rights Reserved.
+ GitHub: https://github.com/MilesBHuff/Websume
+
+/* TEAM */
+ Lead Developer: Miles Bradley Huff
+ Email: MilesBHuff@NoReply.GitHub.com
+ From: United States of America
diff --git a/frontend/app/public/robots.txt b/frontend/app/public/robots.txt
new file mode 100644
index 0000000..1f53798
--- /dev/null
+++ b/frontend/app/public/robots.txt
@@ -0,0 +1,2 @@
+User-agent: *
+Disallow: /
diff --git a/frontend/app/public/sitemap.xml b/frontend/app/public/sitemap.xml
new file mode 100644
index 0000000..e6ae1bc
--- /dev/null
+++ b/frontend/app/public/sitemap.xml
@@ -0,0 +1,13 @@
+
+
+
+ http://localhost:5173/index.html
+
+
diff --git a/frontend/package.json b/frontend/package.json
index 4188d3e..314cab7 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -1,8 +1,38 @@
{
- "name": "miles-color-tools",
- "license": "LAGPL-3.0-or-later",
+ "name": "color-tools",
"version": "3.0.0",
+ "license": "LAGPL-3.0-or-later",
+ "description": "Some tools to help people manipulate colors for use in UI applications.",
+ "keywords": [
+ "color",
+ "Lab",
+ "L*a*b*",
+ "CIELAB",
+ "CIEDE2000",
+ "RGB",
+ "WCAG",
+ "AA",
+ "AAA",
+ "accessibility"
+ ],
+ "author": {
+ "name": "Miles B Huff",
+ "email": "MilesBHuff@NoReply.GitHub.com"
+ },
+ "homepage": "HTTPS://GitHub.com/MilesBHuff/color-tools#README",
+ "bugs": {
+ "url": "HTTPS://GitHub.com/MilesBHuff/color-tools/issues"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+HTTPS://GitHub.com/MilesBHuff/color-tools.git"
+ },
"private": true,
+ "directories": {
+ "bin": "./dist",
+ "lib": "./app"
+ },
+ "type": "module",
"scripts": {
"start": "npm run dev",
"dev": "vite",
diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json
index c44cc77..b8fa954 100644
--- a/frontend/tsconfig.json
+++ b/frontend/tsconfig.json
@@ -5,21 +5,21 @@
"extends": "./node_modules/@vue/tsconfig/tsconfig.dom.json",
"include": [
"env.d.ts",
- "src/**/*",
- "src/**/*.json",
- "src/**/*.ts",
- "src/**/*.vue"
+ "app/src/**/*",
+ "app/src/**/*.json",
+ "app/src/**/*.ts",
+ "app/src/**/*.vue"
],
/* https://www.typescriptlang.org/tsconfig */
"compilerOptions": {
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Type Checking */
+ * Type Checking */
"allowUnreachableCode": false, // This is not the concern of a compiler -- please use a linter to detect this.
"allowUnusedLabels": false, // This is not the concern of a compiler -- please use a linter to detect this.
"alwaysStrict": true,
- "exactOptionalPropertyTypes": true,
+ "exactOptionalPropertyTypes": false, // This is excessive. TypeScript should just change `?:` to mean `|void` instead of `|undefined`, and then there's no problem.
"noFallthroughCasesInSwitch": false, // This is not the concern of a compiler -- please use a linter to detect this.
"noImplicitAny": true,
"noImplicitOverride": true,
@@ -33,29 +33,27 @@
//NOTE: The strict-mode settings are omitted here, since they are implicit in the above.
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Modules */
+ * Modules */
+ "allowImportingTsExtensions": true,
"allowUmdGlobalAccess": false,
"baseUrl": ".",
- // "module": null,
- // "moduleResolution": null,
+ "module": "ESNext",
+ "moduleResolution": "bundler",
// "moduleSuffixes": null,
"noResolve": false,
"paths": {
- "$/*": [
- "./src/*"
- ],
- "#/*": [
- "./node_modules/*"
+ "@/*": [
+ "./app/src/*"
]
},
"resolveJsonModule": true,
- // "rootDir": null,
- // "rootDirs": null,
- // "typeRoots": null,
- // "types": null,
+ // "rootDir": [],
+ // "rootDirs": [],
+ // "typeRoots": [],
+ // "types": [],
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Emit */
+ * Emit */
// "declaration": null,
// "declarationDir": null,
// "declarationMap": null,
@@ -63,44 +61,43 @@
// "emitBOM": false,
"emitDeclarationOnly": false,
"importHelpers": true,
- "importsNotUsedAsValues": "error",
// "inlineSourceMap": false,
// "inlineSources": false,
// "mapRoot": null,
"newLine": "LF",
- // "noEmit": false,
+ "noEmit": true,
// "noEmitHelpers": false,
// "noEmitOnError": false,
// "outDir": "dist",
// "outFile": null,
- "preserveConstEnums": false,
- "preserveValueImports": true,
+ // "preserveConstEnums": false,
"removeComments": true,
// "sourceMap": true,
// "sourceRoot": null,
"stripInternal": true,
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * JavaScript Support */
+ * JavaScript Support */
"allowJs": true,
"checkJs": true,
// "maxNodeModuleJsDepth": 0,
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Editor Support */
+ * Editor Support */
// "disableSizeLimit": false,
// "plugins": null,
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Interop Constraints */
+ * Interop Constraints */
// "allowSyntheticDefaultImports": false,
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
- "isolatedModules": false,
+ "isolatedModules": true,
"preserveSymlinks": true,
+ "verbatimModuleSyntax": false,
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Backwards Compatibility */
+ * Backwards Compatibility */
// "charset": "utf-8",
// "keyofStringsOnly": true,
// "noImplicitUseStrict": false,
@@ -110,21 +107,22 @@
"suppressImplicitAnyIndexErrors": false,
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Language and Environment */
+ * Language and Environment */
// "emitDecoratorMetadata": null,
"experimentalDecorators": true,
// "jsx": "preserve",
// "jsxFactory": null,
// "jsxFragmentFactory": null,
// "jsxImportSource": null,
- // "lib": ["ESNext"],
+ "lib": ["ESNext"],
// "moduleDetection": "auto",
// "noLib": false,
// "reactNamespace": null,
- // "target": "ESNext",
+ "target": "ES2022",
+ "useDefineForClassFields": true,
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Compiler Diagnostics */
+ * Compiler Diagnostics */
// "diagnostics": false,
// "explainFiles": false,
// "extendedDiagnostics": false,
@@ -134,7 +132,7 @@
// "traceResolution": false,
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Projects */
+ * Projects */
"composite": true,
// "disableReferencedProjectLoad": false,
// "disableSolutionSearching": false,
@@ -143,21 +141,21 @@
// "tsBuildInfoFile": null,
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Output Formatting */
+ * Output Formatting */
"noErrorTruncation": false,
"preserveWatchOutput": false,
"pretty": true,
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Completeness */
+ * Completeness */
// "skipDefaultLibCheck": false,
// "skipLibCheck": true,
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Command Line */
+ * Command Line */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Watch Options */
+ * Watch Options */
"assumeChangesOnlyAffectDirectDependencies": false
}
}
diff --git a/frontend/tsconfig.node.json b/frontend/tsconfig.node.json
index 43ab89b..c52cb43 100644
--- a/frontend/tsconfig.node.json
+++ b/frontend/tsconfig.node.json
@@ -1,6 +1,6 @@
{
"extends": [
- "./node_modules/@vue/tsconfig/tsconfig.json"
+ "@vue/tsconfig/tsconfig.json"
],
"include": [
"vite.config.*",
@@ -9,7 +9,11 @@
"playwright.config.*"
],
"compilerOptions": {
+ "allowSyntheticDefaultImports": true,
"composite": true,
+ "module": "ESNext",
+ "moduleResolution": "bundler",
+ "skipLibCheck": true,
"types": [
"node"
]
diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts
index 81d823c..e0f99f4 100644
--- a/frontend/vite.config.ts
+++ b/frontend/vite.config.ts
@@ -1,15 +1,34 @@
-import {fileURLToPath, URL} from 'node:url'
-import {defineConfig} from 'vite'
-import vue from '@vitejs/plugin-vue'
-import vueJsx from '@vitejs/plugin-vue-jsx'
+import vue from '@vitejs/plugin-vue';
+import vueJsx from '@vitejs/plugin-vue-jsx';
+import {fileURLToPath, URL} from 'node:url';
+import {defineConfig} from 'vite';
-// https://vitejs.dev/config
+////////////////////////////////////////////////////////////////////////////////
+/** https://vitejs.dev/config */
export default defineConfig({
- plugins: [vue(), vueJsx()],
+ root: 'app',
+
+ build: {
+ outDir: '../dist',
+ rollupOptions: {
+ input: {
+ app: 'src/index.html',
+ },
+ },
+ sourcemap: true,
+ },
+ server: {
+ open: false,
+ },
+
resolve: {
alias: {
- '$/': fileURLToPath(new URL('./src/', import.meta.url)),
- '#/': fileURLToPath(new URL('./node_modules/', import.meta.url)),
+ '@': fileURLToPath(new URL('./app/src', import.meta.url)),
},
},
+
+ plugins: [
+ vue(),
+ vueJsx(),
+ ],
});