From 4d2d2f41645e972936aad99e0c16a973788f1e23 Mon Sep 17 00:00:00 2001 From: Cheton Wu <447801+cheton@users.noreply.github.com> Date: Fri, 22 Nov 2024 23:04:11 +0800 Subject: [PATCH] feat: enhance project configuration with Vite setup (#5) --- .babelrc | 6 - .eslintrc | 8 - .github/workflows/ci.yml | 28 + .gitignore | 8 +- .npmignore | 2 + .stylintrc | 38 - .travis.yml | 43 - LICENSE | 2 +- README.md | 14 +- assets/index.html | 13 - docs/index.html | 15 - docs/v1/0.bundle.js | 2 - docs/v1/0.bundle.js.map | 1 - docs/v1/1.bundle.js | 2 - docs/v1/1.bundle.js.map | 1 - docs/v1/674f50d287a8c48dc19ba404d20fe713.eot | Bin 165742 -> 0 bytes docs/v1/912ec66d7572ff821749319396470bde.svg | 2671 -------------- .../v1/af7ae505a9eed503f8b8e6982036873e.woff2 | Bin 77160 -> 0 bytes docs/v1/b06871f281fee6b241d60582ae9369b9.ttf | Bin 165548 -> 0 bytes docs/v1/fee66e712a8a08eef5805a46892932ad.woff | Bin 98024 -> 0 bytes docs/v1/index.bundle.js | 2 - docs/v1/index.bundle.js.map | 1 - docs/v1/index.html | 13 - eslint.config.js | 44 + index.html | 31 + package.json | 117 +- scripts/deploy.sh | 13 - scripts/package-name.sh | 7 - scripts/package-version.sh | 7 - src/index.js | 97 - src/lib/log.js | 17 - src/main.js | 77 + src/styles/app.styl | 11 - src/styles/reset-context.styl | 9 - src/styles/vendor.styl | 6 - src/widgets/ReactApp/index.js | 10 - src/widgets/{ReactApp => custom}/App.jsx | 2 +- src/widgets/custom/index.jsx | 20 + test/index.js | 5 - vite.config.js | 8 + webpack.config.js | 160 - yarn.lock | 3222 +++++++++++++++++ 42 files changed, 3483 insertions(+), 3250 deletions(-) delete mode 100644 .babelrc delete mode 100644 .eslintrc create mode 100644 .github/workflows/ci.yml create mode 100644 .npmignore delete mode 100644 .stylintrc delete mode 100644 .travis.yml delete mode 100644 assets/index.html delete mode 100644 docs/index.html delete mode 100644 docs/v1/0.bundle.js delete mode 100644 docs/v1/0.bundle.js.map delete mode 100644 docs/v1/1.bundle.js delete mode 100644 docs/v1/1.bundle.js.map delete mode 100644 docs/v1/674f50d287a8c48dc19ba404d20fe713.eot delete mode 100644 docs/v1/912ec66d7572ff821749319396470bde.svg delete mode 100644 docs/v1/af7ae505a9eed503f8b8e6982036873e.woff2 delete mode 100644 docs/v1/b06871f281fee6b241d60582ae9369b9.ttf delete mode 100644 docs/v1/fee66e712a8a08eef5805a46892932ad.woff delete mode 100644 docs/v1/index.bundle.js delete mode 100644 docs/v1/index.bundle.js.map delete mode 100644 docs/v1/index.html create mode 100644 eslint.config.js create mode 100644 index.html delete mode 100755 scripts/deploy.sh delete mode 100755 scripts/package-name.sh delete mode 100755 scripts/package-version.sh delete mode 100644 src/index.js delete mode 100644 src/lib/log.js create mode 100644 src/main.js delete mode 100644 src/styles/app.styl delete mode 100644 src/styles/reset-context.styl delete mode 100644 src/styles/vendor.styl delete mode 100644 src/widgets/ReactApp/index.js rename src/widgets/{ReactApp => custom}/App.jsx (99%) create mode 100644 src/widgets/custom/index.jsx delete mode 100644 test/index.js create mode 100644 vite.config.js delete mode 100755 webpack.config.js create mode 100644 yarn.lock diff --git a/.babelrc b/.babelrc deleted file mode 100644 index a2f3545..0000000 --- a/.babelrc +++ /dev/null @@ -1,6 +0,0 @@ -{ - "presets": ["es2015", "stage-0", "react"], - "plugins": [ - "transform-decorators-legacy" - ] -} diff --git a/.eslintrc b/.eslintrc deleted file mode 100644 index 60c59df..0000000 --- a/.eslintrc +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "trendmicro", - "parser": "babel-eslint", - "env": { - "browser": true, - "node": true - } -} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..82289f7 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,28 @@ +name: CI + +on: + push: + branches: + - master + pull_request: + workflow_dispatch: + +permissions: + contents: write + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + node-version: [20.x] + steps: + - uses: actions/checkout@v4 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node-version }} + - run: yarn + - run: | + yarn run lint + yarn run build diff --git a/.gitignore b/.gitignore index d8d8f19..6167a4a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,3 @@ -node_modules -npm-debug.log -package-lock.json -/.nyc_output /coverage /dist -/output -/releases -/lib +node_modules diff --git a/.npmignore b/.npmignore new file mode 100644 index 0000000..23d31d5 --- /dev/null +++ b/.npmignore @@ -0,0 +1,2 @@ +package-lock.json +yarn.lock diff --git a/.stylintrc b/.stylintrc deleted file mode 100644 index 5ddb597..0000000 --- a/.stylintrc +++ /dev/null @@ -1,38 +0,0 @@ -// -// https://github.com/rossPatton/stylint -// -{ - "blocks": false, - "brackets": "always", - "colons": "always", - "colors": false, - "commaSpace": "always", - "commentSpace": false, - "cssLiteral": "never", - "depthLimit": false, - "duplicates": false, - "efficient": "always", - "extendPref": false, - "globalDupe": false, - "indentPref": false, - "leadingZero": "never", - "maxErrors": false, - "maxWarnings": false, - "mixed": false, - "namingConvention": false, - "namingConventionStrict": false, - "none": "never", - "noImportant": true, - "parenSpace": false, - "placeholders": "always", - "prefixVarsWithDollar": "always", - "quotePref": false, - "semicolons": "always", - "sortOrder": false, - "stackedProperties": "never", - "trailingWhitespace": "never", - "universal": false, - "valid": true, - "zeroUnits": "never", - "zIndexNormalize": false -} diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 8d79ec6..0000000 --- a/.travis.yml +++ /dev/null @@ -1,43 +0,0 @@ -sudo: required -dist: trusty -group: edge - -language: node_js - -os: - - linux - -node_js: - - '6' - -env: - global: - - secure: "D5qcb7P3mGKbRhjwPUODQ0MFDolGOhvRYgqZ0UUHW67Fhkzwhs6s+PFmbpenTZJyRtjxXd6NsrBvdlQB+Wkmh3rQfnTOhnz4ZBneWoEXsMKLMymXYSUW496Sq6jmkPCVmURGBwDS5n/WZoePfkDY+PyMupDcTeDOP3go/rpimZSrteCz55vPE38G/ZvnUkEx8g1EzVGYOUfcYDPWt85evPZCNU3zQz3oqnU7SO+SqziDjVckc8pcMK6geJ60xGNyjw2jKOhGzrcOg7QUWIz0+EQt3nJyzoPclu4d0u/UGGJlmJzEbmZDRl+yvD/rk2SKoPHm1JFPeypug+TnNyf7H1y9dIulstJlXzOw1ORtvnP57uwILBCv3M9segBzpXDuj2BxrmtkQDMY+uARx3ia0cn/E84ku7kC1owMB3KAaUk8l8h6JkWvtx5BCj93je1Tpud3dqD1mOymyBay2YW4OM3bFbaiCEcnjXsom5FEqYI4dqPQzO82bXA2vu8vsfRsaR7X2tJevIk8OkTJVDJLKpdb5opS2U7wXIJa3f8CyCPNl+crA1ZvDfnVNwBqKtstCZiF81/xIS6eV3lTRD4d3eF+jfLuIa8ZiTcIISutKQsffupsF55aaoSAWQicZv8sdseQG9UukU2bVhbSmSmrEPhRwfmx+4Qf7DEb0/1HF9w=" # GITHUB_TOKEN - -before_install: - - npm install -g npm - - npm --version - -after_success: - - npm run deploy - - PACKAGE_NAME=`scripts/package-name.sh package.json` - - PACKAGE_VERSION=`scripts/package-version.sh package.json` - - RELEASE=${PACKAGE_NAME}-${PACKAGE_VERSION} - - mkdir -p releases - - pushd dist - - zip -r ../releases/${RELEASE}.zip * - - popd - -deploy: - provider: releases - api_key: - secure: "dDUmM/XOB/OZJMsheN2NWH7vW961cbNaHZVhDn1nSuWzVX29jpJONMeVaXCtnxjNl8JI9OgzpVFWOaqx9YKCDt6tuTLYuNOnZHxGLB/CaLpqnl4+YiDaEoTin+F+M3xncRAD0gEjOAVduIJx6F9tzjgTOei7fSC4Yt26bxtZPkxnJzJP90xxSQ04fCaQ85DAbpmBLSm/TlJwvKil5cLcOokvxhaQig/WnTRkXf4ZPEL+FQMgHiWEmWHGkmFOZk3kBdYo2cwYwuCy7JYxNt+Jlfk8BF4V2nSa30HLQjUl6L4QyOo/2TeQ8w90HKzGM1PmRRYP4vpZ21T0w/Ftq2b/+lOmpqIA3OmCZnwW/WoflvzOAbj2z5ZVd6s57R8qcZA68yiy1psFsvQpphgdIPMPAdWxAZa694tOVMxhm7sR1VPYT9ufdLoxWLtdPFm8Dta+7bt34P2o448Fl9AhcJl+P3nebZcLG7KM0eAbGHp5U1YGDiJfGIz44c+kSBd1+tH5nNnSQq0OaED/eO3E+rOLiKtpdts+rYGA70YxvjgEiWCr1OQH+JZPYpoSbH6qtIgDGr2Wt0fU4ANx61R+ukna8AluhfIgmalfTSma9CM6ewYavM7wkMstP29gdUWf2utkeGGleSQs/m6L6aPZoMzugLHU8z++YpkcWnLM7mEvaAs=" - file_glob: true - file: - - 'releases/*.*' - overwrite: true - skip_cleanup: true - on: - # https://docs.travis-ci.com/user/deployment#Conditional-Releases-with-on - tags: true # Deploy app only when a tag is applied to the commit - node: '6' diff --git a/LICENSE b/LICENSE index 498dc68..7193709 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2017 https://github.com/cncjs +Copyright (c) 2017-present https://github.com/cncjs Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index 2607af8..9703295 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# cncjs-widget-boilerplate [![build status](https://travis-ci.org/cncjs/cncjs-widget-boilerplate.svg?branch=master)](https://travis-ci.org/cncjs/cncjs-widget-boilerplate) [![Coverage Status](https://coveralls.io/repos/github/cncjs/cncjs-widget-boilerplate/badge.svg?branch=master)](https://coveralls.io/github/cncjs/cncjs-widget-boilerplate?branch=master) +# cncjs-widget-boilerplate **Custom Widget for CNCjs** @@ -13,8 +13,7 @@ Custom Widget Version | CNCjs Version ## Installation ```bash -npm i -g npm # Upgrade NPM to the latest version -npm install +yarn install ``` ## Development Guide @@ -24,10 +23,10 @@ Create a directory under src/widgets and put your code in there. ``` src/ widgets/ - MyApp/index.js + custom/index.jsx ``` -When connecting to a local development server, you can specify the "widget" query parameter within your browser to switch between widgets (e.g. `http://localhost:5000/?widget=MyApp`). +Run `yarn dev` to start a development server. ### Query Parameters @@ -35,14 +34,9 @@ Name | Description :--- | :---------- token | (Required) An authentication token to enable secure communication. The token will be automatically set by CNCjs. host | (Optional) Specifies the host to connect to. Defaults to an empty string. -widget | (Optional) Specifies a folder name under 'src/widgets'. Defaults to 'ReactApp'. ### Examples -#### React App - -There is a widget written with React, you can download it from the releases page: https://github.com/cncjs/cncjs-widget-boilerplate/releases - ![image](https://user-images.githubusercontent.com/447801/30728983-b866f4b6-9f8e-11e7-9a90-6b712344d270.png) ## Development diff --git a/assets/index.html b/assets/index.html deleted file mode 100644 index 28f801f..0000000 --- a/assets/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - -
- - -