Commit Graph

522 Commits

Author SHA1 Message Date
luhc228 2000774dfa chore: add AppData type (#692) 2022-11-15 19:04:00 +08:00
NK 8a60304b0b Fix/miniapp problems (#671)
* fix(miniapp): page load after getAppData

* docs(miniapp): update miniapp-runtime readme

* feat(miniapp): support turn off rpx2vw using enableRpx2Vw

* chore(miniapp): update example

* fix(miniapp): outputDir is wrong in command line

* fix(miniapp): no log in build command

* fix(miniapp): history type

* chore(miniapp): update example

* feat(miniapp): support enableCache to disable cache in miniapp task

* fix(miniapp): throw error if no getConfig function in page component

* feat(miniapp): add params to specify getData and getConfig

* fix(miniapp): getData/getAppData existence situation

* feat(miniapp): normalize route in history

* fix: lint warning

* feat(miniapp): align Link to props and history.push props

* docs(miniapp): add more articles

* feat(miniapp): support nativeConfig in plugin-miniapp

* feat(miniapp): rename getConfig to pageConfig

* feat(miniapp): rename getData to dataLoader

* fix: lint warning

* docs: fix broken links

* docs(miniapp): update miniapp location and relative links

* Update start.md

Co-authored-by: ZeroLing <i@zeroling.com>
2022-11-15 16:31:24 +08:00
水澜 6ce0835d9b refactor: app data loader (#689)
* refactor: getAppData to dataLoader

* refactor: merge data loader logic in one file

* fix: comments
2022-11-15 16:31:09 +08:00
染陌同学 36475937e8 Feat/define data loader (#643)
* feat: modify dataLoader

* feat: add type

* feat: add DataLoaderConfig

* feat: modify getData to defineDataLoader

* chore: remove defineDataLoader

* fix: fetcher shoule return promise

* fix: loader may be undefined

* fix: err loader config

* chore: modify example of pha

* feat: modify getData

* chore: modify type and mofiy options of init

* feat: modify fetcher to dataLoaderFetcher and add dataLoaderImport to entry

* chore: modify defaultDataLoaderFetcher

* chore: load data by route id

* feat: modify serverDataLoader and staticDataLoader

* feat: add fetcher when route change

* fix: deal with window undefined

* chore: modify type

* feat: try get data from cache

* feat: support useData

* feat: add defineStaticDataLoader and defineServerDataLoader

* chore: modify getData of example

* fix: should load data

* fix: fix ssg err

* fix: fix dataloader for ssg

* test: modify env of test

* fix: shoule clear cache when route changed

* fix: fix renderMode and add defult remder mode

* fix: add window

* test: add jsdom

* test: modify getData to dataLoader

* test: modify test of clientApp

* test: clear window after each test

* test: remove only

* test: remove only

* chore: modify appear

* fix: Try get data from cache when CSR

* chore: update lock

* chore: remove unused

* refactor: data loader (#685)

* refactor: set global fetcher

* refactor: set global fetcher

* fix: should not build react in data loader

* fix: test

* test: modify test

Co-authored-by: 水澜 <shuilan.cj@taobao.com>
Co-authored-by: ZeroLing <i@zeroling.com>
2022-11-15 10:33:11 +08:00
ClarkXia f9a3829e63 fix: rename getConfig as pageConfig (#684)
* fix: rename getConfig as pageConfig

* chore: optimize code

* fix: type

* fix: optimzie code
2022-11-15 10:33:11 +08:00
ZeroLing d2c7e0696d chore: optimize (#676)
* chore: optimize with rax-compat docs

* refactor: add mock express types dependency

* refactor: change usage for definePageConfig

* chore: change docs

* docs: ICE to ice.js

* fix: templorary remove the type

* chore: handle with lint problems

* fix: lock file
2022-11-15 10:33:11 +08:00
ZeroLing 2d0a38ba9e Docs/add request (#670)
* chore: close announcement

* docs: add doc for request

* docs: rename title for request

* docs: add.tsx

* docs: request doc

* refactor: change request to requestConfig

* chore: change usage and documentation

* docs: optimize doc

* docs: update
2022-11-15 10:33:11 +08:00
水澜 413c6edfb5 docs: nested routes (#679)
* docs: nested routes

* docs: add example

* chore: update lock

* docs: custom route path

* fix: use max width

* fix: add file path

* revert: to width

* fix: duplicate text

* fix: description

* fix: rename

* fix: file path

Co-authored-by: ClarkXia <xiawenwu41@gmail.com>
2022-11-15 10:33:11 +08:00
水澜 80e6c059a4 docs: data loader (#667)
* refactor: data loader docs

* refactor: request.md

* refactor: img

* fix: incoherent sentence

* refactor: request to data loader

* refactor: app data loader docs

* chore: demo for data loader

* docs: multi data loader

* docs: data loader

* fix: remove dead code

* fix: video

* fix: video

* fix: height

* chore: update lock

* fix: use gif replace video

* fix: img width

* fix: link

* feat: add demo

* refactor: demo path

* fix: description

* docs: add return value type

* refactor: flow chart

* fix: link

* fix: flow chart

Co-authored-by: ClarkXia <xiawenwu41@gmail.com>
2022-11-15 10:33:11 +08:00
ZeroLing c1b773e74a Docs/jsx plus (#672)
* chore: rename with-plugin-request to with-request

* docs: add jsx plus documentation
2022-11-15 10:33:11 +08:00
ClarkXia f0e3d570e2 feat: support query loader of raw and url (#674) 2022-11-15 10:33:11 +08:00
ClarkXia 6c34133040 fix: add process support for undefined env variables (#668) 2022-11-15 10:33:11 +08:00
luhc228 af24b565a1 feat: support postcss user config (#626)
* feat: support postcss in userConfig

* feat: support postcss.config.js

* docs: optimize config

* docs: postcss

* feat: add tailwindcss example

* chore: export postcss

* docs: update postcss

* docs: update browsers desc
2022-11-15 10:33:11 +08:00
luhc228 e88c291ad1 fix: useAuth error (#661)
* chore: example

* chore: with-auth example

* docs: update auth

* test: add with-auth test

* chore: format

* fix: lock
2022-11-15 10:33:11 +08:00
NK 5ec2523e01 feat(miniapp): add miniapp html styles package (#555) 2022-11-15 10:33:11 +08:00
水澜 3a672c387e fix: request in data loader (#662)
* fix: support request in data loader

* fix: type

* fix: type

* fix: ts error

* fix: type

* feat: support config exports in plugin

* fix: filter static modules

* refactor: rename
2022-11-15 10:33:11 +08:00
luhc228 1b38b5eb43 refactor: app provider (#644)
* refactor: app Provider

* feat: add example

* fix: example warning

* fix: AppProvider to AppRuntimeProvider

* feat: miniapp AppRuntimeProvider

* fix: miniapp provider order

* chore: remove type
2022-11-15 10:33:11 +08:00
luhc228 d9ff53302b fix: plugin-store will transform image (#639)
* fix: plugin-store will transform image

* feat: use regexp to filter module id
2022-11-15 10:33:10 +08:00
luhc228 1c8815fdad feat: web-worker example (#627)
* docs: refactor assets

* feat: web-worker example
2022-11-15 10:33:08 +08:00
ClarkXia 3c5866e533 feat: support static runtime (#609)
* feat: support static runtime

* fix: optimize code

* fix: optimize code

* fix: update app data

* fix: optimize code and add test case
2022-11-15 10:32:49 +08:00
ClarkXia 5b61d8acbd feat: support route config type (#595)
* feat: support route config type

* fix: type

* fix: optimize code
2022-11-15 10:32:49 +08:00
luhc228 2e57000afc feat: keep-alive (#556)
* feat: init keep-alive plugin

* chore: update lock

* feat: add api

* chore: remove plugin

* chore: not modify code

* fix: lock

* feat: support keep-alive

* chore: lock

* chore: update component name

* chore: add ref

* chore: import name

* docs: keep-alive

* chore: line break

* chore: remove unstable prefix
2022-11-15 10:32:49 +08:00
ClarkXia 3be3f6ab5c refactor: miniapp runtime (#597) 2022-11-15 10:32:48 +08:00
luhc228 7fe93e3503 feat: ClientOnly component (#542)
* feat: BrowserOnly Component

* docs: BrowserOnly component docs

* docs: optimize

* feat: export useIsBrowser Hook

* feat: useIsBrowser example

* docs: useIsBrowser

* docs: typo

* chore: clientOnly

* feat: ClientOnly and useMounted

* feat: add ClientOnly test

* docs: update docs

* feat: use hooks instead of Context

* chore: import name
2022-11-15 10:32:48 +08:00
luhc228 3f54369bff feat: store initialStates (#435)
* feat: store initialStates

* chore: update README

* chore: add file comment

* chore: rename type

* fix: peer dependencies

* fix: defineStoreConfig not found

* feat: support get the appData

* fix: test case

* fix: lock
2022-11-15 10:32:48 +08:00
luhc228 bcbf6b5804 feat: support runtime relative path (#537)
* feat: support runtime relative path

* chore: line break

* fix: not compatible with relative path

* feat: support absolute path

* docs: update plugin-dev

* docs: optimize config

* refactor: runtime staticRuntime and name

* fix: type

* chore: remove file path exists check
2022-11-15 10:32:43 +08:00
ClarkXia 69bc9dca08 Refactor: plugin for develop miniapp (#582)
* refactor: add plugin for miniapp development

* fix: format plugin

* fix: update build-scripts

* fix: generator api
2022-11-15 10:32:43 +08:00
ClarkXia 16b82337b2 fix: ignore with non-absoulte path (#566) 2022-11-15 10:32:43 +08:00
水澜 114373633f feat: build routes config for document render (#552)
* feat: render document by routes config

* test: downgrade to csr

* chore: rename

* refactor: load route modules after only in ssr

* fix: pha test

* fix: compat with no routes config

* fix: ensure routes config before build

* fix: test case

* fix: test timeout

* fix: cache in test case

* refactor: check routes config before server compiler

* refactor: allways generate routes config

* chore: remove dead code

* fix: reset status when init config
2022-11-15 10:32:43 +08:00
luhc228 25583ffb55 feat: enhance framework types (#545)
* feat: enhance inner types

* chore: revert type
2022-11-15 10:32:43 +08:00
NK 3e031c477b feat: miniapp (#333)
* feat(miniapp): use platform in cli to generate miniapp code

* fix: lint error

* feat(miniapp): add miniapp project

* chore: revert example code

* chore: optimize code

* feat(miniapp): migrate some packages to ice

* feat(miniapp): update swcOptions for miniapp

* chore(example): add more pages

* feat(miniapp): add miniapp runClientApp

* feat(miniapp): update compile config for miniapp

* feat(miniapp): support get app and routes config in compile

* fix(miniapp): lint warning

* feat(miniapp): support routeData/routeConfig and reduce size

* fix: lint warning

* fix: lint warning

* feat(miniapp): support global css and page css

* feat(miniapp): support css modules

* feat(miniapp): support copying assets in public dir

* feat(miniapp): support Link and getSearchParams

* feat(miniapp): use index.ts.ejs as template

* feat(miniapp): support passing params in Link

* feat(miniapp): support history in miniapp

* fix(miniapp): build without compiling server bundle

* fix(miniapp): use getRoutesConfig

* feat(miniapp): support build options like outputDir

* chore(miniapp): update miniapp examples

* feat(miniapp): support html tags

* feat(miniapp): remove taro related code

* fix(miniapp): some cases

* fix(miniapp): use require.resolve to get page loader

* chore(miniapp): update lock

* fix(miniapp): page loader check this name

* chore(miniapp): add devDependencies

* chore: update index ejs template

* refactor(miniapp): update multiple platforms logic in ice

* chore: lock regenerator-runtime version

* chore(miniapp): add ali miniapp build command

* fix(ice): set default value of platform to web

* fix(runtime): remove duplicated denpdencies

* chore: set default value of platform to web

* feat(miniapp): registerSerialization when plugin activated

* test(miniapp): suit for vitest

* chore(miniapp): add webpack-sources to bundles

* chore: clean code

* chore(miniapp): remove jest config file

* fix: lint error

* fix: add default value of outputDir

* refactor(miniapp): remove openBrowser from logMessage

* chore(miniapp): remove unnecessary ts-ignore

* fix: type error

* chore(miniapp): rename Adapter to adapter

* chore(miniapp): update interface name

* refactor: use plugins to support miniapp

* chore(miniapp): update example name

* fix: update dependencies

* feat(miniapp): add platform check in cli

* chore: update lock

* fix: remove useless platform option

* fix: lint warning

* fix: lint warning

* test: use src code in tests

* chore(miniapp): remove ||= operators

* fix(miniapp): exclude miniapp-runtime esm code

* fix(ice-cli): update platform for build command
2022-11-15 10:32:43 +08:00
水澜 99d7f37fc5 refactor: generate data-loader only by getData (#514)
* refactor: generate data-loader only by getData

* feat: support config dataloader

* test: disable data-loader

* chore: rename

* docs: data loader

* chore: update lock
2022-11-15 10:32:43 +08:00
ZeroLing 86b234162d feat: plugin jsx plus (#529)
* feat: create plugin jsx plus

* feat: add jsx plus plugin

* chore: dismiss all lint problems

* feat: add include and exclude

* docs: update docs of jsx plus

* fix: in case of auto lint fix

* fix: lint problem

* fix: compatible with node 14

* chore: update version

* chore: update pnpm lock

* fix: dev dep
2022-11-15 10:32:39 +08:00
ClarkXia 0e7735c358 feat: support initialize auth by app data (#519) 2022-11-15 10:32:39 +08:00
luhc228 8e13b5d68b feat: test (#512)
* feat: init jest test

* feat: support vitest

* chore: jest version

* feat: jest component test

* feat: vitest demo

* chore: add @vitest/coverage-c8 dep

* fix: lint

* docs: test

* chore: add comment

* fix: not depend on the vitest as dependencies

* chore: vitest version

* chore: version

* chore: version

* chore: lock

* fix: lock

* chore: vitest version

* fix: lock

* docs: typo

* docs: file extname
2022-11-15 10:32:34 +08:00
染陌同学 99fc777c68 Feat/support appear (#517)
* feat: support appear component

* chore: modify version

* fix: should disappear

* chore: export VisibilityChangeEvent

* feat: rax-compat use @ice/appear

* feat: need not give childref

* chore: update lock

* chore: update README and package

* chore: update README

* test: add test for appear

* chore: update lock
2022-11-15 10:31:38 +08:00
水澜 990f7aa552 feat: support inline style for ssr (#518)
* feat: inline style for less

* feat: classname to style

* feat: esbuild inline style

* feat: transform styles

* fix: compat for less module

* fix: less rule

* feat: ignore

* docs: ignore

* refactor: to ts

* test: inline-style

* chore: update lock

* fix: deps

* refactor: enable esbuild inline style loader only in ssr

* fix: validate for ignore plugins

* refactor: to pure functions

* feat: sync syntaxFeatures

* fix: lint

* Update rax-inline-style.test.ts
2022-11-15 10:31:35 +08:00
luhc228 e7424d4cb9 chore: change disableResetPageState to resetPageState (#505)
* chore: change disableResetPageState to resetPageState

* chore: add resetPageState
2022-11-15 10:31:14 +08:00
luhc228 bed716fb74 feat: plugin-css-assets-local (#520)
* feat: init plugin

* feat: add plugin to example

* fix: lock

* docs: README

* docs: css-assets-local

* fix: typo
2022-11-15 10:31:09 +08:00
ClarkXia ad531405a8 test: improve test case (#497)
* test: improve test case

* test: compat win32

* test: test case

* test: add test case

* test: add test case

* test: test case for rax-compat

* test: test case for routes

* fix: types error

* fix: to strict equal

* chore: remove unused props

* fix: types

* test: test case for run client app

* chore: remove empty router

* test: test case of run server app

* chore: remove log

* chore: do not remove file by test case

* fix: remove document dependency when run client app

* chore: lint

* chore: remove config

* fix: lint

* chore: lint warning

* fix: test case

* chore: update unplugin
2022-11-15 10:30:52 +08:00
ClarkXia c0c342d5d5 feat: enhance transform plugins (#502) 2022-11-15 10:30:37 +08:00
ZeroLing ec42015d34 Plugin/request (#439)
* feat: introduce useRequest

* chore: add some description

* fix: export statment for generator

* fix: make @ice/types dev dep

* fix: remove I prefix for interface

* fix: lint

* fix: update pnpm

* feat: add use case for app config

* fix: using export request config

* fix: review for code

* fix: dev dependency
2022-11-15 10:30:37 +08:00
luhc228 41aee63512 feat: add splitChunks to userConfig (#454)
* feat: add splitChunks to userConfig

* docs: splitChunks

* test: splitChunks test case

* fix: splitChunk test case
2022-11-15 10:27:46 +08:00
luhc228 47738dca66 fix: rax project ssr failed (#467)
* fix: prebundle alias

* fix: rax multiple version

* fix: test case

* chore: rename param
2022-11-15 10:27:46 +08:00
ClarkXia 11a58ed9ae fix: compatible with win32 system (#477)
* fix: compatible with win32

* fix: lint

* chore: optimize code

* fix: test case

* fix: build-scripts version

* chore: update version

* chore: update lock file

* feat: add test case of win

* fix: node matrix

* fix: format path

* fix: win32 compatible

* fix: format path
2022-11-15 10:27:42 +08:00
ClarkXia aa248063ef feat: support optimize router (#456)
* feat: support optimize router

* feat: export useNavigate

* chore: remove useless code
2022-11-15 10:27:18 +08:00
ClarkXia 0345af7202 chore: remove useless devDependencies (#464) 2022-11-15 10:27:18 +08:00
ClarkXia 26a204945a fix: import css from node_modules (#482) 2022-11-15 10:27:18 +08:00
ClarkXia 2dbe97a76f fix: lock regenerate-runtime path (#462) 2022-11-15 10:27:18 +08:00
ClarkXia c66f3c2e0a feat: support import history from ice (#458)
* feat: support import history from ice

* fix: test case
2022-11-15 10:27:18 +08:00
luhc228 5acb8efcd6 feat: export createStore and createModel api from ice (#445) 2022-11-15 10:27:18 +08:00
ClarkXia 8f7d0786fa feat: plugin moment locales (#425)
* feat: plugin moment locales

* chore: publish config

* chore: readme
2022-11-15 10:25:00 +08:00
ClarkXia e78d719425 fix: get default value form routes config (#434) 2022-11-15 10:23:01 +08:00
luhc228 2ca66f5857 feat: store plugin (#431)
* feat: app store

* chore: store example

* chore: lock

* feat: init page store

* feat: update page store

* fix: disable reset page state

* feat: createModel

* test: with-store test

* fix: comment

* chore: lock
2022-11-15 10:23:01 +08:00
ClarkXia 301a467fdd feat: plugin fusion (#424)
* feat: plugin fusion

* feat: plugin fusion

* chore: publish config
2022-11-15 10:22:57 +08:00
luhc228 304c2aa112 fix: peer depenencies warning (#420)
* fix: peer depenencies warning

* chore: update pkg plugin to latest version

* chore: remove typescript package
2022-11-15 10:22:38 +08:00
luhc228 be13ee9dd8 fix: hash router preview (#393)
* feat: init example

* fix: can not render component

* chore: lock

* feat: test case

* fix: comment

* fix: test error

* fix: test case

* fix: not use the correct location in hash router

* chore: remove appConfig param

* chore: remove AppConfig type
2022-11-15 10:20:02 +08:00
ClarkXia 9a3cde783d feat: plugin antd (#421)
* feat: plugin antd

* chore: demo

* chore: update lock

* chore: remove log

* feat: support import style

* fix: compile error

* chore: optimize dependencies
2022-11-15 10:19:56 +08:00
水澜 00f75371ed feat: getAppData (#375)
* feat: getAppData

* fix: remove dead code

* fix: should remove default export for app entry too

* docs: app data
2022-11-15 10:15:12 +08:00
ClarkXia 7661e2967f fix: merge swc options for sever compiler (#382)
* fix: merge swc options for sever compiler

* fix: create new object

* fix: lock @swc/core version

* chore: update lock

* fix: compile options
2022-11-15 10:15:08 +08:00
ClarkXia dca51484c2 feat: support syntax feature by user config (#376)
* feat: support sytax feature by user config

* docs: add syntaxFeatures docs

* fix: remove sourcemap of esbuild use swc soucemap instead

* fix: default value of swc options

* fix: merge config
2022-11-15 10:14:38 +08:00
luhc228 ac8880db86 fix: plugin ts type (#356)
* fix: plugin ts type

* chore: comment from Chinese to English
2022-11-15 10:14:30 +08:00
水澜 1d1bb89778 refactor: swc plugin (#346)
* fix: basename in faas

* fix: if basename not exist

* refactor: swc plugin

* fix: deps

* fix: plugin path

* fix: swc plugin path

* fix: lock file

* fix: conflict

* fix: transform jsx by default

* feat: const modules

* fix: lock file

* feat: keep platform

* fix: uppercase first letter

* chore: comment for swc config

* revert: prebunlde

* revert: regenerator config

* chore: map from swc is string

* fix: beta version

* test: keep platform
2022-11-15 10:13:53 +08:00
ClarkXia f803a17191 fix: document is not found when generate pha manifest (#360)
* fix: document is not found when generate pha manifest

* chore: fix test case
2022-11-15 10:13:31 +08:00
ClarkXia 48603cdf8f feat: support swc options for plugin-rax-compat and onappear on rax-compat (#349)
* feat: support swc options for plugin-rax-compat

* chore: example

* test: fix test case

* test: fix test case

* test: fix test case

* fix: outputdir

* fix: onappear for no ref cases

* fix: merge options

* fix: appear polyfill

* chore: remove appear polyfill dependency

* fix: add swc helpers

* fix: onappear on rax-compat

* refactor: format code and not to use react.frowardRef

Co-authored-by: ZeroLing <zhuoling.lcl@alibaba-inc.com>
2022-11-14 19:55:00 +08:00
luhc228 4bf28c6bb5 feat: optimize server compile (#334)
* feat: support compile server bundle after the webpack compile end

* feat: support watch appConfig

* chore: update .ice to RUNTIME_TMP_DIR

* chore: optimize code

* chore: remove build condition

* chore: remove SERVER_OUTPUT

* chore: remove compileMiddleware

* chore: comment

* fix: outputDir

* fix: comment

* chore: add preBundle option

* feat: pass serverCompileTask to plugin

* fix: get serverCompileTask from extendsPluginAPI
2022-11-14 19:53:48 +08:00
ClarkXia 5cc7dc6c2b feat: config transform (#339)
* feat: add transform

* fix: config transform

* docs: config transform
2022-11-14 19:53:32 +08:00
luhc228 9553a2209a feat: support global style (#237)
* feat: support global style

* fix: global style path

* feat: watch global style

* fix: comment
2022-11-14 19:53:32 +08:00
ClarkXia 7d6c987b21 feat: pha (#337)
* feat: scaffold of pha plugin

* feat: scaffold of plugin pha

* feat: pha

* feat: manifest type

* feat: add types

* feat: add test case

* fix: optimize code and test case

* feat: add example of pha

* chore: remove yml file

* chore: bump dependencies version

* feat: pha plugin

* test: add test case

* chore: update lock file

* chore: update lock file

* chore: rename option

* fix: get multipile manifest

* chore: optimize code

* fix: add url prefix

* feat: compile appConfig for start command

* feat: optimize code

* chore: optimize document

* fix: add customDataSource

* feat: remove top level code

* fix: remove code

* fix: optimize code

* fix: optimize code

* fix: plugin

* fix: plugin order

* fix: pha

* feat: add test case

* fix: files

* fix: lint

* fix: url public for dev

* fix: jsx transform in build

* fix: fallback value

* fix: basename

* fix: minify code

* fix: basename

* fix: basename

* chore: remove log

* fix: generate pha manifest

* fix: path for page item

* fix: route id

* chore: optimize test case

* fix: default basename

* fix: split chart

* fix: regex for url

* fix: default basename

* feat: support full path

* fix: default value of url

* chore: optimize code

* chore: comments

* fix: remove exports

* chore: readme
2022-11-14 19:51:45 +08:00
ClarkXia 7bd95ad70d Revert "feat: plugin for PHA" (#336) 2022-11-14 19:51:16 +08:00
ClarkXia 76042d963f chore: remove log 2022-11-14 19:48:42 +08:00
水澜 0152f33742 feat: get server data (#288)
* fix: lint

* feat: getStatiData getServerData

* refactor: distinguish static env

* test: get static data

* fix: ssr runtime env

* fix: ssr runtime env

* fix: fliter ssr runtime env

* fix: routes data may be null

* fix: return empty object if getStaticData not exists

* fix: throw error when generate html

* fix: env order

* refactor: env name

* refactor: ssg option

* refactor: get hydrate info by userConfig

* fix: lint

* fix: lint

* fix: lint

* refactor: static generation to render mode

* refactor: reset ssr env in runtime

* refactor: isCSR to csr

* fix: type
2022-11-14 19:48:13 +08:00
ClarkXia f3fc4c702f fix: type of ice plugin (#302)
* fix: standard for ice plugin

* feat: force mts config
2022-11-14 19:46:53 +08:00
ClarkXia 842ffeaac9 feat: remove top level code 2022-11-14 19:46:13 +08:00
ClarkXia 051cf93015 chore: optimize document 2022-11-14 19:44:04 +08:00
ClarkXia 57d4b714b0 fix: get multipile manifest 2022-11-14 19:43:16 +08:00
luhc228 50be6fa47b Feat: defineAppConfig (#265)
* feat: defineAppConfig

* feat: watch

* feat: add defineAuthConfig

* chore: remove NodeNext

* chore: ts-expect-error

* feat: add ./*

* chore: add ts-expect-error

* fix: types error

* chore: declare runtime module

* chore: types

* fix: types

* refactor: types path

* fix: export path
2022-11-14 19:41:27 +08:00
ClarkXia cc5817938b feat: pha plugin 2022-11-14 19:25:38 +08:00
ClarkXia 16b88d947c chore: bump dependencies version 2022-11-14 19:25:24 +08:00
ClarkXia d4f12f44a9 feat: add example of pha 2022-11-14 19:24:26 +08:00
ClarkXia d4cd31000e feat: manifest type 2022-11-14 19:23:02 +08:00
水澜 2eac971c1b feat: data loader shaking (#246)
* fix: lint

* feat: apply swc transform to esbuild

* chore: updata lock file

* refactor: rename params

* fix: types

* fix: add data loader to entry

* fix: add data loader after runtime

* feat: support config exports for ssr

* fix: conflict

* chore: remove debug info

* fix: transform page entry only

* fix: file extension

* fix: file extension

* revert: document

* fix: side effects

* feat: filter pages without getData

* feat: bundle optimization in dev mod

* refactor: side effects is not needed

* refactor: pass swc options to server compiler

* chore: comment

* refactor: runtime chunk is no more needed

* refactor: render data loader according to manifest

* test: data-loader

* chore: rename

* refactor: jsxTransform

* chore: update swc plugin version

* chore: update lock file

* fix: add jsx dev runtime

* chore: update swc plugin version

Co-authored-by: ZeroLing <zhuoling.lcl@alibaba-inc.com>
2022-11-14 19:22:57 +08:00
ZeroLing 723e0718e0 fix: test cases 2022-11-14 19:21:29 +08:00
ZeroLing 82d5ba6605 fix: remove swc helper 2022-11-14 19:21:15 +08:00
ZeroLing b727c4ded6 chore: move to @ice/runtime/jsx-runtime 2022-11-14 19:20:46 +08:00
luhc228 48e80d9796 feat: support bundle cjs deps (#250)
* feat: support bundle cjs deps

* refactor: remove esbuild plugin

* chore: delete cache

* chore: log

* chore: defineConfig

* fix: comment

* chore: type

* fix: ICE_CORE_SSG

* chore: remove unless set.add
2022-11-14 19:19:50 +08:00
ClarkXia ecf09cf763 feat: appExport 2022-11-14 19:18:41 +08:00
ClarkXia 0c88d42025 chore: remove useAppData 2022-11-14 19:17:54 +08:00
ClarkXia 91b87a15a4 fix: enable jsx syntax in .js file for default (#247) 2022-11-14 19:17:54 +08:00
ZeroLing cd96b3fcb9 chore: restore sample project 2022-11-14 19:17:54 +08:00
ZeroLing 2d15e80f47 refactor: support unit for project 2022-11-14 19:17:53 +08:00
ZeroLing a4fc59055f feat: add style compat 2022-11-14 19:17:53 +08:00
ZeroLing b4fa9e86e4 chore: optimize code style 2022-11-14 19:17:53 +08:00
ZeroLing 68fdcf8bc0 feat: impl onAppear and onDisappear 2022-11-14 19:17:53 +08:00
ZeroLing 8aa8764d06 feat: add dependency 2022-11-14 19:17:53 +08:00
ClarkXia 95cf70d639 chore: add plugin rax compat 2022-11-14 19:17:27 +08:00
ClarkXia b10b336514 Refactor service (#159)
* feat: refactor service

* fix: functional plugin

* fix: getCompilerPlugins

* feat: add log

* fix: refactor webpack compiler

* chore: update lock

* fix: remove useless code

* fix: config type

* chore: rename folder

* chore: optimize code

* fix: mock

* fix: ssr render

* fix: types

* chore: unused vars
2022-11-14 19:17:27 +08:00
ClarkXia 070e707944 feat: serve static assets (#164)
* feat: server static assets

* chore: update lock

* fix: dev server

* chore: remove log

* fix: middleware order

* chore: lock file

* chore: types

* chore: types
2022-11-14 19:17:25 +08:00
luhc228 6480a214b9 feat: add rpx2vw postcss plugin (#193) 2022-11-14 19:17:25 +08:00
luhc228 19b00c1276 feat: mock (#161)
* feat: support get mock data

* feat: middleware

* feat: support watch mock dir file change

* chore: lock

* fix: mock

* chore: lint

* feat: put mock middleware to first

* feat: support mock exclude

* fix: app.addProvider not be added (#190)

* feat: app.addProvider not be executed

* fix: still excute when error

* chore: skip test
2022-11-14 19:17:25 +08:00
luhc228 f510bf65cc fix: fs/promises module not found in node12 (#186)
* chore: fs/promises not works in node12

* chore: use fse instead fs

* fix: build error in pnpm v7
2022-11-14 19:17:22 +08:00
水澜 27599db870 refactor: getAppData (#183)
* feat: data loader

* refactor: put load logic to runtime

* feat: pass matched ids

* refactor: reuse initial context

* feat: generate loader template

* fix: name with slash

* fix: name with slash

* feat: throw error

* feat: preload app data

* refactor: initail context to request context

* chore: add comment

* chore: add comment

* fix: type

* fix: merge conflict

* refactor: get app data

* fix: conflict

* fix: csr app data

Co-authored-by: luhc228 <luhengchang228@126.com>
2022-11-14 19:17:10 +08:00
水澜 5af5199972 feat: preload data (#158)
* feat: data loader

* refactor: put load logic to runtime

* feat: pass matched ids

* refactor: reuse initial context

* feat: generate loader template

* fix: name with slash

* fix: name with slash

* feat: throw error

* feat: preload app data

* refactor: initail context to request context

* chore: add comment

* chore: add comment

* fix: type

* fix: merge conflict

* fix: types error

* fix: merge error

Co-authored-by: luhc228 <luhengchang228@126.com>
Co-authored-by: ClarkXia <xiawenwu41@gmail.com>
2022-11-14 19:17:10 +08:00
水澜 704247de1e fix: csr hydrate error (#176)
* fix: csr hydrate error

* chore: demo for csr

* refactor: update route config

* fix: lint

* chore: update lock yaml

* fix: type

* refactor: pass app to document by context

* fix: lint

* chore: comment

* fix: type

* fix: do not overwrite title if not config

* chore: rename

Co-authored-by: luhc228 <luhengchang228@126.com>
2022-11-14 19:17:10 +08:00
大果 69c7ecb251 feat: support tree-shaking react-router deps when only one route (#86)
* feat: support tree-shaking react-router deps when only one route

* chore: optimize history API

* fix: typo error

* chore: make esbuild compile @ice/runtime add inject env vars

* chore: make esbuild compile @ice/runtime add inject env vars

* chore: resolve conflict

* feat: mock react-router api when disable router

* feat: env

* fix: test

* feat: support dotenv

* chore: add stringify

* chore: lock build-scripts

* feat: add removeHistoryDeadCode userConfig

* fix: duplicate register of routes

* fix: default value of define

* chore: optimize code

* fix: typo

* chore: upgrade react

* fix: code

* chore: optimize matchRoutes

Co-authored-by: ClarkXia <xiawenwu41@gmail.com>
2022-11-14 19:17:06 +08:00
水澜 97f7388ccf feat: suspense ssr (#143)
* feat: suspense ssr

* feat: stream render

* feat: downgrade to document

* feat: support render document only

* fix: typo

* refactor: downgrade for page

* fix: typo

* refactor: piper

* refactor: navigator

* chore: comment

* fix: typo

* feat: add log

* refactor: piper to pipe

* refactor: rename

* feat: log for error

* refactor: pipe in else

* fix: lint

* refactor: rename to pipe

* feat: add downgrade info
2022-11-14 19:16:51 +08:00
水澜 e0297618b1 refactor: route wrapper (#135)
* refactor: wrapper

* feat: support wrapper layout

* chore: demo for auth

* fix: typo

* fix: typo

* fix: typo

* fix: typo

* fix: typo

* feat: generate layout info when build

* refactor: wrapper for layout

* test: update snapshot for layout

* fix: typo
2022-11-14 19:16:51 +08:00
ClarkXia 7305be723a feat: pre bundle for dependencies (#138)
* feat: rename folder

* feat: bundle scripts

* feat: ncc

* fix: pre bundle

* chore: optimize code

* chore: terser options

* fix: test case

* fix: package fail to pack

* feat: tsChecker and eslint

* chore: ts type

* fix: pack scripts

* fix: same webpack instance (#146)

* fix: same instance of webpack

* fix: same instance of webpack
2022-11-14 19:16:51 +08:00
shuilan.cj 740595cce0 feat: upgrade to react 18 2022-11-14 19:16:38 +08:00
luhc228 de39aedb16 feat: cli options (#120)
* feat: support analyzer

* feat: support https

* feat: support force remove cache

* chore: config order

* chore: remove todo

* chore: self-signed-cert

* chore: self-signed option
2022-11-14 19:16:17 +08:00
ClarkXia 8f4f79dae5 feat: minify and dropLogLevel (#119)
* feat: minify and dropLogLevel

* fix: test case
2022-11-14 19:16:17 +08:00
luhc228 7701b09595 Fix: react-jsx error (#113)
* fix: react-jsx error

* chore: remove blank line

* chore: polyfills

* chore: remove rootDir

* chore: remove hasJSXRuntime function

* fix: error

* fix: error
2022-11-14 19:16:17 +08:00
水澜 99e586bf7c Feat nested routing (#112)
* feat: nested routing

* fix: update page config after navigate

* fix: initial value

* refactor: fn name

* feat: avoid load data for old route

* refactor: decoupling the dependency to page

* refactor: types for getConfig

* refactor: use prmomise

* chore: rename

* test: filter matched route

* chore: optimize types

* feat: support useAppData

* chore: just play

* chore: remove log

* chore: resolve conflict

* refactor: pages to routes

* fix: page to route

* refactor: merge value

Co-authored-by: liuxiong.lx <liuxiong.lx@alibaba-inc.com>
2022-11-14 19:16:12 +08:00
ClarkXia b50d478103 feat: optimize output folder (#115)
* feat: optimize folder

* fix: assets transform

* fix: optimze code

* fix: optimize code
2022-11-14 19:15:57 +08:00
luhc228 54163342ef Feat: define routes and ignore route files (#69)
* feat: support define routes

* fix: test

* fix: test

* chore: undefined type

* fix: conflict

* chore: remove pages str from route id

* fix: watch route change

* fix: warn

* fix: test

* fix: test

* chore: example

* chore: add route-gen example

* feat: add integration test

* chore: test

* chore: update config file

* chore: remove pnpm cache

* chore: test

* chore: remove test:ci from ci workflow

* chore: update build-scripts version

* chore: build fixture

* chore: remove devServer test

* chore: buildFixture

* feat: add vitest

* chore: add ts-ignore

* chore: node ci version

* chore: comment bundle analyzer

* chore: add test timeout

* fix: lint

* chore: remove threads

* chore: set maxThreads and minThreads

* chore: add maxConcurrency

* chore: remove coverage

* chore: threads

* chore: set threads to false

* fix: conflict

* fix: comment
2022-11-14 19:15:57 +08:00
luhc228 e8407ed19a Feat: support css modules in ssr (#43)
* feat: support css module in ssr

* chore: lock

* chore: type

* fix: transform esbuild-style-plugin in jest env

* fix: test fail

* chore: transformIgnorePatterns

* chore: ci test step

* chore: -max-old-space-size

* chore: transformIgnorePatterns

* chore: transformIgnorePatterns

* chore: transformIgnorePatterns

* feat: esbuild-css-plugin

* refactor: esbuild plugins

* chore: esbuild plugin dir

* fix: build error

* fix: lint

* fix: conflict

* chore: add desc

* chore: add comment

* chore: set extract to false

* chore: add more desc
2022-11-14 19:15:46 +08:00
luhc228 3008689844 chore: defineUserConfig to defineConfig (#110) 2022-11-14 19:15:33 +08:00
水澜 525142f9d4 refactor: hydrate document (#74)
* feat: update page config after link

* Rename Document.tsx to document.tsx

* chore: add comment

* test: routing

* fix: test utils of puppeteer page

* test: update pageconfig after route

* chore: add origin source

* fix: meta tag

* fix: add s

* feat: reuse the links already loaded

* refactor: hydrate document

* refactor: pass data by app context

* refactor: get assets in document

* refactor: pass app as children

* refactor: use app context

* revert: document

* refactor: pass document by app context

* Rename document.tsx to Document.tsx

* fix: hydrate error

* chore: add comment

* feat: toggle for ssr

* refactor: entry options

* refactor: merge simple functions

* feat: downgrade to csr

* refactor: ssr entry

* fix: file name

* fix: remove deadcode

* Rename generateHtml.ts to generateHTML.ts

* fix: remove deadcode

* fix: remove deadcode

* refactor: remove block scripts

* feat: pass ssr flag to csr

* fix: remove ssg flag

* fix: spelling

* refactor: pass ssr flag to hydrate

* chore: add todo for runtime

* fix: typo

* chore: add todo for load links

* chore: send html for send html

* refactor: remove config for custom rootId

* feat: load page assets

* feat: ssr config

* refactor: disable csr hydrate warning

* chore: add issue link

Co-authored-by: ClarkXia <xiawenwu41@gmail.com>
2022-11-14 19:15:29 +08:00
luhc228 d11f461d6b refactor: global layout (#40) 2022-11-14 19:14:39 +08:00
ClarkXia 748adfb2c4 refactor: create @ice/app for framework (#67)
* fix: package name

* refactor: main package for ice

* fix: test case

* test: test case

* test: run context without built-in plugin

* test: add console level

* test: test case

* fix: remove built-in plugin

* test: use json file

* Revert "test: use json file"

This reverts commit be309d7df5a00fcc14fdc54fe2a63c9bce54221c.

* fix: update build-scripts

* fix: optimize code

* fix: exports field

* chore: use consola instead of console

* fix: optimize code
2022-11-14 19:14:32 +08:00
大果 4552afaec8 chore: refactor router (#58)
* chore: refactor router

* chore: add example

* fix: load all modules in first request

* fix: route module load

* chore: remove unused param

* fix: rerender twice

* fix: loadRouteModules params

Co-authored-by: luhc228 <luhengchang228@gmail.com>
2022-11-14 19:14:14 +08:00
ClarkXia 43a143de6d feat: support defineUserConfig (#53)
* feat: support config file

* feat: config file

* feat: add config watch

* fix: createServer path

* feat: add json support

* chore: space

* fix: add browserlist and webpack bundle analyze

* fix: update package name
2022-11-14 19:13:53 +08:00
ClarkXia 6f9e64bea5 fix: improve framework config (#36)
* feat: config

* fix: webpack config

* feat: user config

* fix: css minimizer option

* fix: css minimizer option

* fix: alias with root

* fix: default define

* chore: optimize code

* fix: optimize code

* chore: update comment

* chore: lint

* chore: remove useless code

* fix: assets mainfest

* fix: test case
2022-11-14 19:12:43 +08:00
ClarkXia 647996e63e feat: define runtime value (#30)
* feat: define runtime value

* chore: remove console

* test: fix test option

* fix: remove process fallback for client

* fix: optimize code

* feat: optimize code

* fix: optimize code

* fix: types

* chore: optimize code

* test: add test case

* fix: remove useless code

* chore: optimize code

* chore: optimize code
2022-11-14 19:12:27 +08:00
luhc228 de7ec7dfd3 feat: rewrite matchRoutes function 2022-11-14 19:08:44 +08:00
shuilan.cj 4a56072283 fix: aplus blocks the puppeteer load page 2022-11-14 19:08:05 +08:00
shuilan.cj 498877ccdb refactor: root -> main 2022-11-14 19:06:40 +08:00
luhc228 e7735ec588 feat: await chunk import in CSR (#35)
* chore: remove this is undefined in esm warning

* chore: remove plugin-router

* feat: merge render

* feat: merge defaultAppConfig

* feat: support redirect without lazy

* fix: redirect error

* fix: ssr render error

* feat: add transition file

* refactor: route

* chore: update transition

* refactor: transition

* chore: ProvidePlugin

* chore: remove console

* chore: add router-dom server reference

* feat: add PageContext

* fix: comment

* chore: BrowserEntry

* chore: comment

* chore: update lock

* chore: error

* chore: loadRoutesModules

* feat: initialContext types
2022-11-14 19:05:10 +08:00
shuilan.cj 1d16997af8 fix: page config type 2022-11-14 19:03:39 +08:00
shuilan.cj b99bf43e3a fix: ts error 2022-11-14 19:01:14 +08:00
shuilan.cj d43164123a feat: get assets from manifest 2022-11-14 19:01:14 +08:00
shuilan.cj eaeb94e782 fix: block css 2022-11-14 19:00:56 +08:00
shuilan.cj d4cbe9182b feat: route data 2022-11-14 18:59:05 +08:00
大果 2b11d0578e feat: router (#28)
* feat: generate route manifest

* chore: lock

* feat: support generate nested route manifest

* chore: type

* chore: rename test to tests

* chore: remove caseSensitive

* chore: support generate routes

* fix: lint

* fix: lint

* feat: add componentName

* feat: support generate route

* feat: not add Router when only has one page

* fix: merge confict

* refactor: service route generate

* chore: update route-manifest readme

* test: add more route test cases

* chore: remove comment

* test: add invalid routes test case

* chore: update invalid char judge logic

* fix: comment

* fix: lint error

* chore: lock

Co-authored-by: luhc228 <luhengchang228@gmail.com>
2022-11-14 18:49:43 +08:00
shuilan.cj ecae77974d fix: style path 2022-11-14 18:04:37 +08:00
shuilan.cj 763452108a fix: lint 2022-11-14 18:03:49 +08:00
luhc228 33747c0cb8 feat: more webpack config (#18)
* feat: esm

* fix: require in esm

* fix: test fail

* feat: css loader

* feat: hmr

* feat: cache

* feat: optimization

* feat: postcss

* feat: open preview browser

* feat: assets loader

* fix: ignore swc compile document

* chore: type

* fix: test

* fix: comment

* chore: add @ice/runtime

* chore: remove example page

* chore: add openChrome.applescript

* feat: use outputDir

* fix: comment

* chore: update pnpm lock

* fix: outDir

* chore: remove document ignore

* feat: add isServer params
2022-11-14 18:01:26 +08:00
shuilan.cj e96d5f8f7d fix: lint 2022-11-14 18:00:23 +08:00
大果 400b31e4e6 feat: support useAppContext API (#26) 2022-11-14 17:54:57 +08:00
shuilan.cj af020d04b9 feat: ssr entry 2022-11-14 17:52:55 +08:00
liuxiong.lx 72a6f3bfb7 feat: rework entry 2022-11-14 17:52:01 +08:00
大果 6bbc638e45 feat: render router (#17)
* feat: renderRouter

* fix: lint

* fix: test case

* feat: remove renderComponent

* chore: add types

* fix: scripts

* chore: build order

* chore: remove workspace from version

* chore: upgrade lock

* chore: upgrade lock
2022-11-14 17:49:04 +08:00
大果 49ff12f30b feat: runtime structure & output dir (#16)
* chore: optimize runtime

* chore: fix lint

* fix: test case lib -> esm
2022-11-14 17:48:18 +08:00
luhc228 7c171732a3 feat: use esm standard (#14)
* feat: esm

* fix: require in esm

* fix: test fail
2022-11-14 17:47:51 +08:00
ClarkXia 5d43928afe chore: refactor package structrue (#10)
* chore: refactor package structrue

* chore: remove unexpected code

* fix: package info

* chore: fix readme

* chore: version
2022-11-14 17:45:35 +08:00
水澜 9a062c08a8 feat: render document (#8)
* feat: render document

* fix: lint

* fix: ts lint

* chore: update lock info

* fix: lint

* fix: conflict

* fix: conflict

Co-authored-by: luhc228 <luhengchang228@gmail.com>
2022-11-14 17:44:30 +08:00
luhc228 2958c633b9 fix: type error 2022-11-14 17:43:47 +08:00
ClarkXia 282543d2df feat: basic runtime 2022-11-14 17:42:51 +08:00
luhc228 34b024a970 feat: add plugin-router 2022-11-14 17:41:47 +08:00
luhc228 75dba1b423 feat: update webpackConfig 2022-11-14 17:38:35 +08:00