Commit Graph

10 Commits

Author SHA1 Message Date
Guillaume Chau
7d635008ac refactor(ui): use reverse domain notation for ids 2018-06-21 16:41:38 +02:00
Guillaume Chau
e57e74926a feat(ui): pwa open vue config/manifest suggestions 2018-06-11 21:14:14 +02:00
Guillaume Chau
dbef5e9fed feat(ui): config improvements (#1487)
BREAKING CHANGES:

- The configuration API has changed.
- The `files` options now accept an object of different config files:

```js
api.describeConfig({
  /* ... */
  // All possible files for this config
  files: {
    // eslintrc.js
    eslint: {
      js: ['.eslintrc.js'],
      json: ['.eslintrc', '.eslintrc.json'],
      // Will read from `package.json`
      package: 'eslintConfig'
    },
    // vue.config.js
    vue: {
      js: ['vue.config.js']
    }
  },
})
```

- The `onWrite` api has changed: `setData` and `assignData` have now `fileId` as the first argument:

```js
api.describeConfig({
  onWrite: async ({ api, prompts }) => {
    const eslintData = {}
    const vueData = {}
    for (const prompt of prompts) {
      // eslintrc
      if (prompt.id.indexOf('vue/') === 0) {
        eslintData[`rules.${prompt.id}`] = await api.getAnswer(prompt.id, JSON.parse)
      } else {
        // vue.config.js
        vueData[prompt.id] = await api.getAnswer(prompt.id)
      }
    }
    api.setData('eslint', eslintData)
    api.setData('vue', vueData)
  }
})
```

Other changes

- Config tabs (optional):

```js
api.describeConfig({
  /* ... */
  onRead: ({ data, cwd }) => ({
    tabs: [
      {
        id: 'tab1',
        label: 'My tab',
        // Optional
        icon: 'application_settings',
        prompts: [
          // Prompt objects
        ]
      },
      {
        id: 'tab2',
        label: 'My other tab',
        prompts: [
          // Prompt objects
        ]
      }
    ]
  })
})
```
2018-06-10 14:01:45 +02:00
Guillaume Chau
1c8f1953e7 refactor(ui): Config & task icons (#1450)
BREAKING CHANGE:

- `file-icon` for the configurations is removed
- Configuration objects `icon` option changed and is now working differently: you can either use a material icon code or a custom image (see Public static files in the UI Plugin docs).
- Task objects have a new `icon` option wich works exactly the same
- By default, if no icon is provided for either the config or the task, the corresponding vue-cli plugin logo will be used instead (if any).
2018-06-05 10:58:00 +02:00
Guillaume Chau
27e66a87fd fix(ui): pwa config: manifest.json indentation 2018-05-24 18:16:24 +02:00
Guillaume Chau
69a817e2c3 fix(ui): more strings now localized 2018-05-11 22:19:15 +02:00
Guillaume Chau
3742e65355 feat(ui): prompt type 'color' 2018-05-11 13:38:54 +02:00
Guillaume Chau
3b7f292eb3 fix(ui): remove eslint disable comment 2018-05-02 17:02:07 +02:00
Guillaume Chau
b6928a305c fix(ui): App name prompt description 2018-04-30 19:06:47 +02:00
Guillaume Chau
2eac8ff52d feat(ui): PWA config + ESLint extra config 2018-04-30 19:03:21 +02:00