Skip to content

Commit

Permalink
chore: update workflow (#58)
Browse files Browse the repository at this point in the history
* chore: workflow

* chore: use automatic token authentication
  • Loading branch information
nei1ee authored Jan 13, 2023
1 parent 5f053d9 commit 95983d9
Show file tree
Hide file tree
Showing 4 changed files with 145 additions and 2 deletions.
5 changes: 5 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,11 @@ jobs:
cache: pnpm
registry-url: 'https://registry.npmjs.org'

- run: npx changelogithub
continue-on-error: true
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}

- name: Install Dependencies
run: pnpm i

Expand Down
4 changes: 3 additions & 1 deletion README.Zh-CN.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# @uni-helper/vite-plugin-uni-pages

在 Vite 驱动的 uni-app 上使用基于文件的路由系统
在 Vite 驱动的 uni-app 上使用基于文件的路由系统。

<a href="https://www.npmjs.com/package/@uni-helper/vite-plugin-uni-pages"><img src="https://img.shields.io/npm/v/@uni-helper/vite-plugin-uni-pages" alt="NPM version"></a></p>

[English](./README.md) | 简体中文

Expand Down
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# @uni-helper/vite-plugin-uni-pages

File system-based routing for uni-app applications using Vite
File system-based routing for uni-app applications using Vite.

<a href="https://www.npmjs.com/package/@uni-helper/vite-plugin-uni-pages"><img src="https://img.shields.io/npm/v/@uni-helper/vite-plugin-uni-pages" alt="NPM version"></a></p>

English | [简体中文](./README.Zh-CN.md)

Expand Down
134 changes: 134 additions & 0 deletions packages/core/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
# @uni-helper/vite-plugin-uni-pages

File system-based routing for uni-app applications using Vite.

<a href="https://www.npmjs.com/package/@uni-helper/vite-plugin-uni-pages"><img src="https://img.shields.io/npm/v/@uni-helper/vite-plugin-uni-pages" alt="NPM version"></a></p>

English | [简体中文](./README.Zh-CN.md)

## Installation

```bash
pnpm i -D @uni-helper/vite-plugin-uni-pages
```

## Usage

```ts
// vite.config.ts
import { defineConfig } from 'vite'
import Uni from '@dcloudio/vite-plugin-uni'
import UniPages from '@uni-helper/vite-plugin-uni-pages'
// It is recommended to put it in front of Uni
export default defineConfig({
plugins: [UniPages(), Uni()],
})
```

Define global properties in `pages.config.(ts|mts|cts|js|cjs|mjs|json)`, You can use like `#ifdef H5` in the file.

```ts
// pages.config.ts
import { defineUniPages } from '@uni-helper/vite-plugin-uni-pages'

export default defineUniPages({
// You can also define pages fields, which have the highest priority.priority.
pages: [],
globalStyle: {
navigationBarTextStyle: 'black',
navigationBarTitleText: '@uni-helper',
},
})
```

Now all pages will be found automatically!

### SFC custom block for Route Data

Add route meta to the route by adding a `<route>` block to the SFC. This will be
directly added to the route after it is generated, and will override it.

You can specific a parser to use using `<route lang="yaml">`, or set a default
parser using `routeBlockLang` option.

- **Supported parser:** JSON, JSON5, YAML
- **Default:** JSON5

```html
<!-- index.vue -->
<!-- use type to set index -->
<route type="home">
{
"style": { "navigationBarTitleText": "@uni-helper" }
}
</route>

<!-- other.vue -->
<route lang="yaml">
style:
navigationBarTitleText: "@uni-helper"
</route>
```

Import the virtual module to access the metadata of all pages

```ts
/// <reference types="@uni-helper/vite-plugin-uni-pages/client" />
import { pages } from 'virtual:uni-pages'
console.log(pages)
```

## Configuration

```ts
export interface Options {
/**
* Whether to scan and merge pages in pages.json
* @default true
*/
mergePages: boolean

/**
* Paths to the directory to search for page components.
* @default 'src/pages'
*/
dir: string

/**
* pages.json dir
* @default "src"
*/
outDir: string

/**
* exclude page
* @default []
*/
exclude: string[]

/**
* Set the default route block parser, or use `<route lang="xxx">` in SFC route block
* @default 'json5'
*/
routeBlockLang: 'json5' | 'json' | 'yaml' | 'yml'

onBeforeLoadUserConfig: (ctx: PageContext) => void
onAfterLoadUserConfig: (ctx: PageContext) => void
onBeforeScanPages: (ctx: PageContext) => void
onAfterScanPages: (ctx: PageContext) => void
onBeforeMergePageMetaData: (ctx: PageContext) => void
onAfterMergePageMetaData: (ctx: PageContext) => void
onBeforeWriteFile: (ctx: PageContext) => void
onAfterWriteFile: (ctx: PageContext) => void
}
```

## TODO

- [ ] only update the changed page
- [x] [vite-plugin-uni-middleware](https://github.com/uni-helper/vite-plugin-uni-middleware)
- [x] pages [type](./src/config/types.ts)

## Acknowledgement

- [vite-plugin-pages](https://github.com/hannoeru/vite-plugin-pages.git)

0 comments on commit 95983d9

Please sign in to comment.