Commit Graph

381 Commits

Author SHA1 Message Date
shuilan.cj 740595cce0 feat: upgrade to react 18 2022-11-14 19:16:38 +08:00
luhc228 a37b09a321 fix: fail to load latest module in ssr (#123)
* fix: fail to load latest module in server env

* chore: update desc
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
水澜 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
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
shuilan.cj 6b5d56bc15 fix: type 2022-11-14 19:13:50 +08:00
shuilan.cj 785db8e0d1 refactor: less optional chaining 2022-11-14 19:13:50 +08:00
shuilan.cj 0cd671d76f refactor: less optional chaining 2022-11-14 19:13:50 +08:00
shuilan.cj 99ae148bc4 fix: optional chaining 2022-11-14 19:13:50 +08:00
shuilan.cj dd72462092 fix: optional chaining 2022-11-14 19:13:50 +08:00
shuilan.cj 72d94642dd chore: rename context 2022-11-14 19:13:50 +08:00
shuilan.cj 5995a73ebf fix: type 2022-11-14 19:13:46 +08:00
shuilan.cj 7dc8e9b46e refactor: pass page data 2022-11-14 19:13:27 +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
水澜 edc436a073 feat: Document (#34)
* feat: match route

* feat: generate route manifest

* feat: document component

* refactor: remove routes json

* feat: route data

* refactor: render async scripts

* feat: manifest

* fix: pass path info

* fix: block css

* fix: hijackwebpack

* feat: get assets from manifest

* fix: ts error

* feat: mege page assets and config

* fix: file suffix

* fix: file suffix

* fix: await generate html

* refactor: return the last page config

* fix: pageconfig may be null

* fix: page config type

* chore: log test result

* chore: log test result

* chore: log test result

* chore: log test result

* chore: enable after compile

* fix: await compile

* fix: await compile

* feat: assets manifest

* fix: lint

* fix: enable build test

* fix: enable build test

* fix: type

* chore: add comment

* fix: conflict

* fix: conflict

* refactor: use first compile tag

* refactor: root -> main

* refactor: server context to request context

* fix: defer attr

* refactor: load route data

* refactor: fn name

* refactor: rename to client entry

* refactor: rename route wapper to page wapper

* fix: aplus blocks the puppeteer load page

* fix: remove plugin not needed

* chore: add todo

* fix: update lock file

* feat: rewrite matchRoutes function

* fix: await async hooks (#41)

* chore: add todo

* refactor: route manifest

* chore: update lock file

* fix: get route str

* refactor: set default output

* refactor: set default output

* refactor: get extname

* refactor: rename plugin folder

* fix: file path

* fix: support tsx

Co-authored-by: ClarkXia <xiawenwu41@gmail.com>
Co-authored-by: luhc228 <luhengchang228@gmail.com>
2022-11-14 19:12:06 +08:00
shuilan.cj aa73e0cc50 revert: document options 2022-11-14 19:11:05 +08:00
shuilan.cj aed4a7b4e8 feat: pass server data to client 2022-11-14 19:10:47 +08:00
shuilan.cj 641321ef60 fix: get route str 2022-11-14 19:09:42 +08:00
shuilan.cj 51296eddf8 chore: add todo 2022-11-14 19:09:17 +08:00
luhc228 de7ec7dfd3 feat: rewrite matchRoutes function 2022-11-14 19:08:44 +08:00
shuilan.cj 6ad921f5fb refactor: rename route wapper to page wapper 2022-11-14 19:07:54 +08:00
shuilan.cj bcf39baac2 refactor: fn name 2022-11-14 19:07:48 +08:00
shuilan.cj 93de986b94 refactor: load route data 2022-11-14 19:07:32 +08:00
shuilan.cj 45bf5bc420 fix: defer attr 2022-11-14 19:07:14 +08:00
shuilan.cj db21ef183d refactor: server context to request context 2022-11-14 19:07:09 +08:00
shuilan.cj 498877ccdb refactor: root -> main 2022-11-14 19:06:40 +08:00
shuilan.cj 7987d15c61 feat: assets manifest 2022-11-14 19:05:44 +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 fc21fd912f fix: pageconfig may be null 2022-11-14 19:01:47 +08:00
shuilan.cj 80f2912e04 refactor: return the last page config 2022-11-14 19:01:47 +08:00
shuilan.cj c39eb7bc9b fix: file suffix 2022-11-14 19:01:47 +08:00
shuilan.cj 0c7dff4751 fix: file suffix 2022-11-14 19:01:47 +08:00
shuilan.cj 6b7450eaa7 feat: mege page assets and config 2022-11-14 19:01:35 +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 7327af31ae refactor: render async scripts 2022-11-14 18:59:35 +08:00
shuilan.cj d4cbe9182b feat: route data 2022-11-14 18:59:05 +08:00
shuilan.cj 56a3e36bdf chore: remove log info 2022-11-14 18:55:37 +08:00
shuilan.cj 39a685761f fix: routes type name 2022-11-14 18:55:37 +08:00
shuilan.cj 1593b72fdd refactor: add app routes 2022-11-14 18:55:37 +08:00
shuilan.cj 90bc3d56c1 refactor: app router to app routes 2022-11-14 18:55:34 +08:00
shuilan.cj 441aab1f80 refactor: change to anonymous fn 2022-11-14 18:55:10 +08:00
shuilan.cj 118a142ee0 refactor: set router by runtime 2022-11-14 18:55:10 +08:00
shuilan.cj 490507b537 refactor: put universal logic to app 2022-11-14 18:55:06 +08:00
shuilan.cj dbace390b0 fix: error info 2022-11-14 18:54:37 +08:00
shuilan.cj a943078c07 fix: lint 2022-11-14 18:52:33 +08:00
shuilan.cj c8fdcedf96 refactor: fn name 2022-11-14 18:52:08 +08:00
shuilan.cj 5f7fff3b55 chore: remove dead code 2022-11-14 18:51:14 +08:00
shuilan.cj ee6cd1481e fix: lint 2022-11-14 18:50:38 +08:00
shuilan.cj 3689971527 fix: no-suspense 2022-11-14 18:50:38 +08:00
shuilan.cj 361888e8d6 chore: change params order 2022-11-14 18:50:14 +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 1c9f8c4207 feat: ssg 2022-11-14 18:05:22 +08:00
shuilan.cj 763452108a fix: lint 2022-11-14 18:03:49 +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
大果 a225545066 feat: rework entry (#23)
* feat: rework entry

* chore: setup lock

* fix: createRequire

* fix: IAuth -> AuthConfig
2022-11-14 17:53:49 +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
ClarkXia 282543d2df feat: basic runtime 2022-11-14 17:42:51 +08:00
ClarkXia 6131e93cb5 feat: basic runtime 2022-11-14 17:42:00 +08:00
ClarkXia ac910ed2dc refactor: remove 2.x code 2022-11-14 17:17:45 +08:00
luhc228 dd397109a9
feat: add compatible toString() function (#5399) 2022-07-11 17:51:42 +08:00
ClarkXia 4f833cfe86
chore: version and changelog (#5133)
* chore: changelog

* fix: dts generation

* chore: update lock

* chore: version
2022-01-17 13:57:08 +08:00
ClarkXia a111afa1eb
fix: use process.env.__IS_SERVER__ in SSR (#5119)
* chore: optimize code

* fix: version

* fix: env
2022-01-11 11:40:56 +08:00
ClarkXia 723a8b7b25
feat: SSR in mode vite ssr (#5045)
* feat: vite ssr

* chore: fix unexpected remove

* fix: ts type

* feat: ssr build in vite mode

* chore: optimize code

* fix: optimize code

* fix: ssr in dev

* chore: version and changelog

* feat: support redirect url

* fix: vite ssr

* chore: optimize code

* chore: optimize code

* chore: update lock file

* fix: noExternal with miniapp-history

* feat: support ssg

* feat: isServer

* chore: comment

* chore: rename plugin

* chore: comment

* fix: import env file

* chore: changelog

* chore: ts lint

* fix: env path
2022-01-11 10:36:40 +08:00
luhc228 1b5c693e7a chore: add sideEffects as false to @ice/runtime 2021-11-23 14:38:18 +08:00
luhc228 0c60375dbf chore: version and changelog 2021-11-19 14:41:44 +08:00
luhc228 6735a2bcbb fix: ssg render error 2021-11-19 11:35:21 +08:00
ClarkXia cd7d9bcafd fix: runtime compile 2021-09-17 11:58:32 +08:00
ClarkXia dbe6438e63
feat: lock axios version (#4640)
* feat: lock axios version

* chore: verison
2021-09-17 11:51:46 +08:00