fix ui exports, change api package bunder to vite, fix type exports

This commit is contained in:
Gregor Vostrak
2024-08-22 15:39:04 +02:00
parent 35c65d3bf0
commit 1328692faf
8 changed files with 1965 additions and 95 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1,15 +1,17 @@
{
"name": "@solidtime/api",
"version": "0.0.1",
"version": "0.0.2",
"description": "Package containing the solidtime api client and type declarations",
"main": "dist/index.js",
"main": "./dist/solidtime-api.umd.cjs",
"module": "./dist/solidtime-api.js",
"types": "./dist/index.d.ts",
"repository": {
"type": "git",
"url": "git+https://github.com/solidtime-io/solidtime.git",
"directory": "resources/js/packages/api"
},
"scripts": {
"build": "npx ncc build src/index.ts",
"build": "npx vite build",
"test": "echo \"Error: no test specified\" && exit 1"
},
"files": [
@@ -31,6 +33,7 @@
"zod": "^3.23.8"
},
"devDependencies": {
"@vercel/ncc": "^0.38.1"
"vite": "^5.4.2",
"vite-plugin-dts": "^4.0.3"
}
}

View File

@@ -0,0 +1,44 @@
import type { ApiOf, ZodiosResponseByAlias, ZodiosBodyByAlias, ZodiosQueryParamsByAlias } from '@zodios/core';
export type SolidTimeApi = ApiOf<typeof api>;
export type InvitationsIndexResponse = ZodiosResponseByAlias<SolidTimeApi, 'getInvitations'>;
export type CreateInvitationBody = ZodiosBodyByAlias<SolidTimeApi, 'invite'>;
export type Invitation = InvitationsIndexResponse['data'][0];
export type TimeEntryResponse = ZodiosResponseByAlias<SolidTimeApi, 'getTimeEntries'>;
export type TimeEntry = TimeEntryResponse['data'][0];
export type CreateTimeEntryBody = ZodiosBodyByAlias<SolidTimeApi, 'createTimeEntry'>;
export type ProjectResponse = ZodiosResponseByAlias<SolidTimeApi, 'getProjects'>;
export type Project = ProjectResponse['data'][0];
export type CreateProjectBody = ZodiosBodyByAlias<SolidTimeApi, 'createProject'>;
export type UpdateProjectBody = ZodiosBodyByAlias<SolidTimeApi, 'updateProject'>;
export type ProjectMemberResponse = ZodiosResponseByAlias<SolidTimeApi, 'getProjectMembers'>;
export type CreateProjectMemberBody = ZodiosBodyByAlias<SolidTimeApi, 'createProjectMember'>;
export type UpdateProjectMemberBody = ZodiosBodyByAlias<SolidTimeApi, 'updateProjectMember'>;
export type ProjectMember = ProjectMemberResponse['data'][0];
export type CreateTaskBody = ZodiosBodyByAlias<SolidTimeApi, 'createTask'>;
export type CreateClientBody = ZodiosBodyByAlias<SolidTimeApi, 'createClient'>;
export type UpdateClientBody = ZodiosBodyByAlias<SolidTimeApi, 'updateClient'>;
export type TagIndexResponse = ZodiosResponseByAlias<SolidTimeApi, 'getTags'>;
export type Tag = TagIndexResponse['data'][0];
export type TaskIndexResponse = ZodiosResponseByAlias<SolidTimeApi, 'getTasks'>;
export type Task = TaskIndexResponse['data'][0];
export type UpdateTaskBody = ZodiosBodyByAlias<SolidTimeApi, 'updateTask'>;
export type ClientIndexResponse = ZodiosResponseByAlias<SolidTimeApi, 'getClients'>;
export type Client = ClientIndexResponse['data'][0];
export type MemberIndexResponse = ZodiosResponseByAlias<SolidTimeApi, 'getMembers'>;
export type Member = MemberIndexResponse['data'][0];
export type UpdateMemberBody = ZodiosBodyByAlias<SolidTimeApi, 'updateMember'>;
export type InviteMemberBody = ZodiosBodyByAlias<SolidTimeApi, 'invite'>;
export type MemberRole = InviteMemberBody['role'];
export type CreateTagBody = ZodiosBodyByAlias<SolidTimeApi, 'createTag'>;
export type ImportType = ZodiosResponseByAlias<SolidTimeApi, 'getImporters'>['data'][0];
export type ImportReport = ZodiosResponseByAlias<SolidTimeApi, 'importData'>;
export type ReportingResponse = ZodiosResponseByAlias<SolidTimeApi, 'getAggregatedTimeEntries'>;
export type AggregatedTimeEntries = ReportingResponse['data'];
export type GroupedDataEntries = ReportingResponse['data']['grouped_data'];
export type AggregatedTimeEntriesQueryParams = ZodiosQueryParamsByAlias<SolidTimeApi, 'getAggregatedTimeEntries'>;
export type OrganizationResponse = ZodiosResponseByAlias<SolidTimeApi, 'getOrganization'>;
export type Organization = ZodiosResponseByAlias<SolidTimeApi, 'getOrganization'>['data'];
export type UpdateOrganizationBody = ZodiosBodyByAlias<SolidTimeApi, 'updateOrganization'>;
export type MyMemberships = ZodiosResponseByAlias<SolidTimeApi, 'getMyMemberships'>['data'];
export type MyMembership = MyMemberships[0];
export declare const api: any;

View File

@@ -14,6 +14,7 @@
"skipLibCheck": true,
"outDir": "./dist",
"rootDir": "./src",
"declaration": true
},
"include": [
"src/**/*.ts"

View File

@@ -0,0 +1,16 @@
import { resolve } from 'path'
import { defineConfig } from 'vite'
import dts from "vite-plugin-dts";
export default defineConfig({
plugins: [dts()],
build: {
lib: {
// Could also be a dictionary or array of multiple entry points
entry: resolve(__dirname, 'src/index.ts'),
name: 'SolidtimeApi',
// the proper extensions will be added
fileName: 'solidtime-api',
},
},
})