Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: TanStack/store
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.3.1
Choose a base ref
...
head repository: TanStack/store
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v0.4.1
Choose a head ref
  • 19 commits
  • 57 files changed
  • 6 contributors

Commits on Feb 3, 2024

  1. ci: Update Nx config (#39)

    * ci: Update Nx config
    
    * Don't exclude examples
    lachlancollins authored Feb 3, 2024
    Copy the full SHA
    59953ba View commit details

Commits on Feb 9, 2024

  1. feat: add angular store (#41)

    * feat: add angular store
    
    * chore: bump PNPM
    
    ---------
    
    Co-authored-by: Corbin Crutchley <git@crutchcorn.dev>
    nartc and crutchcorn authored Feb 9, 2024
    Copy the full SHA
    f974e69 View commit details
  2. chore: fix publish

    crutchcorn committed Feb 9, 2024
    Copy the full SHA
    7a64bc6 View commit details
  3. release: v0.4.0

    tannerlinsley committed Feb 9, 2024
    Copy the full SHA
    dde9114 View commit details

Commits on Feb 14, 2024

  1. ci: Add read-only Nx cloud access token (#42)

    lachlancollins authored Feb 14, 2024
    Copy the full SHA
    848300a View commit details

Commits on Feb 17, 2024

  1. ci: Add Nx agents (#43)

    lachlancollins authored Feb 17, 2024
    Copy the full SHA
    c4ea388 View commit details
  2. ci: Run Nx Agents on ci.yml (#44)

    * ci: Try running Nx agents on ci.yml
    
    * Test
    
    * Remove test
    
    * Task name
    lachlancollins authored Feb 17, 2024
    Copy the full SHA
    d81cf5a View commit details
  3. chore: Add workspace config from Query (#45)

    * Update eslint config
    
    * Add sherif and knip
    
    * Update nx.json
    
    * Enable method-signature-style
    lachlancollins authored Feb 17, 2024
    Copy the full SHA
    5235213 View commit details
  4. ci: Add missing tasks (#46)

    lachlancollins authored Feb 17, 2024
    Copy the full SHA
    be32993 View commit details

Commits on Feb 21, 2024

  1. docs: add quick-start.md for SolidJS (#48)

    Updated the SolidJS quick start which follows the example shown for React, Vue, and Angular.
    LadyBluenotes authored Feb 21, 2024
    Copy the full SHA
    7f5514c View commit details
  2. docs: update installation.md to include SolidJS (#47)

    * Update installation.md to include SolidJS
    
    Added the `npm install` command for SolidJS.
    
    * Update installation.md
    LadyBluenotes authored Feb 21, 2024
    Copy the full SHA
    9e04a5e View commit details

Commits on Mar 8, 2024

  1. chore: Use tsconfig paths to improve local DX (#51)

    * chore: Use tsconfig paths to improve local DX
    
    * Add paths to legacy tsconfig files
    
    * Update root tsconfig
    
    * Wrong path oops
    lachlancollins authored Mar 8, 2024
    Copy the full SHA
    5043212 View commit details
  2. chore: Disable vitest globals (#52)

    lachlancollins authored Mar 8, 2024
    Copy the full SHA
    82fa0e1 View commit details

Commits on Mar 12, 2024

  1. docs: Update docs/config.json (#53)

    * docs: Update docs/config.json
    
    * Update schema
    lachlancollins authored Mar 12, 2024
    Copy the full SHA
    8d6faa0 View commit details

Commits on Apr 17, 2024

  1. docs: fix repo link in npm (#55)

    * Update package.json
    
    * Update package.json
    
    * Update package.json
    AhmedBaset authored Apr 17, 2024
    Copy the full SHA
    576530d View commit details

Commits on May 13, 2024

  1. chore: Update pnpm to v9 (#57)

    lachlancollins authored May 13, 2024
    Copy the full SHA
    287c892 View commit details
  2. chore: Enable link-workspace-packages (#58)

    lachlancollins authored May 13, 2024
    Copy the full SHA
    2205ef6 View commit details
  3. chore: Update @tanstack/config to v0.7.4 (#59)

    lachlancollins authored May 13, 2024
    Copy the full SHA
    e791820 View commit details
  4. release: v0.4.1

    tannerlinsley committed May 13, 2024
    Copy the full SHA
    7eee6a6 View commit details
Showing with 10,441 additions and 4,061 deletions.
  1. +42 −10 .eslintrc.cjs
  2. +1 −1 .gitattributes
  3. +7 −5 .github/workflows/ci.yml
  4. +7 −5 .github/workflows/pr.yml
  5. +3 −15 .gitignore
  6. +1 −0 .npmrc
  7. +4 −0 .nx/workflows/dynamic-changesets.yaml
  8. +43 −38 docs/config.json
  9. +73 −0 docs/framework/angular/quick-start.md
  10. +6 −0 docs/framework/angular/reference/injectStore.md
  11. +54 −1 docs/framework/solid/quick-start.md
  12. +16 −0 docs/installation.md
  13. +1 −1 docs/overview.md
  14. +11 −0 knip.json
  15. +13 −6 nx.json
  16. +23 −30 package.json
  17. +6 −0 packages/angular-store/.eslintrc.cjs
  18. +69 −0 packages/angular-store/package.json
  19. +76 −0 packages/angular-store/src/index.ts
  20. +95 −0 packages/angular-store/src/tests/index.test.tsx
  21. +12 −0 packages/angular-store/src/tests/test-setup.ts
  22. +11 −0 packages/angular-store/tsconfig.json
  23. +12 −0 packages/angular-store/tsconfig.legacy.json
  24. +24 −0 packages/angular-store/vite.config.ts
  25. +0 −4 packages/react-store/.eslintrc.cjs
  26. +2 −2 packages/react-store/package.json
  27. +1 −1 packages/react-store/src/index.ts
  28. +3 −3 packages/react-store/src/tests/index.test.tsx
  29. +6 −0 packages/react-store/test-setup.ts
  30. +10 −2 packages/react-store/tsconfig.json
  31. +4 −1 packages/react-store/tsconfig.legacy.json
  32. +1 −1 packages/react-store/vite.config.ts
  33. +1 −9 packages/solid-store/.eslintrc.cjs
  34. +3 −3 packages/solid-store/package.json
  35. +2 −2 packages/solid-store/src/index.ts
  36. +1 −1 packages/solid-store/src/tests/index.test.tsx
  37. +6 −0 packages/solid-store/test-setup.ts
  38. +10 −2 packages/solid-store/tsconfig.json
  39. +4 −1 packages/solid-store/tsconfig.legacy.json
  40. +1 −8 packages/solid-store/vite.config.ts
  41. +1 −6 packages/store/.eslintrc.cjs
  42. +1 −1 packages/store/package.json
  43. +1 −1 packages/store/src/tests/index.test.tsx
  44. +1 −2 packages/store/tsconfig.json
  45. +0 −1 packages/store/vite.config.ts
  46. +1 −9 packages/vue-store/.eslintrc.cjs
  47. +2 −2 packages/vue-store/package.json
  48. +2 −1 packages/vue-store/src/index.ts
  49. +5 −6 packages/vue-store/src/tests/index.test.tsx
  50. +6 −0 packages/vue-store/test-setup.ts
  51. +4 −1 packages/vue-store/tsconfig.json
  52. +4 −1 packages/vue-store/tsconfig.legacy.json
  53. +1 −2 packages/vue-store/vite.config.ts
  54. +9,740 −3,864 pnpm-lock.yaml
  55. +0 −3 pnpm-workspace.yaml
  56. +4 −0 scripts/config.js
  57. +3 −9 tsconfig.json
52 changes: 42 additions & 10 deletions .eslintrc.cjs
Original file line number Diff line number Diff line change
@@ -3,12 +3,14 @@
/** @type {import('eslint').Linter.Config} */
const config = {
root: true,
reportUnusedDisableDirectives: true,
ignorePatterns: ['**/build', '**/coverage', '**/dist'],
parser: '@typescript-eslint/parser',
plugins: ['@typescript-eslint', 'compat', 'import'],
plugins: ['@typescript-eslint', 'import'],
extends: [
'plugin:@typescript-eslint/eslint-recommended',
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
'plugin:compat/recommended',
'plugin:@typescript-eslint/stylistic',
'plugin:import/recommended',
'plugin:import/typescript',
'prettier',
@@ -19,7 +21,7 @@ const config = {
},
parserOptions: {
tsconfigRootDir: __dirname,
project: './tsconfig.json',
project: true,
sourceType: 'module',
ecmaVersion: 2020,
},
@@ -35,26 +37,56 @@ const config = {
},
},
rules: {
'@typescript-eslint/array-type': 'off',
'@typescript-eslint/ban-types': 'off',
'@typescript-eslint/ban-ts-comment': 'off',
'@typescript-eslint/consistent-type-imports': 'error',
'@typescript-eslint/consistent-type-definitions': 'off',
'@typescript-eslint/consistent-type-imports': [
'error',
{ prefer: 'type-imports' },
],
'@typescript-eslint/explicit-module-boundary-types': 'off',
'@typescript-eslint/method-signature-style': 'error',
'@typescript-eslint/no-empty-interface': 'off',
'@typescript-eslint/no-explicit-any': 'off',
'@typescript-eslint/no-non-null-assertion': 'off',
'@typescript-eslint/no-unnecessary-condition': 'error',
'@typescript-eslint/no-unused-vars': 'off',
'@typescript-eslint/no-inferrable-types': [
'error',
{
ignoreParameters: true,
},
{ ignoreParameters: true },
],
'no-shadow': 'error',
'@typescript-eslint/prefer-for-of': 'off',
'import/default': 'off',
'import/export': 'off',
'import/namespace': 'off',
'import/newline-after-import': 'error',
'import/no-cycle': 'error',
'import/no-duplicates': 'off',
'import/no-named-as-default-member': 'off',
'import/no-unresolved': ['error', { ignore: ['^@tanstack/'] }],
'import/no-unused-modules': ['off', { unusedExports: true }],
'import/order': [
'error',
{
groups: [
'builtin',
'external',
'internal',
'parent',
'sibling',
'index',
'object',
'type',
],
},
],
'no-async-promise-executor': 'off',
'no-empty': 'off',
'no-redeclare': 'off',
'@typescript-eslint/no-unused-vars': 'off',
'no-shadow': 'error',
'no-undef': 'off',
'sort-imports': ['error', { ignoreDeclarationSort: true }],
},
overrides: [
{
2 changes: 1 addition & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# Auto detect text files and perform LF normalization
* text=auto
* text=auto eol=lf
12 changes: 7 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -15,7 +15,6 @@ concurrency:

env:
NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }}
NX_CLOUD_AUTH_TOKEN: ${{ secrets.NX_CLOUD_AUTH_TOKEN }}

jobs:
test-and-publish:
@@ -28,18 +27,21 @@ jobs:
with:
fetch-depth: '0'
- name: Setup pnpm
uses: pnpm/action-setup@v2
with:
version: 8
uses: pnpm/action-setup@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version-file: .nvmrc
cache: pnpm
- name: Start Nx Agents
run: npx nx-cloud start-ci-run --distribute-on=".nx/workflows/dynamic-changesets.yaml"
- name: Install dependencies
run: pnpm install --frozen-lockfile --prefer-offline
- name: Run Tests
run: pnpm run test:ci
run: pnpm run test:ci --parallel=3
- name: Stop Nx Agents
if: ${{ always() }}
run: npx nx-cloud stop-all-agents
- name: Publish
run: |
git config --global user.name 'Tanner Linsley'
12 changes: 7 additions & 5 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
@@ -13,7 +13,6 @@ concurrency:

env:
NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }}
NX_CLOUD_AUTH_TOKEN: ${{ secrets.NX_CLOUD_AUTH_TOKEN }}

jobs:
test:
@@ -25,19 +24,22 @@ jobs:
with:
fetch-depth: 0
- name: Setup pnpm
uses: pnpm/action-setup@v2
with:
version: 8
uses: pnpm/action-setup@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version-file: .nvmrc
cache: pnpm
- name: Start Nx Agents
run: npx nx-cloud start-ci-run --distribute-on=".nx/workflows/dynamic-changesets.yaml"
- name: Install dependencies
run: pnpm install --frozen-lockfile --prefer-offline
- name: Get base and head commits for `nx affected`
uses: nrwl/nx-set-shas@v3
with:
main-branch-name: 'main'
- name: Run Checks
run: pnpm run test:pr
run: pnpm run test:pr --parallel=3
- name: Stop Nx Agents
if: ${{ always() }}
run: npx nx-cloud stop-all-agents
18 changes: 3 additions & 15 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -7,16 +7,9 @@ package-lock.json
yarn.lock

# builds
types
build
*/build
dist
lib
es
artifacts
.rpt2_cache
coverage
*.tgz
dist

# misc
.DS_Store
@@ -38,16 +31,11 @@ stats.html
.vscode/settings.json

*.log
.DS_Store
node_modules
.cache
dist
.idea

nx-cloud.env
.nx

.nx/cache
.pnpm-store
.tsup

vite.config.js.timestamp-*
vite.config.ts.timestamp-*
1 change: 1 addition & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
link-workspace-packages=true
prefer-workspace-packages=true
4 changes: 4 additions & 0 deletions .nx/workflows/dynamic-changesets.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
distribute-on:
small-changeset: 8 linux-medium-js
medium-changeset: 10 linux-medium-js
large-changeset: 12 linux-medium-js
81 changes: 43 additions & 38 deletions docs/config.json
Original file line number Diff line number Diff line change
@@ -5,7 +5,7 @@
"apiKey": "",
"indexName": "tanstack-store"
},
"menu": [
"sections": [
{
"label": "Getting Started",
"children": [
@@ -17,24 +17,10 @@
"label": "Installation",
"to": "installation"
}
]
},
{
"label": "API Reference",
"children": [
],
"frameworks": [
{
"label": "Store",
"to": "reference/Store"
}
]
}
],
"frameworkMenus": [
{
"framework": "react",
"menuItems": [
{
"label": "Getting Started",
"label": "react",
"children": [
{
"label": "Quick Start",
@@ -43,59 +29,78 @@
]
},
{
"label": "API Reference",
"label": "vue",
"children": [
{
"label": "useStore",
"to": "framework/react/reference/useStore"
"label": "Quick Start",
"to": "framework/vue/quick-start"
}
]
}
]
},
{
"framework": "vue",
"menuItems": [
},
{
"label": "Getting Started",
"label": "solid",
"children": [
{
"label": "Quick Start",
"to": "framework/vue/quick-start"
"to": "framework/solid/quick-start"
}
]
},
{
"label": "API Reference",
"label": "angular",
"children": [
{
"label": "useStore",
"to": "framework/vue/reference/useStore"
"label": "Quick Start",
"to": "framework/angular/quick-start"
}
]
}
]
},
{
"framework": "solid",
"menuItems": [
"label": "API Reference",
"children": [
{
"label": "Store",
"to": "reference/Store"
}
],
"frameworks": [
{
"label": "Getting Started",
"label": "react",
"children": [
{
"label": "Quick Start",
"to": "framework/solid/quick-start"
"label": "useStore",
"to": "framework/react/reference/useStore"
}
]
},
{
"label": "API Reference",
"label": "vue",
"children": [
{
"label": "useStore",
"to": "framework/vue/reference/useStore"
}
]
},
{
"label": "solid",
"children": [
{
"label": "useStore",
"to": "framework/solid/reference/useStore"
}
]
},
{
"label": "angular",
"children": [
{
"label": "injectStore",
"to": "framework/angular/reference/injectStore"
}
]
}
]
}
Loading