commit 1dd420b63963e61559ef5e38c7d5539d4c9e5865 Author: ciiiii Date: Tue Mar 22 02:35:17 2022 +0800 init webpack project for cloudflare worker diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..783d65a --- /dev/null +++ b/.gitignore @@ -0,0 +1,215 @@ +### cloudflare worker ### +worker + +# Created by https://www.toptal.com/developers/gitignore/api/osx +# Edit at https://www.toptal.com/developers/gitignore?templates=osx + +### OSX ### +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +# End of https://www.toptal.com/developers/gitignore/api/osx + +# Created by https://www.toptal.com/developers/gitignore/api/visualstudiocode +# Edit at https://www.toptal.com/developers/gitignore?templates=visualstudiocode + +### VisualStudioCode ### +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +*.code-workspace + +# Local History for Visual Studio Code +.history/ + +### VisualStudioCode Patch ### +# Ignore all local history of files +.history +.ionide + +# Support for Project snippet scope +!.vscode/*.code-snippets + +# End of https://www.toptal.com/developers/gitignore/api/visualstudiocode + +# Created by https://www.toptal.com/developers/gitignore/api/node +# Edit at https://www.toptal.com/developers/gitignore?templates=node + +### Node ### +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* +.pnpm-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 +.env.production + +# 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 +.yarn/install-state.gz +.pnp.* + +### Node Patch ### +# Serverless Webpack directories +.webpack/ + +# Optional stylelint cache +.stylelintcache + +# SvelteKit build / generate output +.svelte-kit + +# End of https://www.toptal.com/developers/gitignore/api/node + +# Created by https://www.toptal.com/developers/gitignore/api/yarn +# Edit at https://www.toptal.com/developers/gitignore?templates=yarn + +### yarn ### +# https://yarnpkg.com/advanced/qa#which-files-should-be-gitignored + +.yarn/* +!.yarn/releases +!.yarn/plugins +!.yarn/sdks +!.yarn/versions + +# if you are NOT using Zero-installs, then: +# comment the following lines +!.yarn/cache + +# and uncomment the following lines +# .pnp.* + +# End of https://www.toptal.com/developers/gitignore/api/yarn \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 0000000..164d601 --- /dev/null +++ b/package.json @@ -0,0 +1,19 @@ +{ + "name": "cloudflare-docker-proxy", + "private": true, + "description": "", + "version": "1.0.0", + "author": "ciiiii ", + "dependencies": {}, + "devDependencies": { + "prettier": "^2.4.1", + "webpack": "^5.65.0", + "webpack-cli": "^4.9.1" + }, + "scripts": { + "format": "prettier --write '**/*.{js,css,json,md}'", + "build": "webpack" + }, + "license": "MIT", + "main": "src/index.js" +} diff --git a/webpack.config.js b/webpack.config.js new file mode 100644 index 0000000..61a88a0 --- /dev/null +++ b/webpack.config.js @@ -0,0 +1,19 @@ +const path = require("path"); + +module.exports = { + context: path.resolve(__dirname, "./"), + target: "webworker", + mode: "production", + optimization: { + usedExports: true, + }, + module: { + rules: [ + { + include: /node_modules/, + test: /\.mjs$/, + type: "javascript/auto", + }, + ], + }, +}; diff --git a/wrangler.toml b/wrangler.toml new file mode 100644 index 0000000..d3ce805 --- /dev/null +++ b/wrangler.toml @@ -0,0 +1,20 @@ +name = "cloudflare-docker-proxy" +type = "webpack" + +account_id = "" +workers_dev = true +route = "" +zone_id = "" + +webpack_config = "webpack.config.js" +compatibility_date = "2021-12-07" + + +[dev] +ip = "0.0.0.0" +port = 8787 +local_protocol="http" +upstream_protocol="https" + +[env.dev] +vars={DEBUG=true, LOCAL_ADDRESS="http://192.168.50.160:8787", TARGET_UPSTREAM="https://registry-1.docker.io"} \ No newline at end of file