Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,13 @@ aliases:
command: |
set -exu

mkdir -p packages/autocomplete-shared/dist
mkdir -p packages/autocomplete-core/dist
mkdir -p packages/autocomplete-js/dist
mkdir -p packages/autocomplete-plugin-recent-searches/dist
mkdir -p packages/autocomplete-preset-algolia/dist

cp -R /tmp/workspace/packages/autocomplete-shared/dist packages/autocomplete-shared
cp -R /tmp/workspace/packages/autocomplete-core/dist packages/autocomplete-core
cp -R /tmp/workspace/packages/autocomplete-js/dist packages/autocomplete-js
cp -R /tmp/workspace/packages/autocomplete-plugin-recent-searches/dist packages/autocomplete-plugin-recent-searches
Expand Down Expand Up @@ -61,11 +63,13 @@ jobs:
command: |
set -exu

mkdir -p /tmp/workspace/packages/autocomplete-shared/dist
mkdir -p /tmp/workspace/packages/autocomplete-core/dist
mkdir -p /tmp/workspace/packages/autocomplete-js/dist
mkdir -p /tmp/workspace/packages/autocomplete-plugin-recent-searches/dist
mkdir -p /tmp/workspace/packages/autocomplete-preset-algolia/dist

cp -R packages/autocomplete-shared/dist /tmp/workspace/packages/autocomplete-shared
cp -R packages/autocomplete-core/dist /tmp/workspace/packages/autocomplete-core
cp -R packages/autocomplete-js/dist /tmp/workspace/packages/autocomplete-js
cp -R packages/autocomplete-plugin-recent-searches/dist /tmp/workspace/packages/autocomplete-plugin-recent-searches
Expand Down
31 changes: 0 additions & 31 deletions babel.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ module.exports = (api) => {
],
],
plugins: clean([
'@babel/plugin-transform-react-jsx',
!isTest && [
'inline-replace-variables',
{
Expand All @@ -34,36 +33,6 @@ module.exports = (api) => {
},
],
]),
overrides: [
{
test: 'packages/autocomplete-core',
plugins: clean([
!isTest && [
'inline-replace-variables',
{
__DEV__: {
type: 'node',
replacement: "process.env.NODE_ENV === 'development'",
},
},
],
]),
},
{
test: 'packages/autocomplete-preset-algolia',
plugins: clean([
!isTest && [
'inline-replace-variables',
{
__DEV__: {
type: 'node',
replacement: "process.env.NODE_ENV === 'development'",
},
},
],
]),
},
],
};
};

Expand Down
8 changes: 6 additions & 2 deletions bundlesize.config.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,17 @@
"path": "packages/autocomplete-core/dist/umd/index.js",
"maxSize": "4.5 kB"
},
{
"path": "packages/autocomplete-js/dist/umd/index.js",
"maxSize": "8 kB"
},
{
"path": "packages/autocomplete-preset-algolia/dist/umd/index.js",
"maxSize": "1.5 kB"
},
{
"path": "packages/autocomplete-js/dist/umd/index.js",
"maxSize": "8 kB"
"path": "packages/autocomplete-plugin-recent-searches/dist/umd/index.js",
"maxSize": "2.25 kB"
}
]
}
2 changes: 1 addition & 1 deletion lerna.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"packages": ["packages/*"],
"packages": ["packages/*", "examples/*"],
"version": "1.0.0-alpha.34",
"npmClient": "yarn"
}
1 change: 0 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
},
"devDependencies": {
"@babel/cli": "7.11.5",
"@babel/plugin-transform-react-jsx": "7.10.4",
"@babel/preset-env": "7.11.5",
"@babel/preset-typescript": "7.10.4",
"@rollup/plugin-json": "4.1.0",
Expand Down
1 change: 0 additions & 1 deletion packages/autocomplete-core/global.d.ts

This file was deleted.

3 changes: 3 additions & 0 deletions packages/autocomplete-core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,5 +29,8 @@
"on:change": "concurrently \"yarn build:esm\" \"yarn build:types\"",
"prepare": "yarn build:esm && yarn build:types",
"watch": "watch \"yarn on:change\" --ignoreDirectoryPattern \"/dist/\""
},
"dependencies": {
"@algolia/autocomplete-shared": "1.0.0-alpha.34"
}
}
3 changes: 2 additions & 1 deletion packages/autocomplete-core/src/types/api.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import { MaybePromise } from '@algolia/autocomplete-shared';

