Dive into secure and efficient coding practices with our curated list of the top 10 examples showcasing 'pkg-dir' in functional components in JavaScript. Our advanced machine learning engine meticulously scans each line of code, cross-referencing millions of open source libraries to ensure your implementation is not just functional, but also robust and secure. Elevate your React applications to new heights by mastering the art of handling side effects, API calls, and asynchronous operations with confidence and precision.
// Modules
var webpack = require('webpack');
var autoprefixer = require('autoprefixer');
var HtmlWebpackInlineSourcePlugin =
require('html-webpack-inline-source-plugin');
var HtmlWebpackPlugin = require('html-webpack-plugin');
var CopyWebpackPlugin = require('copy-webpack-plugin');
var CompressionPlugin = require('compression-webpack-plugin');
var path = require('path');
var FilterChunkWebpackPlugin = require('filter-chunk-webpack-plugin');
var MiniCssExtractPlugin = require('mini-css-extract-plugin');
const isPathInside = require('is-path-inside')
const pkgDir = require('pkg-dir')
const coreJsDir = pkgDir.sync(require.resolve('core-js'))
module.exports = (env, options) => {
var isProd = options.mode === 'production';
/**
* Config
* Reference: http://webpack.github.io/docs/configuration.html
* This is the object where all configuration gets set
*/
var config = {};
/**
* Entry
* Reference: http://webpack.github.io/docs/configuration.html#entry
* Should be an empty object if it's generating a test build
* Karma will set this when it's a test build
function createVersionsString(groupMap: GroupMap, checkOutdated: boolean): Promise {
const packagePath = pkgDir.sync(__dirname);
const myPackageDetails = readPackageDetails(packagePath); // fetch the cli's package details
const versions: ModuleVersion[] = buildVersions(groupMap);
if (checkOutdated) {
return areCommandsOutdated(versions).then(
(commandVersions: ModuleVersion[]) => createOutput(myPackageDetails, commandVersions),
(err) => {
return `Something went wrong trying to fetch command versions: ${err.message}`;
}
);
} else {
return Promise.resolve(createOutput(myPackageDetails, versions));
}
}
export async function createLnRpc(userConfig: LnRpcClientConfig): Promise {
const rootPath = await pkgDir(__dirname);
const protoFilePath = join(
rootPath,
`lnd/${packageJson.config['lnd-release-tag']}/rpc.proto`,
);
// Configuration options
const config = {
...defaults,
...userConfig,
};
const { lightning, walletUnlocker, server, grpcLoader, grpc, includeDefaults } = config;
// Generate grpc SSL credentials
const credentials = await createCredentials(config);
// Create RPC from proto and return GRPC
export async function createChainRpc(userConfig: ChainRpcClientConfig): Promise {
const rootPath = await pkgDir(__dirname);
const protoFilePath = join(
rootPath,
`lnd/${packageJson.config['lnd-release-tag']}/chainrpc/chainnotifier.proto`,
);
// Configuration options
const config = {
...defaults,
...userConfig,
};
const { chainNotifier, server, grpcLoader, grpc, includeDefaults } = config;
// Generate grpc SSL credentials
const credentials = await createCredentials(config);
// Create RPC from proto and return GRPC
export async function runCLI(
args: string[],
options: execa.Options = {}
): Promise {
const root = await pkgDir();
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
return execa(join(root!, "packages", "cli", "bin", "kosko.js"), args, {
...options,
env: {
LC_ALL: "en_US",
...options.env
}
});
}
export async function createWalletRpc(userConfig: WalletRpcClientConfig): Promise {
const rootPath = await pkgDir(__dirname);
const lndProtosRootPath = join(
rootPath,
`lnd/${packageJson.config['lnd-release-tag']}`,
);
const protoFilePath = join(
lndProtosRootPath,
'/walletrpc/walletkit.proto',
);
// Configuration options
const config = {
...defaults,
...userConfig,
};
const { walletKit, server, grpcLoader, grpc, includeDefaults } = config;
'use strict'
const rootPath = require('pkg-dir').sync(__dirname)
const normalizeString = require(`${rootPath}/src/lib/normalizeString`)
test('caseSensitive', () => {
expect(
normalizeString('AbC', {
caseSensitive: false
})
).toBe('abc')
expect(
normalizeString('AbC', {
caseSensitive: true
})
).toBe('AbC')
})
'use strict'
const assocPath = require('ramda/src/assocPath')
const Immutable = require('seamless-immutable').static
const rootPath = require('pkg-dir').sync(__dirname)
const didYouMean = require(rootPath)
const returnTypeEnums = require(`${rootPath}/src/enums/returnTypeEnums`)
const thresholdTypeEnums = require(`${rootPath}/src/enums/thresholdTypeEnums`)
const ALL_CLOSEST_MATCHES = returnTypeEnums.ALL_CLOSEST_MATCHES
const ALL_MATCHES = returnTypeEnums.ALL_MATCHES
const ALL_SORTED_MATCHES = returnTypeEnums.ALL_SORTED_MATCHES
const FIRST_CLOSEST_MATCH = returnTypeEnums.FIRST_CLOSEST_MATCH
const FIRST_MATCH = returnTypeEnums.FIRST_MATCH
const EDIT_DISTANCE = thresholdTypeEnums.EDIT_DISTANCE
const SIMILARITY = thresholdTypeEnums.SIMILARITY
const input = 'abcdefghij'
const matchList = Immutable([
jest.mock('fs');
jest.mock('pkg-dir');
jest.mock('webpack-assets-manifest');
jest.mock('../../Utilities/loadEnvironment');
jest.mock('../plugins/RootComponentsPlugin');
jest.mock('../PWADevServer');
const fs = require('fs');
const pkgDir = require('pkg-dir');
const WebpackAssetsManifest = require('webpack-assets-manifest');
const RootComponentsPlugin = require('../plugins/RootComponentsPlugin');
const loadEnvironment = require('../../Utilities/loadEnvironment');
const configureWebpack = require('../configureWebpack');
pkgDir.mockImplementation(x => x);
const mockStat = (dir, file, err = null) => {
fs.stat.mockImplementationOnce((_, callback) =>
callback(err, { isDirectory: () => dir, isFile: () => file })
);
};
const mockEnv = prod =>
loadEnvironment.mockReturnValueOnce({
env: process.env,
sections: jest.fn(),
section: jest.fn(),
isProd: prod
});
const simulate = {
exports.checkIgnoreStrategy = ({files}) => {
const rootDir = pkgDir.sync();
const npmignoreExists = fs.existsSync(path.resolve(rootDir, '.npmignore'));
if (!files && !npmignoreExists) {
console.log(`
\n${chalk.bold.yellow('Warning:')} No ${chalk.bold.cyan('files')} field specified in ${chalk.bold.magenta('package.json')} nor is a ${chalk.bold.magenta('.npmignore')} file present. Having one of those will prevent you from accidentally publishing development-specific files along with your package's source code to npm.
`);
}
};