From 78e54c827538da0476468e913db1b8dcdf405db7 Mon Sep 17 00:00:00 2001 From: yalda Date: Sat, 2 Jul 2022 19:00:50 +0800 Subject: [PATCH] feat(template):add solidjs framework --- .github/workflows/npm-publish.yml | 7 +- CHANGELOG.md | 4 + README.md | 33 ++++---- index.js | 77 ++++++++++++------ package.json | 2 +- template-solid-js/options.html | 13 +++ template-solid-js/package.json | 20 +++++ template-solid-js/popup.html | 13 +++ template-solid-js/public/icons/logo.ico | Bin 0 -> 4431 bytes template-solid-js/public/icons/logo.svg | 2 + template-solid-js/public/img/logo-128.png | Bin 0 -> 3167 bytes template-solid-js/public/img/logo-16.png | Bin 0 -> 479 bytes template-solid-js/public/img/logo-34.png | Bin 0 -> 775 bytes template-solid-js/public/img/logo-48.png | Bin 0 -> 1074 bytes template-solid-js/src/assets/logo.png | Bin 0 -> 8193 bytes template-solid-js/src/background/index.js | 3 + template-solid-js/src/content/index.js | 3 + template-solid-js/src/manifest.js | 36 ++++++++ template-solid-js/src/options/Options.jsx | 23 ++++++ .../src/options/Options.module.css | 38 +++++++++ template-solid-js/src/options/index.css | 30 +++++++ template-solid-js/src/options/index.jsx | 7 ++ template-solid-js/src/popup/Popup.jsx | 23 ++++++ template-solid-js/src/popup/Popup.module.css | 38 +++++++++ template-solid-js/src/popup/index.css | 30 +++++++ template-solid-js/src/popup/index.jsx | 7 ++ template-solid-js/vite.config.js | 22 +++++ template-solid-ts/options.html | 13 +++ template-solid-ts/package.json | 21 +++++ template-solid-ts/popup.html | 13 +++ template-solid-ts/public/icons/logo.ico | Bin 0 -> 4431 bytes template-solid-ts/public/icons/logo.svg | 2 + template-solid-ts/public/img/logo-128.png | Bin 0 -> 3167 bytes template-solid-ts/public/img/logo-16.png | Bin 0 -> 479 bytes template-solid-ts/public/img/logo-34.png | Bin 0 -> 775 bytes template-solid-ts/public/img/logo-48.png | Bin 0 -> 1074 bytes template-solid-ts/src/assets/logo.png | Bin 0 -> 8193 bytes template-solid-ts/src/background/index.ts | 3 + template-solid-ts/src/content/index.ts | 3 + template-solid-ts/src/global.d.ts | 3 + template-solid-ts/src/manifest.tsx | 36 ++++++++ .../src/options/Options.module.css | 38 +++++++++ template-solid-ts/src/options/Options.tsx | 23 ++++++ template-solid-ts/src/options/index.css | 30 +++++++ template-solid-ts/src/options/index.tsx | 7 ++ template-solid-ts/src/popup/Popup.module.css | 38 +++++++++ template-solid-ts/src/popup/Popup.tsx | 23 ++++++ template-solid-ts/src/popup/index.css | 30 +++++++ template-solid-ts/src/popup/index.tsx | 7 ++ template-solid-ts/tsconfig.json | 21 +++++ template-solid-ts/tsconfig.node.json | 8 ++ template-solid-ts/vite.config.ts | 22 +++++ 52 files changed, 726 insertions(+), 46 deletions(-) create mode 100644 template-solid-js/options.html create mode 100644 template-solid-js/package.json create mode 100644 template-solid-js/popup.html create mode 100644 template-solid-js/public/icons/logo.ico create mode 100644 template-solid-js/public/icons/logo.svg create mode 100644 template-solid-js/public/img/logo-128.png create mode 100644 template-solid-js/public/img/logo-16.png create mode 100644 template-solid-js/public/img/logo-34.png create mode 100644 template-solid-js/public/img/logo-48.png create mode 100644 template-solid-js/src/assets/logo.png create mode 100644 template-solid-js/src/background/index.js create mode 100644 template-solid-js/src/content/index.js create mode 100644 template-solid-js/src/manifest.js create mode 100644 template-solid-js/src/options/Options.jsx create mode 100644 template-solid-js/src/options/Options.module.css create mode 100644 template-solid-js/src/options/index.css create mode 100644 template-solid-js/src/options/index.jsx create mode 100644 template-solid-js/src/popup/Popup.jsx create mode 100644 template-solid-js/src/popup/Popup.module.css create mode 100644 template-solid-js/src/popup/index.css create mode 100644 template-solid-js/src/popup/index.jsx create mode 100644 template-solid-js/vite.config.js create mode 100644 template-solid-ts/options.html create mode 100644 template-solid-ts/package.json create mode 100644 template-solid-ts/popup.html create mode 100644 template-solid-ts/public/icons/logo.ico create mode 100644 template-solid-ts/public/icons/logo.svg create mode 100644 template-solid-ts/public/img/logo-128.png create mode 100644 template-solid-ts/public/img/logo-16.png create mode 100644 template-solid-ts/public/img/logo-34.png create mode 100644 template-solid-ts/public/img/logo-48.png create mode 100644 template-solid-ts/src/assets/logo.png create mode 100644 template-solid-ts/src/background/index.ts create mode 100644 template-solid-ts/src/content/index.ts create mode 100644 template-solid-ts/src/global.d.ts create mode 100644 template-solid-ts/src/manifest.tsx create mode 100644 template-solid-ts/src/options/Options.module.css create mode 100644 template-solid-ts/src/options/Options.tsx create mode 100644 template-solid-ts/src/options/index.css create mode 100644 template-solid-ts/src/options/index.tsx create mode 100644 template-solid-ts/src/popup/Popup.module.css create mode 100644 template-solid-ts/src/popup/Popup.tsx create mode 100644 template-solid-ts/src/popup/index.css create mode 100644 template-solid-ts/src/popup/index.tsx create mode 100644 template-solid-ts/tsconfig.json create mode 100644 template-solid-ts/tsconfig.node.json create mode 100644 template-solid-ts/vite.config.ts diff --git a/.github/workflows/npm-publish.yml b/.github/workflows/npm-publish.yml index 06e51a8..0fb4d7b 100644 --- a/.github/workflows/npm-publish.yml +++ b/.github/workflows/npm-publish.yml @@ -1,17 +1,18 @@ # This workflow will run tests using node and then publish a package to GitHub Packages when a release is created # For more information see: https://help.github.com/actions/language-and-framework-guides/publishing-nodejs-packages -name: NPM Publish +name: npm-publish on: [push] jobs: publish-npm: runs-on: ubuntu-latest + if: github.ref == 'refs/heads/main' steps: - name: Logger run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event." - + - name: Checkout release branch code uses: actions/checkout@v3 with: @@ -23,7 +24,7 @@ jobs: node-version: 16 registry-url: https://registry.npmjs.org - - name: Install + - name: Install run: npm install - name: NPM CI diff --git a/CHANGELOG.md b/CHANGELOG.md index ac4439c..dc7deda 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,10 @@ Summary 5. version stamp follow the yyyy.MM.dd format ``` +## 0.3.0 [2022.07.02] + +- feat: add solid framework templates + ## 0.2.0 [2022.07.01] - doc: add preview image for useage diff --git a/README.md b/README.md index c5acb6e..4174027 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,11 @@ -# Create Chrome Ext (CRX) +# Create Chrome Ext (.crx) [![OSCS Status](https://www.oscs1024.com/platform/badge/guocaoyi/create-chrome-ext.svg?size=small)](https://www.oscs1024.com/project/guocaoyi/create-chrome-ext?ref=badge_small) -[![NPM](https://img.shields.io/npm/v/create-chrome-ext?logo=npm)](https://www.npmjs.com/package/create-chrome-ext) -[![npm-Download](https://img.shields.io/npm/dw/create-chrome-ext)](https://www.npmjs.com/package/create-chrome-ext) +[![npm](https://img.shields.io/npm/v/create-chrome-ext?logo=npm)](https://www.npmjs.com/package/create-chrome-ext) +[![npm-download](https://img.shields.io/npm/dw/create-chrome-ext)](https://www.npmjs.com/package/create-chrome-ext) ![GitHub Language Count](https://img.shields.io/github/languages/count/guocaoyi/create-chrome-ext) [![npm publish](https://github.com/guocaoyi/create-chrome-ext/actions/workflows/npm-publish.yml/badge.svg)](https://github.com/guocaoyi/create-chrome-ext/actions/workflows/npm-publish.yml) +![Twitter URL](https://img.shields.io/twitter/url?style=social&url=https%3A%2F%2Ftwitter.com%2Fwithout_horn) > Next generation chrome extension generater @@ -67,20 +68,18 @@ run: template presets include: -- `lit-js` -- `lit-ts` -- `preact-js` -- `preact-ts` -- `react-js` -- `react-ts` -- `svelte-js` -- `svelte-ts` -- `vanilla-js` -- `vanilla-ts` -- `vue-js` -- `vue-ts` - -You can use `.` for the project name to scaffold in the current directory. +- [React](https://reactjs.org/) +- [Vue](https://vuejs.org/) +- [Svelte](https://svelte.dev/) +- [Solid](https://www.solidjs.com/) +- [Preact](https://preactjs.com/) +- [Lit](https://lit.dev/) +- [Vanilla](http://vanilla-js.com/) + +languages presets include: + +- JavaScript +- TypeScript ## Preview diff --git a/index.js b/index.js index ce2ec4e..c153059 100755 --- a/index.js +++ b/index.js @@ -7,55 +7,66 @@ import minimist from 'minimist' import prompts from 'prompts' import mustache from 'mustache' import { fileURLToPath } from 'url' -import { blue, lightBlue, yellow, cyan, magenta, green, red, reset } from 'kolorist' +import { + blue, + lightBlue, + yellow, + lightYellow, + magenta, + green, + red, + lightCyan, + lightRed, + reset, +} from 'kolorist' const argv = minimist(process.argv.slice(2), { string: ['_'] }) const cwd = process.cwd() const Boilerplates = [ { - name: 'lit', - color: lightBlue, + name: 'react', + color: lightCyan, variants: [ { - name: 'lit-js', + name: 'react-js', display: 'JavaScript', color: yellow, }, { - name: 'lit-ts', + name: 'react-ts', display: 'TypeScript', color: blue, }, ], }, { - name: 'preact', - color: magenta, + name: 'vue', + color: green, variants: [ { - name: 'preact-js', + name: 'vue-js', display: 'JavaScript', color: yellow, }, { - name: 'preact-ts', + name: 'vue-ts', display: 'TypeScript', color: blue, }, ], }, { - name: 'react', - color: cyan, + name: 'solid', + color: blue, variants: [ { - name: 'react-js', + name: 'solid-js', display: 'JavaScript', color: yellow, }, { - name: 'react-ts', + name: 'solid-ts', display: 'TypeScript', color: blue, }, @@ -63,7 +74,7 @@ const Boilerplates = [ }, { name: 'svelte', - color: red, + color: lightRed, variants: [ { name: 'svelte-js', @@ -78,32 +89,48 @@ const Boilerplates = [ ], }, { - name: 'vanilla', - color: yellow, + name: 'lit', + color: lightBlue, variants: [ { - name: 'vanilla-js', + name: 'lit-js', display: 'JavaScript', color: yellow, }, { - name: 'vanilla-ts', + name: 'lit-ts', display: 'TypeScript', color: blue, }, ], }, { - name: 'vue', - color: green, + name: 'preact', + color: magenta, variants: [ { - name: 'vue-js', + name: 'preact-js', display: 'JavaScript', color: yellow, }, { - name: 'vue-ts', + name: 'preact-ts', + display: 'TypeScript', + color: blue, + }, + ], + }, + { + name: 'vanilla', + color: lightYellow, + variants: [ + { + name: 'vanilla-js', + display: 'JavaScript', + color: yellow, + }, + { + name: 'vanilla-ts', display: 'TypeScript', color: blue, }, @@ -139,7 +166,7 @@ async function init() { let author = '**' let template = argv.template || argv.t - const defaultTargetDir = 'crx-app' + const defaultTargetDir = 'my-crx' const getProjectName = () => (targetDir === '.' ? path.basename(path.resolve()) : targetDir) let result = {} @@ -314,8 +341,8 @@ async function init() { /** * @param {string | undefined} targetDir */ -function formatTargetDir(targetDir) { - return targetDir?.trim().replace(/\/+$/g, '') +function formatTargetDir(targetDir = '') { + return targetDir.trim().replace(/\/+$/g, '') } function copy(src, dest, opts = {}) { diff --git a/package.json b/package.json index c7b7c81..75faa4b 100644 --- a/package.json +++ b/package.json @@ -36,8 +36,8 @@ "react", "vue", "svelte", + "solidjs", "lit", - "vanilla", "preact" ], "bugs": { diff --git a/template-solid-js/options.html b/template-solid-js/options.html new file mode 100644 index 0000000..874804f --- /dev/null +++ b/template-solid-js/options.html @@ -0,0 +1,13 @@ + + + + + + + Solid + JS + Vite - Options + + +
+ + + diff --git a/template-solid-js/package.json b/template-solid-js/package.json new file mode 100644 index 0000000..4bfac1c --- /dev/null +++ b/template-solid-js/package.json @@ -0,0 +1,20 @@ +{ + "name": "chrome-ext-starter", + "version": "0.0.0", + "description": "", + "scripts": { + "start": "vite", + "dev": "vite", + "build": "vite build", + "serve": "vite preview" + }, + "license": "MIT", + "devDependencies": { + "@crxjs/vite-plugin": "^1.0.12", + "vite": "^2.9.9", + "vite-plugin-solid": "^2.2.6" + }, + "dependencies": { + "solid-js": "^1.4.2" + } +} diff --git a/template-solid-js/popup.html b/template-solid-js/popup.html new file mode 100644 index 0000000..c15af1a --- /dev/null +++ b/template-solid-js/popup.html @@ -0,0 +1,13 @@ + + + + + + + Solid + TS + Vite - Popup + + +
+ + + diff --git a/template-solid-js/public/icons/logo.ico b/template-solid-js/public/icons/logo.ico new file mode 100644 index 0000000000000000000000000000000000000000..ef0a12d183f82804feb528c19d23124d52bbd88f GIT binary patch literal 4431 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 Ix%>4004JWsfB*mh literal 0 HcmV?d00001 diff --git a/template-solid-js/public/icons/logo.svg b/template-solid-js/public/icons/logo.svg new file mode 100644 index 0000000..5355304 --- /dev/null +++ b/template-solid-js/public/icons/logo.svg @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/template-solid-js/public/img/logo-128.png b/template-solid-js/public/img/logo-128.png new file mode 100644 index 0000000000000000000000000000000000000000..ae9669226a83f81192a71f17b0b40da894c84709 GIT binary patch literal 3167 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 FV1gfE#;E`R literal 0 HcmV?d00001 diff --git a/template-solid-js/public/img/logo-16.png b/template-solid-js/public/img/logo-16.png new file mode 100644 index 0000000000000000000000000000000000000000..e58ecd49c2ebecc0b91ecf1f390e8af226f114af GIT binary patch literal 479 zcmV<50U-W~P)Px$nMp)JR5(wqlQC-)Q4~hcH){k_2#I4CP)MiD5)kZyHu(n%5hP@ysMu*|m824z zSQ!=6jfs$8(p#iS*iH~6L2MLOuv}AEDm!0zlbvOD-7Nx6@nG(K_q@w}=ZT(gw0e82 z;?|Vq%UDx+THcoRv8BrP!QQK%|=o*wbg&D@KBh8m`cLQJzxLF3|jYt;$YUzaWNQ6e5d8h~QPH{DDV9s>` zq$@`Q^0LwUc5VlIw+kSCgbuy|!B1i*L2)!FA*_ey{Tq^tR$0%j<(O_z>ym VtP0DQ@^%0K002ovPDHLkV1ki_*+l>V literal 0 HcmV?d00001 diff --git a/template-solid-js/public/img/logo-34.png b/template-solid-js/public/img/logo-34.png new file mode 100644 index 0000000000000000000000000000000000000000..de188abf4187e402160d5b08add8aff9dca6e815 GIT binary patch literal 775 zcmV+i1Ni)jP)Px%!AV3xR9HvNm_JMtQ5?s=-af75+5*NWmaKgbwCAvs@HEN=p7>#id z24hUb%|VE5gNp`raga%H5m-#>FEW}-641f z$mej7JO<)S`#xN>%*<8QUIS6*gb0>B23fGo?6q(ZcC@A&&j8d0bKNb(lsac>AewG$ z065-uAdxw%kek(XLqfrbOaK@MdEcYore$VFc_=ZRtTMXgIY4(o5Ru9VgiukD)F-@}&1Y)+CHna$71^Ry$`O{E%h0T#in(NX1&M)VvH{`laYZI|Ub= z9;d}lbl1}~UZK_7xEic(dK))Sqwv~V&br6RbkJVxRKc{<%Q%;~|4q1)wr)3Wc`AMP z3f?5~c;BBTnsY0~Utx5Tz-iA9HNg9*R93zhmhwS&*l&Q4u+aD~<%IwM002ovPDHLk FV1hbDV$lEq literal 0 HcmV?d00001 diff --git a/template-solid-js/public/img/logo-48.png b/template-solid-js/public/img/logo-48.png new file mode 100644 index 0000000000000000000000000000000000000000..3445f6ca924e7ba8590d335ce1178d18e84191a3 GIT binary patch literal 1074 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 { + const [crx] = createSignal('create-chrome-ext') + return ( +
+

