Преглед изворни кода

set type: module to @growi/core and conditional exports

Yuki Takei пре 2 година
родитељ
комит
f399ba0292

+ 1 - 2
apps/app/src/components/PageComment.tsx

@@ -2,8 +2,7 @@ import React, {
   FC, useState, useMemo, memo, useCallback,
 } from 'react';
 
-import { isPopulated, getIdForRef } from '@growi/core/dist/interfaces/common';
-import { type IRevisionHasId } from '@growi/core/dist/interfaces/revision';
+import { isPopulated, getIdForRef, type IRevisionHasId } from '@growi/core/dist/interfaces';
 import { Button } from 'reactstrap';
 
 import { apiPost } from '~/client/util/apiv1-client';

+ 1 - 1
apps/app/src/features/growi-plugin/client/utils/growi-facade-utils.ts

@@ -1,4 +1,4 @@
-import type { GrowiFacade } from '@growi/core/dist/interfaces/growi-facade';
+import type { GrowiFacade } from '@growi/core/dist/interfaces';
 import { isServer } from '@growi/core/dist/utils/browser-utils';
 import deepmerge from 'ts-deepmerge';
 

+ 4 - 10
apps/app/src/server/models/page.ts

@@ -2,8 +2,9 @@
 
 import nodePath from 'path';
 
-import { HasObjectId, pagePathUtils, pathUtils } from '@growi/core';
-import { collectAncestorPaths } from '@growi/core/dist/utils/page-path-utils/collect-ancestor-paths';
+import { type IPage, type HasObjectId, pathUtils } from '@growi/core';
+import { isTopPage, hasSlash, collectAncestorPaths } from '@growi/core/dist/utils/page-path-utils';
+import { addTrailingSlash, normalizePath } from '@growi/core/dist/utils/path-utils';
 import escapeStringRegexp from 'escape-string-regexp';
 import mongoose, {
   Schema, Model, Document, AnyObject,
@@ -11,20 +12,13 @@ import mongoose, {
 import mongoosePaginate from 'mongoose-paginate-v2';
 import uniqueValidator from 'mongoose-unique-validator';
 
-import { IPage, IPageHasId, PageGrant } from '~/interfaces/page';
-import { IUserHasId } from '~/interfaces/user';
-import { ObjectIdLike } from '~/server/interfaces/mongoose-utils';
+import type { ObjectIdLike } from '~/server/interfaces/mongoose-utils';
 
 import loggerFactory from '../../utils/logger';
 import { getOrCreateModel } from '../util/mongoose-utils';
 
 import { getPageSchema, extractToAncestorsPaths, populateDataToShowRevision } from './obsolete-page';
 
-const { addTrailingSlash, normalizePath } = pathUtils;
-const {
-  isTopPage, hasSlash,
-} = pagePathUtils;
-
 const logger = loggerFactory('growi:models:page');
 /*
  * define schema

+ 1 - 1
apps/app/src/server/service/page-operation.ts

@@ -1,5 +1,5 @@
 import { pagePathUtils } from '@growi/core';
-import { collectAncestorPaths } from '@growi/core/dist/utils/page-path-utils/collect-ancestor-paths';
+import { collectAncestorPaths } from '@growi/core/dist/utils/page-path-utils';
 
 import {
   IPageOperationProcessInfo, IPageOperationProcessData, PageActionType, PageActionStage,

+ 1 - 1
apps/app/src/server/service/page.ts

@@ -8,7 +8,7 @@ import type {
 import {
   pagePathUtils, pathUtils, PageGrant, PageStatus,
 } from '@growi/core';
-import { collectAncestorPaths } from '@growi/core/dist/utils/page-path-utils/collect-ancestor-paths';
+import { collectAncestorPaths } from '@growi/core/dist/utils/page-path-utils';
 import escapeStringRegexp from 'escape-string-regexp';
 import mongoose, { ObjectId, Cursor } from 'mongoose';
 import streamToPromise from 'stream-to-promise';

+ 0 - 0
packages/core/.eslintrc.js → packages/core/.eslintrc.cjs


+ 38 - 3
packages/core/package.json

@@ -6,12 +6,47 @@
   "keywords": [
     "growi"
   ],
-  "main": "dist/index.js",
-  "module": "dist/index.mjs",
-  "types": "dist/index.d.ts",
   "files": [
     "dist"
   ],
+  "type": "module",
+  "main": "dist/index.cjs",
+  "module": "dist/index.js",
+  "types": "dist/index.d.ts",
+  "exports": {
+    ".": {
+      "import": "./dist/index.js",
+      "require": "./dist/index.cjs"
+    },
+    "./dist/consts": {
+      "import": "./dist/consts/index.js",
+      "require": "./dist/consts/index.cjs"
+    },
+    "./dist/interfaces": {
+      "import": "./dist/interfaces/index.js",
+      "require": "./dist/interfaces/index.cjs"
+    },
+    "./dist/models": {
+      "import": "./dist/models/index.js",
+      "require": "./dist/models/index.cjs"
+    },
+    "./dist/plugin": {
+      "import": "./dist/plugin/index.js",
+      "require": "./dist/plugin/index.cjs"
+    },
+    "./dist/utils": {
+      "import": "./dist/utils/index.js",
+      "require": "./dist/utils/index.cjs"
+    },
+    "./dist/utils/page-path-utils": {
+      "import": "./dist/utils/page-path-utils/index.js",
+      "require": "./dist/utils/page-path-utils/index.cjs"
+    },
+    "./dist/utils/*": {
+      "import": "./dist/utils/*.js",
+      "require": "./dist/utils/*.cjs"
+    }
+  },
   "scripts": {
     "build": "vite build",
     "clean": "shx rm -rf dist",

+ 2 - 0
packages/core/src/models/index.ts

@@ -0,0 +1,2 @@
+export * from './devided-page-path';
+export * from './vo/error-apiv3';

+ 1 - 1
packages/core/src/utils/page-path-utils/collect-ancestor-paths.ts

@@ -1,4 +1,4 @@
-import platformPath from 'node:path';
+import platformPath from 'path';
 
 import { isTopPage } from './is-top-page';
 

+ 3 - 0
packages/core/src/utils/page-path-utils/index.ts

@@ -286,3 +286,6 @@ export const generateChildrenRegExp = (path: string): RegExp => {
   // ex. /parent/any_child OR /any_level1
   return new RegExp(`^${path}(\\/[^/]+)\\/?$`);
 };
+
+export * from './is-top-page';
+export * from './collect-ancestor-paths';

+ 1 - 1
packages/remark-lsx/src/server/routes/list-pages/get-toppage-viewers-count.ts

@@ -1,4 +1,4 @@
-import { IPage } from '@growi/core';
+import type { IPage } from '@growi/core';
 import { model } from 'mongoose';
 
 export const getToppageViewersCount = async(): Promise<number> => {