@soleil-se/build-app 1.1.0 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE.md ADDED
@@ -0,0 +1 @@
1
+ (c) Copyright 2021 Soleil AB, all rights reserved.
package/config.js CHANGED
@@ -1,11 +1,8 @@
1
1
  import config from '@soleil-se/build-config';
2
2
 
3
3
  import fse from 'fs-extra';
4
- import { createRequire } from 'module';
5
4
  import { dirname } from 'path';
6
5
 
7
- const require = createRequire(import.meta.url);
8
-
9
6
  function readManifestFile() {
10
7
  if (fse.existsSync('./manifest.json')) return fse.readJsonSync('./manifest.json');
11
8
  if (fse.existsSync('./src/manifest.json')) return fse.readJsonSync('./src/manifest.json');
@@ -65,5 +62,3 @@ const folders = [
65
62
 
66
63
  export const watchPaths = folders.map((folder) => `${folder}/**/*`).concat('./manifest.json');
67
64
  export const eslintPaths = folders.map((folder) => `${folder}/**/*.{js,svelte}`);
68
-
69
- export const { version: buildVersion } = require('./package.json');
package/index.js CHANGED
@@ -2,11 +2,11 @@ import args from '@soleil-se/build-utils/args';
2
2
  import runTasks from '@soleil-se/build-utils/runTasks';
3
3
  import task from '@soleil-se/build-utils/task';
4
4
  import watch from '@soleil-se/build-utils/watch';
5
- import { getTimestamp, logError, logInfo } from '@soleil-se/build-utils/log';
5
+ import { getTimestamp, logError, logInfo, logStartup } from '@soleil-se/build-utils/log';
6
6
  import chalk from 'chalk';
7
7
 
8
8
  import {
9
- input, type, manifest, env, projectRoot, buildVersion, rollup, watchPaths, eslintPaths,
9
+ input, type, manifest, env, projectRoot, rollup, watchPaths, eslintPaths,
10
10
  } from './config.js';
11
11
 
12
12
  import { clean, copy, files, zip, eslint } from './utils/index.js';
@@ -19,7 +19,7 @@ const zipPath = `./dist/${manifest.id}-${manifest.version}.zip`;
19
19
 
20
20
  async function main() {
21
21
  console.log(getTimestamp(), `${manifest.name} (${manifest.id})`);
22
- console.log(getTimestamp(), chalk.green('Starting'), '@soleil-se/sv-app-build', chalk.green('version'), chalk.green(chalk.underline(buildVersion)));
22
+ logStartup(import.meta.url);
23
23
  logInfo(`Using ${chalk.white('project_config.json')} in ${chalk.white(projectRoot)}`);
24
24
  const tasks = [
25
25
  task('clean', clean({ dir: './dist' })),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@soleil-se/build-app",
3
- "version": "1.1.0",
3
+ "version": "1.2.1",
4
4
  "bin": {
5
5
  "build-app": "./bin/index.js",
6
6
  "sv-app-build": "./bin/index.js"
@@ -14,38 +14,39 @@
14
14
  },
15
15
  "homepage": "https://docs.soleil.se/build/app",
16
16
  "dependencies": {
17
- "@babel/core": "7.17.3",
17
+ "@babel/core": "7.17.5",
18
18
  "@babel/preset-env": "7.16.11",
19
19
  "@rollup/plugin-alias": "3.1.9",
20
- "@rollup/plugin-babel": "5.3.0",
21
- "@rollup/plugin-commonjs": "21.0.1",
20
+ "@rollup/plugin-babel": "5.3.1",
21
+ "@rollup/plugin-commonjs": "21.0.2",
22
22
  "@rollup/plugin-json": "4.1.0",
23
23
  "@rollup/plugin-node-resolve": "13.1.3",
24
- "@rollup/plugin-replace": "3.1.0",
24
+ "@rollup/plugin-replace": "4.0.0",
25
25
  "@soleil-se/build-config": "1.1.1",
26
- "@soleil-se/build-utils": "1.3.0",
26
+ "@soleil-se/build-utils": "1.4.0",
27
27
  "archiver": "5.3.0",
28
- "autoprefixer": "^10.4.2",
29
- "babel-plugin-transform-async-to-promises": "^0.8.18",
28
+ "autoprefixer": "10.4.2",
29
+ "babel-plugin-transform-async-to-promises": "0.8.18",
30
30
  "chalk": "5.0.0",
31
31
  "find-up": "6.3.0",
32
32
  "form-data": "4.0.0",
33
- "fs-extra": "10.0.0",
33
+ "fs-extra": "10.0.1",
34
34
  "got": "12.0.1",
35
+ "gzip-size": "7.0.0",
35
36
  "lodash-es": "4.17.21",
36
- "postcss": "8.4.6",
37
- "postcss-discard-duplicates": "^5.0.3",
38
- "postcss-pxtorem": "^6.0.0",
39
- "rollup": "2.67.2",
37
+ "postcss": "8.4.7",
38
+ "postcss-discard-duplicates": "5.1.0",
39
+ "postcss-pxtorem": "6.0.0",
40
+ "pretty-bytes": "6.0.0",
41
+ "rollup": "2.68.0",
40
42
  "rollup-plugin-cleanup": "3.2.1",
41
- "rollup-plugin-filesize": "9.1.2",
42
- "rollup-plugin-insert": "^1.3.2",
43
+ "rollup-plugin-insert": "1.3.2",
43
44
  "rollup-plugin-postcss": "4.0.2",
44
45
  "rollup-plugin-string": "3.0.0",
45
46
  "rollup-plugin-svelte": "7.1.0",
46
47
  "rollup-plugin-terser": "7.0.2",
47
48
  "slash": "4.0.0",
48
- "svelte-preprocess": "4.10.3"
49
+ "svelte-preprocess": "4.10.4"
49
50
  },
50
51
  "devDependencies": {
51
52
  "svelte": "3.46.4"
package/rollup/client.js CHANGED
@@ -3,7 +3,6 @@ import json from '@rollup/plugin-json';
3
3
 
4
4
  import fse from 'fs-extra';
5
5
 
6
- import generateBanner from './utils/generateBanner.js';
7
6
  import moveCss from './utils/moveCss.js';
8
7
  import onwarn from './utils/onwarn.js';
9
8
  import getSitevisionClientPackages from './utils/getSitevisionClientPackages.js';
@@ -15,11 +14,12 @@ import getCommonjsPlugin from './api/getCommonjsPlugin.js';
15
14
  import getNodeResolvePlugin from './api/getNodeResolvePlugin.js';
16
15
  import getSveltePlugin from './api/getSveltePlugin.js';
17
16
  import getPostcssPlugin from './api/getPostcssPlugin.js';
18
- import getFilesizePlugin from './api/getFilesizePlugin.js';
19
17
  import getTerserPlugin from './api/getTerserPlugin.js';
20
- import sitevision from './plugins/sitevision-client.js';
21
18
  import getInsertPlugin from './api/getInsertPlugin.js';
22
19
 
20
+ import sitevision from './plugins/sitevisionClient.js';
21
+ import bundleSize from './plugins/bundleSize.js';
22
+
23
23
  export default function rollupClient({
24
24
  debug,
25
25
  globals = {},
@@ -53,7 +53,7 @@ export default function rollupClient({
53
53
  getPostcssPlugin({ cssOutput, debug }),
54
54
  getBabelClientPlugin(),
55
55
  json(),
56
- getFilesizePlugin({ showSize }),
56
+ showSize && bundleSize(),
57
57
  getTerserPlugin({ debug }),
58
58
  ];
59
59
 
@@ -69,7 +69,6 @@ export default function rollupClient({
69
69
  bundleCache = cache && bundle.cache;
70
70
  await bundle.write({
71
71
  file: output,
72
- banner: debug && generateBanner(),
73
72
  globals,
74
73
  format: bundled ? 'amd' : 'iife',
75
74
  sourcemap: debug ? 'inline' : false,
@@ -0,0 +1,21 @@
1
+ import { basename } from 'path';
2
+ import { gzipSizeSync } from 'gzip-size';
3
+ import prettyBytes from 'pretty-bytes';
4
+ import chalk from 'chalk';
5
+
6
+ import { getTimestamp } from '@soleil-se/build-utils/log';
7
+
8
+ export default function bundleSize() {
9
+ return {
10
+ name: 'rollup-plugin-bundle-size',
11
+ generateBundle({ file }, bundle) {
12
+ const asset = basename(file);
13
+ const { code } = bundle[asset];
14
+
15
+ const original = prettyBytes(code.length);
16
+ const gzipped = prettyBytes(gzipSizeSync(code));
17
+
18
+ console.log(getTimestamp(), `${chalk.green('Created bundle')} ${file}: ${chalk.yellow(original)} → ${chalk.greenBright(gzipped)} (gzip)`);
19
+ },
20
+ };
21
+ }
@@ -1,4 +1,4 @@
1
- export default function sitevision() {
1
+ export default function sitevisionClient() {
2
2
  const ignored = [];
3
3
 
4
4
  function isSitevisionScope(id) {
@@ -17,7 +17,7 @@ export default function sitevision() {
17
17
  }
18
18
 
19
19
  return {
20
- name: 'sitevision-imports',
20
+ name: 'rollup-plugin-sitevision-client',
21
21
  resolveId(importee) {
22
22
  if (shouldResolve(importee)) {
23
23
  // Should be handled as usual.
@@ -18,7 +18,7 @@ const sitevisionPackages = [
18
18
  'cache',
19
19
  ];
20
20
 
21
- export default function sitevision() {
21
+ export default function sitevisionServer() {
22
22
  const ignored = [];
23
23
 
24
24
  function startsWithUpperCase(id) {
@@ -52,7 +52,7 @@ export default function sitevision() {
52
52
  }
53
53
 
54
54
  return {
55
- name: 'sitevision-imports',
55
+ name: 'rollup-plugin-sitevision-server',
56
56
  resolveId(importee) {
57
57
  if (shouldResolve(importee)) {
58
58
  // Should be handled as usual.
package/rollup/server.js CHANGED
@@ -5,10 +5,8 @@ import cleanup from 'rollup-plugin-cleanup';
5
5
 
6
6
  import fse from 'fs-extra';
7
7
 
8
- import generateBanner from './utils/generateBanner.js';
9
8
  import moveCss from './utils/moveCss.js';
10
9
  import onwarn from './utils/onwarn.js';
11
- import sitevision from './plugins/sitevision-server.js';
12
10
 
13
11
  import { getReplaceServerPlugin } from './api/getReplacePlugin.js';
14
12
  import { getAliasServerPlugin } from './api/getAliasPlugin.js';
@@ -20,6 +18,8 @@ import getSveltePlugin from './api/getSveltePlugin.js';
20
18
  import getPostcssPlugin from './api/getPostcssPlugin.js';
21
19
  import getTerserPlugin from './api/getTerserPlugin.js';
22
20
 
21
+ import sitevision from './plugins/sitevisionServer.js';
22
+
23
23
  export default function rollupServer({
24
24
  debug,
25
25
  input,
@@ -62,7 +62,6 @@ export default function rollupServer({
62
62
  bundleCache = cache && bundle.cache;
63
63
  await bundle.write({
64
64
  file: output,
65
- banner: debug && generateBanner(),
66
65
  intro: 'var Promise = Promise || { resolve: () => {} };',
67
66
  format: 'iife',
68
67
  });
package/utils/eslint.js CHANGED
@@ -16,7 +16,7 @@ export default function createESLint({ src }) {
16
16
  logNotInstalledWarning();
17
17
  }
18
18
  if (ESLint) {
19
- const eslint = new ESLint();
19
+ const eslint = new ESLint({ errorOnUnmatchedPattern: false });
20
20
  const formatter = await eslint.loadFormatter();
21
21
  const results = await eslint.lintFiles(src);
22
22
  const errors = ESLint.getErrorResults(results);
@@ -1,5 +0,0 @@
1
- import filesize from 'rollup-plugin-filesize';
2
-
3
- export default function getFilesizePlugin({ showSize }) {
4
- return showSize ? filesize() : false;
5
- }
@@ -1,9 +0,0 @@
1
- import { template } from 'lodash-es';
2
- import fse from 'fs-extra';
3
- import config from '@soleil-se/build-config';
4
-
5
- const { name, version } = fse.readJSONSync(new URL('../../package.json', import.meta.url));
6
-
7
- export default function generateBanner() {
8
- return template(config.banner)({ date: new Date(), build: `${name} - ${version}` });
9
- }