Skip to content

Commit

Permalink
Merge branch 'quasarframework:dev' into marvellous-bass
Browse files Browse the repository at this point in the history
  • Loading branch information
rotu authored Jan 19, 2024
2 parents 003c481 + 6512975 commit 6772f84
Show file tree
Hide file tree
Showing 111 changed files with 511 additions and 369 deletions.
5 changes: 3 additions & 2 deletions .github/workflows/project-creation-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ jobs:
lint:
if: >-
${{
github.event_name == 'workflow_dispatch' ||
github.event_name == 'pull_request' ||
startsWith(github.event.release.tag_name, 'quasar') ||
Expand All @@ -42,7 +43,7 @@ jobs:
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 16
node-version: 18
# create-quasar is not included in workspaces, and it's yarn.lock is .gitignored, so we can't have caching
# cache: 'yarn'

Expand All @@ -69,7 +70,7 @@ jobs:
matrix:
script-type: [js, ts]
app-engine: [vite, webpack]
node-version: [16, 18, 20]
node-version: [18, 20]
package-manager: [yarn, npm, pnpm]

name: Test ${{ matrix.script-type }}-${{ matrix.app-engine }} (Node v${{ matrix.node-version }} - ${{ matrix.package-manager }})
Expand Down
2 changes: 1 addition & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"eslint.workingDirectories": ["./docs", "./ui"],
"editor.tabSize": 2,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
"source.fixAll.eslint": "explicit"
},
"eslint.validate": ["javascript", "vue"],
}
34 changes: 18 additions & 16 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,31 +36,33 @@ We are updating this section constantly in order to keep you up to date with our
* 🚧 (WIP) Gradually add more automated tests to Quasar UI. **We're searching for contributors**, get in touch with the team on our [Discord server](https://chat.quasar.dev/) if you're willing to help!
* 🚧 (WIP) Gather feedback about new Quasar website. [Let us know what do you like and what not!](https://github.com/quasarframework/quasar/discussions/15168)

### Q1 2023
* Release new Quasar website
* Porting Quasar packages to ESM
* Support Vite 3 and 4 in `@quasar/app-vite` ([#14077](https://github.com/quasarframework/quasar/issues/14077)) (already supported via [workaround](https://github.com/quasarframework/quasar/issues/14077#issuecomment-1353213893))
* Publish official Quasar Organizational chart
* More triaging automation ([quasarframework/rfcs#10](https://github.com/quasarframework/rfcs/issues/10))
* Website update community survey

### Q2 2023
* Support Capacitor 4 and related bugfixes ([#14226](https://github.com/quasarframework/quasar/pull/14226))
* Add Quasar entry in [Vite ecosystem CI](https://github.com/vitejs/vite-ecosystem-ci)
* June 30th 2023 marks the end of life for Quasar v1. It will no longer receive updates. (postponed for the second time, previously reported EOL was 31th of December 2022)

### Q3 2023
### Q1 2024
* New `@quasar/app-vite` major version -- beta release
* New `@quasar/app-webpack` major version -- beta release

### Q4 2023
### Q2 2024
* CLI Auto-routing
* Release of the new major version of `@quasar/app-vite`
* Release of the new major version of `@quasar/app-webpack`
* CLI Auto-routing

### Q3 2024
* CLI SSG mode ([#2299](https://github.com/quasarframework/quasar/issues/2299)) ([community support](https://github.com/freddy38510/quasar-app-extension-ssg))

## Archive

### Q2-4 2023
* Support Capacitor 4 and related bugfixes ([#14226](https://github.com/quasarframework/quasar/pull/14226))
* Add Quasar entry in [Vite ecosystem CI](https://github.com/vitejs/vite-ecosystem-ci)
* June 30th 2023 marks the end of life for Quasar v1. It will no longer receive updates. (postponed for the second time, previously reported EOL was 31th of December 2022)

### Q1 2023
* Release new Quasar website
* Porting Quasar packages to ESM
* Support Vite 3 and 4 in `@quasar/app-vite` ([#14077](https://github.com/quasarframework/quasar/issues/14077)) (already supported via [workaround](https://github.com/quasarframework/quasar/issues/14077#issuecomment-1353213893))
* Publish official Quasar Organizational chart
* More triaging automation ([quasarframework/rfcs#10](https://github.com/quasarframework/rfcs/issues/10))
* Website update community survey

### Q4 2022
* ✌️ (DONE) New Quasar website [preview](https://new-docs.quasar.dev/) 🔥
* ✌️ (DONE) Refactor & enhance QPagination [#14609](https://github.com/quasarframework/quasar/pull/14609)
Expand Down
1 change: 0 additions & 1 deletion app-vite/lib/app-builder.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import { lstatSync } from 'node:fs'
import fse from 'fs-extra'
import { join, isAbsolute, basename, dirname } from 'node:path'
Expand Down
1 change: 0 additions & 1 deletion app-vite/lib/app-devserver.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import { AppTool } from './app-tool.js'
import { printDevRunningBanner } from './utils/banner.js'
import { encodeForDiff } from './utils/encode-for-diff.js'
Expand Down
1 change: 0 additions & 1 deletion app-vite/lib/app-extension/AppExtensionInstance.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import { join, relative, resolve, dirname } from 'node:path'
import { pathToFileURL } from 'node:url'
import fse from 'fs-extra'
Expand Down
1 change: 0 additions & 1 deletion app-vite/lib/cache/module.eslint.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import { existsSync } from 'node:fs'

import { getPackage } from '../utils/get-package.js'
Expand Down
1 change: 0 additions & 1 deletion app-vite/lib/cache/module.workboxBuild.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import { getPackage } from '../utils/get-package.js'

export async function createInstance ({ appPaths }) {
Expand Down
4 changes: 2 additions & 2 deletions app-vite/lib/cmd/dev.js
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ async function startVueDevtools (ctx, devtoolsPort) {
const { spawn } = await import('../utils/spawn.js')
const { getPackagePath } = await import('../utils/get-package-path.js')

let vueDevtoolsBin = getPackagePath('@vue/devtools/bin.js', appDir)
let vueDevtoolsBin = getPackagePath('.bin/vue-devtools', appDir)

function run () {
log('Booting up remote Vue Devtools...')
Expand Down Expand Up @@ -121,7 +121,7 @@ async function startVueDevtools (ctx, devtoolsPort) {
// a small delay is a must, otherwise require.resolve
// after a yarn/npm install will fail
return new Promise(resolve => {
vueDevtoolsBin = getPackagePath('@vue/devtools/bin.js', appDir)
vueDevtoolsBin = getPackagePath('.bin/vue-devtools', appDir)
run().then(resolve)
})
}
Expand Down
1 change: 0 additions & 1 deletion app-vite/lib/cmd/help.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import { readFileSync } from 'node:fs'

console.log(
Expand Down
1 change: 0 additions & 1 deletion app-vite/lib/config-tools.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import { quasar as quasarVitePlugin } from '@quasar/vite-plugin'
import vueVitePlugin from '@vitejs/plugin-vue'
import { merge } from 'webpack-merge'
Expand Down
1 change: 0 additions & 1 deletion app-vite/lib/entry-files-generator.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import { readFileSync } from 'node:fs'
import fse from 'fs-extra'
import compileTemplate from 'lodash/template.js'
Expand Down
1 change: 0 additions & 1 deletion app-vite/lib/modes/bex/bex-builder.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import { join } from 'node:path'
import fse from 'fs-extra'
import archiver from 'archiver'
Expand Down
1 change: 0 additions & 1 deletion app-vite/lib/modes/bex/bex-config.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import { join } from 'node:path'
import { readFileSync, writeFileSync } from 'node:fs'

Expand Down
1 change: 0 additions & 1 deletion app-vite/lib/modes/bex/bex-devserver.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import debounce from 'lodash/debounce.js'
import chokidar from 'chokidar'
import fse from 'fs-extra'
Expand Down
1 change: 0 additions & 1 deletion app-vite/lib/modes/bex/bex-installation.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import fs from 'node:fs'
import fse from 'fs-extra'
import inquirer from 'inquirer'
Expand Down
1 change: 0 additions & 1 deletion app-vite/lib/modes/bex/utils.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import fse from 'fs-extra'
import { join } from 'node:path'

Expand Down
1 change: 0 additions & 1 deletion app-vite/lib/modes/capacitor/capacitor-installation.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import fs from 'node:fs'
import fse from 'fs-extra'
import compileTemplate from 'lodash/template.js'
Expand Down
1 change: 0 additions & 1 deletion app-vite/lib/modes/cordova/cordova-builder.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import fse from 'fs-extra'
import { join } from 'node:path'

Expand Down
1 change: 0 additions & 1 deletion app-vite/lib/modes/cordova/cordova-installation.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import fs from 'node:fs'
import fse from 'fs-extra'
import inquirer from 'inquirer'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import { static as serveStatic } from 'express'

import { entryPointMarkup } from '../../utils/html-template.js'
Expand Down
1 change: 0 additions & 1 deletion app-vite/lib/modes/electron/electron-builder.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import { join } from 'node:path'
import { merge } from 'webpack-merge'

Expand Down
1 change: 0 additions & 1 deletion app-vite/lib/modes/pwa/pwa-builder.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import { writeFileSync } from 'node:fs'
import { join } from 'node:path'

Expand Down
1 change: 0 additions & 1 deletion app-vite/lib/modes/pwa/pwa-config.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import { join } from 'node:path'

import { escapeRegexString } from '../../utils/escape-regex-string.js'
Expand Down
1 change: 0 additions & 1 deletion app-vite/lib/modes/pwa/pwa-installation.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import fs from 'node:fs'
import fse from 'fs-extra'

Expand Down
1 change: 0 additions & 1 deletion app-vite/lib/modes/pwa/utils.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import { readFileSync } from 'node:fs'

import { progress } from '../../utils/logger.js'
Expand Down
1 change: 0 additions & 1 deletion app-vite/lib/modes/pwa/vite-plugin.pwa-resources.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import { static as serveStatic } from 'express'

import { createHeadTags } from './utils.js'
Expand Down
1 change: 0 additions & 1 deletion app-vite/lib/modes/spa/spa-builder.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import { AppBuilder } from '../../app-builder.js'
import { quasarSpaConfig } from './spa-config.js'

Expand Down
1 change: 0 additions & 1 deletion app-vite/lib/modes/spa/spa-config.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import { createViteConfig, extendViteConfig } from '../../config-tools.js'

export const quasarSpaConfig = {
Expand Down
1 change: 0 additions & 1 deletion app-vite/lib/modes/spa/spa-installation.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

// Nothing to do... installed by default

export function isModeInstalled () {
Expand Down
1 change: 0 additions & 1 deletion app-vite/lib/modes/ssr/ssr-config.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import { join } from 'node:path'
import { mergeConfig as mergeViteConfig } from 'vite'

Expand Down
1 change: 0 additions & 1 deletion app-vite/lib/modes/ssr/ssr-installation.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import fs from 'node:fs'
import fse from 'fs-extra'

Expand Down
1 change: 0 additions & 1 deletion app-vite/lib/plugins/esbuild.eslint.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import { normalizePath } from 'vite'
import { dim, underline, bold } from 'kolorist'

Expand Down
1 change: 0 additions & 1 deletion app-vite/lib/plugins/esbuild.inject-replacements.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import path from 'node:path'
import { pathToFileURL } from 'node:url'
import fse from 'fs-extra'
Expand Down
1 change: 0 additions & 1 deletion app-vite/lib/plugins/vite.eslint.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import { normalizePath } from 'vite'

import { warning, error, success } from '../utils/logger.js'
Expand Down
1 change: 0 additions & 1 deletion app-vite/lib/plugins/vite.index-html-transform.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import { transformHtml } from '../utils/html-template.js'

export function quasarViteIndexHtmlTransformPlugin (quasarConf) {
Expand Down
1 change: 1 addition & 0 deletions app-vite/lib/quasar-config-file.js
Original file line number Diff line number Diff line change
Expand Up @@ -725,6 +725,7 @@ export class QuasarConfigFile {
// vue
__VUE_OPTIONS_API__: cfg.build.vueOptionsAPI !== false,
__VUE_PROD_DEVTOOLS__: cfg.metaConf.debugging,
__VUE_PROD_HYDRATION_MISMATCH_DETAILS__: cfg.metaConf.debugging, // Vue 3.4+

// vue-i18n
__VUE_I18N_FULL_INSTALL__: true,
Expand Down
1 change: 0 additions & 1 deletion app-vite/lib/utils/cli-runtime.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import { fileURLToPath } from 'node:url'
import { join } from 'node:path'
import { readFileSync } from 'node:fs'
Expand Down
1 change: 0 additions & 1 deletion app-vite/lib/utils/encode-for-diff.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

export function encodeForDiff (obj) {
return JSON.stringify(obj, (_, value) => {
return typeof value === 'function'
Expand Down
1 change: 0 additions & 1 deletion app-vite/lib/utils/env.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import { existsSync, readFileSync } from 'node:fs'
import { join, isAbsolute } from 'node:path'
import { parse as dotEnvParse } from 'dotenv'
Expand Down
1 change: 0 additions & 1 deletion app-vite/lib/utils/escape-regex-string.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

/**
* Escape a string to then be supplied
* to new RegExp()
Expand Down
1 change: 0 additions & 1 deletion app-vite/lib/utils/get-api.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import fs from 'node:fs'
import path from 'node:path'
import { createRequire } from 'node:module'
Expand Down
1 change: 0 additions & 1 deletion app-vite/lib/utils/get-app-paths.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import { existsSync } from 'node:fs'
import { normalize, resolve, join, sep } from 'node:path'

Expand Down
1 change: 0 additions & 1 deletion app-vite/lib/utils/get-external-ip.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import inquirer from 'inquirer'

import { warn, fatal } from './logger.js'
Expand Down
1 change: 0 additions & 1 deletion app-vite/lib/utils/get-package-json.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import { readFileSync } from 'node:fs'

import { getPackagePath } from './get-package-path.js'
Expand Down
1 change: 0 additions & 1 deletion app-vite/lib/utils/get-package-path.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import { createRequire } from 'node:module'

const require = createRequire(import.meta.url)
Expand Down
1 change: 0 additions & 1 deletion app-vite/lib/utils/get-package.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import { readFileSync } from 'node:fs'
import { pathToFileURL } from 'node:url'

Expand Down
1 change: 0 additions & 1 deletion app-vite/lib/utils/get-pkg.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import { readFileSync } from 'node:fs'

import { getPackageJson } from '../utils/get-package-json.js'
Expand Down
1 change: 0 additions & 1 deletion app-vite/lib/utils/html-template.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import compileTemplate from 'lodash/template.js'
import { minify } from 'html-minifier'

Expand Down
1 change: 0 additions & 1 deletion app-vite/lib/utils/open-browser.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import open from 'open'

import { log, warn } from './logger.js'
Expand Down
1 change: 0 additions & 1 deletion app-vite/lib/utils/resolve-extension.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import { existsSync } from 'node:fs'

const extensions = [ '', '.js', '.ts', '.jsx', '.tsx' ]
Expand Down
2 changes: 1 addition & 1 deletion app-vite/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@quasar/app-vite",
"version": "2.0.0-alpha.44",
"version": "2.0.0-alpha.46",
"description": "Quasar Framework App CLI with Vite",
"bin": {
"quasar": "./bin/quasar.js"
Expand Down
4 changes: 2 additions & 2 deletions app-vite/types/configuration/build.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ interface BuildTargetOptions {
*/
browser?: string[];
/**
* @example 'node16'
* @example 'node20'
*/
node?: string;
}
Expand All @@ -72,7 +72,7 @@ interface QuasarStaticBuildConfiguration {
* @example
* {
* browser: ['es2019', 'edge88', 'firefox78', 'chrome87', 'safari13.1'],
* node: 'node16'
* node: 'node20'
* }
*/
target?: BuildTargetOptions;
Expand Down
4 changes: 2 additions & 2 deletions app-webpack/lib/cmd/dev.js
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ function startVueDevtools (ctx, devtoolsPort) {
const { spawn } = require('../utils/spawn.js')
const { getPackagePath } = require('../utils/get-package-path.js')

let vueDevtoolsBin = getPackagePath('@vue/devtools/bin.js', appDir)
let vueDevtoolsBin = getPackagePath('.bin/vue-devtools', appDir)

function run () {
log('Booting up remote Vue Devtools...')
Expand All @@ -121,7 +121,7 @@ function startVueDevtools (ctx, devtoolsPort) {
// a small delay is a must, otherwise require.resolve
// after a yarn/npm install will fail
return new Promise(resolve => {
vueDevtoolsBin = getPackagePath('@vue/devtools/bin.js', appDir)
vueDevtoolsBin = getPackagePath('.bin/vue-devtools', appDir)
run().then(resolve)
})
}
Expand Down
Loading

0 comments on commit 6772f84

Please sign in to comment.