import { AutocompleteAccessibilityGetters } from './getters';
import { AutocompletePlugin } from './plugins';
import { AutocompleteSetters } from './setters';
import { AutocompleteState } from './state';
import { MaybePromise } from './wrappers';

export interface AutocompleteApi<
TItem,
Expand Down
5 changes: 3 additions & 2 deletions packages/autocomplete-js/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,9 @@
"watch": "watch \"yarn on:change\" --ignoreDirectoryPattern \"/dist/\""
},
"dependencies": {
"@algolia/autocomplete-core": "^1.0.0-alpha.34",
"@algolia/autocomplete-preset-algolia": "^1.0.0-alpha.34"
"@algolia/autocomplete-core": "1.0.0-alpha.34",
"@algolia/autocomplete-preset-algolia": "1.0.0-alpha.34",
"@algolia/autocomplete-shared": "1.0.0-alpha.34"
},
"devDependencies": {
"@algolia/client-search": "4.5.1"
Expand Down
6 changes: 2 additions & 4 deletions packages/autocomplete-js/src/types/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import {
AutocompleteOptions as AutocompleteCoreOptions,
AutocompleteSource as AutocompleteCoreSource,
} from '@algolia/autocomplete-core';
import { MaybePromise } from '@algolia/autocomplete-shared';

type Template<TParams> = (params: TParams) => string | void;

Expand Down Expand Up @@ -49,12 +50,9 @@ export type InternalAutocompleteSource<TItem> = InternalAutocompleteCoreSource<
> &
SourceTemplates<TItem>;

// @TODO: reuse MaybePromise from autocomplete-core when we find a way to share the type
type GetSources<TItem> = (
params: GetSourcesParams<TItem>
) =>
| Array<AutocompleteCoreSource<TItem>>
| Promise<Array<AutocompleteCoreSource<TItem>>>;
) => MaybePromise<Array<AutocompleteCoreSource<TItem>>>;

export interface AutocompleteOptions<TItem>
extends AutocompleteCoreOptions<TItem> {
Expand Down
11 changes: 4 additions & 7 deletions packages/autocomplete-plugin-recent-searches/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,9 @@
"prepare": "yarn run build:esm",
"watch": "watch \"yarn on:change\" --ignoreDirectoryPattern \"/dist/\""
},
"devDependencies": {
"@algolia/autocomplete-core": "^1.0.0-alpha.34",
"@algolia/autocomplete-js": "^1.0.0-alpha.34"
},
"peerDependencies": {
"@algolia/autocomplete-core": "^1.0.0-alpha.34",
"@algolia/autocomplete-js": "^1.0.0-alpha.34"
"dependencies": {
"@algolia/autocomplete-core": "1.0.0-alpha.34",
"@algolia/autocomplete-js": "1.0.0-alpha.34",
"@algolia/autocomplete-shared": "1.0.0-alpha.34"
}
}
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
import { AutocompletePlugin } from '@algolia/autocomplete-core';
import { SourceTemplates } from '@algolia/autocomplete-js';
import { MaybePromise, warn } from '@algolia/autocomplete-shared';

import { createStore, RecentSearchesStorage } from './createStore';
import {
getTemplates as defaultGetTemplates,
GetTemplatesParams,
} from './getTemplates';
import { MaybePromise, RecentSearchesItem } from './types';
import { RecentSearchesItem } from './types';

