From 010640501fbb9fc4266d4f6b2ea7810a687004fe Mon Sep 17 00:00:00 2001 From: "F.W. Dekker" Date: Sat, 30 Oct 2021 14:30:33 +0200 Subject: [PATCH] Initial commit --- .editorconfig | 11 ++++ .gitattributes | 1 + .gitignore | 117 +++++++++++++++++++++++++++++++++++++++++ Gruntfile.js | 118 ++++++++++++++++++++++++++++++++++++++++++ LICENSE | 21 ++++++++ README.md | 22 ++++++++ package-lock.json | Bin 0 -> 222665 bytes package.json | 33 ++++++++++++ src/main/css/main.css | 11 ++++ src/main/index.html | 35 +++++++++++++ src/main/js/Main.ts | 29 +++++++++++ tsconfig.json | 11 ++++ 12 files changed, 409 insertions(+) create mode 100644 .editorconfig create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 Gruntfile.js create mode 100644 LICENSE create mode 100644 README.md create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 src/main/css/main.css create mode 100644 src/main/index.html create mode 100644 src/main/js/Main.ts create mode 100644 tsconfig.json diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..fd1294f --- /dev/null +++ b/.editorconfig @@ -0,0 +1,11 @@ +root = true + +[*] +charset = utf-8 +trim_trailing_whitespace = true + +end_of_line = lf +insert_final_newline = true + +indent_style = space +indent_size = 4 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..1a6bd45 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +package-lock.json binary diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e7ea1e8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,117 @@ +## Node +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Snowpack dependency directory (https://snowpack.dev/) +web_modules/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Microbundle cache +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env +.env.test + +# parcel-bundler cache (https://parceljs.org/) +.cache +.parcel-cache + +# Next.js build output +.next +out + +# Nuxt.js build / generate output +.nuxt +dist + +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and not Next.js +# https://nextjs.org/blog/next-9-1#public-directory-support +# public + +# vuepress build output +.vuepress/dist + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# TernJS port file +.tern-port + +# Stores VSCode versions used for testing VSCode extensions +.vscode-test + +# yarn v2 + +.yarn/cache +.yarn/unplugged +.yarn/build-state.yml +.pnp.* diff --git a/Gruntfile.js b/Gruntfile.js new file mode 100644 index 0000000..9fe314f --- /dev/null +++ b/Gruntfile.js @@ -0,0 +1,118 @@ +const path = require("path"); + +module.exports = grunt => { + grunt.initConfig({ + pkg: grunt.file.readJSON("package.json"), + clean: { + default: ["dist/"], + }, + copy: { + css: { + files: [{expand: true, cwd: "src/main/", src: "**/*.css", dest: "dist/", flatten: true}], + }, + html: { + files: [{expand: true, cwd: "src/main/", src: "**/*.html", dest: "dist/", flatten: true}], + }, + }, + focus: { + dev: { + include: ["css", "html", "ts"], + }, + }, + replace: { + dev: { + src: ["./dist/*.html", "./dist/*.js"], + replacements: [ + { + from: "%%VERSION_NUMBER%%", + to: "<%= pkg.version %>+" + new Date().toISOString().slice(0, 19).replace(/[-:T]/g, ""), + } + ], + overwrite: true, + }, + deploy: { + src: ["./dist/*.html", "./dist/*.js"], + replacements: [ + { + from: "%%VERSION_NUMBER%%", + to: "<%= pkg.version %>", + } + ], + overwrite: true, + }, + }, + watch: { + css: { + files: ["src/main/**/*.css"], + tasks: ["copy:css"], + }, + html: { + files: ["src/main/**/*.html"], + tasks: ["copy:html"], + }, + ts: { + files: ["src/main/**/*.ts"], + tasks: ["webpack:dev", "replace:dev"], + }, + }, + webpack: { + options: { + entry: "./src/main/js/Main.ts", + module: { + rules: [ + { + test: /\.ts$/, + use: "ts-loader", + exclude: /node_modules/, + }, + ], + }, + resolve: { + extensions: [".ts"], + }, + output: { + filename: "bundle.js", + path: path.resolve(__dirname, "dist/"), + }, + }, + dev: { + mode: "development", + devtool: "inline-source-map", + }, + deploy: { + mode: "production", + }, + }, + }); + + grunt.loadNpmTasks("grunt-contrib-clean"); + grunt.loadNpmTasks("grunt-contrib-copy"); + grunt.loadNpmTasks("grunt-contrib-watch"); + grunt.loadNpmTasks("grunt-focus"); + grunt.loadNpmTasks("grunt-text-replace"); + grunt.loadNpmTasks("grunt-webpack"); + + grunt.registerTask("dev", [ + // Pre + "clean", + // Copy files + "copy:css", + "copy:html", + // Compile TS + "webpack:dev", + "replace:dev", + ]); + grunt.registerTask("dev:server", ["dev", "focus:dev"]); + grunt.registerTask("deploy", [ + // Pre + "clean", + // Copy files + "copy:css", + "copy:html", + // Compile TS + "webpack:deploy", + "replace:deploy", + ]); + + grunt.registerTask("default", ["dev"]); +}; diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..52595c3 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 F.W. Dekker + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..0e8ec46 --- /dev/null +++ b/README.md @@ -0,0 +1,22 @@ +# Psychotherapy +Psychotherapy. + +## Development +### Requirements +* [npm](https://www.npmjs.com/) + +### Setting up +```shell script +# Install dependencies (only needed once) +$> npm ci +``` + +### Building +```shell script +# Build the art in `dist/` for development +$> npm run dev +# Same as above, but automatically rerun it whenever files are changed +$> npm run dev:server +# Build the art in `dist/` for deployment +$> npm run deploy +``` diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000000000000000000000000000000000000..31fb4429e5f255b8e84dba620d28bce4d35d0d4c GIT binary patch literal 222665 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 literal 0 HcmV?d00001 diff --git a/package.json b/package.json new file mode 100644 index 0000000..f5fdd76 --- /dev/null +++ b/package.json @@ -0,0 +1,33 @@ +{ + "name": "psychotherapy", + "version": "0.0.1", + "description": "Psychotherapy", + "author": "F.W. Dekker", + "browser": "dist/bundle.js", + "repository": { + "type": "git", + "url": "git@git.fwdekker.com:art/psychotherapy.git" + }, + "private": true, + "scripts": { + "clean": "grunt clean", + "dev": "grunt dev", + "dev:server": "grunt dev:server", + "deploy": "grunt deploy" + }, + "devDependencies": { + "grunt": "^1.4.0", + "grunt-cli": "^1.4.2", + "grunt-contrib-clean": "^2.0.0", + "grunt-contrib-copy": "^1.0.0", + "grunt-contrib-watch": "^1.1.0", + "grunt-focus": "^1.0.0", + "grunt-text-replace": "^0.4.0", + "grunt-webpack": "^4.0.3", + "ts-loader": "^9.1.1", + "ts-node": "^9.1.1", + "typescript": "^4.2.4", + "webpack": "^5.36.0", + "webpack-cli": "^4.6.0" + } +} diff --git a/src/main/css/main.css b/src/main/css/main.css new file mode 100644 index 0000000..ff1ba24 --- /dev/null +++ b/src/main/css/main.css @@ -0,0 +1,11 @@ +html, body, main, #art { + margin: 0; + padding: 0; + + width: 100%; + height: 100%; +} + +#art { + display: block; +} diff --git a/src/main/index.html b/src/main/index.html new file mode 100644 index 0000000..eb59b5f --- /dev/null +++ b/src/main/index.html @@ -0,0 +1,35 @@ + + + + + + + + + + + Psychotherapy | FWDekker + + + + + + +
+ +
+ + + + + + diff --git a/src/main/js/Main.ts b/src/main/js/Main.ts new file mode 100644 index 0000000..98e199b --- /dev/null +++ b/src/main/js/Main.ts @@ -0,0 +1,29 @@ +// @ts-ignore +const {$, doAfterLoad} = window.fwdekker; + + +doAfterLoad(() => { + $("main").classList.remove("hidden"); + + const canvas = $("#art"); + const ctx = canvas.getContext("2d"); + + const draw = () => { + ctx.fillStyle = "#000000"; + ctx.fillRect(0, 0, canvas.width, canvas.height); + + ctx.beginPath(); + ctx.fillStyle = "#ffffff"; + ctx.arc(canvas.width / 2 - 20, canvas.height / 2 - 20, 20, 0, 2 * Math.PI); + ctx.fill(); + }; + const resize = () => { + canvas.width = window.innerWidth; + canvas.height = window.innerHeight; + + draw(); + }; + + window.addEventListener("resize", resize, false); + resize(); +}); diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..e05d682 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,11 @@ +{ + "compilerOptions": { + "target": "es2019", + "strict": true, + "rootDir": "./src/main/js/", + "outDir": "./dist/js/" + }, + "include": [ + "src/main/js/**/*.ts" + ] +}