0
Fork 0
mirror of https://github.com/logto-io/logto.git synced 2025-03-03 22:15:32 -05:00

refactor: use esm (batch 1)

This commit is contained in:
Gao Sun 2022-11-21 11:24:02 +08:00
parent 59c52feb2c
commit a7dbeb9c77
No known key found for this signature in database
GPG key ID: 13EBE123E4773688
74 changed files with 289 additions and 277 deletions

View file

@ -5,6 +5,7 @@
"author": "Silverhand Inc. <contact@silverhand.io>",
"homepage": "https://github.com/logto-io/logto#readme",
"license": "MPL-2.0",
"type": "module",
"main": "lib/index.js",
"publishConfig": {
"access": "public"

View file

@ -4,16 +4,16 @@ import { languages } from '@logto/language-kit';
import type { NormalizeKeyPaths } from '@silverhand/essentials';
import { z } from 'zod';
import de from './locales/de';
import en from './locales/en';
import fr from './locales/fr';
import ko from './locales/ko';
import ptPT from './locales/pt-pt';
import trTR from './locales/tr-tr';
import zhCN from './locales/zh-cn';
import type { LocalePhrase } from './types';
import de from './locales/de.js';
import en from './locales/en.js';
import fr from './locales/fr.js';
import ko from './locales/ko.js';
import ptPT from './locales/pt-pt.js';
import trTR from './locales/tr-tr.js';
import zhCN from './locales/zh-cn.js';
import type { LocalePhrase } from './types.js';
export type { LocalePhrase } from './types';
export type { LocalePhrase } from './types.js';
export type I18nKey = NormalizeKeyPaths<typeof en.translation>;

View file

@ -1,4 +1,4 @@
import type { LocalePhrase } from '../types';
import type { LocalePhrase } from '../types.js';
const translation = {
input: {

View file

@ -1,4 +1,4 @@
import type { LocalePhrase } from '../types';
import type { LocalePhrase } from '../types.js';
const translation = {
input: {

View file

@ -1,4 +1,4 @@
import type { LocalePhrase } from '../types';
import type { LocalePhrase } from '../types.js';
const translation = {
input: {

View file

@ -1,4 +1,4 @@
import type { LocalePhrase } from '../types';
import type { LocalePhrase } from '../types.js';
const translation = {
input: {

View file

@ -1,4 +1,4 @@
import type { LocalePhrase } from '../types';
import type { LocalePhrase } from '../types.js';
const translation = {
input: {

View file

@ -1,4 +1,4 @@
import type { LocalePhrase } from '../types';
import type { LocalePhrase } from '../types.js';
const translation = {
input: {

View file

@ -1,3 +1,3 @@
import type en from './locales/en';
import type en from './locales/en.js';
export type LocalePhrase = typeof en;

View file

@ -2,7 +2,9 @@
"extends": "@silverhand/ts-config/tsconfig.base",
"compilerOptions": {
"outDir": "lib",
"declaration": true
"declaration": true,
"moduleResolution": "nodenext",
"module": "es2022"
},
"include": ["src"]
}

View file

@ -5,6 +5,7 @@
"author": "Silverhand Inc. <contact@silverhand.io>",
"homepage": "https://github.com/logto-io/logto#readme",
"license": "MPL-2.0",
"type": "module",
"main": "lib/index.js",
"publishConfig": {
"access": "public"

View file

@ -4,16 +4,16 @@ import { languages } from '@logto/language-kit';
import type { NormalizeKeyPaths } from '@silverhand/essentials';
import { z } from 'zod';
import de from './locales/de';
import en from './locales/en';
import fr from './locales/fr';
import ko from './locales/ko';
import ptPT from './locales/pt-pt';
import trTR from './locales/tr-tr';
import zhCN from './locales/zh-cn';
import type { LocalPhrase } from './types';
import de from './locales/de/index.js';
import en from './locales/en/index.js';
import fr from './locales/fr/index.js';
import ko from './locales/ko/index.js';
import ptPT from './locales/pt-pt/index.js';
import trTR from './locales/tr-tr/index.js';
import zhCN from './locales/zh-cn/index.js';
import type { LocalPhrase } from './types.js';
export type { LocalPhrase } from './types';
export type { LocalPhrase } from './types.js';
export type I18nKey = NormalizeKeyPaths<typeof en.translation>;

View file

@ -1,6 +1,6 @@
import type { LocalPhrase } from '../../types';
import errors from './errors';
import translation from './translation';
import type { LocalPhrase } from '../../types.js';
import errors from './errors.js';
import translation from './translation/index.js';
const de: LocalPhrase = Object.freeze({
translation,

View file

@ -1,24 +1,24 @@
import api_resource_details from './api-resource-details';
import api_resources from './api-resources';
import application_details from './application-details';
import applications from './applications';
import connector_details from './connector-details';
import connectors from './connectors';
import contact from './contact';
import dashboard from './dashboard';
import errors from './errors';
import general from './general';
import get_started from './get-started';
import log_details from './log-details';
import logs from './logs';
import session_expired from './session-expired';
import settings from './settings';
import sign_in_exp from './sign-in-exp';
import tab_sections from './tab-sections';
import tabs from './tabs';
import user_details from './user-details';
import users from './users';
import welcome from './welcome';
import api_resource_details from './api-resource-details.js';
import api_resources from './api-resources.js';
import application_details from './application-details.js';
import applications from './applications.js';
import connector_details from './connector-details.js';
import connectors from './connectors.js';
import contact from './contact.js';
import dashboard from './dashboard.js';
import errors from './errors.js';
import general from './general.js';
import get_started from './get-started.js';
import log_details from './log-details.js';
import logs from './logs.js';
import session_expired from './session-expired.js';
import settings from './settings.js';
import sign_in_exp from './sign-in-exp.js';
import tab_sections from './tab-sections.js';
import tabs from './tabs.js';
import user_details from './user-details.js';
import users from './users.js';
import welcome from './welcome.js';
const admin_console = {
title: 'Admin Konsole',

View file

@ -1,5 +1,5 @@
import admin_console from './admin-console';
import demo_app from './demo-app';
import admin_console from './admin-console/index.js';
import demo_app from './demo-app.js';
const translation = {
admin_console,

View file

@ -1,5 +1,5 @@
import errors from './errors';
import translation from './translation';
import errors from './errors.js';
import translation from './translation/index.js';
const en = Object.freeze({
translation,

View file

@ -1,24 +1,24 @@
import api_resource_details from './api-resource-details';
import api_resources from './api-resources';
import application_details from './application-details';
import applications from './applications';
import connector_details from './connector-details';
import connectors from './connectors';
import contact from './contact';
import dashboard from './dashboard';
import errors from './errors';
import general from './general';
import get_started from './get-started';
import log_details from './log-details';
import logs from './logs';
import session_expired from './session-expired';
import settings from './settings';
import sign_in_exp from './sign-in-exp';
import tab_sections from './tab-sections';
import tabs from './tabs';
import user_details from './user-details';
import users from './users';
import welcome from './welcome';
import api_resource_details from './api-resource-details.js';
import api_resources from './api-resources.js';
import application_details from './application-details.js';
import applications from './applications.js';
import connector_details from './connector-details.js';
import connectors from './connectors.js';
import contact from './contact.js';
import dashboard from './dashboard.js';
import errors from './errors.js';
import general from './general.js';
import get_started from './get-started.js';
import log_details from './log-details.js';
import logs from './logs.js';
import session_expired from './session-expired.js';
import settings from './settings.js';
import sign_in_exp from './sign-in-exp.js';
import tab_sections from './tab-sections.js';
import tabs from './tabs.js';
import user_details from './user-details.js';
import users from './users.js';
import welcome from './welcome.js';
const admin_console = {
title: 'Admin Console',

View file

@ -1,5 +1,5 @@
import admin_console from './admin-console';
import demo_app from './demo-app';
import admin_console from './admin-console/index.js';
import demo_app from './demo-app.js';
const translation = {
admin_console,

View file

@ -1,6 +1,6 @@
import type { LocalPhrase } from '../../types';
import errors from './errors';
import translation from './translation';
import type { LocalPhrase } from '../../types.js';
import errors from './errors.js';
import translation from './translation/index.js';
const fr: LocalPhrase = Object.freeze({
translation,

View file

@ -1,24 +1,24 @@
import api_resource_details from './api-resource-details';
import api_resources from './api-resources';
import application_details from './application-details';
import applications from './applications';
import connector_details from './connector-details';
import connectors from './connectors';
import contact from './contact';
import dashboard from './dashboard';
import errors from './errors';
import general from './general';
import get_started from './get-started';
import log_details from './log-details';
import logs from './logs';
import session_expired from './session-expired';
import settings from './settings';
import sign_in_exp from './sign-in-exp';
import tab_sections from './tab-sections';
import tabs from './tabs';
import user_details from './user-details';
import users from './users';
import welcome from './welcome';
import api_resource_details from './api-resource-details.js';
import api_resources from './api-resources.js';
import application_details from './application-details.js';
import applications from './applications.js';
import connector_details from './connector-details.js';
import connectors from './connectors.js';
import contact from './contact.js';
import dashboard from './dashboard.js';
import errors from './errors.js';
import general from './general.js';
import get_started from './get-started.js';
import log_details from './log-details.js';
import logs from './logs.js';
import session_expired from './session-expired.js';
import settings from './settings.js';
import sign_in_exp from './sign-in-exp.js';
import tab_sections from './tab-sections.js';
import tabs from './tabs.js';
import user_details from './user-details.js';
import users from './users.js';
import welcome from './welcome.js';
const admin_console = {
title: 'Admin Console',

View file

@ -1,5 +1,5 @@
import admin_console from './admin-console';
import demo_app from './demo-app';
import admin_console from './admin-console/index.js';
import demo_app from './demo-app.js';
const translation = {
admin_console,

View file

@ -1,6 +1,6 @@
import type { LocalPhrase } from '../../types';
import errors from './errors';
import translation from './translation';
import type { LocalPhrase } from '../../types.js';
import errors from './errors.js';
import translation from './translation/index.js';
const ko: LocalPhrase = Object.freeze({
translation,

View file

@ -1,24 +1,24 @@
import api_resource_details from './api-resource-details';
import api_resources from './api-resources';
import application_details from './application-details';
import applications from './applications';
import connector_details from './connector-details';
import connectors from './connectors';
import contact from './contact';
import dashboard from './dashboard';
import errors from './errors';
import general from './general';
import get_started from './get-started';
import log_details from './log-details';
import logs from './logs';
import session_expired from './session-expired';
import settings from './settings';
import sign_in_exp from './sign-in-exp';
import tab_sections from './tab-sections';
import tabs from './tabs';
import user_details from './user-details';
import users from './users';
import welcome from './welcome';
import api_resource_details from './api-resource-details.js';
import api_resources from './api-resources.js';
import application_details from './application-details.js';
import applications from './applications.js';
import connector_details from './connector-details.js';
import connectors from './connectors.js';
import contact from './contact.js';
import dashboard from './dashboard.js';
import errors from './errors.js';
import general from './general.js';
import get_started from './get-started.js';
import log_details from './log-details.js';
import logs from './logs.js';
import session_expired from './session-expired.js';
import settings from './settings.js';
import sign_in_exp from './sign-in-exp.js';
import tab_sections from './tab-sections.js';
import tabs from './tabs.js';
import user_details from './user-details.js';
import users from './users.js';
import welcome from './welcome.js';
const admin_console = {
title: '관리자 Console',

View file

@ -1,5 +1,5 @@
import admin_console from './admin-console';
import demo_app from './demo-app';
import admin_console from './admin-console/index.js';
import demo_app from './demo-app.js';
const translation = {
admin_console,

View file

@ -1,6 +1,6 @@
import type { LocalPhrase } from '../../types';
import errors from './errors';
import translation from './translation';
import type { LocalPhrase } from '../../types.js';
import errors from './errors.js';
import translation from './translation/index.js';
const ptPT: LocalPhrase = Object.freeze({
translation,

View file

@ -1,24 +1,24 @@
import api_resource_details from './api-resource-details';
import api_resources from './api-resources';
import application_details from './application-details';
import applications from './applications';
import connector_details from './connector-details';
import connectors from './connectors';
import contact from './contact';
import dashboard from './dashboard';
import errors from './errors';
import general from './general';
import get_started from './get-started';
import log_details from './log-details';
import logs from './logs';
import session_expired from './session-expired';
import settings from './settings';
import sign_in_exp from './sign-in-exp';
import tab_sections from './tab-sections';
import tabs from './tabs';
import user_details from './user-details';
import users from './users';
import welcome from './welcome';
import api_resource_details from './api-resource-details.js';
import api_resources from './api-resources.js';
import application_details from './application-details.js';
import applications from './applications.js';
import connector_details from './connector-details.js';
import connectors from './connectors.js';
import contact from './contact.js';
import dashboard from './dashboard.js';
import errors from './errors.js';
import general from './general.js';
import get_started from './get-started.js';
import log_details from './log-details.js';
import logs from './logs.js';
import session_expired from './session-expired.js';
import settings from './settings.js';
import sign_in_exp from './sign-in-exp.js';
import tab_sections from './tab-sections.js';
import tabs from './tabs.js';
import user_details from './user-details.js';
import users from './users.js';
import welcome from './welcome.js';
const admin_console = {
title: 'Consola de Administrador',

View file

@ -1,5 +1,5 @@
import admin_console from './admin-console';
import demo_app from './demo-app';
import admin_console from './admin-console/index.js';
import demo_app from './demo-app.js';
const translation = {
admin_console,

View file

@ -1,6 +1,6 @@
import type { LocalPhrase } from '../../types';
import errors from './errors';
import translation from './translation';
import type { LocalPhrase } from '../../types.js';
import errors from './errors.js';
import translation from './translation/index.js';
const trTR: LocalPhrase = Object.freeze({
translation,

View file

@ -1,24 +1,24 @@
import api_resource_details from './api-resource-details';
import api_resources from './api-resources';
import application_details from './application-details';
import applications from './applications';
import connector_details from './connector-details';
import connectors from './connectors';
import contact from './contact';
import dashboard from './dashboard';
import errors from './errors';
import general from './general';
import get_started from './get-started';
import log_details from './log-details';
import logs from './logs';
import session_expired from './session-expired';
import settings from './settings';
import sign_in_exp from './sign-in-exp';
import tab_sections from './tab-sections';
import tabs from './tabs';
import user_details from './user-details';
import users from './users';
import welcome from './welcome';
import api_resource_details from './api-resource-details.js';
import api_resources from './api-resources.js';
import application_details from './application-details.js';
import applications from './applications.js';
import connector_details from './connector-details.js';
import connectors from './connectors.js';
import contact from './contact.js';
import dashboard from './dashboard.js';
import errors from './errors.js';
import general from './general.js';
import get_started from './get-started.js';
import log_details from './log-details.js';
import logs from './logs.js';
import session_expired from './session-expired.js';
import settings from './settings.js';
import sign_in_exp from './sign-in-exp.js';
import tab_sections from './tab-sections.js';
import tabs from './tabs.js';
import user_details from './user-details.js';
import users from './users.js';
import welcome from './welcome.js';
const admin_console = {
title: 'Yönetici Paneli',

View file

@ -1,5 +1,5 @@
import admin_console from './admin-console';
import demo_app from './demo-app';
import admin_console from './admin-console/index.js';
import demo_app from './demo-app.js';
const translation = {
admin_console,

View file

@ -1,6 +1,6 @@
import type { LocalPhrase } from '../../types';
import errors from './errors';
import translation from './translation';
import type { LocalPhrase } from '../../types.js';
import errors from './errors.js';
import translation from './translation/index.js';
const zhCN: LocalPhrase = Object.freeze({
translation,

View file

@ -1,24 +1,24 @@
import api_resource_details from './api-resource-details';
import api_resources from './api-resources';
import application_details from './application-details';
import applications from './applications';
import connector_details from './connector-details';
import connectors from './connectors';
import contact from './contact';
import dashboard from './dashboard';
import errors from './errors';
import general from './general';
import get_started from './get-started';
import log_details from './log-details';
import logs from './logs';
import session_expired from './session-expired';
import settings from './settings';
import sign_in_exp from './sign-in-exp';
import tab_sections from './tab-sections';
import tabs from './tabs';
import user_details from './user-details';
import users from './users';
import welcome from './welcome';
import api_resource_details from './api-resource-details.js';
import api_resources from './api-resources.js';
import application_details from './application-details.js';
import applications from './applications.js';
import connector_details from './connector-details.js';
import connectors from './connectors.js';
import contact from './contact.js';
import dashboard from './dashboard.js';
import errors from './errors.js';
import general from './general.js';
import get_started from './get-started.js';
import log_details from './log-details.js';
import logs from './logs.js';
import session_expired from './session-expired.js';
import settings from './settings.js';
import sign_in_exp from './sign-in-exp.js';
import tab_sections from './tab-sections.js';
import tabs from './tabs.js';
import user_details from './user-details.js';
import users from './users.js';
import welcome from './welcome.js';
const admin_console = {
title: '管理控制台',

View file

@ -1,5 +1,5 @@
import admin_console from './admin-console';
import demo_app from './demo-app';
import admin_console from './admin-console/index.js';
import demo_app from './demo-app.js';
const translation = {
admin_console,

View file

@ -1,3 +1,3 @@
import type en from './locales/en';
import type en from './locales/en/index.js';
export type LocalPhrase = typeof en;

View file

@ -2,7 +2,9 @@
"extends": "@silverhand/ts-config/tsconfig.base",
"compilerOptions": {
"outDir": "lib",
"declaration": true
"declaration": true,
"moduleResolution": "nodenext",
"module": "es2022"
},
"include": [
"src"

View file

@ -1,6 +1,6 @@
import { sql } from 'slonik';
import { AlterationScript } from '../lib/types/alteration';
import type { AlterationScript } from '../lib/types/alteration.js';
const alteration: AlterationScript = {
up: async (pool) => {

View file

@ -1,6 +1,6 @@
import { sql } from 'slonik';
import { AlterationScript } from '../lib/types/alteration';
import type { AlterationScript } from '../lib/types/alteration.js';
const alteration: AlterationScript = {
up: async (pool) => {

View file

@ -1,6 +1,6 @@
import { sql } from 'slonik';
import { AlterationScript } from '../lib/types/alteration';
import type { AlterationScript } from '../lib/types/alteration.js';
const alteration: AlterationScript = {
up: async (pool) => {

View file

@ -1,6 +1,6 @@
import { sql } from 'slonik';
import { AlterationScript } from '../lib/types/alteration';
import type { AlterationScript } from '../lib/types/alteration.js';
const alteration: AlterationScript = {
up: async (pool) => {

View file

@ -1,6 +1,6 @@
import { sql } from 'slonik';
import { AlterationScript } from '../lib/types/alteration';
import type { AlterationScript } from '../lib/types/alteration.js';
const alteration: AlterationScript = {
up: async (pool) => {

View file

@ -1,6 +1,6 @@
import { sql } from 'slonik';
import { AlterationScript } from '../lib/types/alteration';
import type { AlterationScript } from '../lib/types/alteration.js';
const alteration: AlterationScript = {
up: async (pool) => {

View file

@ -1,6 +1,6 @@
import { sql } from 'slonik';
import type { AlterationScript } from '../lib/types/alteration';
import type { AlterationScript } from '../lib/types/alteration.js';
enum SignInMethodState {
Primary = 'primary',

View file

@ -1,6 +1,6 @@
import { sql } from 'slonik';
import type { AlterationScript } from '../lib/types/alteration';
import type { AlterationScript } from '../lib/types/alteration.js';
const alteration: AlterationScript = {
up: async (pool) => {

View file

@ -1,6 +1,6 @@
import { sql } from 'slonik';
import type { AlterationScript } from '../lib/types/alteration';
import type { AlterationScript } from '../lib/types/alteration.js';
const alteration: AlterationScript = {
up: async (pool) => {

View file

@ -1,6 +1,6 @@
import { sql } from 'slonik';
import type { AlterationScript } from '../lib/types/alteration';
import type { AlterationScript } from '../lib/types/alteration.js';
const alteration: AlterationScript = {
up: async (pool) => {

View file

@ -1,6 +1,6 @@
import { sql } from 'slonik';
import type { AlterationScript } from '../lib/types/alteration';
import type { AlterationScript } from '../lib/types/alteration.js';
const alteration: AlterationScript = {
up: async (pool) => {

View file

@ -1,6 +1,6 @@
import { sql } from 'slonik';
import type { AlterationScript } from '../lib/types/alteration';
import type { AlterationScript } from '../lib/types/alteration.js';
const alteration: AlterationScript = {
up: async (pool) => {

View file

@ -4,6 +4,7 @@
"main": "lib/index.js",
"author": "Silverhand Inc. <contact@silverhand.io>",
"license": "MPL-2.0",
"type": "module",
"files": [
"lib",
"alterations",
@ -16,7 +17,7 @@
"scripts": {
"precommit": "lint-staged",
"version": "./update-next.sh && git add alterations/",
"generate": "rm -rf src/db-entries && ts-node src/gen/index.ts && eslint \"src/db-entries/**\" --fix",
"generate": "rm -rf src/db-entries && ts-node-esm src/gen/index.ts && eslint \"src/db-entries/**\" --fix",
"build:alterations": "rm -rf alterations-js && tsc -p tsconfig.build.alterations.json",
"build": "pnpm generate && rm -rf lib/ && tsc -p tsconfig.build.json && pnpm build:alterations",
"dev": "tsc -p tsconfig.build.json --watch --preserveWatchOutput --incremental",

View file

@ -1 +1 @@
export * from './error';
export * from './error.js';

View file

@ -1,2 +1,2 @@
export * from './schemas';
export * from './jsonb-types';
export * from './schemas.js';
export * from './jsonb-types.js';

View file

@ -10,15 +10,15 @@ import camelcase from 'camelcase';
import uniq from 'lodash.uniq';
import pluralize from 'pluralize';
import { generateSchema } from './schema';
import type { FileData, Table, Field, Type, GeneratedType, TableWithType } from './types';
import { generateSchema } from './schema.js';
import type { FileData, Table, Field, Type, GeneratedType, TableWithType } from './types.js';
import {
findFirstParentheses,
normalizeWhitespaces,
parseType,
removeUnrecognizedComments,
splitTableFieldDefinitions,
} from './utils';
} from './utils.js';
const directory = 'tables';
const constrainedKeywords = [
@ -95,7 +95,7 @@ const generate = async () => {
const generatedDirectory = 'src/db-entries';
const generatedTypesFilename = 'custom-types';
const tsTypesFilename = '../foundations';
const tsTypesFilename = '../foundations/index';
const header = '// THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.\n\n';
await fs.rm(generatedDirectory, { recursive: true, force: true });
@ -167,7 +167,7 @@ const generate = async () => {
uniq(tsTypes)
.map((value) => ` ${value}`)
.join(',\n'),
`} from './${tsTypesFilename}';`,
`} from'./${tsTypesFilename}.js';`,
].join('\n') + '\n\n'
);
@ -178,7 +178,7 @@ const generate = async () => {
uniq(customTypes)
.map((value) => ` ${value}`)
.join(',\n'),
`} from './${generatedTypesFilename}';`,
`} from'./${generatedTypesFilename}.js';`,
].join('\n') + '\n\n'
);
@ -196,8 +196,8 @@ const generate = async () => {
await fs.writeFile(
path.join(generatedDirectory, 'index.ts'),
header +
conditionalString(allTypes.length > 0 && `export * from './${generatedTypesFilename}';\n`) +
generated.map(([file]) => `export * from './${getOutputFileName(file)}';`).join('\n') +
conditionalString(allTypes.length > 0 && `export * from'./${generatedTypesFilename}.js';\n`) +
generated.map(([file]) => `export * from'./${getOutputFileName(file)}.js';`).join('\n') +
'\n'
);
};

View file

@ -4,7 +4,7 @@ import { conditionalString } from '@silverhand/essentials';
import camelcase from 'camelcase';
import pluralize from 'pluralize';
import type { TableWithType } from './types';
import type { TableWithType } from './types.js';
export const generateSchema = ({ name, fields }: TableWithType) => {
const modelName = pluralize(camelcase(name, { pascalCase: true }), 1);

View file

@ -1,4 +1,4 @@
import { parseType, getType, splitTableFieldDefinitions } from './utils';
import { parseType, getType, splitTableFieldDefinitions } from './utils.js';
describe('splitTableFieldDefinitions', () => {
it('splitTableFieldDefinitions should split at each comma that is not in the parentheses', () => {

View file

@ -1,7 +1,7 @@
import type { Optional } from '@silverhand/essentials';
import { conditional, assert } from '@silverhand/essentials';
import type { Field } from './types';
import type { Field } from './types.js';
export const normalizeWhitespaces = (string: string): string => string.replace(/\s+/g, ' ').trim();

View file

@ -1,5 +1,5 @@
export * from './foundations';
export * from './db-entries';
export * from './types';
export * from './api';
export * as seeds from './seeds';
export * from './foundations/index.js';
export * from './db-entries/index.js';
export * from './types/index.js';
export * from './api/index.js';
export * as seeds from './seeds/index.js';

View file

@ -1,5 +1,5 @@
import type { CreateApplication } from '../db-entries';
import { ApplicationType } from '../db-entries';
import type { CreateApplication } from '../db-entries/index.js';
import { ApplicationType } from '../db-entries/index.js';
/**
* The fixed application ID for Admin Console.

View file

@ -1,5 +1,5 @@
export * from './application';
export * from './resource';
export * from './setting';
export * from './sign-in-experience';
export * from './roles';
export * from './application.js';
export * from './resource.js';
export * from './setting.js';
export * from './sign-in-experience.js';
export * from './roles.js';

View file

@ -1,4 +1,4 @@
import type { CreateResource } from '../db-entries';
import type { CreateResource } from '../db-entries/index.js';
export const managementResource: Readonly<CreateResource> = Object.freeze({
id: 'management-api',

View file

@ -1,5 +1,5 @@
import type { CreateRole } from '../db-entries';
import { UserRole } from '../types';
import type { CreateRole } from '../db-entries/index.js';
import { UserRole } from '../types/index.js';
/**
* Default Admin Role for Admin Console.

View file

@ -1,5 +1,5 @@
import type { CreateSetting } from '../db-entries';
import { AppearanceMode } from '../foundations';
import type { CreateSetting } from '../db-entries/index.js';
import { AppearanceMode } from '../foundations/index.js';
export const defaultSettingId = 'default';

View file

@ -1,8 +1,8 @@
import { generateDarkColor } from '@logto/core-kit';
import type { CreateSignInExperience } from '../db-entries';
import { SignInMode } from '../db-entries';
import { BrandingStyle, SignInIdentifier, SignUpIdentifier } from '../foundations';
import type { CreateSignInExperience } from '../db-entries/index.js';
import { SignInMode } from '../db-entries/index.js';
import { BrandingStyle, SignInIdentifier, SignUpIdentifier } from '../foundations/index.js';
const defaultPrimaryColor = '#6139F6';

View file

@ -1,6 +1,6 @@
import type { BaseConnector, ConnectorMetadata, ConnectorType } from '@logto/connector-kit';
import type { Connector } from '../db-entries';
import type { Connector } from '../db-entries/index.js';
export type { ConnectorMetadata } from '@logto/connector-kit';
export { ConnectorType, ConnectorPlatform } from '@logto/connector-kit';

View file

@ -1,5 +1,5 @@
export * from './connector';
export * from './log';
export * from './oidc-config';
export * from './user';
export * from './logto-config';
export * from './connector.js';
export * from './log.js';
export * from './oidc-config.js';
export * from './user.js';
export * from './logto-config.js';

View file

@ -1,6 +1,6 @@
import { z } from 'zod';
import type { Log } from '../db-entries';
import type { Log } from '../db-entries/index.js';
export enum LogResult {
Success = 'Success',

View file

@ -1,4 +1,4 @@
import type { CreateUser } from '../db-entries';
import type { CreateUser } from '../db-entries/index.js';
export const userInfoSelectFields = Object.freeze([
'id',

View file

@ -2,7 +2,9 @@
"extends": "@silverhand/ts-config/tsconfig.base",
"compilerOptions": {
"outDir": "lib",
"declaration": true
"declaration": true,
"moduleResolution": "nodenext",
"module": "es2022"
},
"include": [
"src",

View file

@ -4,6 +4,7 @@
"main": "lib/index.js",
"author": "Silverhand Inc. <contact@silverhand.io>",
"license": "MPL-2.0",
"type": "module",
"files": [
"lib"
],

View file

@ -1,2 +1,2 @@
export * from './types';
export * from './utils';
export * from './types.js';
export * from './utils.js';

View file

@ -1,7 +1,7 @@
import { sql } from 'slonik';
import { SqlToken } from 'slonik/dist/src/tokens.js';
import type { Table } from './types';
import type { Table } from './types.js';
import {
excludeAutoSetFields,
autoSetFields,
@ -9,7 +9,7 @@ import {
convertToIdentifiers,
convertToTimestamp,
conditionalSql,
} from './utils';
} from './utils.js';
describe('conditionalSql()', () => {
it('returns empty sql when value is falsy', () => {

View file

@ -4,7 +4,7 @@ import { notFalsy } from '@silverhand/essentials';
import type { SqlSqlToken, SqlToken, QueryResult, IdentifierSqlToken } from 'slonik';
import { sql } from 'slonik';
import type { FieldIdentifiers, Table } from './types';
import type { FieldIdentifiers, Table } from './types.js';
export const conditionalSql = <T>(value: T, buildSql: (value: Exclude<T, Falsy>) => SqlSqlToken) =>
notFalsy(value) ? buildSql(value) : sql``;

View file

@ -1,2 +1,2 @@
export * from './database';
export * from './utils';
export * from './database/index.js';
export * from './utils/index.js';

View file

@ -1,4 +1,4 @@
import { buildIdGenerator, alphabet } from './id';
import { buildIdGenerator, alphabet } from './id.js';
describe('id generator', () => {
it('should match the input length', () => {

View file

@ -1,3 +1,3 @@
export * from './id';
export * from './function';
export { default as findPackage } from './find-package';
export * from './id.js';
export * from './function.js';
export { default as findPackage } from './find-package.js';

View file

@ -3,7 +3,9 @@
"compilerOptions": {
"outDir": "lib",
"declaration": true,
"types": ["node", "jest"]
"types": ["node", "jest"],
"moduleResolution": "nodenext",
"module": "es2022"
},
"include": [
"src",