Skip to content

Commit

Permalink
Add tsconfig for Vue & CJS (directus#19197)
Browse files Browse the repository at this point in the history
* Add tsconfig for Vue

* Delete tsconfig.json

* Use vue tsconfig for composables

* Add changeset

* Update changeset

* Update changeset
  • Loading branch information
paescuj authored Jul 18, 2023
1 parent 7ebd79a commit e583c6b
Show file tree
Hide file tree
Showing 42 changed files with 141 additions and 72 deletions.
30 changes: 30 additions & 0 deletions .changeset/forty-carrots-cover.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
"@directus/api": patch
"@directus/components": patch
"@directus/composables": patch
"@directus/constants": patch
"@directus/data-driver-postgres": patch
"@directus/data-sql": patch
"@directus/data": patch
"@directus/errors": patch
"@directus/extensions-sdk": patch
"@directus/pressure": patch
"@directus/random": patch
"@directus/release-notes-generator": patch
"@directus/schema": patch
"@directus/storage-driver-azure": patch
"@directus/storage-driver-cloudinary": patch
"@directus/storage-driver-gcs": patch
"@directus/storage-driver-local": patch
"@directus/storage-driver-s3": patch
"@directus/storage": patch
"@directus/stores": patch
"@directus/themes": patch
"@directus/tsconfig": major
"@directus/types": patch
"@directus/update-check": patch
"@directus/utils": patch
"@directus/validation": patch
---

Added tsconfig for Vue & CJS
2 changes: 1 addition & 1 deletion api/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"extends": "@directus/tsconfig/node18-esm.json",
"extends": "@directus/tsconfig/node18-esm",
"compilerOptions": {
"outDir": "dist"
},
Expand Down
5 changes: 1 addition & 4 deletions docs/.vitepress/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
{
"extends": "@vue/tsconfig/tsconfig.dom.json",
"compilerOptions": {
"lib": ["esnext", "dom", "dom.iterable"]
},
"extends": "@directus/tsconfig/vue",
"include": ["env.d.ts", "**/*.vue"]
}
2 changes: 1 addition & 1 deletion docs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
},
"devDependencies": {
"@directus/format-title": "10.0.0",
"@vue/tsconfig": "0.4.0",
"@directus/tsconfig": "workspace:*",
"eslint-parser-plain": "0.1.0",
"eslint-plugin-markdown": "3.0.0",
"eslint-plugin-prettier": "npm:@paescuj/[email protected]",
Expand Down
2 changes: 1 addition & 1 deletion packages/components/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"extends": "@directus/tsconfig/node18-esm.json",
"extends": "@directus/tsconfig/node18-esm",
"compilerOptions": {
"outDir": "dist"
},
Expand Down
5 changes: 2 additions & 3 deletions packages/composables/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
{
"extends": "@directus/tsconfig/node18-esm.json",
"extends": "@directus/tsconfig/vue",
"compilerOptions": {
"outDir": "dist",
"lib": ["es2022", "DOM"]
"outDir": "dist"
},
"include": ["src"],
"typedocOptions": {
Expand Down
2 changes: 1 addition & 1 deletion packages/constants/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"extends": "@directus/tsconfig/node18-esm.json",
"extends": "@directus/tsconfig/node18-esm",
"compilerOptions": {
"outDir": "dist"
},
Expand Down
2 changes: 1 addition & 1 deletion packages/data-driver-postgres/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"extends": "@directus/tsconfig/node18-esm.json"
"extends": "@directus/tsconfig/node18-esm"
}
2 changes: 1 addition & 1 deletion packages/data-sql/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"extends": "@directus/tsconfig/node18-esm.json"
"extends": "@directus/tsconfig/node18-esm"
}
2 changes: 1 addition & 1 deletion packages/data/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"extends": "@directus/tsconfig/node18-esm.json"
"extends": "@directus/tsconfig/node18-esm"
}
2 changes: 1 addition & 1 deletion packages/errors/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"extends": "@directus/tsconfig/node18-esm.json",
"extends": "@directus/tsconfig/node18-esm",
"compilerOptions": {
"isolatedModules": true
},
Expand Down
2 changes: 1 addition & 1 deletion packages/extensions-sdk/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"extends": "@directus/tsconfig/node18-esm.json",
"extends": "@directus/tsconfig/node18-esm",
"compilerOptions": {
"outDir": "dist"
},
Expand Down
2 changes: 1 addition & 1 deletion packages/pressure/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"extends": "@directus/tsconfig/node18-esm.json",
"extends": "@directus/tsconfig/node18-esm",
"compilerOptions": {
"outDir": "dist"
},
Expand Down
2 changes: 1 addition & 1 deletion packages/random/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"extends": "@directus/tsconfig/node18-esm.json",
"extends": "@directus/tsconfig/node18-esm",
"compilerOptions": {
"outDir": "dist"
},
Expand Down
10 changes: 5 additions & 5 deletions packages/release-notes-generator/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { appendFileSync } from 'node:fs';
import { MAIN_PACKAGE } from './constants';
import { generateMarkdown } from './utils/generate-markdown';
import { getInfo } from './utils/get-info';
import { processPackages } from './utils/process-packages';
import { processReleaseLines } from './utils/process-release-lines';
import { MAIN_PACKAGE } from './constants.js';
import { generateMarkdown } from './utils/generate-markdown.js';
import { getInfo } from './utils/get-info.js';
import { processPackages } from './utils/process-packages.js';
import { processReleaseLines } from './utils/process-release-lines.js';

