extension-create 2.0.0-alpha.26 → 2.0.0-alpha.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/module.js +21 -21
- package/package.json +1 -1
- package/dist/test-template-action/README.md +0 -35
- package/dist/test-template-action/action/index.html +0 -40
- package/dist/test-template-action/action/scripts.js +0 -11
- package/dist/test-template-action/action/styles.css +0 -23
- package/dist/test-template-action/images/extension_128.png +0 -0
- package/dist/test-template-action/images/extension_16.png +0 -0
- package/dist/test-template-action/images/extension_48.png +0 -0
- package/dist/test-template-action/manifest.json +0 -21
- package/dist/test-template-action/package.json +0 -21
- package/dist/test-template-action-chatgpt/.env.example +0 -1
- package/dist/test-template-action-chatgpt/README.md +0 -35
- package/dist/test-template-action-chatgpt/action/ActionApp.tsx +0 -118
- package/dist/test-template-action-chatgpt/action/index.html +0 -13
- package/dist/test-template-action-chatgpt/action/scripts.tsx +0 -12
- package/dist/test-template-action-chatgpt/action/styles.css +0 -8
- package/dist/test-template-action-chatgpt/images/chatgpt.png +0 -0
- package/dist/test-template-action-chatgpt/images/extension.png +0 -0
- package/dist/test-template-action-chatgpt/images/extension_128.png +0 -0
- package/dist/test-template-action-chatgpt/images/extension_16.png +0 -0
- package/dist/test-template-action-chatgpt/images/extension_48.png +0 -0
- package/dist/test-template-action-chatgpt/manifest.json +0 -21
- package/dist/test-template-action-chatgpt/package.json +0 -30
- package/dist/test-template-action-chatgpt/postcss.config.js +0 -6
- package/dist/test-template-action-chatgpt/tailwind.config.js +0 -8
- package/dist/test-template-action-chatgpt/tsconfig.json +0 -22
- package/dist/test-template-config-babel/README.md +0 -35
- package/dist/test-template-config-babel/babel.config.json +0 -4
- package/dist/test-template-config-babel/extension.config.js +0 -17
- package/dist/test-template-config-babel/images/babel.png +0 -0
- package/dist/test-template-config-babel/images/extension_128.png +0 -0
- package/dist/test-template-config-babel/images/extension_16.png +0 -0
- package/dist/test-template-config-babel/images/extension_48.png +0 -0
- package/dist/test-template-config-babel/manifest.json +0 -15
- package/dist/test-template-config-babel/newtab/index.html +0 -40
- package/dist/test-template-config-babel/newtab/scripts.js +0 -11
- package/dist/test-template-config-babel/newtab/styles.css +0 -22
- package/dist/test-template-config-babel/package.json +0 -24
- package/dist/test-template-config-stylelint/.stylelintrc.json +0 -3
- package/dist/test-template-config-stylelint/README.md +0 -35
- package/dist/test-template-config-stylelint/images/extension_128.png +0 -0
- package/dist/test-template-config-stylelint/images/extension_16.png +0 -0
- package/dist/test-template-config-stylelint/images/extension_48.png +0 -0
- package/dist/test-template-config-stylelint/images/stylelint.svg +0 -1
- package/dist/test-template-config-stylelint/manifest.json +0 -15
- package/dist/test-template-config-stylelint/newtab/index.html +0 -40
- package/dist/test-template-config-stylelint/newtab/scripts.js +0 -11
- package/dist/test-template-config-stylelint/newtab/styles.scss +0 -20
- package/dist/test-template-config-stylelint/package.json +0 -24
- package/dist/test-template-content/README.md +0 -35
- package/dist/test-template-content/background.js +0 -21
- package/dist/test-template-content/content/scripts.js +0 -32
- package/dist/test-template-content/content/styles.css +0 -54
- package/dist/test-template-content/images/extension_128.png +0 -0
- package/dist/test-template-content/images/extension_16.png +0 -0
- package/dist/test-template-content/images/extension_48.png +0 -0
- package/dist/test-template-content/manifest.json +0 -35
- package/dist/test-template-content/package.json +0 -20
- package/dist/test-template-content-css-module/README.md +0 -35
- package/dist/test-template-content-css-module/background.js +0 -21
- package/dist/test-template-content-css-module/content/Logo.module.css +0 -11
- package/dist/test-template-content-css-module/content/scripts.js +0 -33
- package/dist/test-template-content-css-module/content/styles.css +0 -40
- package/dist/test-template-content-css-module/images/extension_128.png +0 -0
- package/dist/test-template-content-css-module/images/extension_16.png +0 -0
- package/dist/test-template-content-css-module/images/extension_48.png +0 -0
- package/dist/test-template-content-css-module/manifest.json +0 -35
- package/dist/test-template-content-css-module/package.json +0 -20
- package/dist/test-template-content-extension-config/README.md +0 -35
- package/dist/test-template-content-extension-config/background.ts +0 -1
- package/dist/test-template-content-extension-config/content/ContentApp.tsx +0 -82
- package/dist/test-template-content-extension-config/content/scripts.tsx +0 -17
- package/dist/test-template-content-extension-config/content/styles.css +0 -10
- package/dist/test-template-content-extension-config/extension.config.js +0 -22
- package/dist/test-template-content-extension-config/images/chromeWindow.png +0 -0
- package/dist/test-template-content-extension-config/images/extension_128.png +0 -0
- package/dist/test-template-content-extension-config/images/extension_16.png +0 -0
- package/dist/test-template-content-extension-config/images/extension_48.png +0 -0
- package/dist/test-template-content-extension-config/images/logo.svg +0 -9
- package/dist/test-template-content-extension-config/images/tailwind.png +0 -0
- package/dist/test-template-content-extension-config/images/tailwind_bg.png +0 -0
- package/dist/test-template-content-extension-config/images/typescript.png +0 -0
- package/dist/test-template-content-extension-config/manifest.json +0 -28
- package/dist/test-template-content-extension-config/package.json +0 -44
- package/dist/test-template-content-extension-config/postcss.config.js +0 -6
- package/dist/test-template-content-extension-config/tailwind.config.js +0 -8
- package/dist/test-template-content-extension-config/tsconfig.json +0 -22
- package/dist/test-template-content-less/README.md +0 -35
- package/dist/test-template-content-less/background.js +0 -21
- package/dist/test-template-content-less/content/scripts.js +0 -32
- package/dist/test-template-content-less/content/styles.less +0 -51
- package/dist/test-template-content-less/images/extension_128.png +0 -0
- package/dist/test-template-content-less/images/extension_16.png +0 -0
- package/dist/test-template-content-less/images/extension_48.png +0 -0
- package/dist/test-template-content-less/manifest.json +0 -35
- package/dist/test-template-content-less/package.json +0 -21
- package/dist/test-template-content-main-world/README.md +0 -35
- package/dist/test-template-content-main-world/background.js +0 -1
- package/dist/test-template-content-main-world/content/scripts.js +0 -20
- package/dist/test-template-content-main-world/content/styles.css +0 -46
- package/dist/test-template-content-main-world/extension.config.js +0 -8
- package/dist/test-template-content-main-world/images/extension_128.png +0 -0
- package/dist/test-template-content-main-world/images/extension_16.png +0 -0
- package/dist/test-template-content-main-world/images/extension_48.png +0 -0
- package/dist/test-template-content-main-world/manifest.json +0 -37
- package/dist/test-template-content-main-world/package.json +0 -20
- package/dist/test-template-content-preact/README.md +0 -35
- package/dist/test-template-content-preact/background.ts +0 -1
- package/dist/test-template-content-preact/content/ContentApp.tsx +0 -92
- package/dist/test-template-content-preact/content/scripts.tsx +0 -14
- package/dist/test-template-content-preact/content/styles.css +0 -10
- package/dist/test-template-content-preact/images/chromeWindow.png +0 -0
- package/dist/test-template-content-preact/images/extension_128.png +0 -0
- package/dist/test-template-content-preact/images/extension_16.png +0 -0
- package/dist/test-template-content-preact/images/extension_48.png +0 -0
- package/dist/test-template-content-preact/images/preact.png +0 -0
- package/dist/test-template-content-preact/images/tailwind.png +0 -0
- package/dist/test-template-content-preact/images/tailwind_bg.png +0 -0
- package/dist/test-template-content-preact/images/typescript.png +0 -0
- package/dist/test-template-content-preact/manifest.json +0 -31
- package/dist/test-template-content-preact/package.json +0 -29
- package/dist/test-template-content-preact/postcss.config.js +0 -6
- package/dist/test-template-content-preact/tailwind.config.js +0 -8
- package/dist/test-template-content-preact/tsconfig.json +0 -27
- package/dist/test-template-content-react/README.md +0 -35
- package/dist/test-template-content-react/background.ts +0 -1
- package/dist/test-template-content-react/content/ContentApp.tsx +0 -86
- package/dist/test-template-content-react/content/scripts.tsx +0 -17
- package/dist/test-template-content-react/content/styles.css +0 -10
- package/dist/test-template-content-react/images/chromeWindow.png +0 -0
- package/dist/test-template-content-react/images/extension_128.png +0 -0
- package/dist/test-template-content-react/images/extension_16.png +0 -0
- package/dist/test-template-content-react/images/extension_48.png +0 -0
- package/dist/test-template-content-react/images/react.png +0 -0
- package/dist/test-template-content-react/images/tailwind.png +0 -0
- package/dist/test-template-content-react/images/tailwind_bg.png +0 -0
- package/dist/test-template-content-react/images/typescript.png +0 -0
- package/dist/test-template-content-react/manifest.json +0 -28
- package/dist/test-template-content-react/package.json +0 -28
- package/dist/test-template-content-react/postcss.config.js +0 -6
- package/dist/test-template-content-react/tailwind.config.js +0 -8
- package/dist/test-template-content-react/tsconfig.json +0 -22
- package/dist/test-template-content-sass/README.md +0 -35
- package/dist/test-template-content-sass/background.js +0 -21
- package/dist/test-template-content-sass/content/scripts.js +0 -32
- package/dist/test-template-content-sass/content/styles.scss +0 -51
- package/dist/test-template-content-sass/images/extension_128.png +0 -0
- package/dist/test-template-content-sass/images/extension_16.png +0 -0
- package/dist/test-template-content-sass/images/extension_48.png +0 -0
- package/dist/test-template-content-sass/manifest.json +0 -35
- package/dist/test-template-content-sass/package.json +0 -21
- package/dist/test-template-content-sass-module/README.md +0 -35
- package/dist/test-template-content-sass-module/background.js +0 -21
- package/dist/test-template-content-sass-module/content/Logo.module.scss +0 -18
- package/dist/test-template-content-sass-module/content/scripts.js +0 -33
- package/dist/test-template-content-sass-module/content/styles.scss +0 -40
- package/dist/test-template-content-sass-module/images/extension_128.png +0 -0
- package/dist/test-template-content-sass-module/images/extension_16.png +0 -0
- package/dist/test-template-content-sass-module/images/extension_48.png +0 -0
- package/dist/test-template-content-sass-module/manifest.json +0 -35
- package/dist/test-template-content-sass-module/package.json +0 -21
- package/dist/test-template-content-tailwind/README.md +0 -35
- package/dist/test-template-content-tailwind/background.js +0 -21
- package/dist/test-template-content-tailwind/content/content.js +0 -45
- package/dist/test-template-content-tailwind/content/scripts.js +0 -6
- package/dist/test-template-content-tailwind/content/styles.css +0 -10
- package/dist/test-template-content-tailwind/images/chromeWindow.png +0 -0
- package/dist/test-template-content-tailwind/images/extension_128.png +0 -0
- package/dist/test-template-content-tailwind/images/extension_16.png +0 -0
- package/dist/test-template-content-tailwind/images/extension_48.png +0 -0
- package/dist/test-template-content-tailwind/images/react.png +0 -0
- package/dist/test-template-content-tailwind/images/tailwind.png +0 -0
- package/dist/test-template-content-tailwind/images/tailwind_bg.png +0 -0
- package/dist/test-template-content-tailwind/manifest.json +0 -35
- package/dist/test-template-content-tailwind/package.json +0 -23
- package/dist/test-template-content-tailwind/postcss.config.js +0 -6
- package/dist/test-template-content-tailwind/tailwind.config.js +0 -8
- package/dist/test-template-content-typescript/README.md +0 -35
- package/dist/test-template-content-typescript/background.ts +0 -26
- package/dist/test-template-content-typescript/content/scripts.ts +0 -33
- package/dist/test-template-content-typescript/content/styles.css +0 -51
- package/dist/test-template-content-typescript/images/extension_128.png +0 -0
- package/dist/test-template-content-typescript/images/extension_16.png +0 -0
- package/dist/test-template-content-typescript/images/extension_48.png +0 -0
- package/dist/test-template-content-typescript/images/typescript.png +0 -0
- package/dist/test-template-content-typescript/manifest.json +0 -35
- package/dist/test-template-content-typescript/package.json +0 -21
- package/dist/test-template-content-typescript/tsconfig.json +0 -22
- package/dist/test-template-content-vue/README.md +0 -35
- package/dist/test-template-content-vue/background.ts +0 -1
- package/dist/test-template-content-vue/content/ContentApp.vue +0 -90
- package/dist/test-template-content-vue/content/scripts.ts +0 -13
- package/dist/test-template-content-vue/content/shims-vue.d.ts +0 -6
- package/dist/test-template-content-vue/content/styles.css +0 -10
- package/dist/test-template-content-vue/images/chromeWindow.png +0 -0
- package/dist/test-template-content-vue/images/extension_128.png +0 -0
- package/dist/test-template-content-vue/images/extension_16.png +0 -0
- package/dist/test-template-content-vue/images/extension_48.png +0 -0
- package/dist/test-template-content-vue/images/tailwind.png +0 -0
- package/dist/test-template-content-vue/images/tailwind_bg.png +0 -0
- package/dist/test-template-content-vue/images/typescript.png +0 -0
- package/dist/test-template-content-vue/images/vue.svg +0 -8
- package/dist/test-template-content-vue/manifest.json +0 -31
- package/dist/test-template-content-vue/package.json +0 -25
- package/dist/test-template-content-vue/postcss.config.js +0 -6
- package/dist/test-template-content-vue/tailwind.config.js +0 -8
- package/dist/test-template-content-vue/tsconfig.json +0 -22
- package/dist/test-template-declarative_net_request/README.md +0 -35
- package/dist/test-template-declarative_net_request/images/extension_128.png +0 -0
- package/dist/test-template-declarative_net_request/images/extension_16.png +0 -0
- package/dist/test-template-declarative_net_request/images/extension_48.png +0 -0
- package/dist/test-template-declarative_net_request/manifest.json +0 -34
- package/dist/test-template-declarative_net_request/package.json +0 -21
- package/dist/test-template-declarative_net_request/public/public_ruleset.json +0 -72
- package/dist/test-template-declarative_net_request/rules_1.json +0 -72
- package/dist/test-template-init/README.md +0 -35
- package/dist/test-template-init/manifest.json +0 -7
- package/dist/test-template-init/package.json +0 -32
- package/dist/test-template-locales/README.md +0 -35
- package/dist/test-template-locales/_locales/en/messages.json +0 -10
- package/dist/test-template-locales/_locales/pt_BR/messages.json +0 -10
- package/dist/test-template-locales/action/index.html +0 -40
- package/dist/test-template-locales/action/scripts.js +0 -3
- package/dist/test-template-locales/action/styles.css +0 -23
- package/dist/test-template-locales/images/extension_128.png +0 -0
- package/dist/test-template-locales/images/extension_16.png +0 -0
- package/dist/test-template-locales/images/extension_48.png +0 -0
- package/dist/test-template-locales/manifest.json +0 -19
- package/dist/test-template-locales/package.json +0 -21
- package/dist/test-template-new-less/README.md +0 -35
- package/dist/test-template-new-less/images/extension_128.png +0 -0
- package/dist/test-template-new-less/images/extension_16.png +0 -0
- package/dist/test-template-new-less/images/extension_48.png +0 -0
- package/dist/test-template-new-less/manifest.json +0 -15
- package/dist/test-template-new-less/newtab/index.html +0 -40
- package/dist/test-template-new-less/newtab/scripts.js +0 -11
- package/dist/test-template-new-less/newtab/styles.less +0 -19
- package/dist/test-template-new-less/package.json +0 -21
- package/dist/test-template-new-preact/README.md +0 -35
- package/dist/test-template-new-preact/images/extension_128.png +0 -0
- package/dist/test-template-new-preact/images/extension_16.png +0 -0
- package/dist/test-template-new-preact/images/extension_48.png +0 -0
- package/dist/test-template-new-preact/images/preact.png +0 -0
- package/dist/test-template-new-preact/manifest.json +0 -15
- package/dist/test-template-new-preact/newtab/NewTabApp.tsx +0 -27
- package/dist/test-template-new-preact/newtab/index.html +0 -13
- package/dist/test-template-new-preact/newtab/scripts.tsx +0 -5
- package/dist/test-template-new-preact/newtab/styles.css +0 -32
- package/dist/test-template-new-preact/package.json +0 -29
- package/dist/test-template-new-preact/tsconfig.json +0 -22
- package/dist/test-template-new-react/README.md +0 -35
- package/dist/test-template-new-react/images/extension_128.png +0 -0
- package/dist/test-template-new-react/images/extension_16.png +0 -0
- package/dist/test-template-new-react/images/extension_48.png +0 -0
- package/dist/test-template-new-react/images/react.png +0 -0
- package/dist/test-template-new-react/manifest.json +0 -15
- package/dist/test-template-new-react/newtab/NewTabApp.tsx +0 -27
- package/dist/test-template-new-react/newtab/index.html +0 -13
- package/dist/test-template-new-react/newtab/scripts.tsx +0 -12
- package/dist/test-template-new-react/newtab/styles.css +0 -23
- package/dist/test-template-new-react/package.json +0 -28
- package/dist/test-template-new-react/tsconfig.json +0 -22
- package/dist/test-template-new-sass/README.md +0 -35
- package/dist/test-template-new-sass/images/extension_128.png +0 -0
- package/dist/test-template-new-sass/images/extension_16.png +0 -0
- package/dist/test-template-new-sass/images/extension_48.png +0 -0
- package/dist/test-template-new-sass/manifest.json +0 -15
- package/dist/test-template-new-sass/newtab/index.html +0 -40
- package/dist/test-template-new-sass/newtab/scripts.js +0 -11
- package/dist/test-template-new-sass/newtab/styles.scss +0 -19
- package/dist/test-template-new-sass/package.json +0 -22
- package/dist/test-template-new-tailwind/README.md +0 -35
- package/dist/test-template-new-tailwind/images/chromeWindow.png +0 -0
- package/dist/test-template-new-tailwind/images/extension_128.png +0 -0
- package/dist/test-template-new-tailwind/images/extension_16.png +0 -0
- package/dist/test-template-new-tailwind/images/extension_48.png +0 -0
- package/dist/test-template-new-tailwind/images/react.png +0 -0
- package/dist/test-template-new-tailwind/images/tailwind.png +0 -0
- package/dist/test-template-new-tailwind/images/tailwind_bg.png +0 -0
- package/dist/test-template-new-tailwind/manifest.json +0 -15
- package/dist/test-template-new-tailwind/newtab/NewTabApp.tsx +0 -67
- package/dist/test-template-new-tailwind/newtab/index.html +0 -13
- package/dist/test-template-new-tailwind/newtab/scripts.tsx +0 -12
- package/dist/test-template-new-tailwind/newtab/styles.css +0 -3
- package/dist/test-template-new-tailwind/package.json +0 -28
- package/dist/test-template-new-tailwind/postcss.config.js +0 -6
- package/dist/test-template-new-tailwind/tailwind.config.js +0 -8
- package/dist/test-template-new-tailwind/tsconfig.json +0 -22
- package/dist/test-template-new-typescript/README.md +0 -35
- package/dist/test-template-new-typescript/images/extension_128.png +0 -0
- package/dist/test-template-new-typescript/images/extension_16.png +0 -0
- package/dist/test-template-new-typescript/images/extension_48.png +0 -0
- package/dist/test-template-new-typescript/images/typescript.png +0 -0
- package/dist/test-template-new-typescript/manifest.json +0 -15
- package/dist/test-template-new-typescript/newtab/index.html +0 -25
- package/dist/test-template-new-typescript/newtab/scripts.ts +0 -10
- package/dist/test-template-new-typescript/newtab/styles.css +0 -18
- package/dist/test-template-new-typescript/package.json +0 -22
- package/dist/test-template-new-typescript/tsconfig.json +0 -22
- package/dist/test-template-new-vue/README.md +0 -35
- package/dist/test-template-new-vue/images/extension_128.png +0 -0
- package/dist/test-template-new-vue/images/extension_16.png +0 -0
- package/dist/test-template-new-vue/images/extension_48.png +0 -0
- package/dist/test-template-new-vue/images/vue.svg +0 -8
- package/dist/test-template-new-vue/manifest.json +0 -15
- package/dist/test-template-new-vue/newtab/NewTabApp.vue +0 -30
- package/dist/test-template-new-vue/newtab/index.html +0 -13
- package/dist/test-template-new-vue/newtab/scripts.ts +0 -7
- package/dist/test-template-new-vue/newtab/styles.css +0 -36
- package/dist/test-template-new-vue/package.json +0 -25
- package/dist/test-template-new-vue/tsconfig.json +0 -22
- package/dist/test-template-sidebar/README.md +0 -35
- package/dist/test-template-sidebar/images/extension_128.png +0 -0
- package/dist/test-template-sidebar/images/extension_16.png +0 -0
- package/dist/test-template-sidebar/images/extension_48.png +0 -0
- package/dist/test-template-sidebar/manifest.json +0 -37
- package/dist/test-template-sidebar/package.json +0 -21
- package/dist/test-template-sidebar/puzzle.png +0 -0
- package/dist/test-template-sidebar/sidebar/index.html +0 -39
- package/dist/test-template-sidebar/sidebar/scripts.js +0 -11
- package/dist/test-template-sidebar/sidebar/styles.css +0 -27
- package/dist/test-template-sidebar/test_16.png +0 -0
- package/dist/test-template-sidebar/test_32.png +0 -0
- package/dist/test-template-sidebar/test_48.png +0 -0
- package/dist/test-template-sidebar/test_64.png +0 -0
- package/dist/test-template-special-folders-pages/README.md +0 -35
- package/dist/test-template-special-folders-pages/background.js +0 -5
- package/dist/test-template-special-folders-pages/images/extension_128.png +0 -0
- package/dist/test-template-special-folders-pages/images/extension_16.png +0 -0
- package/dist/test-template-special-folders-pages/images/extension_48.png +0 -0
- package/dist/test-template-special-folders-pages/images/notpublic-file.png +0 -0
- package/dist/test-template-special-folders-pages/manifest.json +0 -26
- package/dist/test-template-special-folders-pages/package.json +0 -21
- package/dist/test-template-special-folders-pages/pages/custom.html +0 -8
- package/dist/test-template-special-folders-pages/pages/main.css +0 -18
- package/dist/test-template-special-folders-pages/pages/main.html +0 -16
- package/dist/test-template-special-folders-pages/pages/main.js +0 -1
- package/dist/test-template-special-folders-pages/public/css/file.css +0 -3
- package/dist/test-template-special-folders-pages/public/html/file.html +0 -8
- package/dist/test-template-special-folders-pages/public/img/icon.png +0 -0
- package/dist/test-template-special-folders-pages/public/js/file.js +0 -0
- package/dist/test-template-special-folders-pages/sandbox/index.html +0 -24
- package/dist/test-template-special-folders-pages/sandbox/scripts.js +0 -0
- package/dist/test-template-special-folders-pages/sandbox/styles.css +0 -1
- package/dist/test-template-special-folders-scripts/README.md +0 -35
- package/dist/test-template-special-folders-scripts/background.js +0 -24
- package/dist/test-template-special-folders-scripts/images/extension_128.png +0 -0
- package/dist/test-template-special-folders-scripts/images/extension_16.png +0 -0
- package/dist/test-template-special-folders-scripts/images/extension_48.png +0 -0
- package/dist/test-template-special-folders-scripts/manifest.json +0 -27
- package/dist/test-template-special-folders-scripts/package.json +0 -21
- package/dist/test-template-special-folders-scripts/pages/index.css +0 -5
- package/dist/test-template-special-folders-scripts/pages/index.html +0 -3
- package/dist/test-template-special-folders-scripts/pages/index.js +0 -1
- package/dist/test-template-special-folders-scripts/public/extension.png +0 -0
- package/dist/test-template-special-folders-scripts/scripts/content-script.js +0 -3
- package/dist/test-template-storage/README.md +0 -35
- package/dist/test-template-storage/images/extension_128.png +0 -0
- package/dist/test-template-storage/images/extension_16.png +0 -0
- package/dist/test-template-storage/images/extension_48.png +0 -0
- package/dist/test-template-storage/manifest.json +0 -15
- package/dist/test-template-storage/package.json +0 -21
- package/dist/test-template-storage/schema.json +0 -44
package/dist/module.js
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var Ae=Object.create;var v=Object.defineProperty;var Ge=Object.getOwnPropertyDescriptor;var We=Object.getOwnPropertyNames;var Oe=Object.getPrototypeOf,ze=Object.prototype.hasOwnProperty;var Le=(e,t)=>{for(var o in t)v(e,o,{get:t[o],enumerable:!0})},N=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of We(t))!ze.call(e,i)&&i!==o&&v(e,i,{get:()=>t[i],enumerable:!(r=Ge(t,i))||r.enumerable});return e};var a=(e,t,o)=>(o=e!=null?Ae(Oe(e)):{},N(t||!e||!e.__esModule?v(o,"default",{value:e,enumerable:!0}):o,e)),Ve=e=>N(v({},"__esModule",{value:!0}),e);var rt={};Le(rt,{extensionCreate:()=>it});module.exports=Ve(rt);var _=a(require("path"));var y=a(require("path")),n=require("@colors/colors/safe"),j=a(require("fs/promises")),A=require("package-manager-detector");function G(e){let t=y.default.basename(e);return`${(0,n.red)("\u2716\uFE0E\u2716\uFE0E\u2716\uFE0E")} Failed to write in the destination directory
|
|
2
2
|
|
|
3
3
|
Path is not writable. Ensure you have write permissions for this folder.
|
|
4
|
-
${(0,
|
|
5
|
-
Conflict! Path to ${(0,
|
|
4
|
+
${(0,n.red)("NOT WRITEABLE")}: ${(0,n.underline)(t)}`}async function W(e,t){let o=y.default.basename(e),r=`
|
|
5
|
+
Conflict! Path to ${(0,n.cyan)(o)} includes conflicting files:
|
|
6
6
|
|
|
7
|
-
`;for(let i of
|
|
8
|
-
`:`${(0,
|
|
7
|
+
`;for(let i of t){let s=await j.default.lstat(y.default.join(e,i));r+=s.isDirectory()?`${(0,n.gray)("-")} ${(0,n.brightYellow)(i)}
|
|
8
|
+
`:`${(0,n.gray)("-")} ${(0,n.brightYellow)(i)}
|
|
9
9
|
`}return r+=`
|
|
10
10
|
You need to either rename/remove the files listed above, or choose a new directory name for your extension.
|
|
11
11
|
|
|
12
|
-
Path to conflicting directory: ${(0,
|
|
12
|
+
Path to conflicting directory: ${(0,n.underline)(e)}`,r}function O(){return`${(0,n.red)("\u2716\uFE0E\u2716\uFE0E\u2716\uFE0E")} You need to provide an extension name to create one. See ${(0,n.brightYellow)("--help")} for command info.`}function z(){return`${(0,n.red)("\u2716\uFE0E\u2716\uFE0E\u2716\uFE0E")} URLs are not allowed as a project path. Either write a name or a path to a local folder.`}async function L(e,t){let o=y.default.relative(process.cwd(),e),r=await(0,A.detect)(),i="npm run";switch(r?.name){case"yarn":i="yarn dev";break;case"pnpm":i="pnpm dev";break;default:i="npm run dev"}return process.env.npm_config_user_agent&&process.env.npm_config_user_agent.includes("pnpm")&&(i="pnpm dev"),`\u{1F9E9} - ${(0,n.brightGreen)("Success!")} Extension ${(0,n.cyan)(t)} created.
|
|
13
13
|
|
|
14
|
-
Now ${(0,
|
|
14
|
+
Now ${(0,n.magenta)(`cd ${(0,n.underline)(o)}`)} and ${(0,n.magenta)(`${i}`)} to open a new browser instance
|
|
15
15
|
with your extension installed, loaded, and enabled for development.
|
|
16
16
|
|
|
17
|
-
${(0,
|
|
18
|
-
${(0,
|
|
19
|
-
${(0,
|
|
20
|
-
${(0,
|
|
21
|
-
${(0,
|
|
22
|
-
${(0,
|
|
23
|
-
${(0,
|
|
24
|
-
${(0,
|
|
25
|
-
${(0,
|
|
26
|
-
${(0,
|
|
27
|
-
${(0,
|
|
28
|
-
`+(0,
|
|
17
|
+
${(0,n.brightGreen)("You are ready")}. Time to hack on your extension!`}function V(e){return`\u{1F423} - Starting a new browser extension named ${(0,n.cyan)(e)}...`}function X(){return"\u{1F91E} - Checking if destination path is writeable..."}function U(){return"\u{1F50E} - Scanning for potential conflicting files..."}function Y(e,t){return`${(0,n.red)("\u2716\uFE0E\u2716\uFE0E\u2716\uFE0E")} Can't create directory ${(0,n.cyan)(e)}:
|
|
18
|
+
${(0,n.red)(t)}`}function q(e){return`\u{1F537} - Writing type definitions for ${(0,n.cyan)(e)}...`}function H(e){return`${(0,n.red)("\u2716\uFE0E\u2716\uFE0E\u2716\uFE0E")} Failed to write the extension type definition.
|
|
19
|
+
${(0,n.red)(e)}`}function x(e,t){return t==="init"?`\u{1F9F0} - Installing ${(0,n.cyan)(e)}...`:`\u{1F9F0} - Installing ${(0,n.cyan)(e)} from template ${(0,n.magenta)(t)}...`}function b(e,t,o){return`${(0,n.red)("\u2716\uFE0E\u2716\uFE0E\u2716\uFE0E")} Can't find template ${(0,n.magenta)(t)} for ${(0,n.cyan)(e)}:
|
|
20
|
+
${(0,n.red)(o)}`}function B(e){return`\u{1F332} - Initializing git repository for ${(0,n.cyan)(e)}...`}function K(e,t,o){return`${(0,n.red)("\u2716\uFE0E\u2716\uFE0E\u2716\uFE0E")} Command ${(0,n.brightYellow)(e)} ${(0,n.brightYellow)(t.join(" "))} failed with exit code ${o}`}function Q(e,t){return`${(0,n.red)("\u2716\uFE0E\u2716\uFE0E\u2716\uFE0E")} Child process error: Can't initialize ${(0,n.brightYellow)("git")} for ${(0,n.cyan)(e)}:
|
|
21
|
+
${(0,n.red)(t.message)}`}function Z(e,t){return`${(0,n.red)("\u2716\uFE0E\u2716\uFE0E\u2716\uFE0E")} Can't initialize ${(0,n.brightYellow)("git")} for ${(0,n.cyan)(e)}:
|
|
22
|
+
${(0,n.red)(t.message||t.toString())}`}function ee(){return"\u{1F6E0} - Installing dependencies... (takes a moment)"}function te(e,t,o){return`${(0,n.red)("\u2716\uFE0E\u2716\uFE0E\u2716\uFE0E")} Command ${e} ${t.join(" ")} failed with exit code ${o}`}function ne(e,t){return`${(0,n.red)("\u2716\uFE0E\u2716\uFE0E\u2716\uFE0E")} Child process error: Can't install dependencies for ${(0,n.cyan)(e)}:
|
|
23
|
+
${(0,n.red)(t)}`}function ie(e,t){return`${(0,n.red)("\u2716\uFE0E\u2716\uFE0E\u2716\uFE0E")} Can't install dependencies for ${(0,n.cyan)(e)}:
|
|
24
|
+
${(0,n.red)(t.message||t.toString())}`}function re(){return`\u{1F4DD} - Writing ${(0,n.brightYellow)("package.json")} metadata...`}function oe(e,t){return`${(0,n.red)("\u2716\uFE0E\u2716\uFE0E\u2716\uFE0E")} Can't write ${(0,n.brightYellow)("package.json")} for ${(0,n.cyan)(e)}:
|
|
25
|
+
${(0,n.red)(t)}`}function se(){return`\u{1F4DC} - Writing ${(0,n.brightYellow)("manifest.json")} metadata...`}function ae(e,t){return`${(0,n.red)("\u2716\uFE0E\u2716\uFE0E\u2716\uFE0E")} Can't write ${(0,n.brightYellow)("manifest.json")} for ${(0,n.cyan)(e)}:
|
|
26
|
+
${(0,n.red)(t)}`}function ce(){return`\u{1F4C4} - Writing ${(0,n.brightYellow)("README.md")} metadata...`}function le(){return`\u{1F648} - Writing ${(0,n.brightYellow)(".gitignore")} lines...`}function me(e,t){return`${(0,n.red)("\u2716\uFE0E\u2716\uFE0E\u2716\uFE0E")} Can't write the ${(0,n.brightYellow)("README.md")} file for ${(0,n.cyan)(e)}:
|
|
27
|
+
${(0,n.red)(t)}`}function pe(e){return`\u{1F91D} - Ensuring ${(0,n.cyan)(e)} folder exists...`}function ge(e){return`${(0,n.red)("\u2716\uFE0E\u2716\uFE0E\u2716\uFE0E")} Error while checking directory writability:
|
|
28
|
+
`+(0,n.red)(e)}var h=a(require("fs/promises")),E=a(require("path")),de=require("package-manager-detector");async function C(e,t){let o=await h.default.readdir(e,{withFileTypes:!0});return await h.default.mkdir(t,{recursive:!0}),await Promise.all(o.map(async r=>{let i=E.default.join(e,r.name),s=E.default.join(t,r.name);r.isDirectory()?await C(i,s):await h.default.copyFile(i,s)}))}async function D(){let e=await(0,de.detect)(),t="npm";if(process.env.npm_config_user_agent&&process.env.npm_config_user_agent.includes("pnpm"))return"pnpm";switch(e?.name){case"yarn":t="yarn";break;case"pnpm":t="pnpm";break;default:t="npm"}return t}function fe(e){let t=E.default.resolve(__dirname,"template");return E.default.resolve(e,t)}async function ue(e,t){try{return console.log(pe(t)),await h.default.mkdir(e,{recursive:!0}),!0}catch(o){return console.log(ge(o)),!1}}function we(e){return e!=="init"}function ye(e){return e.includes("typescript")||e.includes("react")||e.includes("preact")||e.includes("svelte")||e.includes("solid")}var xe=a(require("path")),P=a(require("fs/promises"));var Xe=["LICENSE","node_modules"];async function he(e,t){console.log(V(t));try{let o=await ue(e,t);console.log(X()),o||(console.error(G(e)),process.exit(1));let r=await P.default.readdir(e);console.log(U());let i=await Promise.all(r.filter(s=>!s.startsWith(".")).filter(s=>!s.endsWith(".log")).filter(s=>!Xe.includes(s)).map(async s=>(await P.default.lstat(xe.default.join(e,s))).isDirectory()?`${s}/`:`${s}`));if(i.length>0){let s=await W(e,i);throw new Error(s)}}catch(o){console.error(Y(t,o)),process.exit(1)}}var Ee=a(require("path"));async function $e(e,t,o){let r=Ee.default.resolve(__dirname,"template");try{console.log(x(t,o)),await C(r,e)}catch(i){console.error(b(t,o,i)),process.exit(1)}}var m=a(require("path")),f=a(require("fs/promises")),ve=a(require("go-git-it"));async function be(e,t,o){let r=m.default.dirname(e),i=m.default.basename(o),c=`https://github.com/extension-js/extension.js/tree/main/examples/${o}`;try{await f.default.mkdir(e,{recursive:!0});let l="";if(process.env.EXTENSION_ENV==="development"?(console.log(x(t,o)),l=m.default.join(e,i),await f.default.cp(m.default.join(__dirname,"..","..","..","examples",i),l,{recursive:!0})):(await(0,ve.default)(c,r,x(t,i)),l=m.default.join(r,i)),t!==i){let p=m.default.join(r,t);await f.default.mkdir(p,{recursive:!0});let g=await f.default.readdir(l);for(let u of g)await f.default.rename(m.default.join(l,u),m.default.join(p,u));await f.default.rm(l,{recursive:!0,force:!0})}else{let p=m.default.join(r,t+"-temp");await f.default.rename(l,p);let g=m.default.join(p,i),u=m.default.join(r,t);await f.default.mkdir(u,{recursive:!0});let je=await f.default.readdir(g);for(let R of je)await f.default.rename(m.default.join(g,R),m.default.join(u,R));await f.default.rm(p,{recursive:!0,force:!0})}}catch(l){console.error(b(t,i,l)),process.exit(1)}}var $=a(require("path")),S=a(require("fs/promises"));var Ue={dev:process.env.EXTENSION_ENV==="development"?"node node_modules/extension dev":"extension dev",start:process.env.EXTENSION_ENV==="development"?"node node_modules/extension start":"extension start",build:process.env.EXTENSION_ENV==="development"?"node node_modules/extension build":"extension build"};async function De(e,t,o){let r=fe(process.cwd()),i=we(o)?$.default.join(e,"package.json"):$.default.join(r,"package.json"),s=await S.default.readFile(i),c=JSON.parse(s.toString());c.scripts=c.scripts||{},c.dependencies=c.dependencies||{},c.devDependencies={...c.devDependencies||{},extension:process.env.EXTENSION_ENV==="development"?"*":"latest"};let l={...c,name:$.default.basename(e),private:!0,scripts:{...c.scripts,...Ue},dependencies:c.dependencies,devDependencies:c.devDependencies,author:{name:"Your Name",email:"your@email.com",url:"https://yourwebsite.com"}};try{console.log(re()),await S.default.writeFile($.default.join(e,"package.json"),JSON.stringify(l,null,2))}catch(p){console.error(oe(t,p)),process.exit(1)}}var Fe=a(require("path")),Te=require("cross-spawn"),ke=a(require("fs"));function Ye(){return["install","--silent"]}async function _e(e,t){let o=Fe.default.join(e,"node_modules"),r=await D(),i=Ye();console.log(ee());try{let s=process.cwd();process.chdir(e),await ke.default.promises.mkdir(o,{recursive:!0});let c=process.env.EXTENSION_ENV==="development"?"inherit":"ignore",l=(0,Te.spawn)(r,i,{stdio:c});await new Promise((p,g)=>{l.on("close",u=>{process.chdir(s),u!==0?g(new Error(te(r,i,u))):p()}),l.on("error",u=>{process.chdir(s),console.error(ne(t,u)),g(u)})})}catch(s){console.error(ie(t,s)),process.exit(1)}}var F=a(require("path")),T=a(require("fs/promises"));async function Ce(e,t){let o=await T.default.readFile(F.default.join(__dirname,"template","README.md"),"utf-8"),r=await D(),i=require(F.default.join(e,"manifest.json")),s=o.replaceAll("[projectName]",t).replaceAll("[templateDescription]",i.description).replaceAll("[runCommand]",r);try{console.log(ce()),await T.default.mkdir(e,{recursive:!0}),await T.default.writeFile(F.default.join(e,"README.md"),s)}catch(c){console.error(me(t,c)),process.exit(1)}}var k=a(require("path")),I=a(require("fs/promises"));async function Pe(e,t){let o=k.default.join(e,"manifest.json"),r=await I.default.readFile(o),s={...JSON.parse(r.toString()),name:k.default.basename(e),author:"Your Name"};try{console.log(se()),await I.default.writeFile(k.default.join(e,"manifest.json"),JSON.stringify(s,null,2))}catch(c){console.error(ae(t,c)),process.exit(1)}}var J=a(require("path")),M=a(require("fs/promises"));async function Se(e,t){let o=J.default.join(e,"extension-env.d.ts"),r=process.env.EXTENSION_ENV==="development"?J.default.resolve(process.cwd(),"programs/cli/types"):"extension/dist/types",i=`// Required Extension.js types for TypeScript projects.
|
|
29
29
|
// This file is auto-generated and should not be excluded.
|
|
30
30
|
// If you need additional types, consider creating a new *.d.ts file and
|
|
31
31
|
// referencing it in the "include" array of your tsconfig.json file.
|
|
@@ -34,5 +34,5 @@ ${(0,t.red)(n)}`}function fe(e){return`\u{1F91D} - Ensuring ${(0,t.cyan)(e)} fol
|
|
|
34
34
|
|
|
35
35
|
// Polyfill types for browser.* APIs.
|
|
36
36
|
/// <reference types="${r}/polyfill.d.ts" />
|
|
37
|
-
`;try{await
|
|
38
|
-
`),{flush:!0}).catch(s=>{console.error(s),process.exit(1)})}var
|
|
37
|
+
`;try{await M.default.mkdir(e,{recursive:!0}),console.log(q(t)),await M.default.writeFile(o,i)}catch(s){console.error(H(s)),process.exit(1)}}var Ie=a(require("fs/promises")),Je=a(require("path"));var qe=["","# dependencies","node_modules"],He=["","# testing","coverage"],Be=["","# production","dist"],Ke=["","# misc",".DS_Store"],Qe=["","# local env files",".env.local",".env.development.local",".env.test.local",".env.production.local"],Ze=["","# debug files","npm-debug.log*","yarn-debug.log*","yarn-error.log*"],et=["","# lock files","yarn.lock","package-lock.json"],tt=["","# extension.js","extension-env.d.ts"],nt=["# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.",...qe,...He,...Be,...Ke,...Qe,...et,...Ze,...tt];async function Me(e){let t=Je.default.join(e,".gitignore"),o=await Ie.default.open(t,"a+").catch(s=>{console.error(s),process.exit(1)}),r=new Set;for await(let s of o.readLines({autoClose:!1}))s=s.trim(),s.length!==0&&r.add(s);let i=nt.filter(s=>!r.has(s));for(;i[i.length-1]==="";)i.pop();console.log(le()),await o.appendFile(i.join(`
|
|
38
|
+
`),{flush:!0}).catch(s=>{console.error(s),process.exit(1)})}var Re=require("cross-spawn");async function Ne(e,t){let o="git",r=["init","--quiet"];console.log(B(t));try{let i=process.cwd();process.chdir(e);let s=process.env.EXTENSION_ENV==="development"?"inherit":"ignore",c=(0,Re.spawn)(o,r,{stdio:s});await new Promise((l,p)=>{c.on("close",g=>{process.chdir(i),g!==0?p(new Error(K(o,r,g))):l()}),c.on("error",g=>{process.chdir(i),console.error(Q(t,g)),p(g)})})}catch(i){console.error(Z(t,i)),process.exit(1)}}async function it(e,{template:t="init",install:o=!0}){if(!e)throw new Error(O());if(e.startsWith("http"))throw new Error(z());let r=_.default.isAbsolute(e)?e:_.default.join(process.cwd(),e),i=_.default.basename(r);try{await he(r,i),t==="init"?await $e(r,i,t):await be(r,i,t),await De(r,i,t),o&&await _e(r,i),await Ce(r,i),await Pe(r,i),await Ne(r,i),await Me(r),ye(t)&&await Se(r,i);let s=await L(r,i);console.log(s)}catch(s){throw console.error(s),s}}0&&(module.exports={extensionCreate});
|
package/package.json
CHANGED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
# test-template-action
|
|
2
|
-
|
|
3
|
-
> An Extension.js example.
|
|
4
|
-
|
|
5
|
-
## Available Scripts
|
|
6
|
-
|
|
7
|
-
In the project directory, you can run the following scripts:
|
|
8
|
-
|
|
9
|
-
### pnpm dev
|
|
10
|
-
|
|
11
|
-
**Development Mode**: This command runs your extension in development mode. It will launch a new browser instance with your extension loaded. The page will automatically reload whenever you make changes to your code, allowing for a smooth development experience.
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
pnpm dev
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
### pnpm start
|
|
18
|
-
|
|
19
|
-
**Production Preview**: This command runs your extension in production mode. It will launch a new browser instance with your extension loaded, simulating the environment and behavior of your extension as it will appear once published.
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
pnpm start
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
### pnpm build
|
|
26
|
-
|
|
27
|
-
**Build for Production**: This command builds your extension for production. It optimizes and bundles your extension, preparing it for deployment to the target browser's store.
|
|
28
|
-
|
|
29
|
-
```bash
|
|
30
|
-
pnpm build
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
## Learn More
|
|
34
|
-
|
|
35
|
-
To learn more about creating cross-browser extensions with Extension.js, visit the [official documentation](https://extension.js.org).
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="utf-8" />
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
|
-
<title>Action Extension</title>
|
|
7
|
-
<link
|
|
8
|
-
rel="stylesheet"
|
|
9
|
-
href="https://unpkg.com/sakura.css/css/sakura.css"
|
|
10
|
-
media="screen"
|
|
11
|
-
/>
|
|
12
|
-
<link
|
|
13
|
-
rel="stylesheet"
|
|
14
|
-
href="https://unpkg.com/sakura.css/css/sakura-dark.css"
|
|
15
|
-
media="screen and (prefers-color-scheme: dark)"
|
|
16
|
-
/>
|
|
17
|
-
<link rel="stylesheet" href="./styles.css" media="screen" />
|
|
18
|
-
</head>
|
|
19
|
-
<body class="popup">
|
|
20
|
-
<header>
|
|
21
|
-
<h1>
|
|
22
|
-
<img
|
|
23
|
-
class="action"
|
|
24
|
-
src="../images/extension_128.png"
|
|
25
|
-
alt="The Extension logo"
|
|
26
|
-
width="72px"
|
|
27
|
-
/>
|
|
28
|
-
<br />
|
|
29
|
-
Welcome to your Action Extension
|
|
30
|
-
</h1>
|
|
31
|
-
<p>
|
|
32
|
-
Learn more about creating cross-browser extensions at
|
|
33
|
-
<a href="https://extension.js.org" target="_blank"
|
|
34
|
-
>https://extension.js.org</a
|
|
35
|
-
>.
|
|
36
|
-
</p>
|
|
37
|
-
</header>
|
|
38
|
-
</body>
|
|
39
|
-
<script src="./scripts.js"></script>
|
|
40
|
-
</html>
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
body {
|
|
2
|
-
display: flex;
|
|
3
|
-
justify-content: center;
|
|
4
|
-
align-items: center;
|
|
5
|
-
width: 300px;
|
|
6
|
-
padding: 2em;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
h1 {
|
|
10
|
-
font-size: 2.7em;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
.action {
|
|
14
|
-
filter: grayscale(1);
|
|
15
|
-
transition:
|
|
16
|
-
filter 2s,
|
|
17
|
-
border-color 2s;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
.action:hover {
|
|
21
|
-
filter: grayscale(0);
|
|
22
|
-
border-color: aquamarine;
|
|
23
|
-
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"manifest_version": 3,
|
|
3
|
-
"version": "0.0.1",
|
|
4
|
-
"name": "test-template-action",
|
|
5
|
-
"description": "An Extension.js example.",
|
|
6
|
-
"icons": {
|
|
7
|
-
"16": "images/extension_16.png",
|
|
8
|
-
"48": "images/extension_48.png",
|
|
9
|
-
"128": "images/extension_128.png"
|
|
10
|
-
},
|
|
11
|
-
"action": {
|
|
12
|
-
"default_popup": "action/index.html",
|
|
13
|
-
"default_title": "Action",
|
|
14
|
-
"default_icon": {
|
|
15
|
-
"16": "images/extension_16.png",
|
|
16
|
-
"48": "images/extension_48.png",
|
|
17
|
-
"128": "images/extension_128.png"
|
|
18
|
-
}
|
|
19
|
-
},
|
|
20
|
-
"author": "Your Name"
|
|
21
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"private": true,
|
|
3
|
-
"name": "test-template-action",
|
|
4
|
-
"description": "An Extension.js example.",
|
|
5
|
-
"version": "0.0.1",
|
|
6
|
-
"author": {
|
|
7
|
-
"name": "Your Name",
|
|
8
|
-
"email": "your@email.com",
|
|
9
|
-
"url": "https://yourwebsite.com"
|
|
10
|
-
},
|
|
11
|
-
"license": "MIT",
|
|
12
|
-
"scripts": {
|
|
13
|
-
"dev": "extension dev",
|
|
14
|
-
"start": "extension start",
|
|
15
|
-
"build": "extension build"
|
|
16
|
-
},
|
|
17
|
-
"dependencies": {},
|
|
18
|
-
"devDependencies": {
|
|
19
|
-
"extension": "latest"
|
|
20
|
-
}
|
|
21
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
EXTENSION_OPENAI_API_KEY='My API Key'
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
# test-template-action-chatgpt
|
|
2
|
-
|
|
3
|
-
> An Extension.js example.
|
|
4
|
-
|
|
5
|
-
## Available Scripts
|
|
6
|
-
|
|
7
|
-
In the project directory, you can run the following scripts:
|
|
8
|
-
|
|
9
|
-
### pnpm dev
|
|
10
|
-
|
|
11
|
-
**Development Mode**: This command runs your extension in development mode. It will launch a new browser instance with your extension loaded. The page will automatically reload whenever you make changes to your code, allowing for a smooth development experience.
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
pnpm dev
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
### pnpm start
|
|
18
|
-
|
|
19
|
-
**Production Preview**: This command runs your extension in production mode. It will launch a new browser instance with your extension loaded, simulating the environment and behavior of your extension as it will appear once published.
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
pnpm start
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
### pnpm build
|
|
26
|
-
|
|
27
|
-
**Build for Production**: This command builds your extension for production. It optimizes and bundles your extension, preparing it for deployment to the target browser's store.
|
|
28
|
-
|
|
29
|
-
```bash
|
|
30
|
-
pnpm build
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
## Learn More
|
|
34
|
-
|
|
35
|
-
To learn more about creating cross-browser extensions with Extension.js, visit the [official documentation](https://extension.js.org).
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
import {useState, type FormEvent} from 'react'
|
|
2
|
-
import OpenAI from 'openai'
|
|
3
|
-
import chatgptLogo from '../images/chatgpt.png'
|
|
4
|
-
import extensionJsLogo from '../images/extension_128.png'
|
|
5
|
-
|
|
6
|
-
const openai = new OpenAI({
|
|
7
|
-
apiKey: process.env.EXTENSION_OPENAI_API_KEY!,
|
|
8
|
-
dangerouslyAllowBrowser: true
|
|
9
|
-
})
|
|
10
|
-
|
|
11
|
-
interface Message {
|
|
12
|
-
content: string
|
|
13
|
-
role: 'user' | 'assistant'
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
function ActionApp() {
|
|
17
|
-
const [messages, setMessages] = useState<Message[]>([
|
|
18
|
-
{
|
|
19
|
-
content:
|
|
20
|
-
'Hello there! This is your ChatGPT extension sample, ' +
|
|
21
|
-
'built with React, Tailwind.css, and DaisyUI. ' +
|
|
22
|
-
'For it to work, create a .env file with your EXTENSION_OPENAI_API_KEY. ' +
|
|
23
|
-
"You can get an API key from OpenAI's website",
|
|
24
|
-
role: 'assistant'
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
content: 'https://platform.openai.com/api-keys',
|
|
28
|
-
role: 'assistant'
|
|
29
|
-
}
|
|
30
|
-
])
|
|
31
|
-
|
|
32
|
-
const [isTyping, setIsTyping] = useState(false)
|
|
33
|
-
|
|
34
|
-
const handleSubmit = async (e: FormEvent<HTMLFormElement>) => {
|
|
35
|
-
e.preventDefault()
|
|
36
|
-
|
|
37
|
-
const form = e.target as HTMLFormElement
|
|
38
|
-
const input = form[0] as HTMLInputElement
|
|
39
|
-
|
|
40
|
-
const newMessage: Message = {
|
|
41
|
-
content: input.value,
|
|
42
|
-
role: 'user'
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
const newMessages = [...messages, newMessage]
|
|
46
|
-
|
|
47
|
-
setMessages(newMessages)
|
|
48
|
-
setIsTyping(true)
|
|
49
|
-
form.reset()
|
|
50
|
-
|
|
51
|
-
const completion = await openai.chat.completions.create({
|
|
52
|
-
model: 'gpt-3.5-turbo',
|
|
53
|
-
messages: newMessages
|
|
54
|
-
})
|
|
55
|
-
|
|
56
|
-
setMessages([...newMessages, completion.choices[0].message as Message])
|
|
57
|
-
setIsTyping(false)
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
return (
|
|
61
|
-
<section className="container mx-auto p-5 fixed inset-0">
|
|
62
|
-
<div className="w-full h-full flex flex-col">
|
|
63
|
-
<div className="flex-grow overflow-auto">
|
|
64
|
-
{messages.length &&
|
|
65
|
-
messages.map((msg, i) => (
|
|
66
|
-
<div
|
|
67
|
-
className={`chat ${
|
|
68
|
-
msg.role === 'assistant' ? 'chat-start' : 'chat-end'
|
|
69
|
-
}`}
|
|
70
|
-
key={'chatKey' + i}
|
|
71
|
-
>
|
|
72
|
-
<div className="chat-image avatar">
|
|
73
|
-
<div className="w-10 rounded-full">
|
|
74
|
-
<img
|
|
75
|
-
src={
|
|
76
|
-
msg.role === 'assistant' ? chatgptLogo : extensionJsLogo
|
|
77
|
-
}
|
|
78
|
-
alt="avatar"
|
|
79
|
-
/>
|
|
80
|
-
</div>
|
|
81
|
-
</div>
|
|
82
|
-
<div className="chat-bubble">{msg.content}</div>
|
|
83
|
-
</div>
|
|
84
|
-
))}
|
|
85
|
-
</div>
|
|
86
|
-
|
|
87
|
-
<form className="form-control items-center" onSubmit={handleSubmit}>
|
|
88
|
-
<div className="input-group max-w-full w-[800px] relative flex items-center">
|
|
89
|
-
{isTyping && (
|
|
90
|
-
<small className="absolute -top-5 left-0.5 animate-pulse">
|
|
91
|
-
ChatGPT Extension is typing...
|
|
92
|
-
</small>
|
|
93
|
-
)}
|
|
94
|
-
|
|
95
|
-
<input
|
|
96
|
-
type="text"
|
|
97
|
-
placeholder="Ask ChatGPT a question."
|
|
98
|
-
className="input input-bordered flex-grow mr-2.5"
|
|
99
|
-
required
|
|
100
|
-
/>
|
|
101
|
-
<button className="btn btn-square" type="submit">
|
|
102
|
-
<svg
|
|
103
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
104
|
-
className="h-6 w-6"
|
|
105
|
-
fill="currentColor"
|
|
106
|
-
viewBox="0 0 16 16"
|
|
107
|
-
>
|
|
108
|
-
<path d="M15.854.146a.5.5 0 0 1 .11.54l-5.819 14.547a.75.75 0 0 1-1.329.124l-3.178-4.995L.643 7.184a.75.75 0 0 1 .124-1.33L15.314.037a.5.5 0 0 1 .54.11ZM6.636 10.07l2.761 4.338L14.13 2.576 6.636 10.07Zm6.787-8.201L1.591 6.602l4.339 2.76 7.494-7.493Z" />
|
|
109
|
-
</svg>
|
|
110
|
-
</button>
|
|
111
|
-
</div>
|
|
112
|
-
</form>
|
|
113
|
-
</div>
|
|
114
|
-
</section>
|
|
115
|
-
)
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
export default ActionApp
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="utf-8" />
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
|
-
<title>ChatGPT Template</title>
|
|
7
|
-
</head>
|
|
8
|
-
<body>
|
|
9
|
-
<noscript>You need to enable JavaScript to run this extension.</noscript>
|
|
10
|
-
<div id="root"></div>
|
|
11
|
-
</body>
|
|
12
|
-
<script src="./scripts.tsx"></script>
|
|
13
|
-
</html>
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
|
-
import ReactDOM from 'react-dom/client'
|
|
3
|
-
import ActionApp from './ActionApp'
|
|
4
|
-
import './styles.css'
|
|
5
|
-
|
|
6
|
-
const root = ReactDOM.createRoot(document.getElementById('root')!)
|
|
7
|
-
|
|
8
|
-
root.render(
|
|
9
|
-
<React.StrictMode>
|
|
10
|
-
<ActionApp />
|
|
11
|
-
</React.StrictMode>
|
|
12
|
-
)
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"manifest_version": 3,
|
|
3
|
-
"version": "0.0.1",
|
|
4
|
-
"name": "test-template-action-chatgpt",
|
|
5
|
-
"description": "An Extension.js example.",
|
|
6
|
-
"icons": {
|
|
7
|
-
"16": "images/extension_16.png",
|
|
8
|
-
"48": "images/extension_48.png",
|
|
9
|
-
"128": "images/extension_128.png"
|
|
10
|
-
},
|
|
11
|
-
"action": {
|
|
12
|
-
"default_icon": {
|
|
13
|
-
"16": "images/extension_16.png",
|
|
14
|
-
"48": "images/extension_48.png",
|
|
15
|
-
"128": "images/extension_128.png"
|
|
16
|
-
},
|
|
17
|
-
"default_title": "ChatGPT",
|
|
18
|
-
"default_popup": "action/index.html"
|
|
19
|
-
},
|
|
20
|
-
"author": "Your Name"
|
|
21
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"private": true,
|
|
3
|
-
"name": "test-template-action-chatgpt",
|
|
4
|
-
"description": "An Extension.js example.",
|
|
5
|
-
"version": "0.0.1",
|
|
6
|
-
"author": {
|
|
7
|
-
"name": "Your Name",
|
|
8
|
-
"email": "your@email.com",
|
|
9
|
-
"url": "https://yourwebsite.com"
|
|
10
|
-
},
|
|
11
|
-
"license": "MIT",
|
|
12
|
-
"dependencies": {
|
|
13
|
-
"daisyui": "^4.12.10",
|
|
14
|
-
"openai": "^4.57.2",
|
|
15
|
-
"react": "^18.1.0",
|
|
16
|
-
"react-dom": "^18.1.0",
|
|
17
|
-
"tailwindcss": "^3.4.1"
|
|
18
|
-
},
|
|
19
|
-
"devDependencies": {
|
|
20
|
-
"@types/react": "^18.3.5",
|
|
21
|
-
"@types/react-dom": "^18.3.0",
|
|
22
|
-
"typescript": "5.3.3",
|
|
23
|
-
"extension": "latest"
|
|
24
|
-
},
|
|
25
|
-
"scripts": {
|
|
26
|
-
"dev": "extension dev",
|
|
27
|
-
"start": "extension start",
|
|
28
|
-
"build": "extension build"
|
|
29
|
-
}
|
|
30
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
"allowJs": true,
|
|
4
|
-
"allowSyntheticDefaultImports": true,
|
|
5
|
-
"esModuleInterop": true,
|
|
6
|
-
"forceConsistentCasingInFileNames": true,
|
|
7
|
-
"isolatedModules": true,
|
|
8
|
-
"jsx": "react-jsx",
|
|
9
|
-
"lib": ["dom", "dom.iterable", "esnext"],
|
|
10
|
-
"moduleResolution": "node",
|
|
11
|
-
"module": "esnext",
|
|
12
|
-
"noEmit": true,
|
|
13
|
-
"resolveJsonModule": true,
|
|
14
|
-
"strict": true,
|
|
15
|
-
"target": "esnext",
|
|
16
|
-
"verbatimModuleSyntax": true,
|
|
17
|
-
"useDefineForClassFields": true,
|
|
18
|
-
"skipLibCheck": true
|
|
19
|
-
},
|
|
20
|
-
"include": ["./"],
|
|
21
|
-
"exclude": ["node_modules", "dist"]
|
|
22
|
-
}
|