type Ref<TType> = {
current: TType;
Expand Down Expand Up @@ -91,9 +92,7 @@ export function createRecentSearchesPlugin<TItem extends RecentSearchesItem>({
// we cannot provide the facet filters in time when this function is called
// because we need to resolve the promise before getting the value.
if (!Array.isArray(lastItemsRef.current)) {
// @TODO: use the `warn` function from `autocomplete-core`
// eslint-disable-next-line no-console
console.warn(
warn(
'The `getAlgoliaQuerySuggestionsFacetFilters` function is not supported with storages that return promises in `getAll`.'
);
return [];
Expand All @@ -106,9 +105,7 @@ export function createRecentSearchesPlugin<TItem extends RecentSearchesItem>({
// we cannot provide the number of hits per page in time when this function
// is called because we need to resolve the promise before getting the value.
if (!Array.isArray(lastItemsRef.current)) {
// @TODO: use the `warn` function from `autocomplete-core`
// eslint-disable-next-line no-console
console.warn(
warn(
'The `getAlgoliaQuerySuggestionsHitsPerPage` function is not supported with storages that return promises in `getAll`.'
);
return hitsPerPage;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { MaybePromise } from './types';
import { MaybePromise } from '@algolia/autocomplete-shared';

import { RecentSearchesItem } from './types/RecentSearchesItem';

export type RecentSearchesStore<TItem extends RecentSearchesItem> = {
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
export * from './MaybePromise';
export * from './RecentSearchesItem';
1 change: 0 additions & 1 deletion packages/autocomplete-preset-algolia/global.d.ts

This file was deleted.

7 changes: 7 additions & 0 deletions packages/autocomplete-preset-algolia/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,14 @@
"watch": "watch \"yarn on:change\" --ignoreDirectoryPattern \"/dist/\""
},
"dependencies": {
"@algolia/autocomplete-shared": "1.0.0-alpha.34"
},
"devDependencies": {
"@algolia/client-search": "4.5.1",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this one only used in tests? otherwise it should be also in peerDependencies; even if it's a transitive dependency (I think).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

@francoischalifour francoischalifour Nov 5, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added in d6ec55e.

"algoliasearch": "4.5.1"
},
"peerDependencies": {
"@algolia/client-search": "^4.5.1",
"algoliasearch": "^4.5.1"
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { warnCache } from '../../utils';
import { warnCache } from '@algolia/autocomplete-shared';

import { parseAlgoliaHitHighlight } from '../parseAlgoliaHitHighlight';

describe('parseAlgoliaHitHighlight', () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { warnCache } from '../../utils';
import { warnCache } from '@algolia/autocomplete-shared';

import { parseAlgoliaHitReverseHighlight } from '../parseAlgoliaHitReverseHighlight';

describe('parseAlgoliaHitReverseHighlight', () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { warnCache } from '../../utils';
import { warnCache } from '@algolia/autocomplete-shared';

import { parseAlgoliaHitReverseSnippet } from '../parseAlgoliaHitReverseSnippet';

describe('parseAlgoliaHitReverseSnippet', () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { warnCache } from '../../utils';
import { warnCache } from '@algolia/autocomplete-shared';

import { parseAlgoliaHitSnippet } from '../parseAlgoliaHitSnippet';

describe('parseAlgoliaHitSnippet', () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { warn } from '@algolia/autocomplete-shared';
import { Hit } from '@algolia/client-search';

import { warn } from '../utils';

import { getAttributeValueByPath } from './getAttributeValueByPath';
import { ParseAlgoliaHitParams } from './ParseAlgoliaHitParams';
import { parseAttribute } from './parseAttribute';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { warn } from '@algolia/autocomplete-shared';
import { Hit } from '@algolia/client-search';

import { warn } from '../utils';

import { getAttributeValueByPath } from './getAttributeValueByPath';
import { ParseAlgoliaHitParams } from './ParseAlgoliaHitParams';
import { parseAttribute } from './parseAttribute';
Expand Down
1 change: 0 additions & 1 deletion packages/autocomplete-preset-algolia/src/utils/index.ts

This file was deleted.

29 changes: 29 additions & 0 deletions packages/autocomplete-shared/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{
"name": "@algolia/autocomplete-shared",
"description": "Shared utils for Autocomplete packages.",
"version": "1.0.0-alpha.34",
"license": "MIT",
"homepage": "https://github.com/algolia/autocomplete.js",
"repository": "algolia/autocomplete.js",
"author": {
"name": "Algolia, Inc.",
"url": "https://www.algolia.com"
},
"source": "src/index.ts",
"types": "dist/esm/index.d.ts",
"module": "dist/esm/index.js",
"main": "dist/esm/index.js",
"sideEffects": false,
"files": [
"dist/"
],
"scripts": {
"build:clean": "rm -rf ./dist",
"build:esm": "babel src --root-mode upward --extensions '.ts,.tsx' --out-dir dist/esm --ignore '**/*/__tests__/'",
"build:types": "tsc -p ./tsconfig.declaration.json --outDir ./dist/esm",
"build": "yarn build:clean && yarn build:esm && yarn build:types",
"on:change": "concurrently \"yarn build:esm\" \"yarn build:types\"",
"prepare": "yarn build:esm && yarn build:types",
"watch": "watch \"yarn on:change\" --ignoreDirectoryPattern \"/dist/\""
}
}
2 changes: 2 additions & 0 deletions packages/autocomplete-shared/src/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
export * from './warn';
export * from './MaybePromise';
3 changes: 3 additions & 0 deletions packages/autocomplete-shared/tsconfig.declaration.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"extends": "../../tsconfig.declaration"
}
24 changes: 9 additions & 15 deletions ship.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,18 @@ const fs = require('fs');
const path = require('path');

const packages = [
'packages/autocomplete-shared',
'packages/autocomplete-core',
'packages/autocomplete-preset-algolia',
'packages/autocomplete-js',
'packages/autocomplete-preset-algolia',
'packages/autocomplete-plugin-recent-searches',
];

module.exports = {
monorepo: {
mainVersionFile: 'lerna.json',
packagesToBump: packages,
// We rely on Lerna to bump our dependencies.
packagesToBump: [],
packagesToPublish: packages,
},
publishCommand({ tag }) {
Expand All @@ -26,19 +28,11 @@ module.exports = {

// Update package dependencies
exec(
`yarn workspace @algolia/autocomplete-js add "@algolia/autocomplete-core@^${version}" "@algolia/autocomplete-preset-algolia@^${version}"`
);
exec(
`yarn workspace @algolia/autocomplete-plugin-recent-searches add --peer "@algolia/autocomplete-core@^${version}" "@algolia/autocomplete-js@^${version}"`
);
exec(
`yarn workspace @algolia/autocomplete-plugin-recent-searches add --dev "@algolia/autocomplete-core@^${version}" "@algolia/autocomplete-js@^${version}"`
);
exec(
`yarn workspace @algolia/js-example add "@algolia/autocomplete-js@${version}" "@algolia/autocomplete-plugin-recent-searches@${version}"`
`yarn lerna version ${version} --exact --no-git-tag-version --no-push --yes`
);

updatePackagesVersion({
// Update version files
updatePackagesVersionFile({
version,
files: [
path.resolve(dir, 'packages', 'autocomplete-core', 'src', 'version.ts'),
Expand All @@ -53,7 +47,7 @@ module.exports = {
});
},
// Skip preparation if it contains only `chore` commits
shouldPrepare: ({ releaseType, commitNumbersPerType }) => {
shouldPrepare({ releaseType, commitNumbersPerType }) {
const { fix = 0 } = commitNumbersPerType;

if (releaseType === 'patch' && fix === 0) {
Expand All @@ -64,7 +58,7 @@ module.exports = {
},
};

function updatePackagesVersion({ version, files }) {
function updatePackagesVersionFile({ version, files }) {
for (const file of files) {
fs.writeFileSync(file, `export const version = '${version}';\n`);
}
Expand Down
Loading