Options Page!

+ +
v 0.0.0
+ + + Power by {crx} + +
+ ) +} + +export default Options diff --git a/template-solid-js/src/options/Options.module.css b/template-solid-js/src/options/Options.module.css new file mode 100644 index 0000000..3316cfc --- /dev/null +++ b/template-solid-js/src/options/Options.module.css @@ -0,0 +1,38 @@ +:root { + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, + 'Open Sans', 'Helvetica Neue', sans-serif; +} + +main { + text-align: center; + padding: 1em; + margin: 0 auto; +} + +h3 { + color: #142d61; + text-transform: uppercase; + font-size: 1.5rem; + font-weight: 200; + line-height: 1.2rem; + margin: 2rem auto; +} + +h6 { + font-size: 0.5rem; + color: #333333; + margin: 0.5rem; +} + +a { + font-size: 0.5rem; + margin: 0.5rem; + color: #cccccc; + text-decoration: none; +} + +@media (min-width: 480px) { + h3 { + max-width: none; + } +} diff --git a/template-solid-js/src/options/index.css b/template-solid-js/src/options/index.css new file mode 100644 index 0000000..8a3e44d --- /dev/null +++ b/template-solid-js/src/options/index.css @@ -0,0 +1,30 @@ +:root { + font-family: Inter, Avenir, Helvetica, Arial, sans-serif; + font-size: 16px; + line-height: 24px; + font-weight: 400; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: #242424; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + -webkit-text-size-adjust: 100%; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } + a:hover { + color: #747bff; + } +} + +body { + min-width: 20rem; +} diff --git a/template-solid-js/src/options/index.jsx b/template-solid-js/src/options/index.jsx new file mode 100644 index 0000000..d49f7c9 --- /dev/null +++ b/template-solid-js/src/options/index.jsx @@ -0,0 +1,7 @@ +/* @refresh reload */ +import { render } from 'solid-js/web' + +import './index.css' +import { Options } from './Options' + +render(() => , document.getElementById('app') ?? document.body) diff --git a/template-solid-js/src/popup/Popup.jsx b/template-solid-js/src/popup/Popup.jsx new file mode 100644 index 0000000..04f4e86 --- /dev/null +++ b/template-solid-js/src/popup/Popup.jsx @@ -0,0 +1,23 @@ +import { createSignal } from 'solid-js' + +import './Popup.module.css' + +/** + * Popup component. + */ +export const Popup = () => { + const [crx] = createSignal('create-chrome-ext') + return ( +
+

Popup Page!

+ +
v 0.0.0
+ + + Power by {crx} + +
+ ) +} + +export default Popup diff --git a/template-solid-js/src/popup/Popup.module.css b/template-solid-js/src/popup/Popup.module.css new file mode 100644 index 0000000..3316cfc --- /dev/null +++ b/template-solid-js/src/popup/Popup.module.css @@ -0,0 +1,38 @@ +:root { + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, + 'Open Sans', 'Helvetica Neue', sans-serif; +} + +main { + text-align: center; + padding: 1em; + margin: 0 auto; +} + +h3 { + color: #142d61; + text-transform: uppercase; + font-size: 1.5rem; + font-weight: 200; + line-height: 1.2rem; + margin: 2rem auto; +} + +h6 { + font-size: 0.5rem; + color: #333333; + margin: 0.5rem; +} + +a { + font-size: 0.5rem; + margin: 0.5rem; + color: #cccccc; + text-decoration: none; +} + +@media (min-width: 480px) { + h3 { + max-width: none; + } +} diff --git a/template-solid-js/src/popup/index.css b/template-solid-js/src/popup/index.css new file mode 100644 index 0000000..8a3e44d --- /dev/null +++ b/template-solid-js/src/popup/index.css @@ -0,0 +1,30 @@ +:root { + font-family: Inter, Avenir, Helvetica, Arial, sans-serif; + font-size: 16px; + line-height: 24px; + font-weight: 400; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: #242424; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + -webkit-text-size-adjust: 100%; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } + a:hover { + color: #747bff; + } +} + +body { + min-width: 20rem; +} diff --git a/template-solid-js/src/popup/index.jsx b/template-solid-js/src/popup/index.jsx new file mode 100644 index 0000000..9285dcc --- /dev/null +++ b/template-solid-js/src/popup/index.jsx @@ -0,0 +1,7 @@ +/* @refresh reload */ +import { render } from 'solid-js/web' + +import './index.css' +import { Popup } from './Popup' + +render(() => , document.getElementById('app') ?? document.body) diff --git a/template-solid-js/vite.config.js b/template-solid-js/vite.config.js new file mode 100644 index 0000000..cb2c838 --- /dev/null +++ b/template-solid-js/vite.config.js @@ -0,0 +1,22 @@ +import { defineConfig } from 'vite' +import { crx } from '@crxjs/vite-plugin' +import solidPlugin from 'vite-plugin-solid' + +import manifest from './src/manifest.js' + +export default defineConfig(({ mode }) => { + return { + build: { + emptyOutDir: true, + outDir: 'build', + target: 'esnext', + polyfillDynamicImport: false, + rollupOptions: { + output: { + chunkFileNames: 'assets/chunk-[hash].js', + }, + }, + }, + plugins: [crx({ manifest }), solidPlugin()], + } +}) diff --git a/template-solid-ts/options.html b/template-solid-ts/options.html new file mode 100644 index 0000000..4ef07b3 --- /dev/null +++ b/template-solid-ts/options.html @@ -0,0 +1,13 @@ + + + + + + + Solid + TS + Vite - Options + + +
+ + + diff --git a/template-solid-ts/package.json b/template-solid-ts/package.json new file mode 100644 index 0000000..10db96a --- /dev/null +++ b/template-solid-ts/package.json @@ -0,0 +1,21 @@ +{ + "name": "chrome-ext-starter", + "version": "0.0.0", + "description": "", + "scripts": { + "start": "vite", + "dev": "vite", + "build": "vite build", + "serve": "vite preview" + }, + "license": "MIT", + "devDependencies": { + "@crxjs/vite-plugin": "^1.0.12", + "typescript": "^4.6.4", + "vite": "^2.9.9", + "vite-plugin-solid": "^2.2.6" + }, + "dependencies": { + "solid-js": "^1.4.2" + } +} diff --git a/template-solid-ts/popup.html b/template-solid-ts/popup.html new file mode 100644 index 0000000..2721fe8 --- /dev/null +++ b/template-solid-ts/popup.html @@ -0,0 +1,13 @@ + + + + + + + Solid + TS + Vite - Popup + + +
+ + + diff --git a/template-solid-ts/public/icons/logo.ico b/template-solid-ts/public/icons/logo.ico new file mode 100644 index 0000000000000000000000000000000000000000..ef0a12d183f82804feb528c19d23124d52bbd88f GIT binary patch literal 4431 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 Ix%>4004JWsfB*mh literal 0 HcmV?d00001 diff --git a/template-solid-ts/public/icons/logo.svg b/template-solid-ts/public/icons/logo.svg new file mode 100644 index 0000000..5355304 --- /dev/null +++ b/template-solid-ts/public/icons/logo.svg @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/template-solid-ts/public/img/logo-128.png b/template-solid-ts/public/img/logo-128.png new file mode 100644 index 0000000000000000000000000000000000000000..ae9669226a83f81192a71f17b0b40da894c84709 GIT binary patch literal 3167 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 FV1gfE#;E`R literal 0 HcmV?d00001 diff --git a/template-solid-ts/public/img/logo-16.png b/template-solid-ts/public/img/logo-16.png new file mode 100644 index 0000000000000000000000000000000000000000..e58ecd49c2ebecc0b91ecf1f390e8af226f114af GIT binary patch literal 479 zcmV<50U-W~P)Px$nMp)JR5(wqlQC-)Q4~hcH){k_2#I4CP)MiD5)kZyHu(n%5hP@ysMu*|m824z zSQ!=6jfs$8(p#iS*iH~6L2MLOuv}AEDm!0zlbvOD-7Nx6@nG(K_q@w}=ZT(gw0e82 z;?|Vq%UDx+THcoRv8BrP!QQK%|=o*wbg&D@KBh8m`cLQJzxLF3|jYt;$YUzaWNQ6e5d8h~QPH{DDV9s>` zq$@`Q^0LwUc5VlIw+kSCgbuy|!B1i*L2)!FA*_ey{Tq^tR$0%j<(O_z>ym VtP0DQ@^%0K002ovPDHLkV1ki_*+l>V literal 0 HcmV?d00001 diff --git a/template-solid-ts/public/img/logo-34.png b/template-solid-ts/public/img/logo-34.png new file mode 100644 index 0000000000000000000000000000000000000000..de188abf4187e402160d5b08add8aff9dca6e815 GIT binary patch literal 775 zcmV+i1Ni)jP)Px%!AV3xR9HvNm_JMtQ5?s=-af75+5*NWmaKgbwCAvs@HEN=p7>#id z24hUb%|VE5gNp`raga%H5m-#>FEW}-641f z$mej7JO<)S`#xN>%*<8QUIS6*gb0>B23fGo?6q(ZcC@A&&j8d0bKNb(lsac>AewG$ z065-uAdxw%kek(XLqfrbOaK@MdEcYore$VFc_=ZRtTMXgIY4(o5Ru9VgiukD)F-@}&1Y)+CHna$71^Ry$`O{E%h0T#in(NX1&M)VvH{`laYZI|Ub= z9;d}lbl1}~UZK_7xEic(dK))Sqwv~V&br6RbkJVxRKc{<%Q%;~|4q1)wr)3Wc`AMP z3f?5~c;BBTnsY0~Utx5Tz-iA9HNg9*R93zhmhwS&*l&Q4u+aD~<%IwM002ovPDHLk FV1hbDV$lEq literal 0 HcmV?d00001 diff --git a/template-solid-ts/public/img/logo-48.png b/template-solid-ts/public/img/logo-48.png new file mode 100644 index 0000000000000000000000000000000000000000..3445f6ca924e7ba8590d335ce1178d18e84191a3 GIT binary patch literal 1074 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 + +declare const __APP_VERSION__: string diff --git a/template-solid-ts/src/manifest.tsx b/template-solid-ts/src/manifest.tsx new file mode 100644 index 0000000..2df17ce --- /dev/null +++ b/template-solid-ts/src/manifest.tsx @@ -0,0 +1,36 @@ +import { defineManifest } from '@crxjs/vite-plugin' + +export default defineManifest({ + name: 'create-chrome-ext', + description: 'A chrome extension boilerplate built by create-chrome-ext', + version: '0.0.0', + manifest_version: 3, + icons: { + 16: 'img/logo-16.png', + 32: 'img/logo-34.png', + 48: 'img/logo-48.png', + 128: 'img/logo-128.png', + }, + action: { + default_popup: 'popup.html', + default_icon: 'img/logo-48.png', + }, + options_page: 'options.html', + background: { + service_worker: 'src/background/index.ts', + type: 'module', + }, + content_scripts: [ + { + matches: ['http://*/*', 'https://*/*'], + js: ['src/content/index.ts'], + }, + ], + web_accessible_resources: [ + { + resources: ['img/logo-16.png', 'img/logo-34.png', 'img/logo-48.png', 'img/logo-128.png'], + matches: [], + }, + ], + permissions: [], +}) diff --git a/template-solid-ts/src/options/Options.module.css b/template-solid-ts/src/options/Options.module.css new file mode 100644 index 0000000..3316cfc --- /dev/null +++ b/template-solid-ts/src/options/Options.module.css @@ -0,0 +1,38 @@ +:root { + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, + 'Open Sans', 'Helvetica Neue', sans-serif; +} + +main { + text-align: center; + padding: 1em; + margin: 0 auto; +} + +h3 { + color: #142d61; + text-transform: uppercase; + font-size: 1.5rem; + font-weight: 200; + line-height: 1.2rem; + margin: 2rem auto; +} + +h6 { + font-size: 0.5rem; + color: #333333; + margin: 0.5rem; +} + +a { + font-size: 0.5rem; + margin: 0.5rem; + color: #cccccc; + text-decoration: none; +} + +@media (min-width: 480px) { + h3 { + max-width: none; + } +} diff --git a/template-solid-ts/src/options/Options.tsx b/template-solid-ts/src/options/Options.tsx new file mode 100644 index 0000000..8f8c01a --- /dev/null +++ b/template-solid-ts/src/options/Options.tsx @@ -0,0 +1,23 @@ +import { createSignal } from 'solid-js' + +import './Options.module.css' + +/** + * Options component. + */ +export const Options = () => { + const [crx] = createSignal('create-chrome-ext') + return ( +
+

Options Page!

+ +
v 0.0.0
+ + + Power by {crx} + +
+ ) +} + +export default Options diff --git a/template-solid-ts/src/options/index.css b/template-solid-ts/src/options/index.css new file mode 100644 index 0000000..8a3e44d --- /dev/null +++ b/template-solid-ts/src/options/index.css @@ -0,0 +1,30 @@ +:root { + font-family: Inter, Avenir, Helvetica, Arial, sans-serif; + font-size: 16px; + line-height: 24px; + font-weight: 400; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: #242424; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + -webkit-text-size-adjust: 100%; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } + a:hover { + color: #747bff; + } +} + +body { + min-width: 20rem; +} diff --git a/template-solid-ts/src/options/index.tsx b/template-solid-ts/src/options/index.tsx new file mode 100644 index 0000000..d49f7c9 --- /dev/null +++ b/template-solid-ts/src/options/index.tsx @@ -0,0 +1,7 @@ +/* @refresh reload */ +import { render } from 'solid-js/web' + +import './index.css' +import { Options } from './Options' + +render(() => , document.getElementById('app') ?? document.body) diff --git a/template-solid-ts/src/popup/Popup.module.css b/template-solid-ts/src/popup/Popup.module.css new file mode 100644 index 0000000..3316cfc --- /dev/null +++ b/template-solid-ts/src/popup/Popup.module.css @@ -0,0 +1,38 @@ +:root { + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, + 'Open Sans', 'Helvetica Neue', sans-serif; +} + +main { + text-align: center; + padding: 1em; + margin: 0 auto; +} + +h3 { + color: #142d61; + text-transform: uppercase; + font-size: 1.5rem; + font-weight: 200; + line-height: 1.2rem; + margin: 2rem auto; +} + +h6 { + font-size: 0.5rem; + color: #333333; + margin: 0.5rem; +} + +a { + font-size: 0.5rem; + margin: 0.5rem; + color: #cccccc; + text-decoration: none; +} + +@media (min-width: 480px) { + h3 { + max-width: none; + } +} diff --git a/template-solid-ts/src/popup/Popup.tsx b/template-solid-ts/src/popup/Popup.tsx new file mode 100644 index 0000000..04f4e86 --- /dev/null +++ b/template-solid-ts/src/popup/Popup.tsx @@ -0,0 +1,23 @@ +import { createSignal } from 'solid-js' + +import './Popup.module.css' + +/** + * Popup component. + */ +export const Popup = () => { + const [crx] = createSignal('create-chrome-ext') + return ( +
+

Popup Page!

+ +
v 0.0.0
+ + + Power by {crx} + +
+ ) +} + +export default Popup diff --git a/template-solid-ts/src/popup/index.css b/template-solid-ts/src/popup/index.css new file mode 100644 index 0000000..8a3e44d --- /dev/null +++ b/template-solid-ts/src/popup/index.css @@ -0,0 +1,30 @@ +:root { + font-family: Inter, Avenir, Helvetica, Arial, sans-serif; + font-size: 16px; + line-height: 24px; + font-weight: 400; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: #242424; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + -webkit-text-size-adjust: 100%; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } + a:hover { + color: #747bff; + } +} + +body { + min-width: 20rem; +} diff --git a/template-solid-ts/src/popup/index.tsx b/template-solid-ts/src/popup/index.tsx new file mode 100644 index 0000000..9285dcc --- /dev/null +++ b/template-solid-ts/src/popup/index.tsx @@ -0,0 +1,7 @@ +/* @refresh reload */ +import { render } from 'solid-js/web' + +import './index.css' +import { Popup } from './Popup' + +render(() => , document.getElementById('app') ?? document.body) diff --git a/template-solid-ts/tsconfig.json b/template-solid-ts/tsconfig.json new file mode 100644 index 0000000..3d0a51a --- /dev/null +++ b/template-solid-ts/tsconfig.json @@ -0,0 +1,21 @@ +{ + "compilerOptions": { + "target": "ESNext", + "useDefineForClassFields": true, + "lib": ["DOM", "DOM.Iterable", "ESNext"], + "allowJs": false, + "skipLibCheck": true, + "esModuleInterop": false, + "allowSyntheticDefaultImports": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "module": "ESNext", + "moduleResolution": "Node", + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx" + }, + "include": ["src"], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/template-solid-ts/tsconfig.node.json b/template-solid-ts/tsconfig.node.json new file mode 100644 index 0000000..65dbdb9 --- /dev/null +++ b/template-solid-ts/tsconfig.node.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "composite": true, + "module": "ESNext", + "moduleResolution": "Node" + }, + "include": ["vite.config.ts"] +} diff --git a/template-solid-ts/vite.config.ts b/template-solid-ts/vite.config.ts new file mode 100644 index 0000000..faf6005 --- /dev/null +++ b/template-solid-ts/vite.config.ts @@ -0,0 +1,22 @@ +import { defineConfig } from 'vite' +import { crx } from '@crxjs/vite-plugin' +import solidPlugin from 'vite-plugin-solid' + +import manifest from './src/manifest.jsx' + +export default defineConfig(({ mode }) => { + return { + build: { + emptyOutDir: true, + outDir: 'build', + target: 'esnext', + polyfillDynamicImport: false, + rollupOptions: { + output: { + chunkFileNames: 'assets/chunk-[hash].js', + }, + }, + }, + plugins: [crx({ manifest }), solidPlugin()], + } +})