diff --git a/.eslintrc.js b/.eslintrc.js index d025472..3e93057 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,53 +1,63 @@ 'use strict'; module.exports = { - root: true, - parser: 'babel-eslint', - parserOptions: { - ecmaVersion: 2018, - sourceType: 'module', - ecmaFeatures: { - legacyDecorators: true, + root: true, + parser: 'babel-eslint', + parserOptions: { + ecmaVersion: 2018, + sourceType: 'module', + ecmaFeatures: { + legacyDecorators: true, + }, }, - }, - plugins: ['ember'], - extends: [ - 'eslint:recommended', - 'plugin:ember/recommended', - 'plugin:prettier/recommended', - ], - env: { - browser: true, - }, - rules: {}, - overrides: [ - // node files - { - files: [ - './.eslintrc.js', - './.prettierrc.js', - './.template-lintrc.js', - './ember-cli-build.js', - './index.js', - './testem.js', - './blueprints/*/index.js', - './config/**/*.js', - './tests/dummy/config/**/*.js', - ], - parserOptions: { - sourceType: 'script', - }, - env: { - browser: false, - node: true, - }, - plugins: ['node'], - extends: ['plugin:node/recommended'], + plugins: ['ember'], + extends: ['eslint:recommended', 'plugin:ember/recommended', 'plugin:prettier/recommended'], + env: { + browser: true, }, - { - // test files - files: ['tests/**/*-test.{js,ts}'], - extends: ['plugin:qunit/recommended'], + rules: { + 'ember/no-array-prototype-extensions': 'off', + 'ember/no-computed-properties-in-native-classes': 'off', + 'ember/no-controller-access-in-routes': 'off', + 'ember/no-empty-glimmer-component-classes': 'off', + 'ember/no-get': 'off', + 'ember/classic-decorator-no-classic-methods': 'off', + 'no-prototype-builtins': 'off', + 'node/no-unpublished-require': [ + 'error', + { + allowModules: ['resolve'], + }, + ], }, - ], + overrides: [ + // node files + { + files: [ + './.eslintrc.js', + './.prettierrc.js', + './.template-lintrc.js', + './ember-cli-build.js', + './index.js', + './testem.js', + './blueprints/*/index.js', + './config/**/*.js', + './tests/dummy/config/**/*.js', + ], + parserOptions: { + sourceType: 'script', + }, + env: { + browser: false, + node: true, + }, + plugins: ['node'], + extends: ['plugin:node/recommended'], + }, + { + // test files + files: ['tests/**/*-test.{js,ts}'], + extends: ['plugin:qunit/recommended'], + }, + ], }; diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7aceb85..5ed6768 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,79 +1,65 @@ -name: CI +name: Ember CI on: push: - branches: - - main - - master - pull_request: {} - -concurrency: - group: ci-${{ github.head_ref || github.ref }} - cancel-in-progress: true + branches: [ main ] + tags: + - 'v*' + pull_request: + branches: [ main ] jobs: - test: - name: "Tests" + build: runs-on: ubuntu-latest - timeout-minutes: 10 + + strategy: + matrix: + node-version: [16.x] # Build on Node.js 16 steps: - - uses: actions/checkout@v3 - - name: Install Node - uses: actions/setup-node@v3 - with: - node-version: 14.x - cache: yarn - - name: Install Dependencies - run: yarn install --frozen-lockfile - - name: Lint - run: yarn lint - - name: Run Tests - run: yarn test:ember + - uses: actions/checkout@v2 - floating: - name: "Floating Dependencies" - runs-on: ubuntu-latest - timeout-minutes: 10 + - name: Setup Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v2 + with: + node-version: ${{ matrix.node-version }} - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-node@v3 - with: - node-version: 14.x - cache: yarn - - name: Install Dependencies - run: yarn install --no-lockfile - - name: Run Tests - run: yarn test:ember + - name: Setup pnpm + uses: pnpm/action-setup@v2.0.1 + with: + version: latest - try-scenarios: - name: ${{ matrix.try-scenario }} - runs-on: ubuntu-latest - needs: "test" - timeout-minutes: 10 + - name: Install Dependencies + run: pnpm install - strategy: - fail-fast: false - matrix: - try-scenario: - - ember-lts-3.24 - - ember-lts-3.28 - - ember-release - - ember-beta - - ember-canary - - ember-classic - - embroider-safe - - embroider-optimized + - name: Build + run: pnpm run build + npm_publish: + needs: build + runs-on: ubuntu-latest + if: startsWith(github.ref, 'refs/tags/') steps: - - uses: actions/checkout@v3 - - name: Install Node - uses: actions/setup-node@v3 - with: - node-version: 14.x - cache: yarn - - name: Install Dependencies - run: yarn install --frozen-lockfile - - name: Run Tests - run: ./node_modules/.bin/ember try:one ${{ matrix.try-scenario }} + - uses: actions/checkout@v2 + + - name: Setup Node.js 16.x + uses: actions/setup-node@v2 + with: + node-version: 16.x + + - name: Setup pnpm + uses: pnpm/action-setup@v2.0.1 + with: + version: latest + + - name: Install Dependencies + run: pnpm install + + - name: Build + run: pnpm run build + + - name: Set up npm + run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_AUTH_TOKEN }}" > ~/.npmrc + + - name: Publish + run: npm publish --access public diff --git a/.template-lintrc.js b/.template-lintrc.js index f35f61c..c19bc29 100644 --- a/.template-lintrc.js +++ b/.template-lintrc.js @@ -1,5 +1,13 @@ 'use strict'; module.exports = { - extends: 'recommended', + extends: 'recommended', + rules: { + 'no-invalid-interactive': 'off', + 'no-yield-only': 'off', + 'no-down-event-binding': 'off', + 'table-groups': 'off', + 'link-href-attributes': 'off', + 'require-input-label': 'off', + }, }; diff --git a/addon/components/modals/group-details.hbs b/addon/components/modals/group-details.hbs new file mode 100644 index 0000000..4d6d53b --- /dev/null +++ b/addon/components/modals/group-details.hbs @@ -0,0 +1,41 @@ + + + \ No newline at end of file diff --git a/addon/components/modals/group-form.hbs b/addon/components/modals/group-form.hbs new file mode 100644 index 0000000..976a804 --- /dev/null +++ b/addon/components/modals/group-form.hbs @@ -0,0 +1,55 @@ + +