const { defaultChangelogFunctions, changesets } = processReleaseLines();

Expand Down
2 changes: 1 addition & 1 deletion packages/release-notes-generator/src/types.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { getInfo } from '@changesets/get-github-info';
import type { NewChangesetWithCommit } from '@changesets/types';
import { TYPE_MAP, UNTYPED_PACKAGES } from './constants';
import { TYPE_MAP, UNTYPED_PACKAGES } from './constants.js';

type AsyncReturnType<T extends (...args: any) => Promise<any>> = T extends (...args: any) => Promise<infer R> ? R : any;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { describe, expect, test } from 'vitest';
import { NOTICE_TYPE, TYPE_MAP, UNTYPED_PACKAGES } from '../constants';
import type { Change, Notice, PackageVersion, Type, UntypedPackage } from '../types';
import { generateMarkdown } from './generate-markdown';
import { NOTICE_TYPE, TYPE_MAP, UNTYPED_PACKAGES } from '../constants.js';
import type { Change, Notice, PackageVersion, Type, UntypedPackage } from '../types.js';
import { generateMarkdown } from './generate-markdown.js';

const change1: Change = {
summary: "Made Directus even more magical\nAnd here's some additional context",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { NOTICE_TYPE, REPO, VERSIONS_TITLE } from '../constants';
import type { Change, Notice, Package, PackageVersion, Type, UntypedPackage } from '../types';
import { NOTICE_TYPE, REPO, VERSIONS_TITLE } from '../constants.js';
import type { Change, Notice, Package, PackageVersion, Type, UntypedPackage } from '../types.js';

type Section = Type & { notices: Notice[] };

Expand Down
6 changes: 3 additions & 3 deletions packages/release-notes-generator/src/utils/get-info.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { getInfo as getGithubInfo } from '@changesets/get-github-info';
import { MAIN_PACKAGE, PACKAGE_ORDER, REPO, TYPE_MAP, UNTYPED_PACKAGES } from '../constants';
import type { Change, Changesets, Notice, Type, UntypedPackage } from '../types';
import { sortByExternalOrder, sortByObjectValues } from './sort';
import { MAIN_PACKAGE, PACKAGE_ORDER, REPO, TYPE_MAP, UNTYPED_PACKAGES } from '../constants.js';
import type { Change, Changesets, Notice, Type, UntypedPackage } from '../types.js';
import { sortByExternalOrder, sortByObjectValues } from './sort.js';

export async function getInfo(changesets: Changesets): Promise<{
types: Type[];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ import { findWorkspaceDir } from '@pnpm/find-workspace-dir';
import { Project, findWorkspacePackagesNoCheck } from '@pnpm/find-workspace-packages';
import { existsSync, unlinkSync } from 'node:fs';
import { join } from 'node:path';
import { MAIN_PACKAGE, PACKAGE_ORDER, UNTYPED_PACKAGES } from '../constants';
import type { PackageVersion } from '../types';
import { sortByExternalOrder } from './sort';
import { MAIN_PACKAGE, PACKAGE_ORDER, UNTYPED_PACKAGES } from '../constants.js';
import type { PackageVersion } from '../types.js';
import { sortByExternalOrder } from './sort.js';

export async function processPackages(): Promise<{
mainVersion: string | undefined;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { NewChangesetWithCommit, VersionType } from '@changesets/types';
import { expect, test } from 'vitest';
import { processReleaseLines } from './process-release-lines';
import { processReleaseLines } from './process-release-lines.js';

test('should process release lines', async () => {
const { defaultChangelogFunctions, changesets } = processReleaseLines();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import type { ChangelogFunctions, GetDependencyReleaseLine, GetReleaseLine } from '@changesets/types';
import type { Changesets } from '../types';
import type { Changesets } from '../types.js';

export function processReleaseLines(): { defaultChangelogFunctions: ChangelogFunctions; changesets: Changesets } {
const changesets: Changesets = new Map();
Expand Down
4 changes: 1 addition & 3 deletions packages/release-notes-generator/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
{
"extends": "@directus/tsconfig/node18-esm.json",
"extends": "@directus/tsconfig/node18-cjs",
"compilerOptions": {
"module": "CommonJS",
"verbatimModuleSyntax": false,
"outDir": "dist"
},
"include": ["src"]
Expand Down
2 changes: 1 addition & 1 deletion packages/schema/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"extends": "@directus/tsconfig/node18-esm.json",
"extends": "@directus/tsconfig/node18-esm",
"compilerOptions": {
"outDir": "dist"
},
Expand Down
2 changes: 1 addition & 1 deletion packages/storage-driver-azure/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"extends": "@directus/tsconfig/node18-esm.json",
"extends": "@directus/tsconfig/node18-esm",
"compilerOptions": {
"outDir": "dist"
},
Expand Down
2 changes: 1 addition & 1 deletion packages/storage-driver-cloudinary/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"extends": "@directus/tsconfig/node18-esm.json",
"extends": "@directus/tsconfig/node18-esm",
"compilerOptions": {
"outDir": "dist"
},
Expand Down
2 changes: 1 addition & 1 deletion packages/storage-driver-gcs/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"extends": "@directus/tsconfig/node18-esm.json",
"extends": "@directus/tsconfig/node18-esm",
"compilerOptions": {
"outDir": "dist"
},
Expand Down
2 changes: 1 addition & 1 deletion packages/storage-driver-local/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"extends": "@directus/tsconfig/node18-esm.json",
"extends": "@directus/tsconfig/node18-esm",
"compilerOptions": {
"outDir": "dist"
},
Expand Down
2 changes: 1 addition & 1 deletion packages/storage-driver-s3/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"extends": "@directus/tsconfig/node18-esm.json",
"extends": "@directus/tsconfig/node18-esm",
"compilerOptions": {
"outDir": "dist"
},
Expand Down
2 changes: 1 addition & 1 deletion packages/storage/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"extends": "@directus/tsconfig/node18-esm.json",
"extends": "@directus/tsconfig/node18-esm",
"compilerOptions": {
"outDir": "dist"
},
Expand Down
6 changes: 2 additions & 4 deletions packages/stores/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
{
"extends": "@directus/tsconfig/node18-esm.json",
"compilerOptions": {
"lib": ["es2022", "DOM"]
},
"extends": "@directus/tsconfig/vue",
"include": ["src"],
"typedocOptions": {
"entryPoints": ["./src/index.ts"]
}
Expand Down
2 changes: 1 addition & 1 deletion packages/themes/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"extends": "@directus/tsconfig/node18-esm.json",
"extends": "@directus/tsconfig/node18-esm",
"compilerOptions": {
"outDir": "dist"
},
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,11 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
"display": "Node 18 ESM",
"display": "Base",
"compilerOptions": {
"lib": ["es2022"],
"module": "es2022",
"target": "es2022",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"moduleResolution": "NodeNext",
"allowUnusedLabels": false,
"allowUnreachableCode": false,
"exactOptionalPropertyTypes": true,
Expand All @@ -20,7 +16,6 @@
"noUncheckedIndexedAccess": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"verbatimModuleSyntax": true,
"checkJs": true,
"allowSyntheticDefaultImports": true,
"declaration": true
Expand Down
10 changes: 10 additions & 0 deletions packages/tsconfig/node18-cjs/tsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
"display": "CommonJS",
"extends": "../base/tsconfig.json",
"compilerOptions": {
"module": "CommonJS",
"target": "ES2022",
"moduleResolution": "NodeNext"
}
}
11 changes: 11 additions & 0 deletions packages/tsconfig/node18-esm/tsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
"display": "Node 18 ESM",
"extends": "../base/tsconfig.json",
"compilerOptions": {
"module": "ES2022",
"target": "ES2022",
"moduleResolution": "NodeNext",
"verbatimModuleSyntax": true
}
}
9 changes: 6 additions & 3 deletions packages/tsconfig/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,10 @@
"funding": "https://github.com/directus/directus?sponsor=1",
"license": "MIT",
"author": "Rijk van Zanten <[email protected]>",
"files": [
"./node18-esm.json"
]
"exports": {
"./base": "./base/tsconfig.json",
"./node18-cjs": "./node18-cjs/tsconfig.json",
"./node18-esm": "./node18-esm/tsconfig.json",
"./vue": "./vue/tsconfig.json"
}
}
32 changes: 32 additions & 0 deletions packages/tsconfig/vue/tsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
"display": "Vue",
"extends": "../base/tsconfig.json",
"compilerOptions": {
// It's recommended to author and ship in ES modules.
// This recommendation includes environments like Vitest, Vite Config File, Vite SSR, etc.
"module": "ES2022",

// - Vue 3 supports ES2016+
// - For Vite, the actual compilation target is determined by the
// `build.target` option in the Vite config.
// So don't change the `target` field here. It has to be
// at least `ES2020` for dynamic `import()`s and `import.meta` to work correctly.
"target": "ES2022",

// Add DOM definitions.
"lib": ["ES2022", "DOM", "DOM.Iterable"],

// Enable some resolution features that are only available in bundlers.
"moduleResolution": "bundler",
"resolveJsonModule": true,

// Any imports or exports without a type modifier are left around. This is important for `<script setup>`.
// Anything that uses the type modifier is dropped entirely.
"verbatimModuleSyntax": true,

// Required in Vue projects
"jsx": "preserve",
"jsxImportSource": "vue"
}
}
2 changes: 1 addition & 1 deletion packages/types/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"extends": "@directus/tsconfig/node18-esm.json",
"extends": "@directus/tsconfig/node18-esm",
"compilerOptions": {
"outDir": "dist"
},
Expand Down
2 changes: 1 addition & 1 deletion packages/update-check/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"extends": "@directus/tsconfig/node18-esm.json",
"extends": "@directus/tsconfig/node18-esm",
"compilerOptions": {
"outDir": "dist"
},
Expand Down
2 changes: 1 addition & 1 deletion packages/utils/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"extends": "@directus/tsconfig/node18-esm.json",
"extends": "@directus/tsconfig/node18-esm",
"compilerOptions": {
"outDir": "dist"
},
Expand Down
Loading

0 comments on commit e583c6b

Please sign in to comment.